@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.
Files changed (110) hide show
  1. package/out/domain-lang-module.d.ts +0 -2
  2. package/out/domain-lang-module.js +3 -11
  3. package/out/domain-lang-module.js.map +1 -1
  4. package/out/generated/ast.d.ts +19 -8
  5. package/out/generated/ast.js +10 -1
  6. package/out/generated/ast.js.map +1 -1
  7. package/out/generated/grammar.d.ts +1 -1
  8. package/out/generated/grammar.js +123 -28
  9. package/out/generated/grammar.js.map +1 -1
  10. package/out/generated/module.d.ts +1 -1
  11. package/out/generated/module.js +1 -1
  12. package/out/index.d.ts +0 -3
  13. package/out/index.js +0 -5
  14. package/out/index.js.map +1 -1
  15. package/out/lsp/hover/domain-lang-hover.js +4 -0
  16. package/out/lsp/hover/domain-lang-hover.js.map +1 -1
  17. package/out/sdk/index.d.ts +1 -1
  18. package/out/sdk/loader-node.d.ts +3 -7
  19. package/out/sdk/loader-node.js +9 -24
  20. package/out/sdk/loader-node.js.map +1 -1
  21. package/out/sdk/types.d.ts +21 -0
  22. package/out/services/dependency-analyzer.d.ts +39 -3
  23. package/out/services/dependency-analyzer.js +47 -22
  24. package/out/services/dependency-analyzer.js.map +1 -1
  25. package/out/services/dependency-resolver.d.ts +45 -68
  26. package/out/services/dependency-resolver.js +43 -243
  27. package/out/services/dependency-resolver.js.map +1 -1
  28. package/out/services/git-url-resolver.browser.d.ts +12 -4
  29. package/out/services/git-url-resolver.browser.js +1 -5
  30. package/out/services/git-url-resolver.browser.js.map +1 -1
  31. package/out/services/git-url-resolver.d.ts +56 -22
  32. package/out/services/git-url-resolver.js +36 -70
  33. package/out/services/git-url-resolver.js.map +1 -1
  34. package/out/services/governance-validator.d.ts +37 -1
  35. package/out/services/governance-validator.js +10 -4
  36. package/out/services/governance-validator.js.map +1 -1
  37. package/out/services/import-resolver.d.ts +6 -65
  38. package/out/services/import-resolver.js +5 -223
  39. package/out/services/import-resolver.js.map +1 -1
  40. package/out/services/performance-optimizer.d.ts +1 -1
  41. package/out/services/workspace-manager.d.ts +10 -57
  42. package/out/services/workspace-manager.js +21 -187
  43. package/out/services/workspace-manager.js.map +1 -1
  44. package/out/syntaxes/domain-lang.monarch.js +1 -1
  45. package/out/syntaxes/domain-lang.monarch.js.map +1 -1
  46. package/out/utils/import-utils.d.ts +12 -4
  47. package/out/utils/import-utils.js +135 -35
  48. package/out/utils/import-utils.js.map +1 -1
  49. package/out/validation/constants.d.ts +0 -103
  50. package/out/validation/constants.js +1 -140
  51. package/out/validation/constants.js.map +1 -1
  52. package/out/validation/domain.js +1 -46
  53. package/out/validation/domain.js.map +1 -1
  54. package/out/validation/import.d.ts +22 -46
  55. package/out/validation/import.js +85 -187
  56. package/out/validation/import.js.map +1 -1
  57. package/out/validation/maps.js +6 -10
  58. package/out/validation/maps.js.map +1 -1
  59. package/out/validation/metadata.js +1 -5
  60. package/out/validation/metadata.js.map +1 -1
  61. package/package.json +6 -8
  62. package/src/domain-lang-module.ts +6 -18
  63. package/src/domain-lang.langium +12 -7
  64. package/src/generated/ast.ts +20 -7
  65. package/src/generated/grammar.ts +123 -28
  66. package/src/generated/module.ts +1 -1
  67. package/src/index.ts +0 -7
  68. package/src/lsp/hover/domain-lang-hover.ts +2 -0
  69. package/src/sdk/index.ts +2 -0
  70. package/src/sdk/loader-node.ts +9 -29
  71. package/src/sdk/types.ts +23 -0
  72. package/src/services/dependency-analyzer.ts +84 -24
  73. package/src/services/dependency-resolver.ts +84 -301
  74. package/src/services/git-url-resolver.browser.ts +14 -9
  75. package/src/services/git-url-resolver.ts +93 -86
  76. package/src/services/governance-validator.ts +47 -5
  77. package/src/services/import-resolver.ts +8 -270
  78. package/src/services/performance-optimizer.ts +1 -1
  79. package/src/services/workspace-manager.ts +46 -237
  80. package/src/syntaxes/domain-lang.monarch.ts +1 -1
  81. package/src/utils/import-utils.ts +160 -38
  82. package/src/validation/constants.ts +1 -181
  83. package/src/validation/domain.ts +1 -54
  84. package/src/validation/import.ts +104 -228
  85. package/src/validation/maps.ts +6 -10
  86. package/src/validation/metadata.ts +1 -5
  87. package/out/lsp/domain-lang-code-actions.d.ts +0 -55
  88. package/out/lsp/domain-lang-code-actions.js +0 -143
  89. package/out/lsp/domain-lang-code-actions.js.map +0 -1
  90. package/out/lsp/domain-lang-workspace-manager.d.ts +0 -21
  91. package/out/lsp/domain-lang-workspace-manager.js +0 -93
  92. package/out/lsp/domain-lang-workspace-manager.js.map +0 -1
  93. package/out/lsp/manifest-diagnostics.d.ts +0 -82
  94. package/out/lsp/manifest-diagnostics.js +0 -230
  95. package/out/lsp/manifest-diagnostics.js.map +0 -1
  96. package/out/services/semver.d.ts +0 -98
  97. package/out/services/semver.js +0 -195
  98. package/out/services/semver.js.map +0 -1
  99. package/out/services/types.d.ts +0 -340
  100. package/out/services/types.js +0 -46
  101. package/out/services/types.js.map +0 -1
  102. package/out/validation/manifest.d.ts +0 -144
  103. package/out/validation/manifest.js +0 -327
  104. package/out/validation/manifest.js.map +0 -1
  105. package/src/lsp/domain-lang-code-actions.ts +0 -189
  106. package/src/lsp/domain-lang-workspace-manager.ts +0 -104
  107. package/src/lsp/manifest-diagnostics.ts +0 -290
  108. package/src/services/semver.ts +0 -213
  109. package/src/services/types.ts +0 -415
  110. package/src/validation/manifest.ts +0 -439
