@elyracode/coding-agent 0.5.0 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/dist/core/slash-commands.d.ts.map +1 -1
- package/dist/core/slash-commands.js +2 -0
- package/dist/core/slash-commands.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +1 -0
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +41 -0
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/examples/extensions/custom-provider-anthropic/package.json +1 -1
- package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
- package/examples/extensions/sandbox/package.json +1 -1
- package/examples/extensions/with-deps/package.json +1 -1
- package/package.json +4 -4
|
@@ -2047,6 +2047,11 @@ export class InteractiveMode {
|
|
|
2047
2047
|
await this.shutdown();
|
|
2048
2048
|
return;
|
|
2049
2049
|
}
|
|
2050
|
+
if (text === "/packages" || text === "/ext") {
|
|
2051
|
+
this.editor.setText("");
|
|
2052
|
+
await this.handlePackageBrowser();
|
|
2053
|
+
return;
|
|
2054
|
+
}
|
|
2050
2055
|
// Handle bash command (! for normal, !! for excluded from context)
|
|
2051
2056
|
if (text.startsWith("!")) {
|
|
2052
2057
|
const isExcluded = text.startsWith("!!");
|
|
@@ -3933,6 +3938,42 @@ export class InteractiveMode {
|
|
|
3933
3938
|
// =========================================================================
|
|
3934
3939
|
// Command handlers
|
|
3935
3940
|
// =========================================================================
|
|
3941
|
+
handlePackageBrowser() {
|
|
3942
|
+
const packages = [
|
|
3943
|
+
"@elyracode/stack-tall -- TALL: Livewire 4, Flux UI, Alpine.js, Tailwind",
|
|
3944
|
+
"@elyracode/stack-vilt -- VILT: Vue 3, Inertia.js, Laravel, Tailwind",
|
|
3945
|
+
"@elyracode/stack-rilt -- RILT: React 19, Inertia.js 2, Laravel, shadcn/ui",
|
|
3946
|
+
"@elyracode/stack-primevue -- PrimeVue 4: 80+ UI components for Vue 3",
|
|
3947
|
+
"@elyracode/stack-filament -- Filament v5: admin panels, CRUD, tables, forms",
|
|
3948
|
+
"@elyracode/stack-laravel-ai -- Laravel AI SDK: agents, sub-agents, embeddings",
|
|
3949
|
+
"@elyracode/db-tools -- Database: MySQL, ClickHouse, SQLite, schema discovery",
|
|
3950
|
+
"@elyracode/laravel-starters -- Laravel starter kits from GitHub",
|
|
3951
|
+
"@elyracode/flux-ui -- Flux UI: component index, Blade converter, page gen",
|
|
3952
|
+
"@elyracode/doctor -- Project health: audit, deps, code debt, auto-heal",
|
|
3953
|
+
"@elyracode/http-tools -- HTTP: API testing, docs fetching, OpenAPI parsing",
|
|
3954
|
+
"@elyracode/design-tools -- Design: browser preview, screenshots, Tailwind QA",
|
|
3955
|
+
"@elyracode/subagents -- Subagents: scout, reviewer, planner, worker, oracle",
|
|
3956
|
+
];
|
|
3957
|
+
this.showSelector((done) => {
|
|
3958
|
+
const selector = new ExtensionSelectorComponent("Install Extension", packages, (selected) => {
|
|
3959
|
+
done();
|
|
3960
|
+
const pkgName = selected.split(" -- ")[0];
|
|
3961
|
+
this.showStatus(`Installing ${pkgName}...`);
|
|
3962
|
+
try {
|
|
3963
|
+
spawnSync("elyra", ["install", `npm:${pkgName}`], {
|
|
3964
|
+
cwd: process.cwd(),
|
|
3965
|
+
timeout: 60000,
|
|
3966
|
+
stdio: "pipe",
|
|
3967
|
+
});
|
|
3968
|
+
this.showStatus(`Installed ${pkgName}. Run /reload to activate.`);
|
|
3969
|
+
}
|
|
3970
|
+
catch {
|
|
3971
|
+
this.showError(`Failed to install ${pkgName}`);
|
|
3972
|
+
}
|
|
3973
|
+
}, () => done());
|
|
3974
|
+
return { component: selector, focus: selector };
|
|
3975
|
+
});
|
|
3976
|
+
}
|
|
3936
3977
|
async handleReloadCommand() {
|
|
3937
3978
|
if (this.session.isStreaming) {
|
|
3938
3979
|
this.showWarning("Wait for the current response to finish before reloading.");
|