@travisennis/acai 0.0.10 → 0.0.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.
- package/README.md +7 -4
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +29 -27
- package/dist/cli/stdin.d.ts +2 -1
- package/dist/cli/stdin.d.ts.map +1 -1
- package/dist/commands/generate-rules/service.d.ts +3 -2
- package/dist/commands/generate-rules/service.d.ts.map +1 -1
- package/dist/commands/health/utils.d.ts +3 -2
- package/dist/commands/health/utils.d.ts.map +1 -1
- package/dist/commands/init-project/utils.d.ts +2 -1
- package/dist/commands/init-project/utils.d.ts.map +1 -1
- package/dist/commands/init-project/utils.js +0 -11
- package/dist/commands/manager.d.ts.map +1 -1
- package/dist/commands/manager.js +6 -1
- package/dist/commands/resources/index.d.ts.map +1 -1
- package/dist/commands/resources/index.js +4 -1
- package/dist/commands/review/utils.d.ts +6 -1
- package/dist/commands/review/utils.d.ts.map +1 -1
- package/dist/commands/session/index.d.ts.map +1 -1
- package/dist/commands/session/index.js +6 -0
- package/dist/commands/session/types.d.ts +1 -0
- package/dist/commands/session/types.d.ts.map +1 -1
- package/dist/commands/tools/index.d.ts +3 -0
- package/dist/commands/tools/index.d.ts.map +1 -0
- package/dist/commands/tools/index.js +190 -0
- package/dist/commands/tools/templates.d.ts +6 -0
- package/dist/commands/tools/templates.d.ts.map +1 -0
- package/dist/commands/tools/templates.js +97 -0
- package/dist/config/index.d.ts +5 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +41 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -3
- package/dist/models/anthropic-provider.d.ts +1 -1
- package/dist/models/deepseek-provider.d.ts +3 -3
- package/dist/models/deepseek-provider.js +17 -17
- package/dist/models/google-provider.d.ts +2 -4
- package/dist/models/google-provider.d.ts.map +1 -1
- package/dist/models/google-provider.js +2 -17
- package/dist/models/groq-provider.d.ts +2 -4
- package/dist/models/groq-provider.d.ts.map +1 -1
- package/dist/models/groq-provider.js +3 -21
- package/dist/models/opencode-go-provider.d.ts +35 -0
- package/dist/models/opencode-go-provider.d.ts.map +1 -0
- package/dist/models/opencode-go-provider.js +214 -0
- package/dist/models/opencode-zen-provider.d.ts +5 -5
- package/dist/models/opencode-zen-provider.d.ts.map +1 -1
- package/dist/models/opencode-zen-provider.js +41 -47
- package/dist/models/openrouter-provider.d.ts +5 -13
- package/dist/models/openrouter-provider.d.ts.map +1 -1
- package/dist/models/openrouter-provider.js +34 -138
- package/dist/models/providers.d.ts +3 -3
- package/dist/models/providers.d.ts.map +1 -1
- package/dist/models/providers.js +6 -0
- package/dist/models/xai-provider.d.ts +1 -2
- package/dist/models/xai-provider.d.ts.map +1 -1
- package/dist/models/xai-provider.js +0 -13
- package/dist/prompts/manager.d.ts.map +1 -1
- package/dist/prompts/manager.js +5 -1
- package/dist/prompts/mentions.d.ts.map +1 -1
- package/dist/prompts/mentions.js +35 -6
- package/dist/prompts/system-prompt.d.ts +1 -0
- package/dist/prompts/system-prompt.d.ts.map +1 -1
- package/dist/prompts/system-prompt.js +20 -5
- package/dist/repl/index.d.ts +1 -2
- package/dist/repl/index.d.ts.map +1 -1
- package/dist/repl/index.js +14 -53
- package/dist/sessions/manager.d.ts +3 -3
- package/dist/sessions/manager.d.ts.map +1 -1
- package/dist/sessions/manager.js +1 -1
- package/dist/skills/activated-tracker.d.ts +11 -0
- package/dist/skills/activated-tracker.d.ts.map +1 -0
- package/dist/skills/activated-tracker.js +16 -0
- package/dist/skills/index.d.ts +3 -2
- package/dist/skills/index.d.ts.map +1 -1
- package/dist/skills/index.js +7 -1
- package/dist/subagents/index.d.ts +2 -1
- package/dist/subagents/index.d.ts.map +1 -1
- package/dist/terminal/table/utils.d.ts +1 -1
- package/dist/terminal/table/utils.d.ts.map +1 -1
- package/dist/terminal/wrap-ansi.js +2 -2
- package/dist/tools/agent.js +1 -1
- package/dist/tools/apply-patch.d.ts +62 -0
- package/dist/tools/apply-patch.d.ts.map +1 -0
- package/dist/tools/apply-patch.js +377 -0
- package/dist/tools/bash.d.ts +4 -4
- package/dist/tools/bash.d.ts.map +1 -1
- package/dist/tools/bash.js +40 -8
- package/dist/tools/directory-tree.d.ts +4 -4
- package/dist/tools/directory-tree.d.ts.map +1 -1
- package/dist/tools/directory-tree.js +3 -1
- package/dist/tools/dynamic-tool-loader.d.ts +12 -3
- package/dist/tools/dynamic-tool-loader.d.ts.map +1 -1
- package/dist/tools/dynamic-tool-loader.js +299 -39
- package/dist/tools/edit-file.d.ts +2 -2
- package/dist/tools/edit-file.d.ts.map +1 -1
- package/dist/tools/edit-file.js +188 -79
- package/dist/tools/glob.d.ts +16 -16
- package/dist/tools/glob.d.ts.map +1 -1
- package/dist/tools/glob.js +30 -15
- package/dist/tools/grep.d.ts +14 -14
- package/dist/tools/grep.d.ts.map +1 -1
- package/dist/tools/grep.js +50 -29
- package/dist/tools/index.d.ts +57 -84
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +20 -5
- package/dist/tools/ls.d.ts +2 -2
- package/dist/tools/ls.d.ts.map +1 -1
- package/dist/tools/ls.js +2 -1
- package/dist/tools/read-file.d.ts +9 -11
- package/dist/tools/read-file.d.ts.map +1 -1
- package/dist/tools/read-file.js +21 -16
- package/dist/tools/save-file.d.ts +4 -4
- package/dist/tools/save-file.d.ts.map +1 -1
- package/dist/tools/save-file.js +26 -21
- package/dist/tools/skill.d.ts +2 -1
- package/dist/tools/skill.d.ts.map +1 -1
- package/dist/tools/skill.js +55 -12
- package/dist/tools/types.d.ts +8 -2
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/tools/web-fetch.d.ts +6 -18
- package/dist/tools/web-fetch.d.ts.map +1 -1
- package/dist/tools/web-fetch.js +45 -9
- package/dist/tools/web-search.d.ts +4 -22
- package/dist/tools/web-search.d.ts.map +1 -1
- package/dist/tools/web-search.js +1 -1
- package/dist/tui/autocomplete/file-search-provider.js +1 -1
- package/dist/tui/autocomplete/utils.d.ts +2 -1
- package/dist/tui/autocomplete/utils.d.ts.map +1 -1
- package/dist/tui/autocomplete/utils.js +25 -23
- package/dist/tui/components/editor.d.ts +2 -1
- package/dist/tui/components/editor.d.ts.map +1 -1
- package/dist/tui/components/editor.js +1 -1
- package/dist/tui/components/footer.d.ts +0 -2
- package/dist/tui/components/footer.d.ts.map +1 -1
- package/dist/tui/components/footer.js +1 -17
- package/dist/tui/components/markdown.d.ts +2 -2
- package/dist/tui/components/markdown.d.ts.map +1 -1
- package/dist/tui/components/welcome.d.ts +2 -1
- package/dist/tui/components/welcome.d.ts.map +1 -1
- package/dist/tui/editor-launcher.d.ts +3 -2
- package/dist/tui/editor-launcher.d.ts.map +1 -1
- package/dist/tui/index.d.ts +0 -1
- package/dist/tui/index.d.ts.map +1 -1
- package/dist/tui/tui.d.ts +1 -0
- package/dist/tui/tui.d.ts.map +1 -1
- package/dist/tui/tui.js +9 -0
- package/dist/tui/utils.d.ts +1 -5
- package/dist/tui/utils.d.ts.map +1 -1
- package/dist/tui/utils.js +271 -44
- package/dist/utils/binary-output.d.ts +32 -0
- package/dist/utils/binary-output.d.ts.map +1 -0
- package/dist/utils/binary-output.js +127 -0
- package/dist/utils/command-protection.d.ts.map +1 -1
- package/dist/utils/command-protection.js +92 -9
- package/dist/utils/parsing.d.ts +1 -1
- package/dist/utils/parsing.d.ts.map +1 -1
- package/package.json +28 -26
- package/dist/commands/add-directory/types.d.ts +0 -6
- package/dist/commands/add-directory/types.d.ts.map +0 -1
- package/dist/commands/add-directory/types.js +0 -1
- package/dist/commands/copy/types.d.ts +0 -3
- package/dist/commands/copy/types.d.ts.map +0 -1
- package/dist/commands/copy/types.js +0 -1
- package/dist/commands/review/types.d.ts +0 -12
- package/dist/commands/review/types.d.ts.map +0 -1
- package/dist/commands/review/types.js +0 -1
- package/dist/modes/manager.d.ts +0 -23
- package/dist/modes/manager.d.ts.map +0 -1
- package/dist/modes/manager.js +0 -77
- package/dist/modes/prompts.d.ts +0 -2
- package/dist/modes/prompts.d.ts.map +0 -1
- package/dist/modes/prompts.js +0 -143
- package/dist/tools/code-search.d.ts +0 -41
- package/dist/tools/code-search.d.ts.map +0 -1
- package/dist/tools/code-search.js +0 -195
- package/dist/utils/iterables.d.ts +0 -2
- package/dist/utils/iterables.d.ts.map +0 -1
- package/dist/utils/iterables.js +0 -6
package/dist/repl/index.js
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { generateRulesFromSession } from "../commands/generate-rules/service.js";
|
|
2
2
|
import { showModelSelector } from "../commands/model/model-panel.js";
|
|
3
3
|
import { showReviewPanel } from "../commands/review/review-panel.js";
|
|
4
|
-
import {
|
|
4
|
+
import { parseSkillsPath } from "../config/index.js";
|
|
5
5
|
import { processPrompt } from "../prompts/mentions.js";
|
|
6
|
-
import { createUserMessage } from "../sessions/manager.js";
|
|
7
6
|
import { loadSkills } from "../skills/index.js";
|
|
8
7
|
import { alert, setTerminalTitle, startProgress, stopProgress, } from "../terminal/control.js";
|
|
9
8
|
import style from "../terminal/style.js";
|
|
@@ -51,8 +50,6 @@ export class Repl {
|
|
|
51
50
|
allToolExecutions = [];
|
|
52
51
|
// verbose mode state
|
|
53
52
|
verboseMode = false;
|
|
54
|
-
// mode manager
|
|
55
|
-
modeManager;
|
|
56
53
|
// ProjectConfig - initialized in init()
|
|
57
54
|
config;
|
|
58
55
|
/** Creates a new Repl instance, initializing the TUI layout and components. */
|
|
@@ -90,7 +87,6 @@ export class Repl {
|
|
|
90
87
|
this.isInitialized = false;
|
|
91
88
|
this.pendingTools = new Map();
|
|
92
89
|
this.tools = options.tools;
|
|
93
|
-
this.modeManager = new ModeManager();
|
|
94
90
|
this.notification = new NotificationComponent("", { r: 52, g: 53, b: 65 }, style.yellow, 1, () => this.tui.requestRender());
|
|
95
91
|
}
|
|
96
92
|
/**
|
|
@@ -103,7 +99,9 @@ export class Repl {
|
|
|
103
99
|
return;
|
|
104
100
|
}
|
|
105
101
|
// Setup autocomplete for file paths, slash commands, and skills
|
|
106
|
-
const
|
|
102
|
+
const appConfig = await this.options.configManager.getConfig();
|
|
103
|
+
const skillPaths = parseSkillsPath(appConfig.skills.path);
|
|
104
|
+
const skills = await loadSkills(skillPaths);
|
|
107
105
|
const commandsList = await this.options.commands.getCompletions();
|
|
108
106
|
const autocompleteProvider = new CombinedProvider([
|
|
109
107
|
new CommandProvider(commandsList),
|
|
@@ -124,7 +122,6 @@ export class Repl {
|
|
|
124
122
|
projectStatus: await getProjectStatus(),
|
|
125
123
|
currentContextWindow: 0,
|
|
126
124
|
contextWindow: modelConfig.contextWindow,
|
|
127
|
-
currentMode: this.modeManager.getDisplayName(),
|
|
128
125
|
});
|
|
129
126
|
this.tui.onCtrlC = () => {
|
|
130
127
|
this.handleCtrlC();
|
|
@@ -144,16 +141,6 @@ export class Repl {
|
|
|
144
141
|
this.tui.onCtrlM = () => {
|
|
145
142
|
void this.handleCtrlM();
|
|
146
143
|
};
|
|
147
|
-
this.tui.onShiftTab = () => {
|
|
148
|
-
this.modeManager.cycleMode();
|
|
149
|
-
this.footer.setState({
|
|
150
|
-
projectStatus: this.footer.getProjectStatus(),
|
|
151
|
-
currentContextWindow: this.options.sessionManager.getLastTurnContextWindow(),
|
|
152
|
-
contextWindow: this.options.modelManager.getModelMetadata("repl").contextWindow,
|
|
153
|
-
currentMode: this.modeManager.getDisplayName(),
|
|
154
|
-
});
|
|
155
|
-
this.tui.requestRender();
|
|
156
|
-
};
|
|
157
144
|
// Set callback for session reconstruction (used by /history command)
|
|
158
145
|
this.tui.onReconstructSession = () => this.rerender();
|
|
159
146
|
this.tui.addChild(this.welcome);
|
|
@@ -212,27 +199,7 @@ export class Repl {
|
|
|
212
199
|
}
|
|
213
200
|
const userPrompt = promptManager.get();
|
|
214
201
|
const userMsg = promptManager.getUserMessage();
|
|
215
|
-
|
|
216
|
-
if (this.modeManager.isFirstMessage()) {
|
|
217
|
-
const initialPrompt = this.modeManager.getInitialPrompt();
|
|
218
|
-
if (initialPrompt) {
|
|
219
|
-
const modeMessage = createUserMessage([], initialPrompt);
|
|
220
|
-
sessionManager.appendUserMessage(modeMessage);
|
|
221
|
-
}
|
|
222
|
-
sessionManager.appendUserMessage(userMsg);
|
|
223
|
-
this.modeManager.markFirstMessageSent();
|
|
224
|
-
}
|
|
225
|
-
else {
|
|
226
|
-
sessionManager.appendUserMessage(userMsg);
|
|
227
|
-
const reminderMessage = this.modeManager.getReminderMessage();
|
|
228
|
-
if (reminderMessage) {
|
|
229
|
-
sessionManager.setTransientMessages([reminderMessage]);
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
else {
|
|
234
|
-
sessionManager.appendUserMessage(userMsg);
|
|
235
|
-
}
|
|
202
|
+
sessionManager.appendUserMessage(userMsg);
|
|
236
203
|
this.addMessageToChat({ role: "user", content: userPrompt });
|
|
237
204
|
this.editor.setText("");
|
|
238
205
|
this.tui.requestRender();
|
|
@@ -263,7 +230,6 @@ export class Repl {
|
|
|
263
230
|
currentContextWindow: this.options.sessionManager.getLastTurnContextWindow(),
|
|
264
231
|
contextWindow: this.options.modelManager.getModelMetadata("repl").contextWindow,
|
|
265
232
|
agentState: state,
|
|
266
|
-
currentMode: this.modeManager.getDisplayName(),
|
|
267
233
|
});
|
|
268
234
|
const eventType = event.type;
|
|
269
235
|
switch (eventType) {
|
|
@@ -350,7 +316,6 @@ export class Repl {
|
|
|
350
316
|
this.pendingTools.clear();
|
|
351
317
|
this.editor.disableSubmit = false;
|
|
352
318
|
this.options.sessionManager.clearTransientMessages();
|
|
353
|
-
this.options.sessionManager.setMetadata("modeState", this.modeManager.toJson());
|
|
354
319
|
if (!this.options.noSession) {
|
|
355
320
|
await this.options.sessionManager.save();
|
|
356
321
|
}
|
|
@@ -360,7 +325,6 @@ export class Repl {
|
|
|
360
325
|
projectStatus: ps,
|
|
361
326
|
currentContextWindow: this.options.sessionManager.getLastTurnContextWindow(),
|
|
362
327
|
contextWindow: this.options.modelManager.getModelMetadata("repl").contextWindow,
|
|
363
|
-
currentMode: this.modeManager.getDisplayName(),
|
|
364
328
|
});
|
|
365
329
|
this.tui.requestRender();
|
|
366
330
|
});
|
|
@@ -369,7 +333,6 @@ export class Repl {
|
|
|
369
333
|
case "agent-error":
|
|
370
334
|
logger.error(event, "agent-error");
|
|
371
335
|
this.options.sessionManager.clearTransientMessages();
|
|
372
|
-
this.options.sessionManager.setMetadata("modeState", this.modeManager.toJson());
|
|
373
336
|
if (!this.options.noSession) {
|
|
374
337
|
await this.options.sessionManager.save();
|
|
375
338
|
}
|
|
@@ -393,7 +356,15 @@ export class Repl {
|
|
|
393
356
|
});
|
|
394
357
|
this.thinkingBlockComponent = component;
|
|
395
358
|
this.allThinkingBlocks.push(component);
|
|
396
|
-
|
|
359
|
+
// If a streaming message component already exists (text came before thinking),
|
|
360
|
+
// insert the thinking block BEFORE it to ensure correct visual order
|
|
361
|
+
if (this.streamingComponent) {
|
|
362
|
+
this.chatContainer.insertChildBefore(this.streamingComponent, component);
|
|
363
|
+
this.chatContainer.insertChildBefore(this.streamingComponent, new Spacer(1));
|
|
364
|
+
}
|
|
365
|
+
else {
|
|
366
|
+
this.addComponentWithSpacing(component);
|
|
367
|
+
}
|
|
397
368
|
this.thinkingBlockComponent.updateContent(event);
|
|
398
369
|
this.tui.requestRender();
|
|
399
370
|
break;
|
|
@@ -465,10 +436,6 @@ export class Repl {
|
|
|
465
436
|
* display.
|
|
466
437
|
*/
|
|
467
438
|
async rerender() {
|
|
468
|
-
const modeState = this.options.sessionManager.getMetadata("modeState");
|
|
469
|
-
if (modeState && typeof modeState === "object" && "mode" in modeState) {
|
|
470
|
-
this.modeManager.fromJson(modeState);
|
|
471
|
-
}
|
|
472
439
|
// When resuming a session, populate tokenTracker with historical usage
|
|
473
440
|
// so the footer displays the correct total session usage
|
|
474
441
|
const totalUsage = this.options.sessionManager.getTotalTokenUsage();
|
|
@@ -492,7 +459,6 @@ export class Repl {
|
|
|
492
459
|
projectStatus: await getProjectStatus(),
|
|
493
460
|
currentContextWindow: this.options.sessionManager.getLastTurnContextWindow(),
|
|
494
461
|
contextWindow: this.options.modelManager.getModelMetadata("repl").contextWindow,
|
|
495
|
-
currentMode: this.modeManager.getDisplayName(),
|
|
496
462
|
});
|
|
497
463
|
// Reconstruct entire session display from messages
|
|
498
464
|
this.reconstructSession();
|
|
@@ -717,14 +683,12 @@ export class Repl {
|
|
|
717
683
|
// Auto-generate rules before starting new session if enabled
|
|
718
684
|
// Run in background - don't block new session from starting
|
|
719
685
|
this.maybeGenerateRules().catch((err) => logger.debug({ err }, "Background rule generation failed"));
|
|
720
|
-
this.options.sessionManager.setMetadata("modeState", this.modeManager.toJson());
|
|
721
686
|
if (!this.options.noSession) {
|
|
722
687
|
await this.options.sessionManager.save();
|
|
723
688
|
}
|
|
724
689
|
this.options.sessionManager.create(this.options.modelManager.getModel("repl").modelId);
|
|
725
690
|
}
|
|
726
691
|
this.config = await this.options.configManager.getConfig();
|
|
727
|
-
this.modeManager.reset();
|
|
728
692
|
this.options.sessionManager.clearTransientMessages();
|
|
729
693
|
this.options.tokenTracker.reset();
|
|
730
694
|
setTerminalTitle(`acai: ${process.cwd()}`);
|
|
@@ -739,7 +703,6 @@ export class Repl {
|
|
|
739
703
|
projectStatus: this.footer.getProjectStatus(),
|
|
740
704
|
currentContextWindow: 0,
|
|
741
705
|
contextWindow: this.options.modelManager.getModelMetadata("repl").contextWindow,
|
|
742
|
-
currentMode: this.modeManager.getDisplayName(),
|
|
743
706
|
});
|
|
744
707
|
this.tui.requestRender();
|
|
745
708
|
}
|
|
@@ -761,7 +724,6 @@ export class Repl {
|
|
|
761
724
|
}
|
|
762
725
|
this.notification.setMessage("");
|
|
763
726
|
this.tui.requestRender();
|
|
764
|
-
this.options.sessionManager.setMetadata("modeState", this.modeManager.toJson());
|
|
765
727
|
if (!this.options.noSession) {
|
|
766
728
|
void this.options.sessionManager.save();
|
|
767
729
|
}
|
|
@@ -787,7 +749,6 @@ export class Repl {
|
|
|
787
749
|
}
|
|
788
750
|
this.notification.setMessage("");
|
|
789
751
|
this.tui.requestRender();
|
|
790
|
-
this.options.sessionManager.setMetadata("modeState", this.modeManager.toJson());
|
|
791
752
|
if (!this.options.noSession) {
|
|
792
753
|
void this.options.sessionManager.save();
|
|
793
754
|
}
|
|
@@ -16,7 +16,7 @@ type ResponseMessage = AssistantModelMessage | ToolModelMessage;
|
|
|
16
16
|
* Only stores total aggregated usage and last turn's usage
|
|
17
17
|
* to minimize session file size while maintaining necessary information.
|
|
18
18
|
*/
|
|
19
|
-
|
|
19
|
+
type SessionTokenUsage = {
|
|
20
20
|
/** Aggregated total for entire session */
|
|
21
21
|
total: {
|
|
22
22
|
inputTokens: number;
|
|
@@ -40,7 +40,7 @@ export type SessionTokenUsage = {
|
|
|
40
40
|
* @deprecated Use SessionTokenUsage instead. Kept for backward compatibility
|
|
41
41
|
* with older session files that may have the old format.
|
|
42
42
|
*/
|
|
43
|
-
|
|
43
|
+
type TokenUsageTurn = {
|
|
44
44
|
stepIndex: number;
|
|
45
45
|
inputTokens: number;
|
|
46
46
|
outputTokens: number;
|
|
@@ -59,7 +59,7 @@ export type TokenUsageTurn = {
|
|
|
59
59
|
timestamp: number;
|
|
60
60
|
estimatedCost: number;
|
|
61
61
|
};
|
|
62
|
-
|
|
62
|
+
type SavedMessageHistory = {
|
|
63
63
|
project: string;
|
|
64
64
|
sessionId: string;
|
|
65
65
|
modelId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../source/sessions/manager.ts"],"names":[],"mappings":"AACA,OAAO,YAAY,MAAM,aAAa,CAAC;AAYvC,OAAO,EACL,KAAK,qBAAqB,EAE1B,KAAK,SAAS,EAAE,kBAAkB;AAClC,KAAK,YAAY,EAEjB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACtB,MAAM,IAAI,CAAC;AACZ,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAKzD,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,SAAS,CAAC;AAExD,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,sBAAsB,EAAE,EACtC,MAAM,CAAC,EAAE,MAAM,GACd,gBAAgB,CAuBlB;AA2ED,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,eAAe,EAAE,GAC1B,eAAe,EAAE,CAsBnB;AAED;;;GAGG;AACH,KAAK,eAAe,GAAG,qBAAqB,GAAG,gBAAgB,CAAC;AAEhE;;;;GAIG;AACH,
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../source/sessions/manager.ts"],"names":[],"mappings":"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"}
|
package/dist/sessions/manager.js
CHANGED
|
@@ -177,7 +177,7 @@ export class SessionManager extends EventEmitter {
|
|
|
177
177
|
}
|
|
178
178
|
get() {
|
|
179
179
|
const history = [...this.history].filter(this.validMessage);
|
|
180
|
-
if (this.transientMessages.length > 0) {
|
|
180
|
+
if (this.transientMessages.length > 0 && history.length > 0) {
|
|
181
181
|
const lastIndex = history.length - 1;
|
|
182
182
|
return [
|
|
183
183
|
...history.slice(0, lastIndex),
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tracks which skills have been activated in the current session.
|
|
3
|
+
* Used to avoid re-injecting the same skill instructions multiple times.
|
|
4
|
+
*/
|
|
5
|
+
export declare class ActivatedSkillsTracker {
|
|
6
|
+
private activatedSkills;
|
|
7
|
+
has(skillName: string): boolean;
|
|
8
|
+
add(skillName: string): void;
|
|
9
|
+
reset(): void;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=activated-tracker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activated-tracker.d.ts","sourceRoot":"","sources":["../../source/skills/activated-tracker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,eAAe,CAA0B;IAEjD,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAI/B,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAI5B,KAAK,IAAI,IAAI;CAGd"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tracks which skills have been activated in the current session.
|
|
3
|
+
* Used to avoid re-injecting the same skill instructions multiple times.
|
|
4
|
+
*/
|
|
5
|
+
export class ActivatedSkillsTracker {
|
|
6
|
+
activatedSkills = new Set();
|
|
7
|
+
has(skillName) {
|
|
8
|
+
return this.activatedSkills.has(skillName);
|
|
9
|
+
}
|
|
10
|
+
add(skillName) {
|
|
11
|
+
this.activatedSkills.add(skillName);
|
|
12
|
+
}
|
|
13
|
+
reset() {
|
|
14
|
+
this.activatedSkills.clear();
|
|
15
|
+
}
|
|
16
|
+
}
|
package/dist/skills/index.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ export interface Skill {
|
|
|
10
10
|
arguments?: string;
|
|
11
11
|
examples?: string[];
|
|
12
12
|
}
|
|
13
|
-
|
|
13
|
+
interface LoadSkillsFromDirOptions {
|
|
14
14
|
dir: string;
|
|
15
15
|
source: string;
|
|
16
16
|
useColonPath?: boolean;
|
|
@@ -23,6 +23,7 @@ export declare class Skills {
|
|
|
23
23
|
getUserInvocable(): Skill[];
|
|
24
24
|
getModelInvocable(): Skill[];
|
|
25
25
|
}
|
|
26
|
-
export declare function loadSkills(): Promise<Skills>;
|
|
26
|
+
export declare function loadSkills(additionalSkillPaths?: string[]): Promise<Skills>;
|
|
27
27
|
export declare function formatSkillsForPrompt(skills: Skill[]): string;
|
|
28
|
+
export {};
|
|
28
29
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../source/skills/index.ts"],"names":[],"mappings":"AAoBA,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,OAAO,CAAC;IACvB,sBAAsB,EAAE,OAAO,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../source/skills/index.ts"],"names":[],"mappings":"AAoBA,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,OAAO,CAAC;IACvB,sBAAsB,EAAE,OAAO,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,UAAU,wBAAwB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAqRD,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,wBAAwB,EACjC,MAAM,SAAK,GACV,OAAO,CAAC,KAAK,EAAE,CAAC,CASlB;AAED,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAU;gBAEZ,MAAM,EAAE,KAAK,EAAE;IAI3B,MAAM,IAAI,KAAK,EAAE;IAIjB,gBAAgB,IAAI,KAAK,EAAE;IAI3B,iBAAiB,IAAI,KAAK,EAAE;CAG7B;AAED,wBAAsB,UAAU,CAC9B,oBAAoB,GAAE,MAAM,EAAO,GAClC,OAAO,CAAC,MAAM,CAAC,CAkGjB;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAgC7D"}
|
package/dist/skills/index.js
CHANGED
|
@@ -216,7 +216,7 @@ export class Skills {
|
|
|
216
216
|
return this.skills.filter((s) => !s.disableModelInvocation);
|
|
217
217
|
}
|
|
218
218
|
}
|
|
219
|
-
export async function loadSkills() {
|
|
219
|
+
export async function loadSkills(additionalSkillPaths = []) {
|
|
220
220
|
const skillMap = new Map();
|
|
221
221
|
// Codex: recursive, simple directory name
|
|
222
222
|
const codexUserDir = join(homedir(), ".codex", "skills");
|
|
@@ -262,6 +262,12 @@ export async function loadSkills() {
|
|
|
262
262
|
for (const skill of await loadSkillsFromDirInternal(agentsProjectSkillsDir, "project", "recursive", true)) {
|
|
263
263
|
skillMap.set(skill.name, skill);
|
|
264
264
|
}
|
|
265
|
+
// Additional skill paths from config (skills.path)
|
|
266
|
+
for (const skillPath of additionalSkillPaths) {
|
|
267
|
+
for (const skill of await loadSkillsFromDirInternal(skillPath, "config", "recursive", true)) {
|
|
268
|
+
skillMap.set(skill.name, skill);
|
|
269
|
+
}
|
|
270
|
+
}
|
|
265
271
|
return new Skills(Array.from(skillMap.values()));
|
|
266
272
|
}
|
|
267
273
|
export function formatSkillsForPrompt(skills) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
interface Subagent {
|
|
2
2
|
name: string;
|
|
3
3
|
description: string;
|
|
4
4
|
model?: string;
|
|
@@ -12,4 +12,5 @@ export declare function loadSubagents(): Promise<Subagent[]>;
|
|
|
12
12
|
export declare function getSubagent(name: string): Promise<Subagent | undefined>;
|
|
13
13
|
export declare function formatSubagentsForDescription(subagents: Subagent[]): string;
|
|
14
14
|
export declare function formatSubagentsForPrompt(subagents: Subagent[]): string;
|
|
15
|
+
export {};
|
|
15
16
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../source/subagents/index.ts"],"names":[],"mappings":"AAeA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../source/subagents/index.ts"],"names":[],"mappings":"AAeA,UAAU,QAAQ;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAkND,wBAAsB,aAAa,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAgBzD;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAG7E;AAED,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,MAAM,CAa3E;AAED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,MAAM,CA6CtE"}
|
|
@@ -59,5 +59,5 @@ export declare function colorizeLines(input: string[]): string[];
|
|
|
59
59
|
* Credit: Matheus Sampaio https://github.com/matheussampaio
|
|
60
60
|
*/
|
|
61
61
|
export declare function hyperlink(url: string, text: string): string;
|
|
62
|
-
export type {
|
|
62
|
+
export type { Cell, CellOptions, CharName, HorizontalAlignment, TableConstructorOptions, TableInstanceOptions, VerticalAlignment, };
|
|
63
63
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../source/terminal/table/utils.ts"],"names":[],"mappings":"AAEA,KAAK,QAAQ,GACT,KAAK,GACL,QAAQ,GACR,SAAS,GACT,UAAU,GACV,QAAQ,GACR,WAAW,GACX,YAAY,GACZ,aAAa,GACb,MAAM,GACN,SAAS,GACT,KAAK,GACL,QAAQ,GACR,OAAO,GACP,UAAU,GACV,QAAQ,CAAC;AAEb,KAAK,mBAAmB,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AACvD,KAAK,iBAAiB,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAErD,UAAU,YAAY;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAChC,UAAU,EAAE,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACjC,SAAS,EAAE,mBAAmB,EAAE,CAAC;IACjC,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAC/B,IAAI,EAAE,IAAI,EAAE,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,UAAU,oBAAqB,SAAQ,YAAY;IACjD,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAChC,KAAK,EAAE;QACL,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,MAAM,CAAC;QACxB,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;IACF,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;CACnC;AAED,UAAU,uBAAwB,SAAQ,OAAO,CAAC,YAAY,CAAC;IAC7D,KAAK,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;IAC1C,KAAK,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC;CAChD;AAED,KAAK,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;AAEvE,UAAU,WAAW;IACnB,OAAO,EAAE,SAAS,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE;QACN,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC;CACH;AAED,KAAK,IAAI,GAAG,SAAS,GAAG,WAAW,CAAC;AAmBpC,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAO1C;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,wBAAgB,GAAG,CACjB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,mBAAmB,GACvB,MAAM,CAuBR;AA6KD,wBAAgB,QAAQ,CACtB,GAAG,EAAE,MAAM,EACX,aAAa,EAAE,MAAM,EACrB,YAAY,CAAC,EAAE,MAAM,GACpB,MAAM,CAmBR;AAED,wBAAgB,cAAc,IAAI,oBAAoB,CAmCrD;AAED,wBAAgB,YAAY,CAC1B,OAAO,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,EAC1C,QAAQ,CAAC,EAAE,oBAAoB,GAC9B,oBAAoB,CAOtB;AAsDD,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,kBAAkB,UAAO,GACxB,MAAM,EAAE,CAQV;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAUvD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAmB3D;AAED,YAAY,EACV,QAAQ,EACR,mBAAmB,EACnB,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../source/terminal/table/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { ansiStyles } from "./ansi-styles.js";
|
|
2
2
|
import stringWidth from "./string-width.js";
|
|
3
3
|
import stripAnsi from "./strip-ansi.js";
|
|
4
|
-
const ESCAPES = new Set(["
|
|
4
|
+
const ESCAPES = new Set(["\u001B", "\u009B"]);
|
|
5
5
|
const END_CODE = 39;
|
|
6
|
-
const ANSI_ESCAPE_BELL = "
|
|
6
|
+
const ANSI_ESCAPE_BELL = "\u0007";
|
|
7
7
|
const ANSI_CSI = "[";
|
|
8
8
|
const ANSI_OSC = "]";
|
|
9
9
|
const ANSI_SGR_TERMINATOR = "m";
|
package/dist/tools/agent.js
CHANGED
|
@@ -53,7 +53,7 @@ ${await environmentInfo(options.workspace.primaryDir, options.workspace.allowedD
|
|
|
53
53
|
const effectiveTimeout = timeout ?? defaultTimeout;
|
|
54
54
|
try {
|
|
55
55
|
const result = await subagent.execute({
|
|
56
|
-
model: isSupportedModel(model) ? model : "opencode:minimax-m2.5
|
|
56
|
+
model: isSupportedModel(model) ? model : "opencode:minimax-m2.5",
|
|
57
57
|
system: systemPrompt,
|
|
58
58
|
prompt,
|
|
59
59
|
abortSignal,
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import type { WorkspaceContext } from "../index.ts";
|
|
3
|
+
import type { ToolExecutionOptions } from "./types.ts";
|
|
4
|
+
export declare const ApplyPatchTool: {
|
|
5
|
+
name: "ApplyPatch";
|
|
6
|
+
};
|
|
7
|
+
declare const inputSchema: z.ZodObject<{
|
|
8
|
+
patchText: z.ZodString;
|
|
9
|
+
}, z.core.$strip>;
|
|
10
|
+
type ApplyPatchInputSchema = z.infer<typeof inputSchema>;
|
|
11
|
+
export type Hunk = {
|
|
12
|
+
type: "add";
|
|
13
|
+
path: string;
|
|
14
|
+
contents: string;
|
|
15
|
+
} | {
|
|
16
|
+
type: "delete";
|
|
17
|
+
path: string;
|
|
18
|
+
} | {
|
|
19
|
+
type: "update";
|
|
20
|
+
path: string;
|
|
21
|
+
movePath?: string;
|
|
22
|
+
chunks: UpdateFileChunk[];
|
|
23
|
+
};
|
|
24
|
+
export interface UpdateFileChunk {
|
|
25
|
+
oldLines: string[];
|
|
26
|
+
newLines: string[];
|
|
27
|
+
changeContext?: string;
|
|
28
|
+
isEndOfFile?: boolean;
|
|
29
|
+
}
|
|
30
|
+
export type ApplyPatchFileChange = {
|
|
31
|
+
type: "add";
|
|
32
|
+
path: string;
|
|
33
|
+
content: string;
|
|
34
|
+
} | {
|
|
35
|
+
type: "delete";
|
|
36
|
+
path: string;
|
|
37
|
+
content?: string;
|
|
38
|
+
} | {
|
|
39
|
+
type: "update";
|
|
40
|
+
path: string;
|
|
41
|
+
unifiedDiff: string;
|
|
42
|
+
movePath?: string;
|
|
43
|
+
newContent: string;
|
|
44
|
+
};
|
|
45
|
+
export interface ParsedApplyPatch {
|
|
46
|
+
hunks: Hunk[];
|
|
47
|
+
}
|
|
48
|
+
export declare function parsePatch(patchText: string): ParsedApplyPatch;
|
|
49
|
+
export declare const createApplyPatchTool: (options: {
|
|
50
|
+
workspace: WorkspaceContext;
|
|
51
|
+
}) => Promise<{
|
|
52
|
+
toolDef: {
|
|
53
|
+
description: string;
|
|
54
|
+
inputSchema: z.ZodObject<{
|
|
55
|
+
patchText: z.ZodString;
|
|
56
|
+
}, z.core.$strip>;
|
|
57
|
+
};
|
|
58
|
+
display({ patchText }: ApplyPatchInputSchema): string;
|
|
59
|
+
execute({ patchText }: ApplyPatchInputSchema, { abortSignal }: ToolExecutionOptions): Promise<string>;
|
|
60
|
+
}>;
|
|
61
|
+
export {};
|
|
62
|
+
//# sourceMappingURL=apply-patch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apply-patch.d.ts","sourceRoot":"","sources":["../../source/tools/apply-patch.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAOpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvD,eAAO,MAAM,cAAc;;CAE1B,CAAC;AAEF,QAAA,MAAM,WAAW;;iBAMf,CAAC;AAEH,KAAK,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAGzD,MAAM,MAAM,IAAI,GACZ;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC/C;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAChC;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B,CAAC;AAEN,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,MAAM,oBAAoB,GAC5B;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC9C;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAClD;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEN,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,IAAI,EAAE,CAAC;CACf;AA+GD,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,CAsD9D;AAqMD,eAAO,MAAM,oBAAoB,GAAU,SAAS;IAClD,SAAS,EAAE,gBAAgB,CAAC;CAC7B;;;;;;;2BAwB0B,qBAAqB;2BAU3B,qBAAqB,mBACnB,oBAAoB,GACpC,OAAO,CAAC,MAAM,CAAC;EAiFrB,CAAC"}
|