@cesarandreslopez/occ 0.8.10 → 0.8.12

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 (72) hide show
  1. package/README.md +7 -4
  2. package/dist/src/code/build.d.ts +49 -1
  3. package/dist/src/code/build.js +127 -33
  4. package/dist/src/code/build.js.map +1 -1
  5. package/dist/src/code/chunk.d.ts +10 -0
  6. package/dist/src/code/chunk.js +14 -1
  7. package/dist/src/code/chunk.js.map +1 -1
  8. package/dist/src/code/discover.d.ts +13 -0
  9. package/dist/src/code/discover.js +49 -2
  10. package/dist/src/code/discover.js.map +1 -1
  11. package/dist/src/code/incremental.d.ts +75 -0
  12. package/dist/src/code/incremental.js +257 -0
  13. package/dist/src/code/incremental.js.map +1 -0
  14. package/dist/src/code/map.d.ts +8 -1
  15. package/dist/src/code/map.js +13 -3
  16. package/dist/src/code/map.js.map +1 -1
  17. package/dist/src/code/parsers.d.ts +1 -0
  18. package/dist/src/code/parsers.js +1 -1
  19. package/dist/src/code/parsers.js.map +1 -1
  20. package/dist/src/code/rank.d.ts +14 -0
  21. package/dist/src/code/rank.js +58 -0
  22. package/dist/src/code/rank.js.map +1 -1
  23. package/dist/src/code/store.d.ts +20 -0
  24. package/dist/src/code/store.js +262 -109
  25. package/dist/src/code/store.js.map +1 -1
  26. package/dist/src/doc/chunk.d.ts +17 -0
  27. package/dist/src/doc/chunk.js +47 -18
  28. package/dist/src/doc/chunk.js.map +1 -1
  29. package/dist/src/doc/inspect-docx.js +13 -3
  30. package/dist/src/doc/inspect-docx.js.map +1 -1
  31. package/dist/src/doc/inspect-pdf.js +12 -17
  32. package/dist/src/doc/inspect-pdf.js.map +1 -1
  33. package/dist/src/index.d.ts +13 -8
  34. package/dist/src/index.js +9 -5
  35. package/dist/src/index.js.map +1 -1
  36. package/dist/src/inspect/xlsx-cells.d.ts +8 -0
  37. package/dist/src/inspect/xlsx-cells.js +17 -2
  38. package/dist/src/inspect/xlsx-cells.js.map +1 -1
  39. package/dist/src/markdown/convert.js +45 -27
  40. package/dist/src/markdown/convert.js.map +1 -1
  41. package/dist/src/parsers/docx.js +10 -2
  42. package/dist/src/parsers/docx.js.map +1 -1
  43. package/dist/src/parsers/index.js +5 -0
  44. package/dist/src/parsers/index.js.map +1 -1
  45. package/dist/src/parsers/pdf.js +12 -32
  46. package/dist/src/parsers/pdf.js.map +1 -1
  47. package/dist/src/parsers/xlsx.js +11 -1
  48. package/dist/src/parsers/xlsx.js.map +1 -1
  49. package/dist/src/progress-event.d.ts +3 -1
  50. package/dist/src/progress-event.js +32 -1
  51. package/dist/src/progress-event.js.map +1 -1
  52. package/dist/src/sheet/inspect.js +20 -10
  53. package/dist/src/sheet/inspect.js.map +1 -1
  54. package/dist/src/table/inspect-docx.js +10 -1
  55. package/dist/src/table/inspect-docx.js.map +1 -1
  56. package/dist/src/table/inspect-xlsx.js +15 -5
  57. package/dist/src/table/inspect-xlsx.js.map +1 -1
  58. package/dist/src/utils.d.ts +24 -0
  59. package/dist/src/utils.js +91 -2
  60. package/dist/src/utils.js.map +1 -1
  61. package/dist/src/workspace/bundle.d.ts +51 -0
  62. package/dist/src/workspace/bundle.js +405 -93
  63. package/dist/src/workspace/bundle.js.map +1 -1
  64. package/dist/src/workspace/documents.d.ts +4 -0
  65. package/dist/src/workspace/documents.js +15 -2
  66. package/dist/src/workspace/documents.js.map +1 -1
  67. package/dist/src/workspace/prepare-types.d.ts +15 -0
  68. package/dist/src/workspace/prepare-types.js +18 -1
  69. package/dist/src/workspace/prepare-types.js.map +1 -1
  70. package/dist/src/workspace/prepare.js +10 -2
  71. package/dist/src/workspace/prepare.js.map +1 -1
  72. package/package.json +9 -2
@@ -4,9 +4,22 @@ import { describeWorkspace } from './describe.js';
4
4
  import { inspectWorkspaceDocumentSet } from './documents.js';
5
5
  import { buildCodebaseIndexIsolated } from '../code/isolated.js';
6
6
  import { previewCodebaseSize } from '../code/preview.js';
7
- import { chunkDocument } from '../doc/chunk.js';
8
- import { abortIfNeeded, normalizeRelativePath } from '../utils.js';
7
+ import { openCodeIndexStore } from '../code/store.js';
8
+ import { slimifyIndex } from '../code/slim.js';
9
+ import { chunkFromIndex } from '../code/chunk.js';
10
+ import { chunkDocument, chunkDocumentFromMarkdown } from '../doc/chunk.js';
11
+ import { abortIfNeeded, mapWithConcurrency, normalizeRelativePath } from '../utils.js';
12
+ import { isOccAbortError } from '../errors.js';
9
13
  const DEFAULT_EXCLUDE_DIR = ['node_modules', '.git', 'dist', 'vendor', 'build', 'coverage', 'target'];
