@elyracode/coding-agent 0.5.0 → 0.5.2
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 +14 -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 +45 -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,46 @@ 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
|
+
"@elyracode/git-intel -- Git: session briefings, commit messages, PR descriptions",
|
|
3957
|
+
"@elyracode/test-gen -- Testing: Pest for Laravel, Vitest for TypeScript",
|
|
3958
|
+
"@elyracode/perf-tools -- Performance: N+1 queries, slow queries, indexes",
|
|
3959
|
+
"@elyracode/i18n-tools -- Localization: hardcoded strings, missing translations",
|
|
3960
|
+
];
|
|
3961
|
+
this.showSelector((done) => {
|
|
3962
|
+
const selector = new ExtensionSelectorComponent("Install Extension", packages, (selected) => {
|
|
3963
|
+
done();
|
|
3964
|
+
const pkgName = selected.split(" -- ")[0];
|
|
3965
|
+
this.showStatus(`Installing ${pkgName}...`);
|
|
3966
|
+
try {
|
|
3967
|
+
spawnSync("elyra", ["install", `npm:${pkgName}`], {
|
|
3968
|
+
cwd: process.cwd(),
|
|
3969
|
+
timeout: 60000,
|
|
3970
|
+
stdio: "pipe",
|
|
3971
|
+
});
|
|
3972
|
+
this.showStatus(`Installed ${pkgName}. Run /reload to activate.`);
|
|
3973
|
+
}
|
|
3974
|
+
catch {
|
|
3975
|
+
this.showError(`Failed to install ${pkgName}`);
|
|
3976
|
+
}
|
|
3977
|
+
}, () => done());
|
|
3978
|
+
return { component: selector, focus: selector };
|
|
3979
|
+
});
|
|
3980
|
+
}
|
|
3936
3981
|
async handleReloadCommand() {
|
|
3937
3982
|
if (this.session.isStreaming) {
|
|
3938
3983
|
this.showWarning("Wait for the current response to finish before reloading.");
|