@@ -22,15 +22,13 @@ import { NodeFileSystem } from 'langium/node';
22
22
  import { isModel } from '../generated/ast.js';
23
23
  import { createDomainLangServices } from '../domain-lang-module.js';
24
24
  import { fromModel, augmentModel } from './query.js';
25
- import { ensureImportGraphFromDocument } from '../utils/import-utils.js';
26
25
  /**
27
26
  * Loads a DomainLang model from a file on disk.
28
27
  *
29
28
  * **Node.js only** - uses file system APIs.
30
29
  *
31
- * Supports multi-file models with imports: all imported files are
32
- * automatically loaded and linked. Use `documents` in the result
33
- * to see all loaded files.
30
+ * Note: This loads a single file. For multi-file models with imports,
31
+ * consider using the WorkspaceManager or hosting an LSP server.
34
32
  *
35
33
  * @param entryFile - Path to the entry .dlang file
36
34
  * @param options - Optional load configuration
@@ -41,16 +39,13 @@ import { ensureImportGraphFromDocument } from '../utils/import-utils.js';
41
39
  * ```typescript
42
40
  * import { loadModel } from '@domainlang/language/sdk/loader-node';
43
41
  *
44
- * const { query, model, documents } = await loadModel('./domains.dlang', {
42
+ * const { query, model } = await loadModel('./domains.dlang', {
45
43
  * workspaceDir: process.cwd()
46
44
  * });
47
45
  *
48
- * // Query spans all imported files
49
46
  * for (const bc of query.boundedContexts()) {
50
47
  * console.log(bc.name);
51
48
  * }
52
- *
53
- * console.log(`Loaded ${documents.length} files`);
54
49
  * ```
55
50
  */
