@slopus/rig 0.0.2 → 0.0.3
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/dist/app/CodingAssistantApp.d.ts +2 -1
- package/dist/app/CodingAssistantApp.d.ts.map +1 -1
- package/dist/app/CodingAssistantApp.js +52 -16
- package/dist/app/FileMentionAutocomplete.d.ts +27 -0
- package/dist/app/FileMentionAutocomplete.d.ts.map +1 -0
- package/dist/app/FileMentionAutocomplete.js +122 -0
- package/dist/app/createFileMentionAutocompleteItems.d.ts +4 -0
- package/dist/app/createFileMentionAutocompleteItems.d.ts.map +1 -0
- package/dist/app/createFileMentionAutocompleteItems.js +7 -0
- package/dist/app/findFileMentionContext.d.ts +10 -0
- package/dist/app/findFileMentionContext.d.ts.map +1 -0
- package/dist/app/findFileMentionContext.js +13 -0
- package/dist/app/findFileMentionPrefix.d.ts +6 -0
- package/dist/app/findFileMentionPrefix.d.ts.map +1 -0
- package/dist/app/findFileMentionPrefix.js +17 -0
- package/dist/app/formatFileMention.d.ts +2 -0
- package/dist/app/formatFileMention.d.ts.map +1 -0
- package/dist/app/formatFileMention.js +6 -0
- package/dist/app/runApp.d.ts.map +1 -1
- package/dist/app/runApp.js +3 -0
- package/dist/client/ProtocolHttpClient.d.ts +2 -1
- package/dist/client/ProtocolHttpClient.d.ts.map +1 -1
- package/dist/client/ProtocolHttpClient.js +7 -0
- package/dist/protocol/SessionProtocol.d.ts +7 -0
- package/dist/protocol/SessionProtocol.d.ts.map +1 -1
- package/dist/protocol/index.d.ts +1 -1
- package/dist/protocol/index.d.ts.map +1 -1
- package/dist/server/FileSearchService.d.ts +14 -0
- package/dist/server/FileSearchService.d.ts.map +1 -0
- package/dist/server/FileSearchService.js +71 -0
- package/dist/server/createProtocolHttpServer.d.ts +2 -0
- package/dist/server/createProtocolHttpServer.d.ts.map +1 -1
- package/dist/server/createProtocolHttpServer.js +25 -3
- package/dist/web/assets/highlighted-body-OFNGDK62-CCrJakL3.js +1 -0
- package/dist/web/assets/index-B6Z_CQNK.css +1 -0
- package/dist/web/assets/index-kjfb8ssZ.js +341 -0
- package/dist/web/index.html +2 -2
- package/package.json +2 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type Component, type Focusable, type TUI } from "@earendil-works/pi-tui";
|
|
2
2
|
import type { NativeProxessManager } from "../processes/index.js";
|
|
3
|
-
import type { SessionEvent } from "../protocol/index.js";
|
|
3
|
+
import type { FileSearchResult, SessionEvent } from "../protocol/index.js";
|
|
4
4
|
import type { CodingAssistantAgentBackend } from "./CodingAssistantAgentBackend.js";
|
|
5
5
|
import { type ClipboardImage, type ReadClipboardImageOptions } from "./readClipboardImage.js";
|
|
6
6
|
export interface CodingAssistantAppOptions {
|
|
@@ -17,6 +17,7 @@ export interface CodingAssistantAppOptions {
|
|
|
17
17
|
onExit?: () => void | Promise<void>;
|
|
18
18
|
now?: () => number;
|
|
19
19
|
readClipboardImage?: (options?: ReadClipboardImageOptions) => Promise<ClipboardImage | undefined>;
|
|
20
|
+
searchFiles?: (query: string) => Promise<readonly FileSearchResult[]>;
|
|
20
21
|
showReasoning?: boolean;
|
|
21
22
|
version?: string;
|
|
22
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodingAssistantApp.d.ts","sourceRoot":"","sources":["../../sources/app/CodingAssistantApp.ts"],"names":[],"mappings":"AAGA,OAAO,EAQH,KAAK,SAAS,EAEd,KAAK,SAAS,EACd,KAAK,GAAG,EACX,MAAM,wBAAwB,CAAC;AAYhC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"CodingAssistantApp.d.ts","sourceRoot":"","sources":["../../sources/app/CodingAssistantApp.ts"],"names":[],"mappings":"AAGA,OAAO,EAQH,KAAK,SAAS,EAEd,KAAK,SAAS,EACd,KAAK,GAAG,EACX,MAAM,wBAAwB,CAAC;AAYhC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAE3E,OAAO,KAAK,EACR,2BAA2B,EAE9B,MAAM,kCAAkC,CAAC;AAW1C,OAAO,EAEH,KAAK,cAAc,EACnB,KAAK,yBAAyB,EACjC,MAAM,yBAAyB,CAAC;AAsDjC,MAAM,WAAW,yBAAyB;IACtC,KAAK,EAAE,2BAA2B,CAAC;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,oBAAoB,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IAC/C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,oBAAoB,CAAC;IACrC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,GAAG,EAAE,GAAG,CAAC;IACT,SAAS,CAAC,EAAE,MAAM,MAAM,CAAC;IACzB,oBAAoB,CAAC,EAAE,CAAC,UAAU,EAAE,sBAAsB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpF,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,MAAM,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,CACjB,OAAO,CAAC,EAAE,yBAAyB,KAClC,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC;IACzC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,gBAAgB,EAAE,CAAC,CAAC;IACtE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IACxB,aAAa,EAAE,OAAO,CAAC;CAC1B;AAmBD,qBAAa,kBAAmB,YAAW,SAAS,EAAE,SAAS;;gBA4D/C,OAAO,EAAE,yBAAyB;IAmC9C,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAUzB;IAED,KAAK,CAAC,OAAO,GAAE;QAAE,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,IAAI;IAUpD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA4B3B,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,iBAAiB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAmFtC,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAiBlC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAwN/B,UAAU,IAAI,IAAI;IAIlB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;CAuwDlC"}
|
|
@@ -10,6 +10,8 @@ import { describeModelChoice } from "./describeModelChoice.js";
|
|
|
10
10
|
import { describeReasoningLevel } from "./describeReasoningLevel.js";
|
|
11
11
|
import { encodeModelChoice } from "./encodeModelChoice.js";
|
|
12
12
|
import { formatActivityElapsedTime } from "./formatActivityElapsedTime.js";
|
|
13
|
+
import { FileMentionAutocomplete } from "./FileMentionAutocomplete.js";
|
|
14
|
+
import { formatFileMention } from "./formatFileMention.js";
|
|
13
15
|
import { humanizeReasoningLevel } from "./humanizeReasoningLevel.js";
|
|
14
16
|
import { readClipboardImage, } from "./readClipboardImage.js";
|
|
15
17
|
import { ACTIVITY_WAVE_FRAME_COUNT, renderActivityWave } from "./renderActivityWave.js";
|
|
@@ -43,12 +45,13 @@ const REASONING_DOWN_RAW_KEYS = new Set(["\x1b,", "\x1b[1;2B"]);
|
|
|
43
45
|
const REASONING_UP_RAW_KEYS = new Set(["\x1b.", "\x1b[1;2A"]);
|
|
44
46
|
const MODEL_MENU_RAW_KEYS = new Set(["\x1bm", "\x1bM"]);
|
|
45
47
|
const IMAGE_PASTE_RAW_KEYS = new Set(["\x16", "\x1bv"]);
|
|
46
|
-
const
|
|
48
|
+
const AUTOCOMPLETE_MAX_VISIBLE = 6;
|
|
47
49
|
const BRACKETED_PASTE_START = "\x1b[200~";
|
|
48
50
|
const BRACKETED_PASTE_END = "\x1b[201~";
|
|
49
51
|
const IMAGE_PLACEHOLDER_REGEX = /\[Image #(\d+) [A-Z0-9]+\]/gu;
|
|
50
52
|
const IMAGE_CHIP_BG = "\x1b[48;5;240m";
|
|
51
53
|
const IMAGE_CHIP_FG = "\x1b[38;5;255m";
|
|
54
|
+
const FILE_MENTION_SEGMENTER = new Intl.Segmenter(undefined, { granularity: "grapheme" });
|
|
52
55
|
const EDITOR_THEME = {
|
|
53
56
|
borderColor: (text) => text,
|
|
54
57
|
selectList: {
|
|
@@ -66,6 +69,7 @@ export class CodingAssistantApp {
|
|
|
66
69
|
#idFactory;
|
|
67
70
|
#now;
|
|
68
71
|
#editor;
|
|
72
|
+
#fileMentionAutocomplete;
|
|
69
73
|
#onDefaultModelChange;
|
|
70
74
|
#onSettingsChange;
|
|
71
75
|
#onExit;
|
|
@@ -129,6 +133,10 @@ export class CodingAssistantApp {
|
|
|
129
133
|
this.#tui = options.tui;
|
|
130
134
|
this.#version = options.version ?? "0.0.0";
|
|
131
135
|
this.#editor = new Editor(this.#tui, EDITOR_THEME, { paddingX: 0 });
|
|
136
|
+
this.#fileMentionAutocomplete =
|
|
137
|
+
options.searchFiles === undefined
|
|
138
|
+
? undefined
|
|
139
|
+
: new FileMentionAutocomplete(options.searchFiles, () => this.#requestRender());
|
|
132
140
|
this.#exitPromise = new Promise((resolve) => {
|
|
133
141
|
this.#exitResolve = resolve;
|
|
134
142
|
});
|
|
@@ -173,6 +181,7 @@ export class CodingAssistantApp {
|
|
|
173
181
|
this.#abortController?.abort();
|
|
174
182
|
this.#stopActivityAnimation();
|
|
175
183
|
this.#stopCursorBlink();
|
|
184
|
+
this.#fileMentionAutocomplete?.clear();
|
|
176
185
|
this.#editor.setText("");
|
|
177
186
|
this.#pastedImagesById.clear();
|
|
178
187
|
this.#requestRender();
|
|
@@ -306,11 +315,17 @@ export class CodingAssistantApp {
|
|
|
306
315
|
return;
|
|
307
316
|
}
|
|
308
317
|
const previousSlashCommandSuggestionCount = this.#slashCommandSuggestions().length;
|
|
318
|
+
const previousFileMentionSuggestionCount = this.#fileMentionSnapshot()?.items.length ?? 0;
|
|
309
319
|
if (this.#handleSlashCommandAutocompleteInput(data)) {
|
|
310
320
|
const nextSlashCommandSuggestionCount = this.#slashCommandSuggestions().length;
|
|
311
321
|
this.#requestRender(nextSlashCommandSuggestionCount < previousSlashCommandSuggestionCount);
|
|
312
322
|
return;
|
|
313
323
|
}
|
|
324
|
+
if (this.#fileMentionAutocomplete?.handleInput(data, this.#editor.getLines(), this.#editor.getCursor(), (path, context) => this.#completeFileMention(path, context)) === true) {
|
|
325
|
+
const nextFileMentionSuggestionCount = this.#fileMentionSnapshot()?.items.length ?? 0;
|
|
326
|
+
this.#requestRender(nextFileMentionSuggestionCount < previousFileMentionSuggestionCount);
|
|
327
|
+
return;
|
|
328
|
+
}
|
|
314
329
|
if (matchesKey(data, "escape")) {
|
|
315
330
|
this.#markTypingActivity();
|
|
316
331
|
this.#handleEscape();
|
|
@@ -327,9 +342,11 @@ export class CodingAssistantApp {
|
|
|
327
342
|
}
|
|
328
343
|
this.#markTypingActivity();
|
|
329
344
|
this.#editor.handleInput(data);
|
|
330
|
-
this.#
|
|
345
|
+
this.#syncAutocompleteState();
|
|
331
346
|
const nextSlashCommandSuggestionCount = this.#slashCommandSuggestions().length;
|
|
332
|
-
this.#
|
|
347
|
+
const nextFileMentionSuggestionCount = this.#fileMentionSnapshot()?.items.length ?? 0;
|
|
348
|
+
this.#requestRender(nextSlashCommandSuggestionCount < previousSlashCommandSuggestionCount ||
|
|
349
|
+
nextFileMentionSuggestionCount < previousFileMentionSuggestionCount);
|
|
333
350
|
}
|
|
334
351
|
#handlePastedInput(data) {
|
|
335
352
|
if (this.#bracketedPasteBuffer !== undefined) {
|
|
@@ -406,7 +423,7 @@ export class CodingAssistantApp {
|
|
|
406
423
|
const prefix = currentText.length > 0 && !/\s$/u.test(currentText) ? " " : "";
|
|
407
424
|
this.#markTypingActivity();
|
|
408
425
|
this.#editor.insertTextAtCursor(`${prefix}${placeholder} `);
|
|
409
|
-
this.#
|
|
426
|
+
this.#syncAutocompleteState();
|
|
410
427
|
this.#requestRender();
|
|
411
428
|
}
|
|
412
429
|
#appendBracketedPaste(data) {
|
|
@@ -428,13 +445,13 @@ export class CodingAssistantApp {
|
|
|
428
445
|
}
|
|
429
446
|
#insertPaste(text) {
|
|
430
447
|
if (text.length === 0) {
|
|
431
|
-
this.#
|
|
448
|
+
this.#syncAutocompleteState();
|
|
432
449
|
this.#requestRender();
|
|
433
450
|
return;
|
|
434
451
|
}
|
|
435
452
|
this.#markTypingActivity();
|
|
436
453
|
this.#editor.handleInput(`${BRACKETED_PASTE_START}${text}${BRACKETED_PASTE_END}`);
|
|
437
|
-
this.#
|
|
454
|
+
this.#syncAutocompleteState();
|
|
438
455
|
this.#requestRender();
|
|
439
456
|
}
|
|
440
457
|
#isPlainPastePayload(data) {
|
|
@@ -447,7 +464,12 @@ export class CodingAssistantApp {
|
|
|
447
464
|
const safeWidth = Math.max(20, width);
|
|
448
465
|
const header = this.#renderHeader(safeWidth);
|
|
449
466
|
const slashCommandSuggestions = this.#slashCommandSuggestions();
|
|
450
|
-
const
|
|
467
|
+
const fileMentionSnapshot = slashCommandSuggestions.length === 0 ? this.#fileMentionSnapshot() : undefined;
|
|
468
|
+
const footer = this.#renderFooter(safeWidth, slashCommandSuggestions.length > 0
|
|
469
|
+
? slashCommandSuggestions
|
|
470
|
+
: (fileMentionSnapshot?.items ?? []), slashCommandSuggestions.length > 0
|
|
471
|
+
? this.#slashCommandSelectionIndex
|
|
472
|
+
: (fileMentionSnapshot?.selectedIndex ?? 0));
|
|
451
473
|
const input = this.#renderInput(safeWidth);
|
|
452
474
|
if (this.#exiting) {
|
|
453
475
|
return [...header, ...this.#renderTranscript(safeWidth)];
|
|
@@ -483,6 +505,7 @@ export class CodingAssistantApp {
|
|
|
483
505
|
return;
|
|
484
506
|
}
|
|
485
507
|
const prompt = submission.displayText;
|
|
508
|
+
this.#fileMentionAutocomplete?.clear();
|
|
486
509
|
this.#editor.setText("");
|
|
487
510
|
if (prompt.startsWith("/skill:")) {
|
|
488
511
|
await this.#submitSkillCommand(prompt);
|
|
@@ -1096,9 +1119,9 @@ export class CodingAssistantApp {
|
|
|
1096
1119
|
}
|
|
1097
1120
|
return this.#renderNoticeEntry("system", entry.text, width, SURFACE_MUTED_FG);
|
|
1098
1121
|
}
|
|
1099
|
-
#renderFooter(width,
|
|
1100
|
-
if (
|
|
1101
|
-
return this.#
|
|
1122
|
+
#renderFooter(width, suggestions, selectedIndex) {
|
|
1123
|
+
if (suggestions.length > 0) {
|
|
1124
|
+
return this.#renderAutocomplete(width, suggestions, selectedIndex);
|
|
1102
1125
|
}
|
|
1103
1126
|
const parts = [`${FOOTER_MODEL_FG}${this.#modelWithReasoningDisplayName()}${RESET}`];
|
|
1104
1127
|
parts.push(`${FOOTER_CWD_FG}${this.#cwdDisplayName()}${RESET}`);
|
|
@@ -1108,17 +1131,17 @@ export class CodingAssistantApp {
|
|
|
1108
1131
|
const line = `${" ".repeat(visibleWidth(INPUT_PROMPT))}${parts.join(`${DIM} • ${RESET}`)}`;
|
|
1109
1132
|
return [this.#fitLine(line, width)];
|
|
1110
1133
|
}
|
|
1111
|
-
#
|
|
1134
|
+
#renderAutocomplete(width, suggestions, selectedIndex, maxVisible = AUTOCOMPLETE_MAX_VISIBLE) {
|
|
1112
1135
|
const rowWidth = Math.max(1, width - 1);
|
|
1113
|
-
const visibleCount = Math.max(1, Math.min(maxVisible,
|
|
1114
|
-
const
|
|
1115
|
-
const startIndex = Math.max(0, Math.min(
|
|
1136
|
+
const visibleCount = Math.max(1, Math.min(maxVisible, AUTOCOMPLETE_MAX_VISIBLE));
|
|
1137
|
+
const safeSelectedIndex = Math.min(selectedIndex, suggestions.length - 1);
|
|
1138
|
+
const startIndex = Math.max(0, Math.min(safeSelectedIndex - Math.floor(visibleCount / 2), suggestions.length - visibleCount));
|
|
1116
1139
|
const visibleSuggestions = suggestions.slice(startIndex, startIndex + visibleCount);
|
|
1117
1140
|
const labelWidth = Math.max(8, ...visibleSuggestions.map((item) => visibleWidth(this.#singleLine(item.label)) + 2));
|
|
1118
1141
|
const labelColumnWidth = Math.min(labelWidth, Math.max(1, rowWidth - 2));
|
|
1119
1142
|
return visibleSuggestions.map((item, index) => {
|
|
1120
1143
|
const absoluteIndex = startIndex + index;
|
|
1121
|
-
const isSelected = absoluteIndex ===
|
|
1144
|
+
const isSelected = absoluteIndex === safeSelectedIndex;
|
|
1122
1145
|
const marker = isSelected ? "→ " : " ";
|
|
1123
1146
|
const label = this.#fitAndPadLine(this.#singleLine(item.label), labelColumnWidth);
|
|
1124
1147
|
const remainingWidth = Math.max(0, rowWidth - visibleWidth(marker) - visibleWidth(label));
|
|
@@ -1698,13 +1721,26 @@ export class CodingAssistantApp {
|
|
|
1698
1721
|
}
|
|
1699
1722
|
return suggestions;
|
|
1700
1723
|
}
|
|
1701
|
-
#
|
|
1724
|
+
#completeFileMention(path, context) {
|
|
1725
|
+
for (const _segment of FILE_MENTION_SEGMENTER.segment(context.prefix)) {
|
|
1726
|
+
this.#editor.handleInput("\x7f");
|
|
1727
|
+
}
|
|
1728
|
+
const suffix = context.afterCursor.length === 0 || !/^\s/u.test(context.afterCursor) ? " " : "";
|
|
1729
|
+
this.#editor.insertTextAtCursor(`${formatFileMention(path)}${suffix}`);
|
|
1730
|
+
this.#fileMentionAutocomplete?.clear();
|
|
1731
|
+
this.#syncAutocompleteState();
|
|
1732
|
+
}
|
|
1733
|
+
#fileMentionSnapshot() {
|
|
1734
|
+
return this.#fileMentionAutocomplete?.snapshot(this.#editor.getLines(), this.#editor.getCursor());
|
|
1735
|
+
}
|
|
1736
|
+
#syncAutocompleteState() {
|
|
1702
1737
|
const text = this.#editor.getText();
|
|
1703
1738
|
if (this.#dismissedSlashCommandText !== undefined &&
|
|
1704
1739
|
text !== this.#dismissedSlashCommandText) {
|
|
1705
1740
|
this.#dismissedSlashCommandText = undefined;
|
|
1706
1741
|
}
|
|
1707
1742
|
this.#slashCommandSuggestions();
|
|
1743
|
+
this.#fileMentionAutocomplete?.sync(this.#editor.getLines(), this.#editor.getCursor());
|
|
1708
1744
|
}
|
|
1709
1745
|
#reasoningShortcutDirection(data) {
|
|
1710
1746
|
if (REASONING_DOWN_RAW_KEYS.has(data) ||
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { type AutocompleteItem } from "@earendil-works/pi-tui";
|
|
2
|
+
import type { FileSearchResult } from "../protocol/index.js";
|
|
3
|
+
import { type FileMentionContext } from "./findFileMentionContext.js";
|
|
4
|
+
export type SearchFilesForMention = (query: string) => Promise<readonly FileSearchResult[]>;
|
|
5
|
+
export interface FileMentionAutocompleteSnapshot {
|
|
6
|
+
context: FileMentionContext;
|
|
7
|
+
items: readonly AutocompleteItem[];
|
|
8
|
+
selectedIndex: number;
|
|
9
|
+
}
|
|
10
|
+
export declare class FileMentionAutocomplete {
|
|
11
|
+
#private;
|
|
12
|
+
constructor(searchFiles: SearchFilesForMention, onChange: () => void);
|
|
13
|
+
clear(): void;
|
|
14
|
+
handleInput(data: string, lines: readonly string[], cursor: {
|
|
15
|
+
line: number;
|
|
16
|
+
col: number;
|
|
17
|
+
}, onComplete: (path: string, context: FileMentionContext) => void): boolean;
|
|
18
|
+
snapshot(lines: readonly string[], cursor: {
|
|
19
|
+
line: number;
|
|
20
|
+
col: number;
|
|
21
|
+
}): FileMentionAutocompleteSnapshot | undefined;
|
|
22
|
+
sync(lines: readonly string[], cursor: {
|
|
23
|
+
line: number;
|
|
24
|
+
col: number;
|
|
25
|
+
}): void;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=FileMentionAutocomplete.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileMentionAutocomplete.d.ts","sourceRoot":"","sources":["../../sources/app/FileMentionAutocomplete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,EAA0B,KAAK,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAI9F,MAAM,MAAM,qBAAqB,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,gBAAgB,EAAE,CAAC,CAAC;AAE5F,MAAM,WAAW,+BAA+B;IAC5C,OAAO,EAAE,kBAAkB,CAAC;IAC5B,KAAK,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACnC,aAAa,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,uBAAuB;;gBAWpB,WAAW,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,IAAI;IAKpE,KAAK,IAAI,IAAI;IAQb,WAAW,CACP,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,EACrC,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,KAAK,IAAI,GAChE,OAAO;IAyCV,QAAQ,CACJ,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GACtC,+BAA+B,GAAG,SAAS;IAkB9C,IAAI,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;CAuD9E"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { matchesKey } from "@earendil-works/pi-tui";
|
|
2
|
+
import { createFileMentionAutocompleteItems } from "./createFileMentionAutocompleteItems.js";
|
|
3
|
+
import { findFileMentionContext } from "./findFileMentionContext.js";
|
|
4
|
+
const SEARCH_DEBOUNCE_MS = 80;
|
|
5
|
+
export class FileMentionAutocomplete {
|
|
6
|
+
#onChange;
|
|
7
|
+
#searchFiles;
|
|
8
|
+
#contextKey;
|
|
9
|
+
#dismissedContextKey;
|
|
10
|
+
#items = [];
|
|
11
|
+
#requestId = 0;
|
|
12
|
+
#searchTimer;
|
|
13
|
+
#selectedIndex = 0;
|
|
14
|
+
constructor(searchFiles, onChange) {
|
|
15
|
+
this.#searchFiles = searchFiles;
|
|
16
|
+
this.#onChange = onChange;
|
|
17
|
+
}
|
|
18
|
+
clear() {
|
|
19
|
+
this.#cancelSearch();
|
|
20
|
+
this.#contextKey = undefined;
|
|
21
|
+
this.#dismissedContextKey = undefined;
|
|
22
|
+
this.#items = [];
|
|
23
|
+
this.#selectedIndex = 0;
|
|
24
|
+
}
|
|
25
|
+
handleInput(data, lines, cursor, onComplete) {
|
|
26
|
+
const snapshot = this.snapshot(lines, cursor);
|
|
27
|
+
const context = snapshot?.context ?? findFileMentionContext(lines, cursor);
|
|
28
|
+
if (context === undefined || context.key === this.#dismissedContextKey) {
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
if (matchesKey(data, "escape")) {
|
|
32
|
+
this.#dismissedContextKey = context.key;
|
|
33
|
+
this.#cancelSearch();
|
|
34
|
+
this.#items = [];
|
|
35
|
+
this.#selectedIndex = 0;
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
38
|
+
if (snapshot === undefined || snapshot.items.length === 0) {
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
if (matchesKey(data, "up")) {
|
|
42
|
+
this.#selectedIndex =
|
|
43
|
+
(this.#selectedIndex + snapshot.items.length - 1) % snapshot.items.length;
|
|
44
|
+
return true;
|
|
45
|
+
}
|
|
46
|
+
if (matchesKey(data, "down")) {
|
|
47
|
+
this.#selectedIndex = (this.#selectedIndex + 1) % snapshot.items.length;
|
|
48
|
+
return true;
|
|
49
|
+
}
|
|
50
|
+
if (matchesKey(data, "enter") || matchesKey(data, "tab")) {
|
|
51
|
+
const selected = snapshot.items[this.#selectedIndex] ?? snapshot.items[0];
|
|
52
|
+
if (selected !== undefined) {
|
|
53
|
+
onComplete(selected.value, context);
|
|
54
|
+
}
|
|
55
|
+
return true;
|
|
56
|
+
}
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
59
|
+
snapshot(lines, cursor) {
|
|
60
|
+
const context = findFileMentionContext(lines, cursor);
|
|
61
|
+
if (context === undefined ||
|
|
62
|
+
context.key !== this.#contextKey ||
|
|
63
|
+
context.key === this.#dismissedContextKey ||
|
|
64
|
+
this.#items.length === 0) {
|
|
65
|
+
return undefined;
|
|
66
|
+
}
|
|
67
|
+
return {
|
|
68
|
+
context,
|
|
69
|
+
items: this.#items,
|
|
70
|
+
selectedIndex: this.#selectedIndex,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
sync(lines, cursor) {
|
|
74
|
+
const context = findFileMentionContext(lines, cursor);
|
|
75
|
+
if (context === undefined) {
|
|
76
|
+
this.clear();
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
if (context.key === this.#dismissedContextKey) {
|
|
80
|
+
this.#contextKey = context.key;
|
|
81
|
+
this.#items = [];
|
|
82
|
+
this.#selectedIndex = 0;
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
if (context.key === this.#contextKey) {
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
this.#dismissedContextKey = undefined;
|
|
89
|
+
this.#contextKey = context.key;
|
|
90
|
+
this.#cancelSearch();
|
|
91
|
+
const requestId = this.#requestId;
|
|
92
|
+
this.#searchTimer = setTimeout(() => {
|
|
93
|
+
this.#searchTimer = undefined;
|
|
94
|
+
void this.#runSearch(context, requestId);
|
|
95
|
+
}, SEARCH_DEBOUNCE_MS);
|
|
96
|
+
this.#searchTimer.unref?.();
|
|
97
|
+
}
|
|
98
|
+
#cancelSearch() {
|
|
99
|
+
this.#requestId += 1;
|
|
100
|
+
if (this.#searchTimer !== undefined) {
|
|
101
|
+
clearTimeout(this.#searchTimer);
|
|
102
|
+
this.#searchTimer = undefined;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
async #runSearch(context, requestId) {
|
|
106
|
+
let files;
|
|
107
|
+
try {
|
|
108
|
+
files = await this.#searchFiles(context.query);
|
|
109
|
+
}
|
|
110
|
+
catch {
|
|
111
|
+
files = [];
|
|
112
|
+
}
|
|
113
|
+
if (requestId !== this.#requestId || context.key !== this.#contextKey) {
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
this.#items = createFileMentionAutocompleteItems(files);
|
|
117
|
+
if (this.#selectedIndex >= this.#items.length) {
|
|
118
|
+
this.#selectedIndex = 0;
|
|
119
|
+
}
|
|
120
|
+
this.#onChange();
|
|
121
|
+
}
|
|
122
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { AutocompleteItem } from "@earendil-works/pi-tui";
|
|
2
|
+
import type { FileSearchResult } from "../protocol/index.js";
|
|
3
|
+
export declare function createFileMentionAutocompleteItems(files: readonly FileSearchResult[]): AutocompleteItem[];
|
|
4
|
+
//# sourceMappingURL=createFileMentionAutocompleteItems.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createFileMentionAutocompleteItems.d.ts","sourceRoot":"","sources":["../../sources/app/createFileMentionAutocompleteItems.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,wBAAgB,kCAAkC,CAC9C,KAAK,EAAE,SAAS,gBAAgB,EAAE,GACnC,gBAAgB,EAAE,CAMpB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type FileMentionPrefix } from "./findFileMentionPrefix.js";
|
|
2
|
+
export interface FileMentionContext extends FileMentionPrefix {
|
|
3
|
+
afterCursor: string;
|
|
4
|
+
key: string;
|
|
5
|
+
}
|
|
6
|
+
export declare function findFileMentionContext(lines: readonly string[], cursor: {
|
|
7
|
+
line: number;
|
|
8
|
+
col: number;
|
|
9
|
+
}): FileMentionContext | undefined;
|
|
10
|
+
//# sourceMappingURL=findFileMentionContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"findFileMentionContext.d.ts","sourceRoot":"","sources":["../../sources/app/findFileMentionContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE3F,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;IACzD,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,sBAAsB,CAClC,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACtC,kBAAkB,GAAG,SAAS,CAYhC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { findFileMentionPrefix } from "./findFileMentionPrefix.js";
|
|
2
|
+
export function findFileMentionContext(lines, cursor) {
|
|
3
|
+
const line = lines[cursor.line] ?? "";
|
|
4
|
+
const mention = findFileMentionPrefix(line.slice(0, cursor.col));
|
|
5
|
+
if (mention === undefined) {
|
|
6
|
+
return undefined;
|
|
7
|
+
}
|
|
8
|
+
return {
|
|
9
|
+
...mention,
|
|
10
|
+
afterCursor: line.slice(cursor.col),
|
|
11
|
+
key: `${cursor.line}:${cursor.col}:${mention.prefix}`,
|
|
12
|
+
};
|
|
13
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"findFileMentionPrefix.d.ts","sourceRoot":"","sources":["../../sources/app/findFileMentionPrefix.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,qBAAqB,CAAC,gBAAgB,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAkB7F"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export function findFileMentionPrefix(textBeforeCursor) {
|
|
2
|
+
const quoted = /(?:^|\s)(@"([^"]*))$/u.exec(textBeforeCursor);
|
|
3
|
+
if (quoted?.[1] !== undefined) {
|
|
4
|
+
return {
|
|
5
|
+
prefix: quoted[1],
|
|
6
|
+
query: quoted[2] ?? "",
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
const unquoted = /(?:^|\s)(@([^\s"]*))$/u.exec(textBeforeCursor);
|
|
10
|
+
if (unquoted?.[1] === undefined) {
|
|
11
|
+
return undefined;
|
|
12
|
+
}
|
|
13
|
+
return {
|
|
14
|
+
prefix: unquoted[1],
|
|
15
|
+
query: unquoted[2] ?? "",
|
|
16
|
+
};
|
|
17
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatFileMention.d.ts","sourceRoot":"","sources":["../../sources/app/formatFileMention.ts"],"names":[],"mappings":"AAAA,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMtD"}
|
package/dist/app/runApp.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runApp.d.ts","sourceRoot":"","sources":["../../sources/app/runApp.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,aAAa;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAsB,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"runApp.d.ts","sourceRoot":"","sources":["../../sources/app/runApp.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,aAAa;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAsB,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwJvE"}
|
package/dist/app/runApp.js
CHANGED
|
@@ -115,6 +115,9 @@ export async function runApp(options = {}) {
|
|
|
115
115
|
});
|
|
116
116
|
},
|
|
117
117
|
processManager,
|
|
118
|
+
searchFiles: (query) => localServer.client
|
|
119
|
+
.searchFiles(session.session.id, query)
|
|
120
|
+
.then((response) => response.files),
|
|
118
121
|
sessionBacked: true,
|
|
119
122
|
showReasoning,
|
|
120
123
|
tui,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AbortRunResponse, ChangeEffortRequest, ChangeModelRequest, CreateSessionRequest, CreateSessionResponse, EventId, HealthResponse, ListModelsResponse, ListSessionsResponse, ListSubagentsResponse, ProtocolSession, SessionEvent, ShutdownServerResponse, SubmitMessageRequest, SubmitMessageResponse } from "../protocol/index.js";
|
|
1
|
+
import type { AbortRunResponse, ChangeEffortRequest, ChangeModelRequest, CreateSessionRequest, CreateSessionResponse, EventId, HealthResponse, ListModelsResponse, ListSessionsResponse, ListSubagentsResponse, ProtocolSession, SearchFilesResponse, SessionEvent, ShutdownServerResponse, SubmitMessageRequest, SubmitMessageResponse } from "../protocol/index.js";
|
|
2
2
|
export interface ProtocolHttpClientOptions {
|
|
3
3
|
socketPath: string;
|
|
4
4
|
token: string;
|
|
@@ -26,6 +26,7 @@ export declare class ProtocolHttpClient {
|
|
|
26
26
|
models(): Promise<ListModelsResponse>;
|
|
27
27
|
listSessions(limit?: number): Promise<ListSessionsResponse>;
|
|
28
28
|
listSubagents(sessionId: string): Promise<ListSubagentsResponse>;
|
|
29
|
+
searchFiles(sessionId: string, query: string, limit?: number): Promise<SearchFilesResponse>;
|
|
29
30
|
getSession(sessionId: string): Promise<{
|
|
30
31
|
session: ProtocolSession;
|
|
31
32
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProtocolHttpClient.d.ts","sourceRoot":"","sources":["../../sources/client/ProtocolHttpClient.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACR,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,OAAO,EACP,cAAc,EACd,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,eAAe,EACf,YAAY,EACZ,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACxB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,yBAAyB;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,yBAAyB;IACtC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1D;AAED,qBAAa,kBAAkB;;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;gBAEX,OAAO,EAAE,yBAAyB;IAK9C,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAInD,WAAW,CACP,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,kBAAkB,GAC5B,OAAO,CAAC;QAAE,OAAO,EAAE,eAAe,CAAA;KAAE,CAAC;IAQxC,YAAY,CACR,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,mBAAmB,GAC7B,OAAO,CAAC;QAAE,OAAO,EAAE,eAAe,CAAA;KAAE,CAAC;IAQxC,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAI5E,MAAM,IAAI,OAAO,CAAC,cAAc,CAAC;IAIjC,MAAM,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAIrC,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAM3D,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAIhE,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,eAAe,CAAA;KAAE,CAAC;IAIpE,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,YAAY,EAAE,CAAA;KAAE,CAAC;IAQlF,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,eAAe,CAAA;KAAE,CAAC;IAI/D,QAAQ,IAAI,OAAO,CAAC,sBAAsB,CAAC;IAI3C,aAAa,CACT,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,oBAAoB,GAC9B,OAAO,CAAC,qBAAqB,CAAC;IAQ3B,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;CAsH9E"}
|
|
1
|
+
{"version":3,"file":"ProtocolHttpClient.d.ts","sourceRoot":"","sources":["../../sources/client/ProtocolHttpClient.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACR,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,OAAO,EACP,cAAc,EACd,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACxB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,yBAAyB;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,yBAAyB;IACtC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1D;AAED,qBAAa,kBAAkB;;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;gBAEX,OAAO,EAAE,yBAAyB;IAK9C,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAInD,WAAW,CACP,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,kBAAkB,GAC5B,OAAO,CAAC;QAAE,OAAO,EAAE,eAAe,CAAA;KAAE,CAAC;IAQxC,YAAY,CACR,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,mBAAmB,GAC7B,OAAO,CAAC;QAAE,OAAO,EAAE,eAAe,CAAA;KAAE,CAAC;IAQxC,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAI5E,MAAM,IAAI,OAAO,CAAC,cAAc,CAAC;IAIjC,MAAM,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAIrC,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAM3D,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAIhE,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAWvF,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,eAAe,CAAA;KAAE,CAAC;IAIpE,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,YAAY,EAAE,CAAA;KAAE,CAAC;IAQlF,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,eAAe,CAAA;KAAE,CAAC;IAI/D,QAAQ,IAAI,OAAO,CAAC,sBAAsB,CAAC;IAI3C,aAAa,CACT,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,oBAAoB,GAC9B,OAAO,CAAC,qBAAqB,CAAC;IAQ3B,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;CAsH9E"}
|
|
@@ -31,6 +31,13 @@ export class ProtocolHttpClient {
|
|
|
31
31
|
listSubagents(sessionId) {
|
|
32
32
|
return this.#requestJson("GET", `/sessions/${encodeURIComponent(sessionId)}/subagents`);
|
|
33
33
|
}
|
|
34
|
+
searchFiles(sessionId, query, limit = 20) {
|
|
35
|
+
const parameters = new URLSearchParams({
|
|
36
|
+
limit: String(limit),
|
|
37
|
+
query,
|
|
38
|
+
});
|
|
39
|
+
return this.#requestJson("GET", `/sessions/${encodeURIComponent(sessionId)}/files?${parameters.toString()}`);
|
|
40
|
+
}
|
|
34
41
|
getSession(sessionId) {
|
|
35
42
|
return this.#requestJson("GET", `/sessions/${encodeURIComponent(sessionId)}`);
|
|
36
43
|
}
|
|
@@ -103,6 +103,13 @@ export interface ListSessionsResponse {
|
|
|
103
103
|
export interface ListSubagentsResponse {
|
|
104
104
|
subagents: readonly SubagentSummary[];
|
|
105
105
|
}
|
|
106
|
+
export interface FileSearchResult {
|
|
107
|
+
fileName: string;
|
|
108
|
+
path: string;
|
|
109
|
+
}
|
|
110
|
+
export interface SearchFilesResponse {
|
|
111
|
+
files: readonly FileSearchResult[];
|
|
112
|
+
}
|
|
106
113
|
export interface ShutdownServerResponse {
|
|
107
114
|
shuttingDown: boolean;
|
|
108
115
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionProtocol.d.ts","sourceRoot":"","sources":["../../sources/protocol/SessionProtocol.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACrF,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,CAAC;AAE9F,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,YAAY,GAAG,OAAO,GAAG,OAAO,CAAC;AAE3E,MAAM,MAAM,yBAAyB,GAAG,OAAO,GAAG,UAAU,CAAC;AAE7D,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,UAAU,CAAC;AAEtD,MAAM,WAAW,oBAAoB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,gBAAgB,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,mBAAmB;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,yBAAyB,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,SAAS,KAAK,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,YAAY;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE,SAAS,KAAK,EAAE,CAAC;IACzB,SAAS,EAAE,SAAS,oBAAoB,EAAE,CAAC;CAC9C;AAED,MAAM,MAAM,0BAA0B,GAAG,UAAU,GAAG,OAAO,GAAG,OAAO,CAAC;AAExE,MAAM,WAAW,cAAc;IAC3B,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,0BAA0B,CAAC;CACtC;AAED,MAAM,WAAW,kBAAkB;IAC/B,OAAO,EAAE,YAAY,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,SAAS,KAAK,EAAE,CAAC;IACzB,MAAM,EAAE,aAAa,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,kBAAkB,CAAC;IAChC,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,EAAE,oBAAoB,CAAC;IAC5B,QAAQ,EAAE,aAAa,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE,aAAa,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,aAAa,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,kBAAkB,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,mBAAmB,CAAC;CACtC;AAED,MAAM,WAAW,oBAAoB;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,qBAAqB;IAClC,OAAO,EAAE,eAAe,CAAC;CAC5B;AAED,MAAM,WAAW,oBAAoB;IACjC,QAAQ,EAAE,SAAS,cAAc,EAAE,CAAC;CACvC;AAED,MAAM,WAAW,qBAAqB;IAClC,SAAS,EAAE,SAAS,eAAe,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,sBAAsB;IACnC,YAAY,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACjC,OAAO,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,MAAM,YAAY,GAClB,mBAAmB,GACnB,qBAAqB,GACrB,eAAe,GACf,gBAAgB,GAChB,iBAAiB,GACjB,gBAAgB,GAChB,aAAa,GACb,mBAAmB,GACnB,iBAAiB,GACjB,wBAAwB,GACxB,iBAAiB,GACjB,kBAAkB,GAClB,oBAAoB,CAAC;AAE3B,MAAM,WAAW,gBAAgB,CAAC,KAAK,SAAS,MAAM,EAAE,KAAK;IACzD,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,KAAK,CAAC;IACZ,EAAE,EAAE,OAAO,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,KAAK,CAAC;CACf;AAED,MAAM,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,iBAAiB,EAAE;IAAE,OAAO,EAAE,eAAe,CAAA;CAAE,CAAC,CAAC;AAEpG,MAAM,MAAM,qBAAqB,GAAG,gBAAgB,CAChD,mBAAmB,EACnB;IACI,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,WAAW,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACjB,CACJ,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,gBAAgB,CAAC,aAAa,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEjF,MAAM,MAAM,gBAAgB,GAAG,gBAAgB,CAC3C,aAAa,EACb;IACI,KAAK,EAAE,cAAc,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACjB,CACJ,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,gBAAgB,CAC5C,eAAe,EACf;IACI,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACjB,CACJ,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,gBAAgB,CAC3C,cAAc,EACd;IACI,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,UAAU,CAAC;CAC1B,CACJ,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,gBAAgB,CACxC,WAAW,EACX;IACI,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACjB,CACJ,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,gBAAgB,CAC9C,iBAAiB,EACjB;IACI,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB,CACJ,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,eAAe,EAAE;IAAE,QAAQ,EAAE,aAAa,CAAA;CAAE,CAAC,CAAC;AAE/F,MAAM,MAAM,wBAAwB,GAAG,gBAAgB,CACnD,uBAAuB,EACvB;IACI,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB,CACJ,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,gBAAgB,CAC5C,eAAe,EACf;IACI,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,aAAa,CAAC;CAC3B,CACJ,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,gBAAgB,CAC7C,gBAAgB,EAChB;IACI,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,aAAa,CAAC;CAC3B,CACJ,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,CAC/C,kBAAkB,EAClB;IACI,QAAQ,EAAE,eAAe,CAAC;CAC7B,CACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"SessionProtocol.d.ts","sourceRoot":"","sources":["../../sources/protocol/SessionProtocol.ts"],"names":[],"mappings":"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"}
|
package/dist/protocol/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export type { EventId } from "./EventId.js";
|
|
2
2
|
export { createEventIdFactory, type EventIdFactoryOptions } from "./createEventIdFactory.js";
|
|
3
|
-
export type { AbortRequestedEvent, AbortRunResponse, AgentMessageEvent, AgentStreamEvent, BaseSessionEvent, ChangeEffortRequest, ChangeModelRequest, CreateSessionRequest, CreateSessionResponse, EffortChangedEvent, ListSessionsResponse, ListSubagentsResponse, ListModelsResponse, HealthResponse, ModelCatalog, MessageSubmittedEvent, ModelChangedEvent, ProviderModelCatalog, ProtocolSession, RunErrorEvent, RunFinishedEvent, RunStartedEvent, ServerInitializationStatus, SessionCreatedEvent, SessionAgentMetadata, SessionAgentType, SessionEvent, SessionInterruption, SessionInterruptionReason, SessionResetEvent, SessionStatus, SessionTitleChangedEvent, SessionSummary, SubagentChangedEvent, SubagentSummary, SessionTitleStatus, ShutdownServerResponse, SubmitMessageRequest, SubmitMessageResponse, } from "./SessionProtocol.js";
|
|
3
|
+
export type { AbortRequestedEvent, AbortRunResponse, AgentMessageEvent, AgentStreamEvent, BaseSessionEvent, ChangeEffortRequest, ChangeModelRequest, CreateSessionRequest, CreateSessionResponse, EffortChangedEvent, FileSearchResult, ListSessionsResponse, ListSubagentsResponse, ListModelsResponse, HealthResponse, ModelCatalog, MessageSubmittedEvent, ModelChangedEvent, ProviderModelCatalog, ProtocolSession, RunErrorEvent, RunFinishedEvent, RunStartedEvent, SearchFilesResponse, ServerInitializationStatus, SessionCreatedEvent, SessionAgentMetadata, SessionAgentType, SessionEvent, SessionInterruption, SessionInterruptionReason, SessionResetEvent, SessionStatus, SessionTitleChangedEvent, SessionSummary, SubagentChangedEvent, SubagentSummary, SessionTitleStatus, ShutdownServerResponse, SubmitMessageRequest, SubmitMessageResponse, } from "./SessionProtocol.js";
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../sources/protocol/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,KAAK,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAC7F,YAAY,EACR,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,cAAc,EACd,YAAY,EACZ,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,0BAA0B,EAC1B,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,EACnB,yBAAyB,EACzB,iBAAiB,EACjB,aAAa,EACb,wBAAwB,EACxB,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,GACxB,MAAM,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../sources/protocol/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,KAAK,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAC7F,YAAY,EACR,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,cAAc,EACd,YAAY,EACZ,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,0BAA0B,EAC1B,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,EACnB,yBAAyB,EACzB,iBAAiB,EACjB,aAAa,EACb,wBAAwB,EACxB,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,GACxB,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { FileSearchResult } from "../protocol/index.js";
|
|
2
|
+
export interface FileSearchServiceContract {
|
|
3
|
+
close(): void;
|
|
4
|
+
search(cwd: string, query: string, limit: number): Promise<readonly FileSearchResult[]>;
|
|
5
|
+
}
|
|
6
|
+
export declare class FileSearchService implements FileSearchServiceContract {
|
|
7
|
+
#private;
|
|
8
|
+
constructor(options?: {
|
|
9
|
+
maxIndexes?: number;
|
|
10
|
+
});
|
|
11
|
+
close(): void;
|
|
12
|
+
search(cwd: string, query: string, limit: number): Promise<readonly FileSearchResult[]>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=FileSearchService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileSearchService.d.ts","sourceRoot":"","sources":["../../sources/server/FileSearchService.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAU7D,MAAM,WAAW,yBAAyB;IACtC,KAAK,IAAI,IAAI,CAAC;IACd,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,gBAAgB,EAAE,CAAC,CAAC;CAC3F;AAED,qBAAa,iBAAkB,YAAW,yBAAyB;;gBAInD,OAAO,GAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAO;IAIjD,KAAK,IAAI,IAAI;IAOP,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,gBAAgB,EAAE,CAAC;CA8DhG"}
|