14
+ // Step descriptors shared by the sequential and concurrent phase paths.
15
+ const STEP_DESCRIPTION = { phase: 'description', detail: 'Describe workspace' };
16
+ const STEP_ANALYSIS = { phase: 'stats', detail: 'Analyze workspace totals' };
17
+ const STEP_DOCUMENTS = { phase: 'inspect', detail: 'Inspect documents' };
18
+ const STEP_CODE_PREVIEW = { phase: 'code-preview', detail: 'Preview code index size' };
19
+ const STEP_CODE_INDEX = { phase: 'index', detail: 'Build code index' };
20
+ const STEP_CODE_CHUNK = { phase: 'code-chunk', detail: 'Chunk code files' };
21
+ const STEP_DOCUMENT_CHUNK = { phase: 'document-chunk', detail: 'Chunk documents' };
22
+ const STEP_OUTLINE = { phase: 'outline', detail: 'Build workspace outline' };
10
23
  function reportStep(onProgress, step, completed, total, startedAt) {
11
24
  onProgress?.({
12
25
  phase: step.phase,
@@ -87,6 +100,9 @@ function buildOutline(rootDir, description, documents, codeIndex) {
87
100
  }
88
101
  return root;
89
102
  }
103
+ function escapeRegExp(value) {
104
+ return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
105
+ }
90
106
  function detectCodeDocumentReferences(codeIndex, documents, limit) {
91
107
  if (!codeIndex || !documents || limit <= 0)
92
108
  return [];
@@ -101,6 +117,23 @@ function detectCodeDocumentReferences(codeIndex, documents, limit) {
101
117
  seenNames.add(node.name);
102
118
  return true;
103
119
  }).slice(0, 1_000);
120
+ // Compile each symbol pattern once instead of per line.
121
+ const compiled = symbols.map((symbol) => ({
122
+ symbol,
123
+ pattern: new RegExp(`\\b${escapeRegExp(symbol.name)}\\b`),
124
+ }));
125
+ // One alternation over all (longest-first, already-escaped) names, used
126
+ // purely as a per-line skip filter — extraction still runs the per-symbol
127
+ // patterns, so output order and the limit early-return are unchanged.
128
+ let prescreen = null;
129
+ if (symbols.length > 0) {
130
+ try {
131
+ prescreen = new RegExp(`\\b(?:${symbols.map((symbol) => escapeRegExp(symbol.name)).join('|')})\\b`);
132
+ }
133
+ catch {
134
+ prescreen = null; // Fall back to scanning every line with the compiled patterns.
135
+ }
136
+ }
104
137
  const references = [];
105
138
  for (const doc of documents.documents) {
106
139
  if (!doc.markdownContent)
@@ -110,8 +143,9 @@ function detectCodeDocumentReferences(codeIndex, documents, limit) {
110
143
  const line = lines[lineIndex];
111
144
  if (!line.trim())
112
145
  continue;
113
- for (const symbol of symbols) {
114
- const pattern = new RegExp(`\\b${symbol.name.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')}\\b`);
146
+ if (prescreen && !prescreen.test(line))
147
+ continue;
148
+ for (const { symbol, pattern } of compiled) {
115
149
  if (!pattern.test(line))
116
150
  continue;
117
151
  references.push({
@@ -134,32 +168,123 @@ async function buildDocumentChunks(documents, options, onProgress) {
134
168
  if (!documents)
135
169
  return [];
136
170
  const maxChunks = options.maxDocumentChunks ?? 500;
137
- const chunks = [];
138
- for (let index = 0; index < documents.documents.length; index++) {
139
- abortIfNeeded(options.signal);
140
- const doc = documents.documents[index];
171
+ const total = documents.documents.length;
172
+ let completed = 0;
173
+ let accumulatedChunks = 0;
174
+ // Workers skip documents once the running chunk total reaches the cap, so
175
+ // conversion stops near it instead of chunking every document (documents
176
+ // already in flight still finish — up to the concurrency width of overshoot).
177
+ // Items are dispatched in document order, so every document that contributed
178
+ // to the total precedes any skipped one; flattening in document order plus
179
+ // the post-join slice stays the authoritative cap, and the returned chunks
180
+ // are identical to chunking everything.
181
+ const perDocument = await mapWithConcurrency(documents.documents, 5, async (doc) => {
182
+ if (accumulatedChunks >= maxChunks)
183
+ return undefined;
184
+ let docChunks;
141
185
  try {
142
- const docChunks = await chunkDocument(doc.filePath, {
143
- ...options.chunk,
144
- relativePath: doc.relativePath,
145
- });
146
- chunks.push(...docChunks);
147
- if (chunks.length >= maxChunks)
148
- return chunks.slice(0, maxChunks);
186
+ docChunks = doc.markdownContent != null
187
+ // Markdown was already produced by document inspection — reuse it
188
+ // instead of re-reading and re-converting the file. Per-document
189
+ // values are spread last so caller chunk options cannot clobber them.
190
+ ? chunkDocumentFromMarkdown(doc.markdownContent, {
191
+ ...options.chunk,
192
+ filePath: doc.filePath,
193
+ relativePath: doc.relativePath,
194
+ })
195
+ : await chunkDocument(doc.filePath, {
196
+ ...options.chunk,
197
+ relativePath: doc.relativePath,
198
+ });
149
199
  }
150
200
  catch {
151
201
  // Document conversion errors are already represented in inspectDocuments.
152
202
  }
203
+ if (docChunks)
204
+ accumulatedChunks += docChunks.length;
153
205
  onProgress?.({
154
206
  phase: 'document-chunk',
155
- total: documents.documents.length,
156
- completed: index + 1,
207
+ total,
208
+ completed: ++completed,
157
209
  detail: doc.relativePath,
158
210
  currentPath: doc.filePath,
159
211
  scope: 'document',
160
212
  });
213
+ return docChunks;
214
+ }, options.signal);
215
+ const chunks = [];
216
+ for (const docChunks of perDocument) {
217
+ if (docChunks)
218
+ chunks.push(...docChunks);
161
219
  }
162
- return chunks;
220
+ return chunks.slice(0, maxChunks);
221
+ }
222
+ function buildCodeChunks(codeIndex, options, onProgress) {
223
+ if (!codeIndex)
224
+ return [];
225
+ const chunks = chunkFromIndex(codeIndex, options.codeChunk);
226
+ const capped = options.maxCodeChunks != null
227
+ ? chunks.slice(0, Math.max(0, options.maxCodeChunks))
228
+ : chunks;
229
+ onProgress?.({
230
+ phase: 'code-chunk',
231
+ total: capped.length,
232
+ completed: capped.length,
233
+ detail: 'Code chunking complete',
234
+ scope: 'code',
235
+ });
236
+ return capped;
237
+ }
238
+ function mapCodeChunk(chunk) {
239
+ return {
240
+ kind: 'code',
241
+ chunkId: `${chunk.relativePath}#code-${chunk.chunkIndex}`,
242
+ filePath: chunk.filePath,
243
+ relativePath: chunk.relativePath,
244
+ title: chunk.title,
245
+ content: chunk.content,
246
+ chunkIndex: chunk.chunkIndex,
247
+ startLine: chunk.startLine,
248
+ endLine: chunk.endLine,
249
+ language: chunk.language,
250
+ symbolNames: chunk.symbolNames,
251
+ symbolTypes: chunk.symbolTypes,
252
+ };
253
+ }
254
+ function mapDocumentChunksToCorpus(chunks) {
255
+ const perFileIndex = new Map();
256
+ return chunks.map((chunk) => {
257
+ const chunkIndex = perFileIndex.get(chunk.relativePath) ?? 0;
258
+ perFileIndex.set(chunk.relativePath, chunkIndex + 1);
259
+ return {
260
+ kind: 'document',
261
+ chunkId: chunk.chunkId,
262
+ filePath: chunk.filePath,
263
+ relativePath: chunk.relativePath,
264
+ title: chunk.title,
265
+ content: chunk.content,
266
+ chunkIndex,
267
+ startLine: chunk.startLine,
268
+ endLine: chunk.endLine,
269
+ format: chunk.format,
270
+ headingPath: chunk.headingPath,
271
+ anchor: chunk.anchor,
272
+ tokenEstimate: chunk.tokenEstimate,
273
+ wordCount: chunk.wordCount,
274
+ };
275
+ });
276
+ }
277
+ function buildCorpusChunks(codeChunks, documentChunks, options) {
278
+ if (!options.includeCorpusChunks)
279
+ return undefined;
280
+ const chunks = [
281
+ ...(codeChunks ?? []).map(mapCodeChunk),
282
+ ...mapDocumentChunksToCorpus(documentChunks ?? []),
283
+ ].sort((left, right) => (left.relativePath.localeCompare(right.relativePath)
284
+ || left.kind.localeCompare(right.kind)
285
+ || left.chunkIndex - right.chunkIndex));
286
+ const maxChunks = options.maxCorpusChunks;
287
+ return maxChunks != null ? chunks.slice(0, Math.max(0, maxChunks)) : chunks;
163
288
  }
164
289
  export async function bundleWorkspace(rootDir, options = {}) {
165
290
  const startedAt = Date.now();
@@ -168,103 +293,288 @@ export async function bundleWorkspace(rootDir, options = {}) {
168
293
  const includeAnalysis = options.includeAnalysis !== false;
169
294
  const includeDocuments = options.includeDocuments !== false;
170
295
  const includeCode = options.includeCode !== false;
171
- const includeDocumentChunks = options.includeDocumentChunks ?? false;
296
+ const includeCodeChunks = options.includeCodeChunks ?? false;
297
+ const includeCorpusChunks = options.includeCorpusChunks ?? false;
298
+ const includeDocumentChunks = (options.includeDocumentChunks ?? false) || includeCorpusChunks;
299
+ const shouldBuildCodeChunks = includeCode && (includeCodeChunks || includeCorpusChunks);
172
300
  const includeCodeDocumentReferences = options.includeCodeDocumentReferences ?? true;
301
+ const concurrentPhases = options.concurrentPhases !== false;
173
302
  const onProgress = options.onProgress;
174
303
  const errors = [];
175
304
  const shared = commonWorkspaceOptions(options);
176
305
  const steps = [
177
- ...(includeDescription ? [{ phase: 'description', detail: 'Describe workspace' }] : []),
178
- ...(includeAnalysis ? [{ phase: 'stats', detail: 'Analyze workspace totals' }] : []),
179
- ...(includeDocuments ? [{ phase: 'inspect', detail: 'Inspect documents' }] : []),
180
- ...(includeCode ? [{ phase: 'code-preview', detail: 'Preview code index size' }] : []),
181
- ...(includeCode ? [{ phase: 'index', detail: 'Build code index' }] : []),
182
- ...(includeDocumentChunks ? [{ phase: 'document-chunk', detail: 'Chunk documents' }] : []),
183
- { phase: 'outline', detail: 'Build workspace outline' },
306
+ ...(includeDescription ? [STEP_DESCRIPTION] : []),
307
+ ...(includeAnalysis ? [STEP_ANALYSIS] : []),
308
+ ...(includeDocuments ? [STEP_DOCUMENTS] : []),
309
+ ...(includeCode ? [STEP_CODE_PREVIEW] : []),
310
+ ...(includeCode ? [STEP_CODE_INDEX] : []),
311
+ ...(shouldBuildCodeChunks ? [STEP_CODE_CHUNK] : []),
312
+ ...(includeDocumentChunks ? [STEP_DOCUMENT_CHUNK] : []),
313
+ STEP_OUTLINE,
184
314
  ];
185
315
  let completedSteps = 0;
316
+ const scopedCodeProgress = (event) => onProgress?.({ ...event, scope: event.scope ?? 'code' });
317
+ // Resolves the code index either through a persistent store (cacheDir/store
318
+ // options — cache hits skip parsing, misses build in-process) or through the
319
+ // pre-existing isolated subprocess build.
320
+ const acquireCodeIndex = async () => {
321
+ const slim = options.slimCodeIndex ?? true;
322
+ const contentMode = shouldBuildCodeChunks
323
+ ? 'full'
324
+ : (options.contentMode ?? (slim ? 'none' : 'excerpt'));
325
+ if (options.store || options.cacheDir) {
326
+ const store = options.store ?? openCodeIndexStore({
327
+ repoRoot: resolvedRoot,
328
+ cacheDir: options.cacheDir,
329
+ excludeDir: shared.excludeDir,
330
+ noGitignore: shared.noGitignore,
331
+ ignorePatterns: shared.ignorePatterns,
332
+ overlayIgnorePatterns: shared.overlayIgnorePatterns,
333
+ contentMode,
334
+ maxFiles: options.maxCodeFiles,
335
+ maxBytes: options.maxCodeBytes,
336
+ onBudgetExceeded: 'truncate',
337
+ });
338
+ const session = await store.getSession({
339
+ strategy: options.cacheStrategy ?? 'ensure-fresh',
340
+ signal: options.signal,
341
+ onProgress: scopedCodeProgress,
342
+ });
343
+ const index = session.getIndex();
344
+ return {
345
+ codeIndex: slim ? slimifyIndex(index) : index,
346
+ chunkSource: index.contentMode === 'full' ? index : undefined,
347
+ };
348
+ }
349
+ const index = await buildCodebaseIndexIsolated({
350
+ repoRoot: resolvedRoot,
351
+ ...shared,
352
+ contentMode,
353
+ maxFiles: options.maxCodeFiles,
354
+ maxBytes: options.maxCodeBytes,
355
+ onBudgetExceeded: 'truncate',
356
+ slim: false,
357
+ signal: options.signal,
358
+ }, scopedCodeProgress);
359
+ return {
360
+ codeIndex: slim ? slimifyIndex(index) : index,
361
+ chunkSource: index.contentMode === 'full' ? index : undefined,
362
+ };
363
+ };
186
364
  reportStep(onProgress, { phase: 'bundle', detail: 'Workspace bundle started' }, completedSteps, steps.length, startedAt);
187
365
  let description;
188
- if (includeDescription) {
189
- abortIfNeeded(options.signal);
190
- try {
191
- description = await describeWorkspace(resolvedRoot, shared);
192
- }
193
- catch (err) {
366
+ let analysis;
367
+ let documents;
368
+ let codePreview;
369
+ let codeIndex;
370
+ let codeChunkSource;
371
+ if (concurrentPhases) {
372
+ // Phases run concurrently as error-capturing tasks. Errors are collected
373
+ // per phase and assembled post-join in the canonical sequential order
374
+ // (description, analysis, documents, code-preview, code) so errors[]
375
+ // content and order match the concurrentPhases: false path. Step
376
+ // completion order may vary; the shared counter stays monotonic and inner
377
+ // per-phase events are already scope-tagged. Once the signal aborts, tasks
378
+ // skip un-started phase bodies and suppress further step emissions; the
379
+ // post-join abortIfNeeded turns the abort into a rejection.
380
+ let caughtAbort;
381
+ const phaseErrors = {
382
+ 'description': [],
383
+ 'analysis': [],
384
+ 'documents': [],
385
+ 'code-preview': [],
386
+ 'code': [],
387
+ };
388
+ const capture = (scope, err) => {
389
+ if (isOccAbortError(err)) {
390
+ caughtAbort ??= err;
391
+ return;
392
+ }
194
393
  const error = err;
195
- errors.push({ scope: 'description', path: resolvedRoot, message: error.message });
394
+ phaseErrors[scope].push({ scope, path: resolvedRoot, message: error.message });
395
+ };
396
+ const tasks = [];
397
+ if (includeDescription) {
398
+ tasks.push((async () => {
399
+ if (options.signal?.aborted)
400
+ return; // already aborted — skip the phase entirely
401
+ try {
402
+ description = await describeWorkspace(resolvedRoot, shared);
403
+ }
404
+ catch (err) {
405
+ capture('description', err);
406
+ }
407
+ if (options.signal?.aborted)
408
+ return; // aborted mid-phase — suppress the completion event
409
+ reportStep(onProgress, STEP_DESCRIPTION, ++completedSteps, steps.length, startedAt);
410
+ })());
196
411
  }
197
- reportStep(onProgress, steps[completedSteps], ++completedSteps, steps.length, startedAt);
198
- }
199
- let analysis;
200
- if (includeAnalysis) {
201
- abortIfNeeded(options.signal);
202
- try {
203
- analysis = await analyzeWorkspace(resolvedRoot, {
204
- ...shared,
205
- includeDocuments,
206
- includeCode,
207
- }, (event) => onProgress?.({ ...event, scope: event.scope ?? 'workspace' }));
412
+ if (includeAnalysis) {
413
+ tasks.push((async () => {
414
+ if (options.signal?.aborted)
415
+ return; // already aborted — skip the phase entirely
416
+ try {
417
+ analysis = await analyzeWorkspace(resolvedRoot, {
418
+ ...shared,
419
+ includeDocuments,
420
+ includeCode,
421
+ }, (event) => onProgress?.({ ...event, scope: event.scope ?? 'workspace' }));
422
+ }
423
+ catch (err) {
424
+ capture('analysis', err);
425
+ }
426
+ if (options.signal?.aborted)
427
+ return; // aborted mid-phase — suppress the completion event
428
+ reportStep(onProgress, STEP_ANALYSIS, ++completedSteps, steps.length, startedAt);
429
+ })());
208
430
  }
209
- catch (err) {
210
- const error = err;
211
- errors.push({ scope: 'analysis', path: resolvedRoot, message: error.message });
431
+ if (includeDocuments) {
432
+ tasks.push((async () => {
433
+ if (options.signal?.aborted)
434
+ return; // already aborted — skip the phase entirely
435
+ try {
436
+ documents = await inspectWorkspaceDocumentSet(resolvedRoot, {
437
+ ...shared,
438
+ includeMarkdown: includeCodeDocumentReferences,
439
+ includeDataFiles: options.includeDataFiles,
440
+ maxFiles: options.maxDocumentFiles,
441
+ maxReferenceFiles: options.maxReferenceFiles,
442
+ }, (event) => onProgress?.({ ...event, scope: event.scope ?? 'document' }));
443
+ }
444
+ catch (err) {
445
+ capture('documents', err);
446
+ }
447
+ if (options.signal?.aborted)
448
+ return; // aborted mid-phase — suppress the completion event
449
+ reportStep(onProgress, STEP_DOCUMENTS, ++completedSteps, steps.length, startedAt);
450
+ })());
212
451
  }
213
- reportStep(onProgress, steps[completedSteps], ++completedSteps, steps.length, startedAt);
214
- }
215
- let documents;
216
- if (includeDocuments) {
452
+ if (includeCode) {
453
+ // Code preview then index — sequential within this task.
454
+ tasks.push((async () => {
455
+ if (options.signal?.aborted)
456
+ return; // already aborted — skip the phase entirely
457
+ try {
458
+ codePreview = await previewCodebaseSize({
459
+ repoRoot: resolvedRoot,
460
+ ...shared,
461
+ maxFiles: options.maxCodeFiles,
462
+ maxBytes: options.maxCodeBytes,
463
+ signal: options.signal,
464
+ });
465
+ }
466
+ catch (err) {
467
+ capture('code-preview', err);
468
+ }
469
+ if (options.signal?.aborted)
470
+ return; // aborted mid-phase — suppress events and skip the index build
471
+ reportStep(onProgress, STEP_CODE_PREVIEW, ++completedSteps, steps.length, startedAt);
472
+ if (options.signal?.aborted)
473
+ return; // abort fired from the preview step emission
474
+ try {
475
+ const acquired = await acquireCodeIndex();
476
+ codeIndex = acquired.codeIndex;
477
+ codeChunkSource = acquired.chunkSource;
478
+ }
479
+ catch (err) {
480
+ capture('code', err);
481
+ }
482
+ if (options.signal?.aborted)
483
+ return; // aborted mid-phase — suppress the completion event
484
+ reportStep(onProgress, STEP_CODE_INDEX, ++completedSteps, steps.length, startedAt);
485
+ })());
486
+ }
487
+ await Promise.all(tasks);
488
+ errors.push(...phaseErrors.description, ...phaseErrors.analysis, ...phaseErrors.documents, ...phaseErrors['code-preview'], ...phaseErrors.code);
217
489
  abortIfNeeded(options.signal);
218
- try {
219
- documents = await inspectWorkspaceDocumentSet(resolvedRoot, {
220
- ...shared,
221
- includeMarkdown: includeCodeDocumentReferences,
222
- includeDataFiles: options.includeDataFiles,
223
- maxFiles: options.maxDocumentFiles,
224
- maxReferenceFiles: options.maxReferenceFiles,
225
- }, (event) => onProgress?.({ ...event, scope: event.scope ?? 'document' }));
490
+ if (caughtAbort)
491
+ throw caughtAbort;
492
+ }
493
+ else {
494
+ if (includeDescription) {
495
+ abortIfNeeded(options.signal);
496
+ try {
497
+ description = await describeWorkspace(resolvedRoot, shared);
498
+ }
499
+ catch (err) {
500
+ const error = err;
501
+ errors.push({ scope: 'description', path: resolvedRoot, message: error.message });
502
+ }
503
+ reportStep(onProgress, steps[completedSteps], ++completedSteps, steps.length, startedAt);
226
504
  }
227
- catch (err) {
228
- const error = err;
229
- errors.push({ scope: 'documents', path: resolvedRoot, message: error.message });
505
+ if (includeAnalysis) {
506
+ abortIfNeeded(options.signal);
507
+ try {
508
+ analysis = await analyzeWorkspace(resolvedRoot, {
509
+ ...shared,
510
+ includeDocuments,
511
+ includeCode,
512
+ }, (event) => onProgress?.({ ...event, scope: event.scope ?? 'workspace' }));
513
+ }
514
+ catch (err) {
515
+ const error = err;
516
+ errors.push({ scope: 'analysis', path: resolvedRoot, message: error.message });
517
+ }
518
+ reportStep(onProgress, steps[completedSteps], ++completedSteps, steps.length, startedAt);
230
519
  }
231
- reportStep(onProgress, steps[completedSteps], ++completedSteps, steps.length, startedAt);
232
- }
233
- let codePreview;
234
- let codeIndex;
235
- if (includeCode) {
236
- abortIfNeeded(options.signal);
237
- try {
238
- codePreview = await previewCodebaseSize({
239
- repoRoot: resolvedRoot,
240
- ...shared,
241
- maxFiles: options.maxCodeFiles,
242
- maxBytes: options.maxCodeBytes,
243
- signal: options.signal,
244
- });
520
+ if (includeDocuments) {
521
+ abortIfNeeded(options.signal);
522
+ try {
523
+ documents = await inspectWorkspaceDocumentSet(resolvedRoot, {
524
+ ...shared,
525
+ includeMarkdown: includeCodeDocumentReferences,
526
+ includeDataFiles: options.includeDataFiles,
527
+ maxFiles: options.maxDocumentFiles,
528
+ maxReferenceFiles: options.maxReferenceFiles,
529
+ }, (event) => onProgress?.({ ...event, scope: event.scope ?? 'document' }));
530
+ }
531
+ catch (err) {
532
+ const error = err;
533
+ errors.push({ scope: 'documents', path: resolvedRoot, message: error.message });
534
+ }
535
+ reportStep(onProgress, steps[completedSteps], ++completedSteps, steps.length, startedAt);
245
536
  }
246
- catch (err) {
247
- const error = err;
248
- errors.push({ scope: 'code-preview', path: resolvedRoot, message: error.message });
537
+ if (includeCode) {
538
+ abortIfNeeded(options.signal);
539
+ try {
540
+ codePreview = await previewCodebaseSize({
541
+ repoRoot: resolvedRoot,
542
+ ...shared,
543
+ maxFiles: options.maxCodeFiles,
544
+ maxBytes: options.maxCodeBytes,
545
+ signal: options.signal,
546
+ });
547
+ }
548
+ catch (err) {
549
+ const error = err;
550
+ errors.push({ scope: 'code-preview', path: resolvedRoot, message: error.message });
551
+ }
552
+ reportStep(onProgress, steps[completedSteps], ++completedSteps, steps.length, startedAt);
553
+ abortIfNeeded(options.signal);
554
+ try {
555
+ const acquired = await acquireCodeIndex();
556
+ codeIndex = acquired.codeIndex;
557
+ codeChunkSource = acquired.chunkSource;
558
+ }
559
+ catch (err) {
560
+ const error = err;
561
+ errors.push({ scope: 'code', path: resolvedRoot, message: error.message });
562
+ }
563
+ reportStep(onProgress, steps[completedSteps], ++completedSteps, steps.length, startedAt);
249
564
  }
250
- reportStep(onProgress, steps[completedSteps], ++completedSteps, steps.length, startedAt);
251
- abortIfNeeded(options.signal);
565
+ }
566
+ let codeChunks;
567
+ if (shouldBuildCodeChunks) {
252
568
  try {
253
- const slim = options.slimCodeIndex ?? true;
254
- codeIndex = await buildCodebaseIndexIsolated({
255
- repoRoot: resolvedRoot,
256
- ...shared,
257
- contentMode: options.contentMode ?? (slim ? 'none' : 'excerpt'),
258
- maxFiles: options.maxCodeFiles,
259
- maxBytes: options.maxCodeBytes,
260
- onBudgetExceeded: 'truncate',
261
- slim,
262
- signal: options.signal,
263
- }, (event) => onProgress?.({ ...event, scope: event.scope ?? 'code' }));
569
+ if (!codeChunkSource) {
570
+ throw new Error('Code chunks require a full-content code index.');
571
+ }
572
+ codeChunks = buildCodeChunks(codeChunkSource, options, onProgress);
264
573
  }
265
574
  catch (err) {
266
575
  const error = err;
267
- errors.push({ scope: 'code', path: resolvedRoot, message: error.message });
576
+ errors.push({ scope: 'code-chunk', path: resolvedRoot, message: error.message });
577
+ codeChunks = [];
268
578
  }
269
579
  reportStep(onProgress, steps[completedSteps], ++completedSteps, steps.length, startedAt);
270
580
  }
@@ -288,6 +598,8 @@ export async function bundleWorkspace(rootDir, options = {}) {
288
598
  codePreview,
289
599
  codeIndex,
290
600
  documentChunks,
601
+ codeChunks,
602
+ corpusChunks: buildCorpusChunks(codeChunks, documentChunks, options),
291
603
  outline,
292
604
  codeDocumentReferences,
293
605
  errors,
@@ -1 +1 @@
1
- {"version":3,"file":"bundle.js","sourceRoot":"","sources":["../../../src/workspace/bundle.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAgC,MAAM,cAAc,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAiC,MAAM,eAAe,CAAC;AACjF,OAAO,EAAE,2BAA2B,EAA2C,MAAM,gBAAgB,CAAC;AACtG,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAiD,MAAM,iBAAiB,CAAC;AAC/F,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AA4EnE,MAAM,mBAAmB,GAAG,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;AAEtG,SAAS,UAAU,CAAC,UAAkC,EAAE,IAAgB,EAAE,SAAiB,EAAE,KAAa,EAAE,SAAiB;IAC3H,UAAU,EAAE,CAAC;QACX,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,KAAK;QACL,SAAS;QACT,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,KAAK,EAAE,WAAW;QAClB,SAAS;QACT,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;KAClC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,sBAAsB,CAAC,OAA+B;IAC7D,OAAO;QACL,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,mBAAmB;QACrD,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,qBAAqB,EAAE,OAAO,CAAC,qBAAqB;QACpD,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;KAC3C,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CACnB,OAAe,EACf,WAA6C,EAC7C,SAA2C,EAC3C,SAAwD;IAExD,MAAM,IAAI,GAAyB;QACjC,EAAE,EAAE,aAAa,OAAO,EAAE;QAC1B,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO;QACxC,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,EAAE;KACb,CAAC;IAEF,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE,QAAQ,IAAI,EAAE,EAAE,CAAC;QAClD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjB,EAAE,EAAE,WAAW,OAAO,CAAC,IAAI,EAAE;YAC7B,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,OAAO,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI;YAC9E,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE;gBACP,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,MAAM;aACtC;YACD,QAAQ,EAAE,EAAE;SACb,CAAC,CAAC;IACL,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC/C,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,KAAK,IAAI,EAAE,EAAE,CAAC;QAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACrD,IAAI,CAAC,YAAY,IAAI,YAAY,KAAK,IAAI,CAAC,YAAY;YAAE,SAAS;QAClE,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5E,CAAC;IACD,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QACrH,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjB,EAAE,EAAE,UAAU,UAAU,EAAE;YAC1B,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,EAAE,KAAK,EAAE;YAClB,QAAQ,EAAE,EAAE;SACb,CAAC,CAAC;IACL,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,SAAS,IAAI,EAAE,EAAE,CAAC;QAC7C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjB,EAAE,EAAE,YAAY,GAAG,CAAC,YAAY,EAAE;YAClC,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,YAAY;YACpC,IAAI,EAAE,GAAG,CAAC,YAAY;YACtB,OAAO,EAAE;gBACP,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,aAAa,EAAE,GAAG,CAAC,aAAa;gBAChC,YAAY,EAAE,GAAG,CAAC,YAAY;aAC/B;YACD,QAAQ,EAAE,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBAC/C,EAAE,EAAE,WAAW,GAAG,CAAC,YAAY,IAAI,OAAO,EAAE;gBAC5C,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,OAAO;gBACd,IAAI,EAAE,GAAG,CAAC,YAAY;gBACtB,QAAQ,EAAE,EAAE;aACb,CAAC,CAAC;SACJ,CAAC,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,4BAA4B,CACnC,SAAwD,EACxD,SAA2C,EAC3C,KAAa;IAEb,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IAEtD,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK;SAChC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC9F,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;SACvC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACxG,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QAC1C,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QAC3C,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAEnB,MAAM,UAAU,GAAqC,EAAE,CAAC;IACxD,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;QACtC,IAAI,CAAC,GAAG,CAAC,eAAe;YAAE,SAAS;QACnC,MAAM,KAAK,GAAG,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACjD,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC;YAC9D,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAC9B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBAAE,SAAS;YAC3B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC1F,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;oBAAE,SAAS;gBAClC,UAAU,CAAC,IAAI,CAAC;oBACd,YAAY,EAAE,GAAG,CAAC,YAAY;oBAC9B,UAAU,EAAE,MAAM,CAAC,IAAI;oBACvB,UAAU,EAAE,MAAM,CAAC,IAAI;oBACvB,UAAU,EAAE,MAAM,CAAC,YAAY,IAAI,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;oBACxG,UAAU,EAAE,MAAM,CAAC,IAAI;oBACvB,IAAI,EAAE,SAAS,GAAG,CAAC;oBACnB,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;iBACnC,CAAC,CAAC;gBACH,IAAI,UAAU,CAAC,MAAM,IAAI,KAAK;oBAAE,OAAO,UAAU,CAAC;YACpD,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,SAA2C,EAC3C,OAA+B,EAC/B,UAAkC;IAElC,IAAI,CAAC,SAAS;QAAE,OAAO,EAAE,CAAC;IAE1B,MAAM,SAAS,GAAG,OAAO,CAAC,iBAAiB,IAAI,GAAG,CAAC;IACnD,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QAChE,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9B,MAAM,GAAG,GAAG,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE;gBAClD,GAAG,OAAO,CAAC,KAAK;gBAChB,YAAY,EAAE,GAAG,CAAC,YAAY;aAC/B,CAAC,CAAC;YACH,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;YAC1B,IAAI,MAAM,CAAC,MAAM,IAAI,SAAS;gBAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QACpE,CAAC;QAAC,MAAM,CAAC;YACP,0EAA0E;QAC5E,CAAC;QACD,UAAU,EAAE,CAAC;YACX,KAAK,EAAE,gBAAgB;YACvB,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM;YACjC,SAAS,EAAE,KAAK,GAAG,CAAC;YACpB,MAAM,EAAE,GAAG,CAAC,YAAY;YACxB,WAAW,EAAE,GAAG,CAAC,QAAQ;YACzB,KAAK,EAAE,UAAU;SAClB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAAe,EAAE,UAAkC,EAAE;IACzF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,KAAK,KAAK,CAAC;IAChE,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,KAAK,KAAK,CAAC;IAC1D,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,KAAK,KAAK,CAAC;IAC5D,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,KAAK,KAAK,CAAC;IAClD,MAAM,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,IAAI,KAAK,CAAC;IACrE,MAAM,6BAA6B,GAAG,OAAO,CAAC,6BAA6B,IAAI,IAAI,CAAC;IACpF,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACtC,MAAM,MAAM,GAA8B,EAAE,CAAC;IAC7C,MAAM,MAAM,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAiB;QAC1B,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,aAAsB,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAChG,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAgB,EAAE,MAAM,EAAE,0BAA0B,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7F,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAkB,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzF,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,cAAuB,EAAE,MAAM,EAAE,yBAAyB,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/F,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAgB,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjF,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,gBAAyB,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACnG,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,yBAAyB,EAAE;KACxD,CAAC;IACF,IAAI,cAAc,GAAG,CAAC,CAAC;IAEvB,UAAU,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,0BAA0B,EAAE,EAAE,cAAc,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAEzH,IAAI,WAA6C,CAAC;IAClD,IAAI,kBAAkB,EAAE,CAAC;QACvB,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9B,IAAI,CAAC;YACH,WAAW,GAAG,MAAM,iBAAiB,CAAC,YAAY,EAAE,MAAkC,CAAC,CAAC;QAC1F,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,GAAY,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACpF,CAAC;QACD,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,cAAc,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC3F,CAAC;IAED,IAAI,QAAuC,CAAC;IAC5C,IAAI,eAAe,EAAE,CAAC;QACpB,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9B,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,gBAAgB,CAAC,YAAY,EAAE;gBAC9C,GAAG,MAAM;gBACT,gBAAgB;gBAChB,WAAW;aACsB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC;QACjH,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,GAAY,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACjF,CAAC;QACD,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,cAAc,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC3F,CAAC;IAED,IAAI,SAA2C,CAAC;IAChD,IAAI,gBAAgB,EAAE,CAAC;QACrB,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9B,IAAI,CAAC;YACH,SAAS,GAAG,MAAM,2BAA2B,CAAC,YAAY,EAAE;gBAC1D,GAAG,MAAM;gBACT,eAAe,EAAE,6BAA6B;gBAC9C,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;gBAC1C,QAAQ,EAAE,OAAO,CAAC,gBAAgB;gBAClC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;aACA,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC;QAC3H,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,GAAY,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAClF,CAAC;QACD,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,cAAc,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC3F,CAAC;IAED,IAAI,WAA4C,CAAC;IACjD,IAAI,SAAwD,CAAC;IAC7D,IAAI,WAAW,EAAE,CAAC;QAChB,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9B,IAAI,CAAC;YACH,WAAW,GAAG,MAAM,mBAAmB,CAAC;gBACtC,QAAQ,EAAE,YAAY;gBACtB,GAAG,MAAM;gBACT,QAAQ,EAAE,OAAO,CAAC,YAAY;gBAC9B,QAAQ,EAAE,OAAO,CAAC,YAAY;gBAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,GAAY,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACrF,CAAC;QACD,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,cAAc,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAEzF,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC;YAC3C,SAAS,GAAG,MAAM,0BAA0B,CAAC;gBAC3C,QAAQ,EAAE,YAAY;gBACtB,GAAG,MAAM;gBACT,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC/D,QAAQ,EAAE,OAAO,CAAC,YAAY;gBAC9B,QAAQ,EAAE,OAAO,CAAC,YAAY;gBAC9B,gBAAgB,EAAE,UAAU;gBAC5B,IAAI;gBACJ,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC;QAC1E,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,GAAY,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7E,CAAC;QACD,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,cAAc,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC3F,CAAC;IAED,MAAM,cAAc,GAAG,qBAAqB;QAC1C,CAAC,CAAC,MAAM,mBAAmB,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC;QAC3D,CAAC,CAAC,SAAS,CAAC;IACd,IAAI,qBAAqB,EAAE,CAAC;QAC1B,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,cAAc,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC3F,CAAC;IAED,MAAM,OAAO,GAAG,YAAY,CAAC,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAC9E,MAAM,sBAAsB,GAAG,4BAA4B,CACzD,SAAS,EACT,SAAS,EACT,6BAA6B,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,yBAAyB,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAC/E,CAAC;IACF,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,cAAc,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACzF,UAAU,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,2BAA2B,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAExH,OAAO;QACL,aAAa,EAAE,CAAC;QAChB,OAAO,EAAE,YAAY;QACrB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACrC,WAAW;QACX,QAAQ;QACR,SAAS;QACT,WAAW;QACX,SAAS;QACT,cAAc;QACd,OAAO;QACP,sBAAsB;QACtB,MAAM;KACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"bundle.js","sourceRoot":"","sources":["../../../src/workspace/bundle.ts"],"names":[],"mappings":"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"}