glost 0.3.0 → 0.4.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/CHANGELOG.md +145 -0
- package/dist/cli/migrate.d.ts +8 -0
- package/dist/cli/migrate.d.ts.map +1 -0
- package/dist/cli/migrate.js +229 -0
- package/dist/cli/migrate.js.map +1 -0
- package/dist/errors.d.ts +168 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +300 -0
- package/dist/errors.js.map +1 -0
- package/dist/guards.d.ts +1 -1
- package/dist/guards.d.ts.map +1 -1
- package/dist/index.d.ts +8 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -6
- package/dist/index.js.map +1 -1
- package/dist/nodes.d.ts +1 -1
- package/dist/nodes.d.ts.map +1 -1
- package/dist/nodes.js +0 -1
- package/dist/nodes.js.map +1 -1
- package/dist/types.d.ts +25 -9
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utils.d.ts +2 -2
- package/dist/utils.d.ts.map +1 -1
- package/package.json +5 -2
- package/src/cli/migrate.ts +294 -0
- package/src/errors.ts +394 -0
- package/src/guards.ts +1 -1
- package/src/index.ts +9 -8
- package/src/nodes.ts +1 -2
- package/src/types.ts +25 -9
- package/src/utils.ts +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,150 @@
|
|
|
1
1
|
# glost
|
|
2
2
|
|
|
3
|
+
## 0.4.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- Fixed critical production issues (ESM imports, BCP-47 language standardization, removed redundant transcription schema fields, renamed translation API sourceLanguage/targetLanguage → from/to) and added major DX improvements (typed extras via declaration merging, comprehensive error classes with suggestions, standard GLOSTDataProvider interface, built-in migration CLI tool npx glost migrate).
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- Updated dependencies
|
|
12
|
+
- glost-common@0.2.0
|
|
13
|
+
- glost-utils@0.2.0
|
|
14
|
+
|
|
15
|
+
## 0.4.0
|
|
16
|
+
|
|
17
|
+
### Major Changes
|
|
18
|
+
|
|
19
|
+
GLOST v0.4.0 brings critical production fixes and developer experience improvements based on 6+ months of real-world usage feedback from the lalia-prism team processing 50+ language learning stories across Thai and French.
|
|
20
|
+
|
|
21
|
+
#### Breaking Changes
|
|
22
|
+
|
|
23
|
+
**1. ESM Imports Fixed** 🔧
|
|
24
|
+
|
|
25
|
+
- Added `.js` extensions to all barrel exports for proper Node.js ESM support
|
|
26
|
+
- Updated TypeScript config to `moduleResolution: "node16"`
|
|
27
|
+
- **Impact**: Fixes `Cannot find module` errors in Node.js ESM
|
|
28
|
+
- **Migration**: Automatic when upgrading packages
|
|
29
|
+
|
|
30
|
+
**2. BCP-47 Language Code Standard** 🌍
|
|
31
|
+
|
|
32
|
+
- All language codes now standardized on BCP-47 format (e.g., `en-US`, `th-TH`)
|
|
33
|
+
- Added comprehensive language utilities: `normalizeLanguageCode()`, `matchLanguage()`, `parseLanguageCode()`, `findBestMatch()`, `getLanguageFallbacks()`
|
|
34
|
+
- **Impact**: Language codes like `"th"` become `"th-TH"`
|
|
35
|
+
- **Migration**: Use `npx glost-migrate v0.3-to-v0.4 ./src` or `migrateAllLanguageCodes()` utility
|
|
36
|
+
|
|
37
|
+
**3. Transcription Schema Cleanup** ✨
|
|
38
|
+
|
|
39
|
+
- Removed redundant `system` field from `TranscriptionInfo` type
|
|
40
|
+
- System name is already the key in the transcription object
|
|
41
|
+
- **Before**: `{ ipa: { text: "hello", system: "ipa" } }`
|
|
42
|
+
- **After**: `{ ipa: { text: "hello" } }`
|
|
43
|
+
- **Migration**: Use `migrateTranscriptionSchema()` utility
|
|
44
|
+
|
|
45
|
+
**4. Translation API Clarity** 📝
|
|
46
|
+
|
|
47
|
+
- Renamed confusing `sourceLanguage`/`targetLanguage` to clear `from`/`to`
|
|
48
|
+
- **Before**: `createTranslationExtension({ sourceLanguage: "th", targetLanguage: "en", ... })`
|
|
49
|
+
- **After**: `createTranslationExtension({ from: "th", to: "en", ... })`
|
|
50
|
+
- **Migration**: Manual update of extension calls
|
|
51
|
+
|
|
52
|
+
#### New Features
|
|
53
|
+
|
|
54
|
+
**Typed Extras via Declaration Merging** 🎯
|
|
55
|
+
|
|
56
|
+
- Extensions can now augment `GLOSTExtras` interface for full type safety
|
|
57
|
+
- Automatic TypeScript autocomplete for extension fields
|
|
58
|
+
- No runtime overhead, pure type-level enhancement
|
|
59
|
+
|
|
60
|
+
```typescript
|
|
61
|
+
// In extension package
|
|
62
|
+
declare module "glost" {
|
|
63
|
+
interface GLOSTExtras {
|
|
64
|
+
frequency?: {
|
|
65
|
+
rank: number;
|
|
66
|
+
category: "very-common" | "common" | "uncommon" | "rare";
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
// In user code - full autocomplete!
|
|
72
|
+
word.extras.frequency?.rank; // number | undefined
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
**Standard Provider Interface** 🔌
|
|
76
|
+
|
|
77
|
+
- New `GLOSTDataProvider<TInput, TOutput>` interface for consistency
|
|
78
|
+
- Built-in support for batch processing, caching, and cleanup
|
|
79
|
+
- Helper utilities: `createSimpleProvider()`, `createCachedProvider()`, `createFallbackProvider()`
|
|
80
|
+
|
|
81
|
+
**Better Error Messages** 💬
|
|
82
|
+
|
|
83
|
+
- New error classes with context, suggestions, and documentation links
|
|
84
|
+
- Helpful error formatting with file paths and node locations
|
|
85
|
+
- Error types: `GLOSTValidationError`, `GLOSTExtensionError`, `GLOSTProviderError`, etc.
|
|
86
|
+
|
|
87
|
+
```typescript
|
|
88
|
+
GLOSTValidationError: Missing required field 'text' on WordNode
|
|
89
|
+
|
|
90
|
+
Location: document.children[0]
|
|
91
|
+
Node type: WordNode
|
|
92
|
+
File: stories/test.glost.json:42
|
|
93
|
+
|
|
94
|
+
Suggestion: Add a 'text' field containing the word's text content.
|
|
95
|
+
Documentation: https://glost.dev/docs/node-types#wordnode
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
**Language Code Utilities** 🛠️
|
|
99
|
+
|
|
100
|
+
- `normalizeLanguageCode()` - Convert to BCP-47
|
|
101
|
+
- `matchLanguage()` - Flexible matching with options
|
|
102
|
+
- `parseLanguageCode()` - Parse into components
|
|
103
|
+
- `findBestMatch()` - Find closest match from available codes
|
|
104
|
+
- `getLanguageFallbacks()` - Get fallback chain
|
|
105
|
+
- `isValidBCP47()` - Validation
|
|
106
|
+
- `asBCP47()` - Type-safe casting
|
|
107
|
+
|
|
108
|
+
**Migration CLI** 🚀
|
|
109
|
+
|
|
110
|
+
- Built-in migration CLI: `npx glost migrate`
|
|
111
|
+
- Automated migration from v0.3.x to v0.4.0
|
|
112
|
+
- Commands: `v0.3-to-v0.4`, `analyze`, `help`
|
|
113
|
+
- Dry-run support for safe testing
|
|
114
|
+
- Programmatic migration utilities in `glost-utils`
|
|
115
|
+
|
|
116
|
+
### Improvements
|
|
117
|
+
|
|
118
|
+
- **Bundle Size**: Foundation laid for future optimizations
|
|
119
|
+
- **Type Safety**: Changed `GLOSTExtras` from type to interface for declaration merging
|
|
120
|
+
- **Documentation**: Comprehensive migration guide and updated language docs
|
|
121
|
+
- **Developer Experience**: Better error messages save significant debugging time
|
|
122
|
+
|
|
123
|
+
### Fixes
|
|
124
|
+
|
|
125
|
+
- Fixed ESM imports in all language packages
|
|
126
|
+
- Fixed TypeScript moduleResolution for proper ESM output
|
|
127
|
+
- Removed redundant schema fields reducing JSON size
|
|
128
|
+
|
|
129
|
+
### Migration Guide
|
|
130
|
+
|
|
131
|
+
See [MIGRATION_v0.3_to_v0.4.md](../../MIGRATION_v0.3_to_v0.4.md) for complete upgrade instructions.
|
|
132
|
+
|
|
133
|
+
Quick migration:
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
npx glost migrate v0.3-to-v0.4 ./src
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
### Acknowledgments
|
|
140
|
+
|
|
141
|
+
Special thanks to the lalia-prism team for their comprehensive RFC and 6+ months of production feedback that made this release possible. Their real-world experience with Thai and French language learning content identified critical issues and guided these improvements.
|
|
142
|
+
|
|
143
|
+
### Dependencies
|
|
144
|
+
|
|
145
|
+
- glost-common@0.4.0
|
|
146
|
+
- glost-utils@0.4.0
|
|
147
|
+
|
|
3
148
|
## 0.3.0
|
|
4
149
|
|
|
5
150
|
### Minor Changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../src/cli/migrate.ts"],"names":[],"mappings":";AACA;;;;GAIG"}
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* GLOST Migration CLI
|
|
4
|
+
*
|
|
5
|
+
* Command-line interface for migrating GLOST documents
|
|
6
|
+
*/
|
|
7
|
+
import fs from 'fs';
|
|
8
|
+
import path from 'path';
|
|
9
|
+
// Import migration functions from glost-utils
|
|
10
|
+
async function loadUtils() {
|
|
11
|
+
try {
|
|
12
|
+
// @ts-expect-error - glost-utils is an optional peer dependency
|
|
13
|
+
const utils = await import('glost-utils');
|
|
14
|
+
return {
|
|
15
|
+
migrateAllLanguageCodes: utils.migrateAllLanguageCodes,
|
|
16
|
+
migrateTranscriptionSchema: utils.migrateTranscriptionSchema,
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
catch (error) {
|
|
20
|
+
console.error('Error: glost-utils is required for migration.');
|
|
21
|
+
console.error('Install it with: npm install glost-utils');
|
|
22
|
+
process.exit(1);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
async function migrateToV04(doc, options = {}) {
|
|
26
|
+
const { dryRun = false } = options;
|
|
27
|
+
const utils = await loadUtils();
|
|
28
|
+
const languageCodes = utils.migrateAllLanguageCodes(doc, {
|
|
29
|
+
addDefaultRegions: options.addDefaultRegions ?? true,
|
|
30
|
+
dryRun,
|
|
31
|
+
});
|
|
32
|
+
const transcriptionSchema = utils.migrateTranscriptionSchema(doc, {
|
|
33
|
+
dryRun,
|
|
34
|
+
});
|
|
35
|
+
const totalChanges = languageCodes.changes.length + transcriptionSchema.transcriptionsUpdated;
|
|
36
|
+
return {
|
|
37
|
+
languageCodes,
|
|
38
|
+
transcriptionSchema,
|
|
39
|
+
totalChanges,
|
|
40
|
+
success: true,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
const args = process.argv.slice(2);
|
|
44
|
+
function showHelp() {
|
|
45
|
+
console.log(`
|
|
46
|
+
GLOST Migration Tool
|
|
47
|
+
|
|
48
|
+
Usage:
|
|
49
|
+
glost migrate <command> <path>
|
|
50
|
+
|
|
51
|
+
Commands:
|
|
52
|
+
v0.3-to-v0.4 <path> Migrate documents from v0.3.x to v0.4.0
|
|
53
|
+
analyze <path> Analyze what would be migrated (dry run)
|
|
54
|
+
help Show this help message
|
|
55
|
+
|
|
56
|
+
Options:
|
|
57
|
+
--no-regions Don't add default regions to language codes
|
|
58
|
+
--dry-run Show what would change without modifying files
|
|
59
|
+
|
|
60
|
+
Examples:
|
|
61
|
+
glost migrate v0.3-to-v0.4 ./docs
|
|
62
|
+
glost migrate analyze ./docs/story.glost.json
|
|
63
|
+
glost migrate v0.3-to-v0.4 ./docs --dry-run
|
|
64
|
+
`);
|
|
65
|
+
}
|
|
66
|
+
function isGlostFile(filePath) {
|
|
67
|
+
return filePath.endsWith('.glost.json') || filePath.endsWith('.json');
|
|
68
|
+
}
|
|
69
|
+
function findGlostFiles(dir) {
|
|
70
|
+
const files = [];
|
|
71
|
+
try {
|
|
72
|
+
const entries = fs.readdirSync(dir, { withFileTypes: true });
|
|
73
|
+
for (const entry of entries) {
|
|
74
|
+
const fullPath = path.join(dir, entry.name);
|
|
75
|
+
if (entry.isDirectory()) {
|
|
76
|
+
if (entry.name !== 'node_modules' && entry.name !== '.git') {
|
|
77
|
+
files.push(...findGlostFiles(fullPath));
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
else if (entry.isFile() && isGlostFile(entry.name)) {
|
|
81
|
+
files.push(fullPath);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
catch (error) {
|
|
86
|
+
console.error(`Error reading directory ${dir}:`, error);
|
|
87
|
+
}
|
|
88
|
+
return files;
|
|
89
|
+
}
|
|
90
|
+
async function migrateFile(filePath, options) {
|
|
91
|
+
try {
|
|
92
|
+
const content = fs.readFileSync(filePath, 'utf-8');
|
|
93
|
+
const doc = JSON.parse(content);
|
|
94
|
+
const result = await migrateToV04(doc, options);
|
|
95
|
+
if (result.totalChanges === 0) {
|
|
96
|
+
console.log(`✓ ${filePath} - No changes needed`);
|
|
97
|
+
return { changed: false, file: filePath };
|
|
98
|
+
}
|
|
99
|
+
console.log(`${options.dryRun ? '○' : '✓'} ${filePath} - ${result.totalChanges} changes`);
|
|
100
|
+
if (result.languageCodes.changes.length > 0) {
|
|
101
|
+
console.log(` Language codes: ${result.languageCodes.nodesUpdated} nodes updated`);
|
|
102
|
+
}
|
|
103
|
+
if (result.transcriptionSchema.transcriptionsUpdated > 0) {
|
|
104
|
+
console.log(` Transcriptions: ${result.transcriptionSchema.transcriptionsUpdated} updated`);
|
|
105
|
+
}
|
|
106
|
+
if (!options.dryRun) {
|
|
107
|
+
fs.writeFileSync(filePath, JSON.stringify(doc, null, 2));
|
|
108
|
+
}
|
|
109
|
+
return { changed: true, file: filePath, changes: result.totalChanges };
|
|
110
|
+
}
|
|
111
|
+
catch (error) {
|
|
112
|
+
console.error(`✗ ${filePath} - Error:`, error.message);
|
|
113
|
+
return { changed: false, file: filePath, error };
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
async function main() {
|
|
117
|
+
if (args.length === 0 || args[0] === 'help') {
|
|
118
|
+
showHelp();
|
|
119
|
+
process.exit(0);
|
|
120
|
+
}
|
|
121
|
+
const command = args[0];
|
|
122
|
+
const targetPath = args[1];
|
|
123
|
+
if (!targetPath) {
|
|
124
|
+
console.error('Error: No path provided');
|
|
125
|
+
showHelp();
|
|
126
|
+
process.exit(1);
|
|
127
|
+
}
|
|
128
|
+
const options = {
|
|
129
|
+
dryRun: args.includes('--dry-run'),
|
|
130
|
+
addDefaultRegions: !args.includes('--no-regions'),
|
|
131
|
+
};
|
|
132
|
+
const fullPath = path.resolve(targetPath);
|
|
133
|
+
if (!fs.existsSync(fullPath)) {
|
|
134
|
+
console.error(`Error: Path does not exist: ${fullPath}`);
|
|
135
|
+
process.exit(1);
|
|
136
|
+
}
|
|
137
|
+
const stats = fs.statSync(fullPath);
|
|
138
|
+
let files;
|
|
139
|
+
if (stats.isDirectory()) {
|
|
140
|
+
files = findGlostFiles(fullPath);
|
|
141
|
+
if (files.length === 0) {
|
|
142
|
+
console.log('No GLOST files found in directory');
|
|
143
|
+
process.exit(0);
|
|
144
|
+
}
|
|
145
|
+
console.log(`Found ${files.length} GLOST file(s)\n`);
|
|
146
|
+
}
|
|
147
|
+
else if (stats.isFile()) {
|
|
148
|
+
if (!isGlostFile(fullPath)) {
|
|
149
|
+
console.error('Error: File does not appear to be a GLOST document');
|
|
150
|
+
process.exit(1);
|
|
151
|
+
}
|
|
152
|
+
files = [fullPath];
|
|
153
|
+
}
|
|
154
|
+
else {
|
|
155
|
+
console.error('Error: Path is neither a file nor a directory');
|
|
156
|
+
process.exit(1);
|
|
157
|
+
}
|
|
158
|
+
switch (command) {
|
|
159
|
+
case 'v0.3-to-v0.4':
|
|
160
|
+
case 'v0-to-v04':
|
|
161
|
+
case 'migrate': {
|
|
162
|
+
if (options.dryRun) {
|
|
163
|
+
console.log('DRY RUN - No files will be modified\n');
|
|
164
|
+
}
|
|
165
|
+
let totalChanged = 0;
|
|
166
|
+
let totalChanges = 0;
|
|
167
|
+
for (const file of files) {
|
|
168
|
+
const result = await migrateFile(file, options);
|
|
169
|
+
if (result.changed) {
|
|
170
|
+
totalChanged++;
|
|
171
|
+
totalChanges += result.changes || 0;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
console.log(`\nSummary:`);
|
|
175
|
+
console.log(` Files processed: ${files.length}`);
|
|
176
|
+
console.log(` Files ${options.dryRun ? 'needing changes' : 'changed'}: ${totalChanged}`);
|
|
177
|
+
console.log(` Total changes: ${totalChanges}`);
|
|
178
|
+
if (options.dryRun && totalChanged > 0) {
|
|
179
|
+
console.log(`\nRun without --dry-run to apply changes`);
|
|
180
|
+
}
|
|
181
|
+
break;
|
|
182
|
+
}
|
|
183
|
+
case 'analyze': {
|
|
184
|
+
for (const file of files) {
|
|
185
|
+
try {
|
|
186
|
+
const content = fs.readFileSync(file, 'utf-8');
|
|
187
|
+
const doc = JSON.parse(content);
|
|
188
|
+
const result = await migrateToV04(doc, { dryRun: true });
|
|
189
|
+
console.log(`\nFile: ${file}`);
|
|
190
|
+
console.log(`Total changes needed: ${result.totalChanges}`);
|
|
191
|
+
if (result.languageCodes.changes.length > 0) {
|
|
192
|
+
console.log(`\nLanguage code changes (${result.languageCodes.changes.length}):`);
|
|
193
|
+
result.languageCodes.changes.slice(0, 5).forEach(change => {
|
|
194
|
+
console.log(` ${change.path}: ${change.oldCode} → ${change.newCode}`);
|
|
195
|
+
});
|
|
196
|
+
if (result.languageCodes.changes.length > 5) {
|
|
197
|
+
console.log(` ... and ${result.languageCodes.changes.length - 5} more`);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
if (result.transcriptionSchema.changes.length > 0) {
|
|
201
|
+
console.log(`\nTranscription schema changes (${result.transcriptionSchema.changes.length}):`);
|
|
202
|
+
result.transcriptionSchema.changes.slice(0, 5).forEach(change => {
|
|
203
|
+
console.log(` ${change.path}: systems ${change.systems.join(', ')}`);
|
|
204
|
+
});
|
|
205
|
+
if (result.transcriptionSchema.changes.length > 5) {
|
|
206
|
+
console.log(` ... and ${result.transcriptionSchema.changes.length - 5} more`);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
if (result.totalChanges === 0) {
|
|
210
|
+
console.log('No changes needed');
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
catch (error) {
|
|
214
|
+
console.error(`Error analyzing ${file}:`, error.message);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
break;
|
|
218
|
+
}
|
|
219
|
+
default:
|
|
220
|
+
console.error(`Unknown command: ${command}`);
|
|
221
|
+
showHelp();
|
|
222
|
+
process.exit(1);
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
main().catch(error => {
|
|
226
|
+
console.error('Fatal error:', error);
|
|
227
|
+
process.exit(1);
|
|
228
|
+
});
|
|
229
|
+
//# sourceMappingURL=migrate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/cli/migrate.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.d.ts
ADDED
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GLOST Error Classes
|
|
3
|
+
*
|
|
4
|
+
* Comprehensive error handling with context, suggestions, and helpful messages
|
|
5
|
+
*
|
|
6
|
+
* @packageDocumentation
|
|
7
|
+
*/
|
|
8
|
+
import type { GLOSTNode } from './types.js';
|
|
9
|
+
/**
|
|
10
|
+
* Context information for GLOST errors
|
|
11
|
+
*/
|
|
12
|
+
export interface GLOSTErrorContext {
|
|
13
|
+
/** The node where the error occurred */
|
|
14
|
+
node?: GLOSTNode;
|
|
15
|
+
/** Path to the node in the document tree */
|
|
16
|
+
path?: string[];
|
|
17
|
+
/** Source file path (if known) */
|
|
18
|
+
file?: string;
|
|
19
|
+
/** Suggestion for fixing the error */
|
|
20
|
+
suggestion?: string;
|
|
21
|
+
/** URL to relevant documentation */
|
|
22
|
+
docsUrl?: string;
|
|
23
|
+
/** Additional context data */
|
|
24
|
+
[key: string]: any;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Base class for all GLOST errors
|
|
28
|
+
*/
|
|
29
|
+
export declare class GLOSTError extends Error {
|
|
30
|
+
readonly context: GLOSTErrorContext;
|
|
31
|
+
constructor(message: string, context?: GLOSTErrorContext);
|
|
32
|
+
/**
|
|
33
|
+
* Format error message with context
|
|
34
|
+
*/
|
|
35
|
+
toString(): string;
|
|
36
|
+
/**
|
|
37
|
+
* Get a concise error summary
|
|
38
|
+
*/
|
|
39
|
+
toSummary(): string;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Validation error for schema violations
|
|
43
|
+
*/
|
|
44
|
+
export declare class GLOSTValidationError extends GLOSTError {
|
|
45
|
+
constructor(message: string, context?: GLOSTErrorContext);
|
|
46
|
+
toString(): string;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Error for missing required fields
|
|
50
|
+
*/
|
|
51
|
+
export declare class GLOSTMissingFieldError extends GLOSTValidationError {
|
|
52
|
+
constructor(fieldName: string, nodeType: string, context?: GLOSTErrorContext);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Error for invalid field types
|
|
56
|
+
*/
|
|
57
|
+
export declare class GLOSTInvalidTypeError extends GLOSTValidationError {
|
|
58
|
+
constructor(fieldName: string, expectedType: string, receivedType: string, context?: GLOSTErrorContext);
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Error for invalid language codes
|
|
62
|
+
*/
|
|
63
|
+
export declare class GLOSTInvalidLanguageCodeError extends GLOSTValidationError {
|
|
64
|
+
constructor(code: string, context?: GLOSTErrorContext);
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Error for extension processing
|
|
68
|
+
*/
|
|
69
|
+
export declare class GLOSTExtensionError extends GLOSTError {
|
|
70
|
+
constructor(extensionName: string, message: string, context?: GLOSTErrorContext);
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Error for provider issues
|
|
74
|
+
*/
|
|
75
|
+
export declare class GLOSTProviderError extends GLOSTError {
|
|
76
|
+
constructor(providerName: string, message: string, context?: GLOSTErrorContext);
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Error for document parsing
|
|
80
|
+
*/
|
|
81
|
+
export declare class GLOSTParseError extends GLOSTError {
|
|
82
|
+
constructor(message: string, context?: GLOSTErrorContext);
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Error for serialization issues
|
|
86
|
+
*/
|
|
87
|
+
export declare class GLOSTSerializationError extends GLOSTError {
|
|
88
|
+
constructor(message: string, context?: GLOSTErrorContext);
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Create a validation error with helpful context
|
|
92
|
+
*
|
|
93
|
+
* @param message - Error message
|
|
94
|
+
* @param options - Error options
|
|
95
|
+
* @returns GLOSTValidationError instance
|
|
96
|
+
*
|
|
97
|
+
* @example
|
|
98
|
+
* ```typescript
|
|
99
|
+
* throw createValidationError('Invalid word node', {
|
|
100
|
+
* node: wordNode,
|
|
101
|
+
* path: ['document', 'children', '0'],
|
|
102
|
+
* suggestion: 'Add a "text" field to the word node',
|
|
103
|
+
* docsUrl: 'https://glost.dev/docs/node-types#word'
|
|
104
|
+
* });
|
|
105
|
+
* ```
|
|
106
|
+
*/
|
|
107
|
+
export declare function createValidationError(message: string, options?: {
|
|
108
|
+
node?: GLOSTNode;
|
|
109
|
+
path?: string[];
|
|
110
|
+
file?: string;
|
|
111
|
+
suggestion?: string;
|
|
112
|
+
docsUrl?: string;
|
|
113
|
+
expected?: any;
|
|
114
|
+
received?: any;
|
|
115
|
+
problem?: string;
|
|
116
|
+
}): GLOSTValidationError;
|
|
117
|
+
/**
|
|
118
|
+
* Format a path array as a readable string
|
|
119
|
+
*
|
|
120
|
+
* @param path - Path array
|
|
121
|
+
* @returns Formatted path string
|
|
122
|
+
*
|
|
123
|
+
* @example
|
|
124
|
+
* ```typescript
|
|
125
|
+
* formatPath(['document', 'children', '0', 'text'])
|
|
126
|
+
* // Returns: "document.children[0].text"
|
|
127
|
+
* ```
|
|
128
|
+
*/
|
|
129
|
+
export declare function formatPath(path: Array<string | number>): string;
|
|
130
|
+
/**
|
|
131
|
+
* Assert that a condition is true, throw validation error if not
|
|
132
|
+
*
|
|
133
|
+
* @param condition - Condition to check
|
|
134
|
+
* @param message - Error message if condition is false
|
|
135
|
+
* @param context - Error context
|
|
136
|
+
*
|
|
137
|
+
* @example
|
|
138
|
+
* ```typescript
|
|
139
|
+
* glostAssert(
|
|
140
|
+
* node.type === 'word',
|
|
141
|
+
* 'Node must be a word node',
|
|
142
|
+
* { node, path: ['document', 'children', '0'] }
|
|
143
|
+
* );
|
|
144
|
+
* ```
|
|
145
|
+
*/
|
|
146
|
+
export declare function glostAssert(condition: any, message: string, context?: GLOSTErrorContext): asserts condition;
|
|
147
|
+
/**
|
|
148
|
+
* Wrap an error with additional GLOST context
|
|
149
|
+
*
|
|
150
|
+
* @param error - Original error
|
|
151
|
+
* @param context - Additional context
|
|
152
|
+
* @returns GLOST error
|
|
153
|
+
*
|
|
154
|
+
* @example
|
|
155
|
+
* ```typescript
|
|
156
|
+
* try {
|
|
157
|
+
* await processNode(node);
|
|
158
|
+
* } catch (error) {
|
|
159
|
+
* throw wrapError(error, {
|
|
160
|
+
* node,
|
|
161
|
+
* path: ['document', 'children', '0'],
|
|
162
|
+
* suggestion: 'Check that the node has all required fields'
|
|
163
|
+
* });
|
|
164
|
+
* }
|
|
165
|
+
* ```
|
|
166
|
+
*/
|
|
167
|
+
export declare function wrapError(error: Error, context: GLOSTErrorContext): GLOSTError;
|
|
168
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|