56
51
  export async function loadModel(entryFile, options) {
@@ -78,13 +73,8 @@ export async function loadModel(entryFile, options) {
78
73
  const document = shared.workspace.LangiumDocumentFactory.fromString(fileContent, uri);
79
74
  // Register document and build it
80
75
  shared.workspace.LangiumDocuments.addDocument(document);
81
- await shared.workspace.DocumentBuilder.build([document], { validation: false });
82
- // Traverse import graph to load all imported files
83
- const importedUris = await ensureImportGraphFromDocument(document, shared.workspace.LangiumDocuments);
84
- // Build all imported documents with validation
85
- const allDocuments = Array.from(shared.workspace.LangiumDocuments.all);
86
- await shared.workspace.DocumentBuilder.build(allDocuments, { validation: true });
87
- // Wait for entry document to be fully processed
76
+ await shared.workspace.DocumentBuilder.build([document], { validation: true });
77
+ // Wait for document to be fully processed
88
78
  if (document.state < DocumentState.Validated) {
89
79
  throw new Error(`Document not fully processed: ${absolutePath}`);
90
80
  }
@@ -101,15 +91,10 @@ export async function loadModel(entryFile, options) {
101
91
  if (!isModel(model)) {
102
92
  throw new Error(`Document root is not a Model: ${entryFile}`);
103
93
  }
104
- // Augment AST nodes with SDK properties for all loaded models
105
- for (const doc of allDocuments) {
106
- const docModel = doc.parseResult.value;
107
- if (isModel(docModel)) {
108
- augmentModel(docModel);
109
- }
110
- }
111
- // Collect all document URIs from the import graph
112
- const documentUris = Array.from(importedUris).map(uriStr => URI.parse(uriStr));
94
+ // Augment AST nodes with SDK properties
95
+ augmentModel(model);
96
+ // Collect all document URIs
97
+ const documentUris = Array.from(shared.workspace.LangiumDocuments.all).map(doc => doc.uri);
113
98
  return {
114
99
  model,
115
100
  documents: documentUris,
@@ -1 +1 @@
1
- {"version":3,"file":"loader-node.js","sourceRoot":"","sources":["../../src/sdk/loader-node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loader-node.js","sourceRoot":"","sources":["../../src/sdk/loader-node.ts"],"names":[],"mappings":"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"}
@@ -262,6 +262,27 @@ export interface RelationshipView {
262
262
  /** Original AST relationship node */
263
263
  readonly astNode: Relationship;
264
264
  }
265
+ /**
266
+ * Augmented BoundedContext with SDK-resolved properties.
267
+ * These properties are computed during model loading using precedence rules.
268
+ *
269
+ * Property names follow the PRS design: natural names that "just work" with
270
+ * IDE autocomplete. Use `resolved*` prefix to avoid conflicts with existing
271
+ * AST properties while maintaining discoverability.
272
+ *
273
+ * @deprecated Since SDK now uses module augmentation in ast-augmentation.ts,
274
+ * this type alias is only kept for backwards compatibility. Use BoundedContext
275
+ * directly after importing the SDK.
276
+ */
277
+ export type AugmentedBoundedContext = BoundedContext;
278
+ /**
279
+ * Augmented Domain with SDK-resolved properties.
280
+ *
281
+ * @deprecated Since SDK now uses module augmentation in ast-augmentation.ts,
282
+ * this type alias is only kept for backwards compatibility. Use Domain
283
+ * directly after importing the SDK.
284
+ */
285
+ export type AugmentedDomain = Domain;
265
286
  /**
266
287
  * Internal index structure for O(1) lookups.
267
288
  * Not exported from public API.
@@ -7,7 +7,35 @@
7
7
  * - Circular dependency detection
8
8
  * - Version policy enforcement
9
9
  */
10
- import type { LockFile, DependencyTreeNode, ReverseDependency, VersionPolicy } from './types.js';
10
+ import type { LockFile } from './git-url-resolver.js';
11
+ export interface DependencyTreeNode {
12
+ /** Package identifier */
13
+ packageKey: string;
14
+ /** Locked version */
15
+ version: string;
16
+ /** Commit hash */
17
+ commit: string;
18
+ /** Direct dependencies */
19
+ dependencies: DependencyTreeNode[];
20
+ /** Depth in tree (0 = root) */
21
+ depth: number;
22
+ }
23
+ export interface ReverseDependency {
24
+ /** Package that depends on the target */
25
+ dependentPackage: string;
26
+ /** Version of the dependent package */
27
+ version: string;
28
+ /** Type: direct or transitive */
29
+ type: 'direct' | 'transitive';
30
+ }
31
+ export interface VersionPolicy {
32
+ /** Policy name: latest, stable, or specific version */
33
+ policy: 'latest' | 'stable' | 'pinned';
34
+ /** Resolved version */
35
+ version: string;
36
+ /** Available versions for policy */
37
+ availableVersions?: string[];
38
+ }
11
39
  /**
12
40
  * Analyzes dependency relationships and provides visualization/analysis tools.
13
41
  */
@@ -44,9 +72,9 @@ export declare class DependencyAnalyzer {
44
72
  */
45
73
  detectCircularDependencies(lockFile: LockFile): Promise<string[][]>;
46
74
  /**
47
- * Resolves ref policies (latest, stable) to concrete refs.
75
+ * Resolves version policies (latest, stable) to concrete versions.
48
76
  */
49
- resolveVersionPolicy(_packageKey: string, policy: string, availableRefs: string[]): Promise<VersionPolicy>;
77
+ resolveVersionPolicy(packageKey: string, policy: string, availableVersions: string[]): Promise<VersionPolicy>;
50
78
  /**
51
79
  * Gets the cache directory for a package.
52
80
  */
@@ -55,4 +83,12 @@ export declare class DependencyAnalyzer {
55
83
  * Loads dependencies from a cached package.
56
84
  */
57
85
  private loadPackageDependencies;
86
+ /**
87
+ * Sorts versions in descending order (newest first).
88
+ */
89
+ private sortVersions;
90
+ /**
91
+ * Checks if a version is a pre-release.
92
+ */
93
+ private isPreRelease;
58
94
  }
@@ -11,7 +11,6 @@ import path from 'node:path';
11
11
  import fs from 'node:fs/promises';
12
12
  import os from 'node:os';
13
13
  import YAML from 'yaml';
14
- import { sortVersionsDescending, isPreRelease } from './semver.js';
15
14
  /**
16
15
  * Analyzes dependency relationships and provides visualization/analysis tools.
17
16
  */
@@ -62,7 +61,7 @@ export class DependencyAnalyzer {
62
61
  if (visited.has(packageKey)) {
63
62
  return {
64
63
  packageKey,
65
- ref: locked.ref,
64
+ version: locked.version,
66
65
  commit: locked.commit,
67
66
  dependencies: [], // Don't recurse into already visited
68
67
  depth,
@@ -82,7 +81,7 @@ export class DependencyAnalyzer {
82
81
  }
83
82
  return {
84
83
  packageKey,
85
- ref: locked.ref,
84
+ version: locked.version,
86
85
  commit: locked.commit,
87
86
  dependencies: children,
88
87
  depth,
@@ -108,7 +107,7 @@ export class DependencyAnalyzer {
108
107
  if (dep.source === targetPackage) {
109
108
  reverseDeps.push({
110
109
  dependentPackage: 'root',
111
- ref: 'workspace',
110
+ version: 'workspace',
112
111
  type: 'direct',
113
112
  });
114
113
  }
@@ -128,7 +127,7 @@ export class DependencyAnalyzer {
128
127
  if (packageDeps[targetPackage]) {
129
128
  reverseDeps.push({
130
129
  dependentPackage: packageKey,
131
- ref: locked.ref,
130
+ version: locked.version,
132
131
  type: 'direct',
133
132
  });
134
133
  }
@@ -142,10 +141,10 @@ export class DependencyAnalyzer {
142
141
  const lines = [];
143
142
  const formatNode = (node, prefix, isLast) => {
144
143
  const branch = isLast ? '└── ' : '├── ';
145
- const refStr = options.showCommits
146
- ? `${node.ref} (${node.commit.substring(0, 7)})`
147
- : node.ref;
148
- lines.push(`${prefix}${branch}${node.packageKey}@${refStr}`);
144
+ const versionStr = options.showCommits
145
+ ? `${node.version} (${node.commit.substring(0, 7)})`
146
+ : node.version;
147
+ lines.push(`${prefix}${branch}${node.packageKey}@${versionStr}`);
149
148
  const childPrefix = prefix + (isLast ? ' ' : '│ ');
150
149
  node.dependencies.forEach((child, index) => {
151
150
  const isLastChild = index === node.dependencies.length - 1;
@@ -194,32 +193,32 @@ export class DependencyAnalyzer {
194
193
  return cycles;
195
194
  }
196
195
  /**
197
- * Resolves ref policies (latest, stable) to concrete refs.
196
+ * Resolves version policies (latest, stable) to concrete versions.
198
197
  */
199
- async resolveVersionPolicy(_packageKey, policy, availableRefs) {
198
+ async resolveVersionPolicy(packageKey, policy, availableVersions) {
200
199
  if (policy === 'latest') {
201
- // Return the most recent ref
202
- const sorted = sortVersionsDescending(availableRefs);
200
+ // Return the most recent version
201
+ const sorted = this.sortVersions(availableVersions);
203
202
  return {
204
203
  policy: 'latest',
205
- ref: sorted[0] || 'main',
206
- availableRefs: sorted,
204
+ version: sorted[0] || 'main',
205
+ availableVersions: sorted,
207
206
  };
208
207
  }
209
208
  if (policy === 'stable') {
210
- // Return the most recent stable ref (exclude pre-release)
211
- const stable = availableRefs.filter(v => !isPreRelease(v));
212
- const sorted = sortVersionsDescending(stable);
209
+ // Return the most recent stable version (exclude pre-release)
210
+ const stable = availableVersions.filter(v => !this.isPreRelease(v));
211
+ const sorted = this.sortVersions(stable);
213
212
  return {
214
213
  policy: 'stable',
215
- ref: sorted[0] || 'main',
216
- availableRefs: sorted,
214
+ version: sorted[0] || 'main',
215
+ availableVersions: sorted,
217
216
  };
218
217
  }
219
- // Pinned ref
218
+ // Pinned version
220
219
  return {
221
220
  policy: 'pinned',
222
- ref: policy,
221
+ version: policy,
223
222
  };
224
223
  }
225
224
  /**
@@ -250,5 +249,31 @@ export class DependencyAnalyzer {
250
249
  return {};
251
250
  }
252
251
  }
252
+ /**
253
+ * Sorts versions in descending order (newest first).
254
+ */
255
+ sortVersions(versions) {
256
+ return versions.sort((a, b) => {
257
+ // Simple lexicographic sort (good enough for basic semver)
258
+ // Production: use semver library
259
+ const aParts = a.replace(/^v/, '').split('.').map(Number);
260
+ const bParts = b.replace(/^v/, '').split('.').map(Number);
261
+ for (let i = 0; i < Math.max(aParts.length, bParts.length); i++) {
262
+ const aNum = aParts[i] || 0;
263
+ const bNum = bParts[i] || 0;
264
+ if (aNum !== bNum) {
265
+ return bNum - aNum; // Descending
266
+ }
267
+ }
268
+ return 0;
269
+ });
270
+ }
271
+ /**
272
+ * Checks if a version is a pre-release.
273
+ */
274
+ isPreRelease(version) {
275
+ const clean = version.replace(/^v/, '');
276
+ return /-(alpha|beta|rc|pre|dev)/.test(clean);
277
+ }
253
278
  }
254
279
  //# sourceMappingURL=dependency-analyzer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dependency-analyzer.js","sourceRoot":"","sources":["../../src/services/dependency-analyzer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dependency-analyzer.js","sourceRoot":"","sources":["../../src/services/dependency-analyzer.ts"],"names":[],"mappings":"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"}
@@ -9,18 +9,42 @@
9
9
  * 2. Download all direct dependencies
10
10
  * 3. Parse each dependency's model.yaml
11
11
  * 4. Recursively discover transitive dependencies
12
- * 5. Resolve version constraints using "Latest Wins" strategy
12
+ * 5. Resolve version constraints (simple: use latest satisfying version)
13
13
  * 6. Generate lock file with pinned commit hashes
14
- *
15
- * Resolution Strategy ("Latest Wins"):
16
- * - SemVer tags (same major): Pick highest compatible version
17
- * - Same branch: No conflict, resolve once
18
- * - Commit pins: Error (explicit pins are intentional)
19
- * - Major version mismatch: Error
20
- * - Tag vs Branch: Error (incompatible intent)
21
14
  */
22
- import { GitUrlResolver } from './git-url-resolver.js';
23
- import type { LockFile } from './types.js';
15
+ import { GitUrlResolver, LockFile } from './git-url-resolver.js';
16
+ /**
17
+ * Dependency graph node representing a package and its dependencies.
18
+ */
19
+ export interface DependencyNode {
20
+ /** Package identifier (owner/repo) */
21
+ packageKey: string;
22
+ /** Version constraint from parent (e.g., "^1.0.0") */
23
+ versionConstraint: string;
24
+ /** Resolved version */
25
+ resolvedVersion?: string;
26
+ /** Resolved commit hash */
27
+ commitHash?: string;
28
+ /** Full git URL */
29
+ repoUrl?: string;
30
+ /** Direct dependencies of this package */
31
+ dependencies: Record<string, string>;
32
+ /** Parent packages that depend on this one */
33
+ dependents: string[];
34
+ }
35
+ /**
36
+ * Dependency graph for the entire workspace.
37
+ */
38
+ export interface DependencyGraph {
39
+ /** All discovered packages, keyed by owner/repo */
40
+ nodes: Record<string, DependencyNode>;
41
+ /** Root package name */
42
+ root: string;
43
+ }
44
+ /**
45
+ * Resolves dependencies and generates lock files.
46
+ */
47
+ export type { LockFile, PackageMetadata } from './git-url-resolver.js';
24
48
  export declare class DependencyResolver {
25
49
  private gitResolver;
26
50
  private workspaceRoot;
@@ -38,47 +62,29 @@ export declare class DependencyResolver {
38
62
  * @returns Generated lock file
39
63
  */
40
64
  resolveDependencies(): Promise<LockFile>;
41
- /**
42
- * Applies ref overrides from model.yaml to resolve conflicts explicitly.
43
- *
44
- * Overrides take precedence over all other constraints.
45
- *
46
- * @example
47
- * ```yaml
48
- * overrides:
49
- * domainlang/core: v2.0.0
50
- * ```
51
- */
52
- private applyOverrides;
53
- /** Override messages for CLI output */
54
- private overrideMessages;
55
- /**
56
- * Returns any override messages from the last dependency resolution.
57
- */
58
- getOverrideMessages(): string[];
59
65
  /**
60
66
  * Builds the complete dependency graph by recursively discovering transitive dependencies.
61
67
  */
62
68
  private buildDependencyGraph;
63
69
  /**
64
- * Resolves ref constraints to specific commits.
70
+ * Resolves version constraints to specific versions.
65
71
  *
66
- * Simple algorithm: Use the ref specified in the constraint.
67
- * Detects refType (tag, branch, or commit) based on format.
72
+ * Simple algorithm: Use the latest version that satisfies all constraints.
73
+ * Future: Implement proper semantic versioning resolution.
68
74
  */
69
75
  private resolveVersions;
70
76
  /**
71
- * Extracts a ref from a constraint string.
77
+ * Extracts a version from a constraint string.
72
78
  *
73
79
  * Examples:
74
- * - "^1.0.0" → "1.0.0" (treated as tag)
75
- * - "~2.3.0" → "2.3.0" (treated as tag)
76
- * - "1.5.0" → "1.5.0" (treated as tag)
77
- * - "main" → "main" (treated as branch)
78
- * - "abc123def" → "abc123def" (treated as commit)
80
+ * - "^1.0.0" → "1.0.0"
81
+ * - "~2.3.0" → "2.3.0"
82
+ * - "1.5.0" → "1.5.0"
79
83
  * - "owner/repo@1.0.0" → "1.0.0"
84
+ *
85
+ * Future: Implement proper semver range parsing and resolution.
80
86
  */
81
- private extractRefFromConstraint;
87
+ private extractVersionFromConstraint;
82
88
  /**
83
89
  * Resolves a version (tag/branch) to a commit hash using git ls-remote.
84
90
  */
@@ -103,38 +109,9 @@ export declare class DependencyResolver {
103
109
  * dependencies:
104
110
  * package-name:
105
111
  * source: owner/repo
106
- * ref: v1.0.0
112
+ * version: ^1.0.0
107
113
  */
108
114
  private parseYaml;
109
- /**
110
- * Detects ref conflicts and applies "Latest Wins" resolution strategy.
111
- *
112
- * Resolution Rules:
113
- * - SemVer tags (same major): Pick highest version automatically
114
- * - Same branch refs: No conflict, use single resolution
115
- * - Commit SHA conflicts: Error (explicit pins are intentional)
116
- * - Major version mismatch: Error (breaking change)
117
- * - Tag vs Branch: Error (incompatible intent)
118
- *
119
- * Modifies graph nodes in-place to set the resolved constraint.
120
- * Throws an error only for unresolvable conflicts.
121
- */
122
- private detectVersionConflicts;
123
- /**
124
- * Throws a formatted conflict error with actionable hints.
125
- */
126
- private throwConflictError;
127
- /** Resolution messages from "Latest Wins" auto-resolution */
128
- private resolutionMessages;
129
- /**
130
- * Returns any resolution messages from the last dependency resolution.
131
- * Useful for CLI output to inform users about auto-resolved conflicts.
132
- */
133
- getResolutionMessages(): string[];
134
- /**
135
- * Detects package-level cycles in the dependency graph and throws a clear error.
136
- */
137
- private detectPackageCycles;
138
115
  /**
139
116
  * Loads an existing lock file from disk.
140
117
  */