@auto-engineer/server-implementer 0.11.8 → 0.11.10
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 +18 -0
- package/dist/src/commands/implement-slice.d.ts.map +1 -1
- package/dist/src/commands/implement-slice.js +115 -51
- package/dist/src/commands/implement-slice.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -4
- package/src/commands/implement-slice.ts +152 -56
- package/.turbo/turbo-build.log +0 -5
- package/.turbo/turbo-format.log +0 -4
- package/.turbo/turbo-lint.log +0 -4
- package/.turbo/turbo-test.log +0 -13
- package/.turbo/turbo-type-check.log +0 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# @auto-engineer/server-implementer
|
|
2
2
|
|
|
3
|
+
## 0.11.10
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies []:
|
|
8
|
+
- @auto-engineer/ai-gateway@0.11.10
|
|
9
|
+
- @auto-engineer/message-bus@0.11.10
|
|
10
|
+
|
|
11
|
+
## 0.11.9
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- Upgrade oai to gpt-5
|
|
16
|
+
|
|
17
|
+
- Updated dependencies []:
|
|
18
|
+
- @auto-engineer/message-bus@0.11.9
|
|
19
|
+
- @auto-engineer/ai-gateway@0.11.9
|
|
20
|
+
|
|
3
21
|
## 0.11.8
|
|
4
22
|
|
|
5
23
|
### Patch Changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"implement-slice.d.ts","sourceRoot":"","sources":["../../../src/commands/implement-slice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,KAAK,EAAwB,MAAM,4BAA4B,CAAC;AAa5F,MAAM,MAAM,qBAAqB,GAAG,OAAO,CACzC,gBAAgB,EAChB;IACE,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE;QACR,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;CACH,CACF,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,KAAK,CACvC,kBAAkB,EAClB;IACE,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B,CACF,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG,KAAK,CAChD,2BAA2B,EAC3B;IACE,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf,CACF,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,qBAAqB,GAAG,8BAA8B,CAAC;AAE1F,eAAO,MAAM,cAAc;;;mBA1BZ,MAAM;kBACP;YACR,eAAe,CAAC,EAAE,MAAM,CAAC;YACzB,aAAa,CAAC,EAAE,MAAM,CAAC;SACxB;;;;;GA4DH,CAAC;
|
|
1
|
+
{"version":3,"file":"implement-slice.d.ts","sourceRoot":"","sources":["../../../src/commands/implement-slice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,KAAK,EAAwB,MAAM,4BAA4B,CAAC;AAa5F,MAAM,MAAM,qBAAqB,GAAG,OAAO,CACzC,gBAAgB,EAChB;IACE,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE;QACR,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;CACH,CACF,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,KAAK,CACvC,kBAAkB,EAClB;IACE,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B,CACF,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG,KAAK,CAChD,2BAA2B,EAC3B;IACE,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf,CACF,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,qBAAqB,GAAG,8BAA8B,CAAC;AAE1F,eAAO,MAAM,cAAc;;;mBA1BZ,MAAM;kBACP;YACR,eAAe,CAAC,EAAE,MAAM,CAAC;YACzB,aAAa,CAAC,EAAE,MAAM,CAAC;SACxB;;;;;GA4DH,CAAC;AAoVH,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,qBAAqB,GAAG,8BAA8B,CAAC,CA0CjE;AAED,eAAe,cAAc,CAAC"}
|
|
@@ -52,7 +52,6 @@ function extractCodeBlock(text) {
|
|
|
52
52
|
.replace(/```/g, '')
|
|
53
53
|
.trim();
|
|
54
54
|
}
|
|
55
|
-
// Load all TypeScript files from the slice directory
|
|
56
55
|
async function loadContextFiles(sliceDir) {
|
|
57
56
|
const files = await fg(['*.ts'], { cwd: sliceDir });
|
|
58
57
|
const context = {};
|
|
@@ -60,32 +59,48 @@ async function loadContextFiles(sliceDir) {
|
|
|
60
59
|
const absPath = path.join(sliceDir, file);
|
|
61
60
|
context[file] = await readFile(absPath, 'utf-8');
|
|
62
61
|
}
|
|
62
|
+
const sharedTypesPath = path.resolve(sliceDir, '../../../shared/types.ts');
|
|
63
|
+
if (existsSync(sharedTypesPath)) {
|
|
64
|
+
const sharedTypesContent = await readFile(sharedTypesPath, 'utf-8');
|
|
65
|
+
context['domain-shared-types.ts'] = sharedTypesContent;
|
|
66
|
+
}
|
|
63
67
|
return context;
|
|
64
68
|
}
|
|
65
|
-
|
|
66
|
-
function
|
|
67
|
-
|
|
68
|
-
|
|
69
|
+
const IMPLEMENTATION_MARKER = '// @auto-implement';
|
|
70
|
+
function hasImplementationMarker(content) {
|
|
71
|
+
return content.includes(IMPLEMENTATION_MARKER);
|
|
72
|
+
}
|
|
73
|
+
function addImplementationMarker(content) {
|
|
74
|
+
if (hasImplementationMarker(content)) {
|
|
75
|
+
return content;
|
|
69
76
|
}
|
|
70
|
-
return
|
|
77
|
+
return `${IMPLEMENTATION_MARKER}\n${content}`;
|
|
78
|
+
}
|
|
79
|
+
function needsImplementation(content) {
|
|
80
|
+
return (hasImplementationMarker(content) || content.includes('TODO:') || content.includes('IMPLEMENTATION INSTRUCTIONS'));
|
|
81
|
+
}
|
|
82
|
+
function findFilesToImplement(contextFiles) {
|
|
83
|
+
return Object.entries(contextFiles).filter(([, content]) => hasImplementationMarker(content));
|
|
71
84
|
}
|
|
72
|
-
// System prompt for AI implementation
|
|
73
85
|
const SYSTEM_PROMPT = `
|
|
74
86
|
You are a software engineer implementing missing logic in a sliced event-driven TypeScript server. Each slice contains partially scaffolded code, and your task is to complete the logic following implementation instructions embedded in each file.
|
|
75
87
|
|
|
76
88
|
Project Characteristics:
|
|
77
89
|
- Architecture: sliced event-sourced CQRS (Command, Query, Reaction slices)
|
|
78
|
-
- Language: TypeScript with type-graphql and
|
|
90
|
+
- Language: TypeScript with type-graphql and @event-driven-io/emmett
|
|
79
91
|
- Each slice has scaffolded files with implementation instructions clearly marked with comments (e.g., '## IMPLEMENTATION INSTRUCTIONS ##') or TODOs.
|
|
80
92
|
- Tests (e.g., *.specs.ts) must pass.
|
|
81
93
|
- Type errors are not allowed.
|
|
94
|
+
- The domain uses shared enums defined in domain/shared/types.ts for type-safe values. When a field type is an enum (e.g., Status), you MUST use enum constants (e.g., Status.IN_PROGRESS) instead of string literals (e.g., 'in_progress').
|
|
82
95
|
|
|
83
96
|
Your Goal:
|
|
84
97
|
- Read the implementation instructions from the provided file.
|
|
85
98
|
- Generate only the code needed to fulfill the instructions, nothing extra and provide back the whole file without the instructions.
|
|
86
99
|
- Maintain immutability and adhere to functional best practices.
|
|
87
100
|
- Use only the types and domain constructs already present in the slice.
|
|
101
|
+
- CRITICAL: When a field has an enum type (e.g., status: Status), you MUST use the enum constant (e.g., Status.IN_PROGRESS) NOT a string literal (e.g., 'in_progress'). Check domain-shared-types.ts for the exact enum constant names.
|
|
88
102
|
- Do not remove existing imports or types that are still referenced or required in the file.
|
|
103
|
+
- Preserve index signatures like [key: string]: unknown as they are required for TypeScript compatibility.
|
|
89
104
|
- Return the entire updated file, not just the modified parts and remove any TODO comments or instructions after implementing the logic
|
|
90
105
|
|
|
91
106
|
Key rules:
|
|
@@ -98,23 +113,52 @@ Key rules:
|
|
|
98
113
|
- All code must be TypeScript compliant and follow functional patterns.
|
|
99
114
|
- If a test exists, make it pass.
|
|
100
115
|
- Keep implementations minimal and idiomatic.
|
|
116
|
+
- CRITICAL: When assigning values to enum-typed fields, use the enum constant name from domain-shared-types.ts. For example, if Status enum has IN_PROGRESS = 'in_progress', use Status.IN_PROGRESS not 'in_progress'.
|
|
101
117
|
|
|
102
118
|
Avoid:
|
|
103
119
|
- Adding new dependencies.
|
|
104
120
|
- Refactoring unrelated code.
|
|
105
121
|
- Changing the structure of already scaffolded files unless instructed.
|
|
122
|
+
- Using string literals for enum-typed fields. ALWAYS use the enum constant from domain-shared-types.ts (e.g., if status field type is Status and Status enum defines IN_PROGRESS = 'in_progress', use Status.IN_PROGRESS not the string 'in_progress').
|
|
106
123
|
|
|
107
124
|
You will receive:
|
|
108
125
|
- The path of the file to implement.
|
|
109
126
|
- The current contents of the file, with instruction comments.
|
|
110
127
|
- Other relevant files from the same slice (e.g., types, test, state, etc.).
|
|
128
|
+
- Shared domain types including enum definitions (domain-shared-types.ts).
|
|
111
129
|
|
|
112
130
|
You must:
|
|
113
131
|
- Return the entire updated file (no commentary and remove all implementation instructions).
|
|
114
132
|
- Ensure the output is valid TypeScript.
|
|
133
|
+
- Use enum constants from domain-shared-types.ts when appropriate.
|
|
134
|
+
`;
|
|
135
|
+
function extractEnumExamples(sharedTypesContent) {
|
|
136
|
+
const enumMatches = sharedTypesContent.matchAll(/export enum (\w+) \{([^}]+)\}/g);
|
|
137
|
+
const examples = [];
|
|
138
|
+
for (const match of enumMatches) {
|
|
139
|
+
const enumName = match[1];
|
|
140
|
+
const enumBody = match[2];
|
|
141
|
+
const firstConstant = enumBody.match(/\s*(\w+)\s*=\s*['"]([^'"]+)['"]/);
|
|
142
|
+
if (firstConstant !== null) {
|
|
143
|
+
const constantName = firstConstant[1];
|
|
144
|
+
const constantValue = firstConstant[2];
|
|
145
|
+
examples.push(` - ${enumName}.${constantName} (NOT '${constantValue}')`);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
if (examples.length === 0) {
|
|
149
|
+
return '';
|
|
150
|
+
}
|
|
151
|
+
return `
|
|
152
|
+
📌 CRITICAL: Enum Usage Examples from Your Context:
|
|
153
|
+
${examples.join('\n')}
|
|
154
|
+
|
|
155
|
+
Pattern: Always use EnumName.CONSTANT_NAME for enum-typed fields.
|
|
156
|
+
Never use string literals like 'pending' or 'Pending' when an enum constant exists.
|
|
115
157
|
`;
|
|
116
|
-
|
|
158
|
+
}
|
|
117
159
|
function buildInitialPrompt(targetFile, context) {
|
|
160
|
+
const sharedTypes = context['domain-shared-types.ts'];
|
|
161
|
+
const sliceFiles = Object.entries(context).filter(([name]) => name !== targetFile && name !== 'domain-shared-types.ts');
|
|
118
162
|
return `
|
|
119
163
|
${SYSTEM_PROMPT}
|
|
120
164
|
|
|
@@ -123,19 +167,26 @@ ${SYSTEM_PROMPT}
|
|
|
123
167
|
|
|
124
168
|
${context[targetFile]}
|
|
125
169
|
|
|
126
|
-
|
|
170
|
+
${sharedTypes !== undefined
|
|
171
|
+
? `---
|
|
172
|
+
📦 Shared domain types (available via import from '../../../shared'):
|
|
173
|
+
${sharedTypes}
|
|
174
|
+
|
|
175
|
+
${extractEnumExamples(sharedTypes)}
|
|
176
|
+
IMPORTANT: Use enum constants (e.g., Status.PENDING) instead of string literals (e.g., 'pending') when working with enum types.
|
|
177
|
+
|
|
178
|
+
`
|
|
179
|
+
: ''}---
|
|
127
180
|
🧠 Other files in the same slice:
|
|
128
|
-
${
|
|
129
|
-
.filter(([name]) => name !== targetFile)
|
|
130
|
-
.map(([name, content]) => `// File: ${name}\n${content}`)
|
|
131
|
-
.join('\n\n')}
|
|
181
|
+
${sliceFiles.map(([name, content]) => `// File: ${name}\n${content}`).join('\n\n')}
|
|
132
182
|
|
|
133
183
|
---
|
|
134
|
-
Return only the whole updated file of ${targetFile}. Do not remove existing imports or types that are still referenced or required in the file. The file returned has to be production ready.
|
|
184
|
+
Return only the whole updated file of ${targetFile}. Do not remove existing imports or types that are still referenced or required in the file. The file returned has to be production ready. Remember to use enum constants from domain-shared-types.ts instead of string literals.
|
|
135
185
|
`.trim();
|
|
136
186
|
}
|
|
137
|
-
// Build prompt for retry with context
|
|
138
187
|
function buildRetryPrompt(targetFile, context, previousOutputs) {
|
|
188
|
+
const sharedTypes = context['domain-shared-types.ts'];
|
|
189
|
+
const sliceFiles = Object.entries(context).filter(([name]) => name !== targetFile && name !== 'domain-shared-types.ts');
|
|
139
190
|
return `
|
|
140
191
|
${SYSTEM_PROMPT}
|
|
141
192
|
|
|
@@ -148,55 +199,70 @@ ${previousOutputs}
|
|
|
148
199
|
|
|
149
200
|
${context[targetFile]}
|
|
150
201
|
|
|
202
|
+
${sharedTypes !== undefined
|
|
203
|
+
? `---
|
|
204
|
+
📦 Shared domain types (available via import from '../../../shared'):
|
|
205
|
+
${sharedTypes}
|
|
206
|
+
|
|
207
|
+
${extractEnumExamples(sharedTypes)}
|
|
208
|
+
IMPORTANT: Use enum constants (e.g., Status.PENDING) instead of string literals (e.g., 'pending') when working with enum types.
|
|
209
|
+
|
|
210
|
+
`
|
|
211
|
+
: ''}---
|
|
151
212
|
🧠 Other files in the same slice:
|
|
152
|
-
${
|
|
153
|
-
.filter(([name]) => name !== targetFile)
|
|
154
|
-
.map(([name, content]) => `// File: ${name}\n${content}`)
|
|
155
|
-
.join('\n\n')}
|
|
213
|
+
${sliceFiles.map(([name, content]) => `// File: ${name}\n${content}`).join('\n\n')}
|
|
156
214
|
|
|
157
215
|
---
|
|
158
|
-
Return only the corrected full contents of ${targetFile}, no commentary, no markdown.
|
|
216
|
+
Return only the corrected full contents of ${targetFile}, no commentary, no markdown. Remember to use enum constants from domain-shared-types.ts instead of string literals.
|
|
159
217
|
`.trim();
|
|
160
218
|
}
|
|
161
|
-
|
|
219
|
+
async function addMarkersToFiles(slicePath, contextFiles) {
|
|
220
|
+
const filesToMark = Object.entries(contextFiles).filter(([, content]) => needsImplementation(content));
|
|
221
|
+
debugProcess(`Found ${filesToMark.length} files needing implementation markers`);
|
|
222
|
+
for (const [filename, content] of filesToMark) {
|
|
223
|
+
if (!hasImplementationMarker(content)) {
|
|
224
|
+
const markedContent = addImplementationMarker(content);
|
|
225
|
+
await writeFile(path.join(slicePath, filename), markedContent, 'utf-8');
|
|
226
|
+
contextFiles[filename] = markedContent;
|
|
227
|
+
debugProcess(`Added implementation marker to ${filename}`);
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
async function implementFile(slicePath, targetFile, contextFiles, retryContext) {
|
|
232
|
+
debugProcess(`Implementing ${targetFile}`);
|
|
233
|
+
const previousOutputs = retryContext?.previousOutputs;
|
|
234
|
+
const isRetry = previousOutputs !== undefined && previousOutputs.length > 0;
|
|
235
|
+
const prompt = isRetry
|
|
236
|
+
? buildRetryPrompt(targetFile, contextFiles, previousOutputs)
|
|
237
|
+
: buildInitialPrompt(targetFile, contextFiles);
|
|
238
|
+
if (isRetry) {
|
|
239
|
+
debugProcess(`Using retry prompt for attempt #${retryContext?.attemptNumber ?? 2}`);
|
|
240
|
+
}
|
|
241
|
+
const aiOutput = await generateTextWithAI(prompt, { maxTokens: 8000 });
|
|
242
|
+
let cleanedCode = extractCodeBlock(aiOutput);
|
|
243
|
+
cleanedCode = addImplementationMarker(cleanedCode);
|
|
244
|
+
const filePath = path.join(slicePath, targetFile);
|
|
245
|
+
await writeFile(filePath, cleanedCode, 'utf-8');
|
|
246
|
+
debugProcess(`Successfully implemented ${targetFile}`);
|
|
247
|
+
contextFiles[targetFile] = cleanedCode;
|
|
248
|
+
}
|
|
162
249
|
async function implementSlice(slicePath, context) {
|
|
163
250
|
const sliceName = path.basename(slicePath);
|
|
164
251
|
debugProcess(`Implementing slice: ${sliceName}`);
|
|
165
252
|
try {
|
|
166
|
-
// Load all context files
|
|
167
253
|
const contextFiles = await loadContextFiles(slicePath);
|
|
168
254
|
debugProcess(`Loaded ${Object.keys(contextFiles).join(', ')} files from slice`);
|
|
169
|
-
|
|
170
|
-
const filesToImplement = findFilesToImplement(contextFiles
|
|
171
|
-
debugProcess(`Found ${filesToImplement.length} files
|
|
172
|
-
const implementedFiles = [];
|
|
255
|
+
await addMarkersToFiles(slicePath, contextFiles);
|
|
256
|
+
const filesToImplement = findFilesToImplement(contextFiles);
|
|
257
|
+
debugProcess(`Found ${filesToImplement.length} files with markers to implement`);
|
|
173
258
|
if (filesToImplement.length === 0) {
|
|
174
|
-
debugProcess('No files with
|
|
259
|
+
debugProcess('No files with markers found');
|
|
175
260
|
return { success: true, filesImplemented: [] };
|
|
176
261
|
}
|
|
177
|
-
|
|
262
|
+
const implementedFiles = [];
|
|
178
263
|
for (const [targetFile] of filesToImplement) {
|
|
179
|
-
|
|
180
|
-
let prompt;
|
|
181
|
-
if (context !== undefined && context.previousOutputs !== undefined && context.previousOutputs.length > 0) {
|
|
182
|
-
// Use retry prompt if we have previous context
|
|
183
|
-
prompt = buildRetryPrompt(targetFile, contextFiles, context.previousOutputs);
|
|
184
|
-
debugProcess(`Using retry prompt for attempt #${context.attemptNumber ?? 2}`);
|
|
185
|
-
}
|
|
186
|
-
else {
|
|
187
|
-
// Use initial prompt for first attempt
|
|
188
|
-
prompt = buildInitialPrompt(targetFile, contextFiles);
|
|
189
|
-
}
|
|
190
|
-
// Generate implementation with AI
|
|
191
|
-
const aiOutput = await generateTextWithAI(prompt);
|
|
192
|
-
const cleanedCode = extractCodeBlock(aiOutput);
|
|
193
|
-
// Write the implemented file
|
|
194
|
-
const filePath = path.join(slicePath, targetFile);
|
|
195
|
-
await writeFile(filePath, cleanedCode, 'utf-8');
|
|
196
|
-
debugProcess(`Successfully implemented ${targetFile}`);
|
|
264
|
+
await implementFile(slicePath, targetFile, contextFiles, context);
|
|
197
265
|
implementedFiles.push(targetFile);
|
|
198
|
-
// Update context for next file
|
|
199
|
-
contextFiles[targetFile] = cleanedCode;
|
|
200
266
|
}
|
|
201
267
|
return { success: true, filesImplemented: implementedFiles };
|
|
202
268
|
}
|
|
@@ -254,7 +320,6 @@ function logRetryContext(context) {
|
|
|
254
320
|
}
|
|
255
321
|
}
|
|
256
322
|
export async function handleImplementSliceCommand(command) {
|
|
257
|
-
// Handle both 'slicePath' and 'path' parameters for backward compatibility
|
|
258
323
|
const rawData = command.data;
|
|
259
324
|
const slicePath = rawData.slicePath ?? rawData.path;
|
|
260
325
|
const { context } = command.data;
|
|
@@ -289,6 +354,5 @@ export async function handleImplementSliceCommand(command) {
|
|
|
289
354
|
return createFailedEvent(command, errorMessage, slicePath);
|
|
290
355
|
}
|
|
291
356
|
}
|
|
292
|
-
// Default export is the command handler
|
|
293
357
|
export default commandHandler;
|
|
294
358
|
//# sourceMappingURL=implement-slice.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"implement-slice.js","sourceRoot":"","sources":["../../../src/commands/implement-slice.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAC5F,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,MAAM,WAAW,CAAC;AAC3B,OAAO,WAAW,MAAM,OAAO,CAAC;AAEhC,MAAM,KAAK,GAAG,WAAW,CAAC,+BAA+B,CAAC,CAAC;AAC3D,MAAM,YAAY,GAAG,WAAW,CAAC,uCAAuC,CAAC,CAAC;AAC1E,MAAM,YAAY,GAAG,WAAW,CAAC,uCAAuC,CAAC,CAAC;AAC1E,MAAM,WAAW,GAAG,WAAW,CAAC,sCAAsC,CAAC,CAAC;AA+BxE,MAAM,CAAC,MAAM,cAAc,GAAG,oBAAoB,CAGhD;IACA,IAAI,EAAE,gBAAgB;IACtB,KAAK,EAAE,iBAAiB;IACxB,WAAW,EAAE,uCAAuC;IACpD,QAAQ,EAAE,WAAW;IACrB,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE;QACN,SAAS,EAAE;YACT,WAAW,EAAE,0CAA0C;YACvD,QAAQ,EAAE,IAAI;SACf;QACD,OAAO,EAAE;YACP,WAAW,EAAE,kDAAkD;YAC/D,QAAQ,EAAE,KAAK;SAChB;KACF;IACD,QAAQ,EAAE;QACR,0HAA0H;KAC3H;IACD,MAAM,EAAE,CAAC,kBAAkB,EAAE,2BAA2B,CAAC;IACzD,MAAM,EAAE,KAAK,EAAE,OAA8B,EAAmE,EAAE;QAChH,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,MAAM,2BAA2B,CAAC,OAAO,CAAC,CAAC;QAE1D,IAAI,MAAM,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;YACvC,KAAK,CAAC,oCAAoC,CAAC,CAAC;YAC5C,KAAK,CAAC,+CAA+C,CAAC,CAAC;YACvD,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YAC5D,KAAK,CAAC,0BAA0B,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACzE,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,yCAAyC,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpE,KAAK,CAAC,mCAAmC,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAC,CAAC;AAEH,yDAAyD;AACzD,SAAS,gBAAgB,CAAC,IAAY;IACpC,OAAO,IAAI;SACR,OAAO,CAAC,wBAAwB,EAAE,EAAE,CAAC;SACrC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;SACnB,IAAI,EAAE,CAAC;AACZ,CAAC;AAED,qDAAqD;AACrD,KAAK,UAAU,gBAAgB,CAAC,QAAgB;IAC9C,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;IACpD,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC1C,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,sCAAsC;AACtC,SAAS,oBAAoB,CAAC,YAAoC,EAAE,SAAkB;IACpF,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,CACxC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAC9F,CAAC;AACJ,CAAC;AAED,sCAAsC;AACtC,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0CrB,CAAC;AAEF,0CAA0C;AAC1C,SAAS,kBAAkB,CAAC,UAAkB,EAAE,OAA+B;IAC7E,OAAO;EACP,aAAa;;;+BAGgB,UAAU;;EAEvC,OAAO,CAAC,UAAU,CAAC;;;;EAInB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;SACtB,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,UAAU,CAAC;SACvC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,YAAY,IAAI,KAAK,OAAO,EAAE,CAAC;SACxD,IAAI,CAAC,MAAM,CAAC;;;wCAGyB,UAAU;CACjD,CAAC,IAAI,EAAE,CAAC;AACT,CAAC;AAED,sCAAsC;AACtC,SAAS,gBAAgB,CAAC,UAAkB,EAAE,OAA+B,EAAE,eAAuB;IACpG,OAAO;EACP,aAAa;;;;;EAKb,eAAe;;qBAEI,UAAU;;EAE7B,OAAO,CAAC,UAAU,CAAC;;;EAGnB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;SACtB,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,UAAU,CAAC;SACvC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,YAAY,IAAI,KAAK,OAAO,EAAE,CAAC;SACxD,IAAI,CAAC,MAAM,CAAC;;;6CAG8B,UAAU;CACtD,CAAC,IAAI,EAAE,CAAC;AACT,CAAC;AAED,+BAA+B;AAC/B,KAAK,UAAU,cAAc,CAC3B,SAAiB,EACjB,OAA8D;IAE9D,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAE3C,YAAY,CAAC,uBAAuB,SAAS,EAAE,CAAC,CAAC;IAEjD,IAAI,CAAC;QACH,yBAAyB;QACzB,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAAC,CAAC;QACvD,YAAY,CAAC,UAAU,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAChF,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QACpD,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QACvE,YAAY,CAAC,SAAS,gBAAgB,CAAC,MAAM,+BAA+B,CAAC,CAAC;QAC9E,MAAM,gBAAgB,GAAa,EAAE,CAAC;QAEtC,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClC,YAAY,CAAC,8EAA8E,CAAC,CAAC;YAC7F,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAAC;QACjD,CAAC;QAED,oCAAoC;QACpC,KAAK,MAAM,CAAC,UAAU,CAAC,IAAI,gBAAgB,EAAE,CAAC;YAC5C,YAAY,CAAC,gBAAgB,UAAU,EAAE,CAAC,CAAC;YAE3C,IAAI,MAAc,CAAC;YACnB,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS,IAAI,OAAO,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzG,+CAA+C;gBAC/C,MAAM,GAAG,gBAAgB,CAAC,UAAU,EAAE,YAAY,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;gBAC7E,YAAY,CAAC,mCAAmC,OAAO,CAAC,aAAa,IAAI,CAAC,EAAE,CAAC,CAAC;YAChF,CAAC;iBAAM,CAAC;gBACN,uCAAuC;gBACvC,MAAM,GAAG,kBAAkB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YACxD,CAAC;YAED,kCAAkC;YAClC,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC;YAClD,MAAM,WAAW,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAE/C,6BAA6B;YAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YAClD,MAAM,SAAS,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;YAEhD,YAAY,CAAC,4BAA4B,UAAU,EAAE,CAAC,CAAC;YACvD,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAElC,+BAA+B;YAC/B,YAAY,CAAC,UAAU,CAAC,GAAG,WAAW,CAAC;QACzC,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;IAC/D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC;QACvF,YAAY,CAAC,0BAA0B,YAAY,EAAE,CAAC,CAAC;QACvD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;IACvE,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,OAA8B,EAAE,iBAA0B;IACrF,MAAM,OAAO,GAAG,OAAO,CAAC,IAAyD,CAAC;IAClF,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IACpD,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IACjC,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACxC,KAAK,CAAC,kBAAkB,EAAE,iBAAiB,IAAI,SAAS,CAAC,CAAC;IAC1D,KAAK,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACxD,IAAI,OAAO,EAAE,CAAC;QACZ,KAAK,CAAC,sBAAsB,EAAE,OAAO,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC;IAC5D,CAAC;IACD,KAAK,CAAC,kBAAkB,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC7C,KAAK,CAAC,sBAAsB,EAAE,OAAO,CAAC,aAAa,IAAI,MAAM,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,iBAAiB,CACxB,OAA8B,EAC9B,KAAa,EACb,iBAA0B;IAE1B,MAAM,OAAO,GAAG,OAAO,CAAC,IAAyD,CAAC;IAClF,MAAM,SAAS,GAAG,iBAAiB,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IACzE,OAAO;QACL,IAAI,EAAE,2BAA2B;QACjC,IAAI,EAAE;YACJ,SAAS;YACT,KAAK;SACN;QACD,SAAS,EAAE,IAAI,IAAI,EAAE;QACrB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,aAAa,EAAE,OAAO,CAAC,aAAa;KACrC,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CACzB,OAA8B,EAC9B,gBAA0B,EAC1B,iBAA0B;IAE1B,MAAM,OAAO,GAAG,OAAO,CAAC,IAAyD,CAAC;IAClF,MAAM,SAAS,GAAG,iBAAiB,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IACzE,OAAO;QACL,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE;YACJ,SAAS;YACT,gBAAgB;SACjB;QACD,SAAS,EAAE,IAAI,IAAI,EAAE;QACrB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,aAAa,EAAE,OAAO,CAAC,aAAa;KACrC,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,OAAyE;IAChG,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS,IAAI,OAAO,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzG,YAAY,CAAC,iDAAiD,EAAE,OAAO,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC;QAC5F,YAAY,CAAC,sBAAsB,EAAE,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAClF,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,OAA8B;IAE9B,2EAA2E;IAC3E,MAAM,OAAO,GAAG,OAAO,CAAC,IAAyD,CAAC;IAClF,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IACpD,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAEjC,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,EAAE,EAAE,CAAC;QACtE,YAAY,CAAC,qEAAqE,CAAC,CAAC;QACpF,OAAO,iBAAiB,CAAC,OAAO,EAAE,sDAAsD,CAAC,CAAC;IAC5F,CAAC;IAED,mBAAmB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAExC,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC1C,YAAY,CAAC,iBAAiB,CAAC,CAAC;QAChC,YAAY,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;QAE5C,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3B,YAAY,CAAC,wCAAwC,EAAE,SAAS,CAAC,CAAC;YAClE,OAAO,iBAAiB,CAAC,OAAO,EAAE,iCAAiC,SAAS,EAAE,EAAE,SAAS,CAAC,CAAC;QAC7F,CAAC;QAED,YAAY,CAAC,uCAAuC,EAAE,SAAS,CAAC,CAAC;QACjE,eAAe,CAAC,OAAO,CAAC,CAAC;QAEzB,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAExD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,IAAI,uBAAuB,EAAE,SAAS,CAAC,CAAC;QACxF,CAAC;QAED,WAAW,CAAC,mBAAmB,CAAC,CAAC;QACjC,WAAW,CAAC,uBAAuB,EAAE,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACrE,WAAW,CAAC,WAAW,EAAE,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7D,WAAW,CAAC,2CAA2C,CAAC,CAAC;QAEzD,OAAO,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;IACzE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;QAC5C,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC;QACvF,OAAO,iBAAiB,CAAC,OAAO,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC;AAED,wCAAwC;AACxC,eAAe,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"implement-slice.js","sourceRoot":"","sources":["../../../src/commands/implement-slice.ts"],"names":[],"mappings":"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"}
|