simplicio-cli 0.9.3__tar.gz → 0.9.5__tar.gz
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.
- {simplicio_cli-0.9.3/simplicio_cli.egg-info → simplicio_cli-0.9.5}/PKG-INFO +1 -1
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/pyproject.toml +1 -1
- simplicio_cli-0.9.5/simplicio/__init__.py +1 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/mapper.py +103 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/mechanical_edit.py +180 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/pipeline.py +8 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5/simplicio_cli.egg-info}/PKG-INFO +1 -1
- simplicio_cli-0.9.3/simplicio/__init__.py +0 -1
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/LICENSE +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/setup.cfg +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/_cache.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/adaptive.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/bench.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/cache.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/cache_cli.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/cli.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/commands/__init__.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/commands/_shared.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/commands/bench.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/commands/cache.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/commands/claims.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/commands/detect.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/commands/doctor.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/commands/edit.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/commands/env_export.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/commands/file.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/commands/file_read.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/commands/gate.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/commands/index.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/commands/init.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/commands/inspect.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/commands/memory.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/commands/nest.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/commands/run.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/commands/runtime.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/commands/score_skill.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/commands/serve.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/commands/smoke.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/commands/status.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/commands/task.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/commands/test.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/commands/test_run.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/commands/token.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/detect.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/doctor.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/dod.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/ecosystem.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/hardware.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/init.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/intent.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/local_models.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/mcp_server.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/memory_store.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/observability.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/orchestrator/__init__.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/orchestrator/cost_governor.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/orchestrator/feature.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/pipeline_fixers.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/precedent.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/prompt.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/providers.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/py.typed +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/runtime_bridge.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/runtime_contracts.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/runtime_env.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/scratch/__init__.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/scratch/_pipeline_adapter.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/scratch/cli.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/scratch/codegen/__init__.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/scratch/codegen/go_gin.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/scratch/codegen/markdown_document.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/scratch/codegen/php_laravel.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/scratch/codegen/python_cst.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/scratch/codegen/python_fastapi.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/scratch/codegen/python_orm.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/scratch/codegen/python_pydantic.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/scratch/codegen/python_pytest.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/scratch/codegen/registry.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/scratch/codegen/rust_axum.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/scratch/codegen/types.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/scratch/codegen/typescript_next_page.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/scratch/codegen/typescript_next_route.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/scratch/executor.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/scratch/plan_schema.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/scratch/planner.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/scratch/recipes.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/scratch/skill_opt.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/scratch/stack_registry.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/skill_router.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/sprint_loader.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/SKILL.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/recipes/go-gin/admin-crud.yaml +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/recipes/go-gin/auth-jwt.yaml +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/recipes/go-gin/crud-resource.yaml +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/recipes/php-laravel/admin-crud.yaml +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/recipes/php-laravel/auth-jwt.yaml +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/recipes/php-laravel/crud-resource.yaml +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/recipes/php-vanilla/docs-marker.yaml +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/recipes/py-fastapi/admin-crud.yaml +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/recipes/py-fastapi/auth-jwt.yaml +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/recipes/py-fastapi/background-worker.yaml +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/recipes/py-fastapi/crud-resource.yaml +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/recipes/py-fastapi/file-upload.yaml +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/recipes/py-fastapi/oauth-integration.yaml +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/recipes/py-fastapi/scheduled-job.yaml +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/recipes/py-fastapi/websocket.yaml +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/recipes/rust-axum/admin-crud.yaml +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/recipes/rust-axum/auth-jwt.yaml +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/recipes/rust-axum/crud-resource.yaml +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/recipes/ts-nextjs/admin-crud.yaml +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/recipes/ts-nextjs/auth-jwt.yaml +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/recipes/ts-nextjs/crud-resource.yaml +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/simplicio_prompt.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/bash-cli/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/bash-cli/practices.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/bash-cli/stack.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/bash-cli/tree/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/bash-cli/tree/bin/app.sh +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/bash-cli/tree/test/app.bats +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/bash-cli/verify.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/csharp-aspnet/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/csharp-aspnet/practices.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/csharp-aspnet/stack.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/csharp-aspnet/tree/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/csharp-aspnet/tree/src/App.Api/App.Api.csproj +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/csharp-aspnet/tree/src/App.Api/Program.cs +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/csharp-aspnet/tree/tests/App.Tests/App.Tests.csproj +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/csharp-aspnet/tree/tests/App.Tests/HealthTests.cs +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/csharp-aspnet/verify.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/csharp-blazor/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/csharp-blazor/practices.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/csharp-blazor/stack.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/csharp-blazor/tree/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/csharp-blazor/tree/src/App.Web/App.Web.csproj +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/csharp-blazor/tree/src/App.Web/Components/App.razor +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/csharp-blazor/tree/src/App.Web/Components/Pages/Home.razor +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/csharp-blazor/tree/src/App.Web/Program.cs +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/csharp-blazor/tree/tests/App.Tests/App.Tests.csproj +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/csharp-blazor/tree/tests/App.Tests/HealthTests.cs +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/csharp-blazor/verify.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/dart-flutter/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/dart-flutter/practices.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/dart-flutter/stack.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/dart-flutter/tree/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/dart-flutter/tree/lib/main.dart +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/dart-flutter/tree/pubspec.yaml +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/dart-flutter/tree/test/widget_test.dart +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/dart-flutter/verify.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/elixir-phoenix/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/elixir-phoenix/practices.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/elixir-phoenix/stack.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/elixir-phoenix/tree/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/elixir-phoenix/tree/config/config.exs +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/elixir-phoenix/tree/lib/app/application.ex +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/elixir-phoenix/tree/lib/app_web/controllers/health_controller.ex +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/elixir-phoenix/tree/lib/app_web/endpoint.ex +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/elixir-phoenix/tree/lib/app_web/router.ex +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/elixir-phoenix/tree/mix.exs +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/elixir-phoenix/tree/test/health_controller_test.exs +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/elixir-phoenix/tree/test/test_helper.exs +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/elixir-phoenix/verify.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/go-cli/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/go-cli/practices.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/go-cli/stack.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/go-cli/tree/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/go-cli/tree/cmd/root.go +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/go-cli/tree/cmd/root_test.go +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/go-cli/tree/go.mod +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/go-cli/tree/main.go +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/go-cli/verify.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/go-echo/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/go-echo/practices.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/go-echo/stack.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/go-echo/tree/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/go-echo/tree/cmd/server/main.go +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/go-echo/tree/go.mod +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/go-echo/tree/internal/http/router.go +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/go-echo/tree/internal/http/router_test.go +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/go-echo/verify.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/go-gin/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/go-gin/practices.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/go-gin/stack.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/go-gin/tree/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/go-gin/tree/cmd/server/main.go +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/go-gin/tree/go.mod +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/go-gin/tree/internal/http/router.go +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/go-gin/tree/internal/http/router_test.go +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/go-gin/verify.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/java-spring/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/java-spring/practices.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/java-spring/stack.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/java-spring/tree/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/java-spring/tree/build.gradle.kts +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/java-spring/tree/settings.gradle.kts +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/java-spring/tree/src/main/java/com/example/Application.java +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/java-spring/tree/src/main/java/com/example/HealthController.java +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/java-spring/tree/src/test/java/com/example/HealthControllerTest.java +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/java-spring/verify.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/js-express/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/js-express/practices.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/js-express/stack.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/js-express/tree/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/js-express/tree/package.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/js-express/tree/src/app.js +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/js-express/tree/src/server.js +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/js-express/tree/tests/health.test.js +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/js-express/verify.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/kotlin-android/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/kotlin-android/practices.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/kotlin-android/stack.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/kotlin-android/tree/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/kotlin-android/tree/app/build.gradle.kts +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/kotlin-android/tree/app/src/main/AndroidManifest.xml +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/kotlin-android/tree/app/src/main/java/com/example/app/MainActivity.kt +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/kotlin-android/tree/app/src/main/res/values/styles.xml +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/kotlin-android/tree/app/src/test/java/com/example/app/SmokeTest.kt +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/kotlin-android/tree/build.gradle.kts +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/kotlin-android/tree/settings.gradle.kts +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/kotlin-android/verify.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/kotlin-ktor/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/kotlin-ktor/practices.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/kotlin-ktor/stack.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/kotlin-ktor/tree/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/kotlin-ktor/tree/build.gradle.kts +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/kotlin-ktor/tree/settings.gradle.kts +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/kotlin-ktor/tree/src/main/kotlin/com/example/Application.kt +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/kotlin-ktor/tree/src/test/kotlin/com/example/ApplicationTest.kt +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/kotlin-ktor/verify.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/kotlin-spring/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/kotlin-spring/practices.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/kotlin-spring/stack.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/kotlin-spring/tree/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/kotlin-spring/tree/build.gradle.kts +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/kotlin-spring/tree/settings.gradle.kts +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/kotlin-spring/tree/src/main/kotlin/com/example/Application.kt +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/kotlin-spring/tree/src/main/kotlin/com/example/HealthController.kt +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/kotlin-spring/tree/src/test/kotlin/com/example/HealthControllerTest.kt +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/kotlin-spring/verify.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/php-laravel/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/php-laravel/practices.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/php-laravel/stack.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/php-laravel/tree/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/php-laravel/tree/artisan +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/php-laravel/tree/bootstrap/app.php +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/php-laravel/tree/composer.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/php-laravel/tree/phpunit.xml +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/php-laravel/tree/routes/api.php +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/php-laravel/tree/routes/console.php +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/php-laravel/tree/tests/Feature/HealthTest.php +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/php-laravel/tree/tests/TestCase.php +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/php-laravel/verify.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/php-symfony/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/php-symfony/practices.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/php-symfony/stack.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/php-symfony/tree/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/php-symfony/tree/composer.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/php-symfony/tree/src/Controller/HealthController.php +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/php-symfony/tree/tests/HealthControllerTest.php +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/php-symfony/verify.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/php-vanilla/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/php-vanilla/practices.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/php-vanilla/stack.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/php-vanilla/tree/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/php-vanilla/tree/composer.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/php-vanilla/tree/phpunit.xml +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/php-vanilla/tree/src/Health.php +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/php-vanilla/tree/tests/HealthTest.php +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/php-vanilla/verify.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-cli/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-cli/practices.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-cli/stack.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-cli/tree/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-cli/tree/pyproject.toml +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-cli/tree/src/app/__init__.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-cli/tree/src/app/__pycache__/__init__.cpython-314.pyc +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-cli/tree/src/app/__pycache__/cli.cpython-314.pyc +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-cli/tree/src/app/cli.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-cli/tree/tests/__pycache__/test_cli.cpython-314.pyc +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-cli/tree/tests/test_cli.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-cli/verify.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-django/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-django/practices.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-django/stack.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-django/tree/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-django/tree/__pycache__/manage.cpython-314.pyc +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-django/tree/app/__init__.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-django/tree/app/__pycache__/__init__.cpython-314.pyc +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-django/tree/app/__pycache__/apps.cpython-314.pyc +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-django/tree/app/__pycache__/tests.cpython-314.pyc +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-django/tree/app/__pycache__/views.cpython-314.pyc +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-django/tree/app/apps.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-django/tree/app/tests.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-django/tree/app/views.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-django/tree/config/__init__.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-django/tree/config/__pycache__/__init__.cpython-314.pyc +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-django/tree/config/__pycache__/asgi.cpython-314.pyc +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-django/tree/config/__pycache__/settings.cpython-314.pyc +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-django/tree/config/__pycache__/urls.cpython-314.pyc +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-django/tree/config/__pycache__/wsgi.cpython-314.pyc +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-django/tree/config/asgi.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-django/tree/config/settings.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-django/tree/config/urls.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-django/tree/config/wsgi.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-django/tree/manage.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-django/tree/pyproject.toml +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-django/verify.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-fastapi/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-fastapi/practices.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-fastapi/stack.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-fastapi/tree/.gitignore +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-fastapi/tree/README.template.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-fastapi/tree/pyproject.toml +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-fastapi/tree/ruff.toml +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-fastapi/tree/src/__pycache__/main.cpython-314.pyc +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-fastapi/tree/src/api/__init__.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-fastapi/tree/src/api/__pycache__/__init__.cpython-314.pyc +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-fastapi/tree/src/main.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-fastapi/tree/tests/__pycache__/test_health.cpython-314.pyc +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-fastapi/tree/tests/test_health.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-fastapi/verify.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-flask/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-flask/practices.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-flask/stack.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-flask/tree/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-flask/tree/pyproject.toml +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-flask/tree/ruff.toml +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-flask/tree/src/__pycache__/app.cpython-314.pyc +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-flask/tree/src/app.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-flask/tree/tests/__pycache__/test_health.cpython-314.pyc +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-flask/tree/tests/test_health.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/py-flask/verify.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/react-vite/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/react-vite/practices.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/react-vite/stack.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/react-vite/tree/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/react-vite/tree/index.html +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/react-vite/tree/package.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/react-vite/tree/src/App.test.tsx +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/react-vite/tree/src/App.tsx +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/react-vite/tree/src/main.tsx +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/react-vite/tree/tsconfig.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/react-vite/verify.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/ruby-rails/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/ruby-rails/practices.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/ruby-rails/stack.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/ruby-rails/tree/Gemfile +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/ruby-rails/tree/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/ruby-rails/tree/app/controllers/health_controller.rb +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/ruby-rails/tree/bin/rails +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/ruby-rails/tree/config/application.rb +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/ruby-rails/tree/config/boot.rb +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/ruby-rails/tree/config/routes.rb +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/ruby-rails/tree/test/controllers/health_controller_test.rb +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/ruby-rails/tree/test/test_helper.rb +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/ruby-rails/verify.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/rust-axum/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/rust-axum/practices.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/rust-axum/stack.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/rust-axum/tree/Cargo.toml +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/rust-axum/tree/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/rust-axum/tree/src/main.rs +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/rust-axum/verify.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/rust-cli/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/rust-cli/practices.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/rust-cli/stack.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/rust-cli/tree/Cargo.toml +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/rust-cli/tree/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/rust-cli/tree/src/main.rs +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/rust-cli/verify.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/rust-leptos/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/rust-leptos/practices.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/rust-leptos/stack.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/rust-leptos/tree/Cargo.toml +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/rust-leptos/tree/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/rust-leptos/tree/src/main.rs +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/rust-leptos/verify.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/swift-ios/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/swift-ios/practices.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/swift-ios/stack.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/swift-ios/tree/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/swift-ios/tree/Sources/App/App.swift +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/swift-ios/tree/Sources/App/ContentView.swift +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/swift-ios/tree/Tests/AppTests/AppTests.swift +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/swift-ios/verify.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/swift-vapor/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/swift-vapor/practices.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/swift-vapor/stack.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/swift-vapor/tree/Package.swift +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/swift-vapor/tree/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/swift-vapor/tree/Sources/App/main.swift +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/swift-vapor/tree/Tests/AppTests/HealthTests.swift +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/swift-vapor/verify.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/ts-nestjs/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/ts-nestjs/practices.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/ts-nestjs/stack.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/ts-nestjs/tree/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/ts-nestjs/tree/package.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/ts-nestjs/tree/src/app.controller.spec.ts +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/ts-nestjs/tree/src/app.controller.ts +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/ts-nestjs/tree/src/app.module.ts +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/ts-nestjs/tree/src/main.ts +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/ts-nestjs/tree/tsconfig.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/ts-nestjs/verify.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/ts-nextjs/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/ts-nextjs/practices.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/ts-nextjs/stack.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/ts-nextjs/tree/.eslintrc.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/ts-nextjs/tree/.gitignore +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/ts-nextjs/tree/next.config.mjs +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/ts-nextjs/tree/package.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/ts-nextjs/tree/pnpm-workspace.yaml +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/ts-nextjs/tree/src/app/layout.tsx +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/ts-nextjs/tree/src/app/page.tsx +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/ts-nextjs/tree/tsconfig.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/ts-nextjs/verify.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/ts-remix/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/ts-remix/practices.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/ts-remix/stack.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/ts-remix/tree/README.md +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/ts-remix/tree/app/root.tsx +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/ts-remix/tree/app/routes/_index.tsx +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/ts-remix/tree/app/routes/health.test.ts +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/ts-remix/tree/app/routes/health.ts +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/ts-remix/tree/package.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/ts-remix/tree/tsconfig.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/stacks/ts-remix/verify.json +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/userpromptsubmit-hook.sh +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/token_primitives.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/toon_codec.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/utils/__init__.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/utils/cache.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/utils/http_client.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/utils/serialization.py +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio_cli.egg-info/SOURCES.txt +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio_cli.egg-info/dependency_links.txt +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio_cli.egg-info/entry_points.txt +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio_cli.egg-info/requires.txt +0 -0
- {simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio_cli.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: simplicio-cli
|
|
3
|
-
Version: 0.9.
|
|
3
|
+
Version: 0.9.5
|
|
4
4
|
Summary: Portable task-to-code pipeline that works with any LLM. Turn a one-line task into a verified code change — diff + test + verify loop. +55 pts on a 156-check benchmark, 21% faster, ~same tokens.
|
|
5
5
|
Author-email: Wesley Simplicio <wesleybob4@gmail.com>
|
|
6
6
|
License: MIT
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "simplicio-cli"
|
|
3
|
-
version = "0.9.
|
|
3
|
+
version = "0.9.5"
|
|
4
4
|
description = "Portable task-to-code pipeline that works with any LLM. Turn a one-line task into a verified code change — diff + test + verify loop. +55 pts on a 156-check benchmark, 21% faster, ~same tokens."
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
license = { text = "MIT" }
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.9.5"
|
|
@@ -304,9 +304,112 @@ def rank_entries(
|
|
|
304
304
|
return [entry for _score, entry in ranked[:limit]]
|
|
305
305
|
|
|
306
306
|
|
|
307
|
+
# Timeout for delegating a precedent search to the native `simplicio` Rust
|
|
308
|
+
# binary (`simplicio precedent search`, schema `simplicio.precedent-search/v1`).
|
|
309
|
+
# Short because this only assists ranking before a prompt is built — a
|
|
310
|
+
# slow/hanging binary must never block the existing artifact-file/embedding
|
|
311
|
+
# fallback chain below.
|
|
312
|
+
_NATIVE_PRECEDENT_TIMEOUT_S = 5.0
|
|
313
|
+
|
|
314
|
+
|
|
315
|
+
def _native_precedent_binary() -> str | None:
|
|
316
|
+
"""Locate the native `simplicio` binary, honoring this repo's dev-cli
|
|
317
|
+
kill-switch. Mirrors `simplicio.commands.edit._runtime_edit_binary` /
|
|
318
|
+
`simplicio.mechanical_edit._native_edit_binary` for this feature."""
|
|
319
|
+
if os.environ.get("SIMPLICIO_DEV_CLI_NO_RUNTIME_PRECEDENT"):
|
|
320
|
+
return None
|
|
321
|
+
return shutil.which("simplicio")
|
|
322
|
+
|
|
323
|
+
|
|
324
|
+
def _translate_native_candidate(candidate: dict[str, Any]) -> dict[str, Any]:
|
|
325
|
+
"""Reshape one `simplicio.precedent-search/v1` candidate (`precedent_id`,
|
|
326
|
+
`score`, `reuse_level`, `suggested_next_action`) into the item shape this
|
|
327
|
+
module's `rank_entries()`-backed candidates already carry (`path`,
|
|
328
|
+
`line`, `summary`, `tags`), so every existing caller of
|
|
329
|
+
`rank_precedents()` (`build_precedent_block()`, `build_mapper_context()`,
|
|
330
|
+
`_render_precedent_candidates_legacy/toon()`) keeps working unmodified.
|
|
331
|
+
The native fields are kept on the dict too, for any caller that wants
|
|
332
|
+
them directly."""
|
|
333
|
+
precedent_id = candidate.get("precedent_id")
|
|
334
|
+
reuse_level = candidate.get("reuse_level")
|
|
335
|
+
suggested_next_action = candidate.get("suggested_next_action")
|
|
336
|
+
return {
|
|
337
|
+
"precedent_id": precedent_id,
|
|
338
|
+
"score": candidate.get("score"),
|
|
339
|
+
"reuse_level": reuse_level,
|
|
340
|
+
"suggested_next_action": suggested_next_action,
|
|
341
|
+
"path": candidate.get("path") or f"precedent:{precedent_id or '?'}",
|
|
342
|
+
"line": candidate.get("line", 1),
|
|
343
|
+
"summary": candidate.get("summary")
|
|
344
|
+
or suggested_next_action
|
|
345
|
+
or (f"reuse_level={reuse_level}" if reuse_level else "runtime precedent"),
|
|
346
|
+
"tags": candidate.get("tags") or ([str(reuse_level)] if reuse_level else []),
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
|
|
350
|
+
def _native_precedent_search(
|
|
351
|
+
root: str | os.PathLike[str], text: str, top_n: int
|
|
352
|
+
) -> list[dict[str, Any]] | None:
|
|
353
|
+
"""Delegate precedent ranking to `simplicio precedent search --json`.
|
|
354
|
+
|
|
355
|
+
Returns the translated candidate list on a clean, non-empty answer, or
|
|
356
|
+
`None` on ANY failure — binary missing/kill-switched, non-zero exit,
|
|
357
|
+
timeout, unparseable JSON, a payload missing `candidates`, or a valid
|
|
358
|
+
but *empty* candidate list. Empty is deliberately treated the same as
|
|
359
|
+
failure here (stricter than `simplicio-mapper`'s own `ask precedent`,
|
|
360
|
+
which trusts an empty native answer as final): the native precedent
|
|
361
|
+
memory (`.simplicio/precedents/*.sqlite`, built from run history) and
|
|
362
|
+
this module's `precedent-index.json` artifact are independent stores, so
|
|
363
|
+
an empty/uninitialized native store must not shadow real candidates the
|
|
364
|
+
artifact-file chain below might still have. Never raises.
|
|
365
|
+
"""
|
|
366
|
+
binary = _native_precedent_binary()
|
|
367
|
+
if binary is None:
|
|
368
|
+
return None
|
|
369
|
+
top_n = top_n if isinstance(top_n, int) and top_n > 0 else 1
|
|
370
|
+
try:
|
|
371
|
+
completed = subprocess.run(
|
|
372
|
+
[
|
|
373
|
+
binary,
|
|
374
|
+
"precedent",
|
|
375
|
+
"search",
|
|
376
|
+
"--repo",
|
|
377
|
+
str(Path(root).resolve()),
|
|
378
|
+
"--text",
|
|
379
|
+
text,
|
|
380
|
+
"--top",
|
|
381
|
+
str(top_n),
|
|
382
|
+
"--json",
|
|
383
|
+
],
|
|
384
|
+
capture_output=True,
|
|
385
|
+
text=True,
|
|
386
|
+
timeout=_NATIVE_PRECEDENT_TIMEOUT_S,
|
|
387
|
+
)
|
|
388
|
+
except (OSError, subprocess.SubprocessError):
|
|
389
|
+
return None
|
|
390
|
+
if completed.returncode != 0:
|
|
391
|
+
return None
|
|
392
|
+
try:
|
|
393
|
+
payload = loads(completed.stdout)
|
|
394
|
+
except (ValueError, TypeError):
|
|
395
|
+
return None
|
|
396
|
+
if not isinstance(payload, dict):
|
|
397
|
+
return None
|
|
398
|
+
candidates = payload.get("candidates")
|
|
399
|
+
if not isinstance(candidates, list):
|
|
400
|
+
return None
|
|
401
|
+
translated = [_translate_native_candidate(c) for c in candidates[:top_n] if isinstance(c, dict)]
|
|
402
|
+
return translated or None
|
|
403
|
+
|
|
404
|
+
|
|
307
405
|
def rank_precedents(
|
|
308
406
|
root: str | os.PathLike[str], task: str, *, stack: str = "", k: int = 2
|
|
309
407
|
) -> list[dict[str, Any]]:
|
|
408
|
+
text = task.strip()
|
|
409
|
+
if text:
|
|
410
|
+
native = _native_precedent_search(root, text, k)
|
|
411
|
+
if native is not None:
|
|
412
|
+
return native[:k]
|
|
310
413
|
loaded = load_precedent_index(root)
|
|
311
414
|
if loaded is None:
|
|
312
415
|
return []
|
|
@@ -5,7 +5,10 @@ from __future__ import annotations
|
|
|
5
5
|
import difflib
|
|
6
6
|
import io
|
|
7
7
|
import json
|
|
8
|
+
import os
|
|
9
|
+
import shutil
|
|
8
10
|
import subprocess
|
|
11
|
+
import tempfile
|
|
9
12
|
import tokenize
|
|
10
13
|
from copy import deepcopy
|
|
11
14
|
from pathlib import Path
|
|
@@ -61,6 +64,11 @@ def execute_plan(
|
|
|
61
64
|
apply: bool = False,
|
|
62
65
|
) -> dict[str, Any]:
|
|
63
66
|
root_path = Path(root)
|
|
67
|
+
|
|
68
|
+
native_result = _try_native_edit(plan, root_path, apply=apply)
|
|
69
|
+
if native_result is not None:
|
|
70
|
+
return native_result
|
|
71
|
+
|
|
64
72
|
errors = _validate_shape(plan)
|
|
65
73
|
operations = plan.get("operations") if isinstance(plan.get("operations"), list) else []
|
|
66
74
|
touched_files = _declared_touched_files(plan, operations)
|
|
@@ -133,6 +141,178 @@ class MechanicalEditError(ValueError):
|
|
|
133
141
|
return {"code": self.code, "message": self.message, **self.extra}
|
|
134
142
|
|
|
135
143
|
|
|
144
|
+
# Timeout for delegating a plan to the native ``simplicio`` Rust binary.
|
|
145
|
+
# Matches the precedent in commands/file_read.py's RUNTIME_DELEGATION_TIMEOUT_S
|
|
146
|
+
# — generous enough for a real edit, short enough to never hang the caller
|
|
147
|
+
# when the binary exists but misbehaves.
|
|
148
|
+
_NATIVE_EDIT_TIMEOUT_S = 30.0
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
def _native_edit_binary() -> str | None:
|
|
152
|
+
"""Locate the native ``simplicio`` binary, honoring the dev-cli kill-switch.
|
|
153
|
+
|
|
154
|
+
Mirrors ``simplicio.commands.edit._runtime_edit_binary`` without importing
|
|
155
|
+
that module: ``commands/edit.py`` imports this module lazily (inside
|
|
156
|
+
``run_mechanical_edit``), so a module-level import back here would invert
|
|
157
|
+
that dependency.
|
|
158
|
+
"""
|
|
159
|
+
if os.environ.get("SIMPLICIO_DEV_CLI_NO_RUNTIME_EDIT"):
|
|
160
|
+
return None
|
|
161
|
+
return shutil.which("simplicio")
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
def _try_native_edit(
|
|
165
|
+
plan: dict[str, Any],
|
|
166
|
+
root_path: Path,
|
|
167
|
+
*,
|
|
168
|
+
apply: bool,
|
|
169
|
+
) -> dict[str, Any] | None:
|
|
170
|
+
"""Attempt to delegate *plan* to the native ``simplicio edit`` binary.
|
|
171
|
+
|
|
172
|
+
Returns the translated result dict on a clean, schema-matching success.
|
|
173
|
+
Returns ``None`` on ANY failure — binary missing, subprocess error,
|
|
174
|
+
timeout, non-JSON stdout, or a JSON payload that doesn't match
|
|
175
|
+
``RESULT_SCHEMA`` — so the caller falls through to the pure-Python
|
|
176
|
+
implementation below. Never raises.
|
|
177
|
+
"""
|
|
178
|
+
binary = _native_edit_binary()
|
|
179
|
+
if binary is None:
|
|
180
|
+
return None
|
|
181
|
+
|
|
182
|
+
try:
|
|
183
|
+
plan_text = json.dumps(plan)
|
|
184
|
+
except (TypeError, ValueError):
|
|
185
|
+
return None
|
|
186
|
+
|
|
187
|
+
tmp_path: str | None = None
|
|
188
|
+
try:
|
|
189
|
+
try:
|
|
190
|
+
fd, tmp_path = tempfile.mkstemp(prefix="simplicio-edit-plan-", suffix=".json")
|
|
191
|
+
with os.fdopen(fd, "w", encoding="utf-8") as handle:
|
|
192
|
+
handle.write(plan_text)
|
|
193
|
+
except OSError:
|
|
194
|
+
return None
|
|
195
|
+
|
|
196
|
+
cmd = [binary, "edit", "--plan", tmp_path, "--repo", str(root_path), "--json"]
|
|
197
|
+
if not apply:
|
|
198
|
+
cmd.append("--dry-run")
|
|
199
|
+
try:
|
|
200
|
+
completed = subprocess.run(
|
|
201
|
+
cmd,
|
|
202
|
+
capture_output=True,
|
|
203
|
+
text=True,
|
|
204
|
+
timeout=_NATIVE_EDIT_TIMEOUT_S,
|
|
205
|
+
)
|
|
206
|
+
except (OSError, subprocess.TimeoutExpired):
|
|
207
|
+
return None
|
|
208
|
+
|
|
209
|
+
try:
|
|
210
|
+
payload = json.loads(completed.stdout)
|
|
211
|
+
except (json.JSONDecodeError, ValueError):
|
|
212
|
+
return None
|
|
213
|
+
|
|
214
|
+
return _translate_native_result(payload, root_path)
|
|
215
|
+
finally:
|
|
216
|
+
if tmp_path is not None:
|
|
217
|
+
try:
|
|
218
|
+
os.unlink(tmp_path)
|
|
219
|
+
except OSError:
|
|
220
|
+
pass
|
|
221
|
+
|
|
222
|
+
|
|
223
|
+
|
|
224
|
+
# The native binary's *actual* `simplicio edit --json` output schema today —
|
|
225
|
+
# confirmed by running it live. It does NOT match this module's own
|
|
226
|
+
# RESULT_SCHEMA ("simplicio.mechanical-edit-result/v1"): the field shapes are
|
|
227
|
+
# genuinely different (`changed`/`file`/`operations_applied` vs this module's
|
|
228
|
+
# `noop`/`files`/`operation_count`), not just a schema-string typo. Translated
|
|
229
|
+
# below rather than requiring the runtime to change its established contract.
|
|
230
|
+
NATIVE_EDIT_RESULT_SCHEMA = "simplicio.edit-result/v1"
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
def _translate_native_result(payload: Any, root_path: Path) -> dict[str, Any] | None:
|
|
234
|
+
"""Translate the native `simplicio edit --json` payload into this
|
|
235
|
+
module's own result shape (same keys ``execute_plan`` always returns).
|
|
236
|
+
|
|
237
|
+
Returns ``None`` on any shape mismatch OR on `native_status ==
|
|
238
|
+
"checks_failed"` — a missing/renamed field is treated the same as "the
|
|
239
|
+
binary can't help here" rather than trusted partially. The
|
|
240
|
+
"checks_failed" exclusion is a real semantic gap, not caution for its own
|
|
241
|
+
sake: on a failed post-edit validation phase, the native binary has
|
|
242
|
+
already written the file and does NOT roll it back, while this module's
|
|
243
|
+
own Python path restores the pre-edit content on the same failure
|
|
244
|
+
(`_restore(root_path, backups)` in `execute_plan`). Translating that case
|
|
245
|
+
as a normal "refused" result would silently misrepresent the file as
|
|
246
|
+
unchanged when it is not — falling through to the Python path instead
|
|
247
|
+
preserves the rollback guarantee callers rely on.
|
|
248
|
+
"""
|
|
249
|
+
if not isinstance(payload, dict) or payload.get("schema") != NATIVE_EDIT_RESULT_SCHEMA:
|
|
250
|
+
return None
|
|
251
|
+
native_status = payload.get("status")
|
|
252
|
+
if native_status == "checks_failed":
|
|
253
|
+
return None
|
|
254
|
+
file_abs = payload.get("file")
|
|
255
|
+
changed = payload.get("changed")
|
|
256
|
+
dry_run = payload.get("dry_run")
|
|
257
|
+
operations_applied = payload.get("operations_applied")
|
|
258
|
+
before_sha = payload.get("before_sha256")
|
|
259
|
+
after_sha = payload.get("after_sha256")
|
|
260
|
+
if (
|
|
261
|
+
not isinstance(native_status, str)
|
|
262
|
+
or not isinstance(file_abs, str)
|
|
263
|
+
or not isinstance(changed, bool)
|
|
264
|
+
or not isinstance(dry_run, bool)
|
|
265
|
+
or not isinstance(operations_applied, int)
|
|
266
|
+
or not isinstance(before_sha, str)
|
|
267
|
+
or not isinstance(after_sha, str)
|
|
268
|
+
):
|
|
269
|
+
return None
|
|
270
|
+
|
|
271
|
+
try:
|
|
272
|
+
rel_path = str(Path(file_abs).resolve().relative_to(root_path.resolve()))
|
|
273
|
+
except ValueError:
|
|
274
|
+
# Native binary reported a path outside root — untranslatable, not a
|
|
275
|
+
# crash; the Python path applies its own root-escape checks anyway.
|
|
276
|
+
return None
|
|
277
|
+
|
|
278
|
+
files = (
|
|
279
|
+
[]
|
|
280
|
+
if before_sha == after_sha
|
|
281
|
+
else [{"path": rel_path, "before_sha256": before_sha, "after_sha256": after_sha}]
|
|
282
|
+
)
|
|
283
|
+
errors: list[dict[str, Any]] = []
|
|
284
|
+
if native_status != "ok":
|
|
285
|
+
skipped_reason = payload.get("post_edit_skipped_reason")
|
|
286
|
+
errors.append(
|
|
287
|
+
{
|
|
288
|
+
"code": "post_edit_phase_skipped",
|
|
289
|
+
"message": skipped_reason
|
|
290
|
+
if isinstance(skipped_reason, str)
|
|
291
|
+
else f"native status: {native_status}",
|
|
292
|
+
}
|
|
293
|
+
)
|
|
294
|
+
|
|
295
|
+
result = _base_result(root_path)
|
|
296
|
+
result.update(
|
|
297
|
+
{
|
|
298
|
+
"status": "ok",
|
|
299
|
+
"applied": bool(not dry_run),
|
|
300
|
+
"noop": not changed,
|
|
301
|
+
# The native binary's --json output does not currently include a
|
|
302
|
+
# unified diff string (only prints one to the console in
|
|
303
|
+
# --review/--dry-run mode, not part of this JSON payload) — an
|
|
304
|
+
# empty string is the honest "not available" value here, not a
|
|
305
|
+
# claim that nothing changed (see `files`/`noop` for that).
|
|
306
|
+
"planned_diff": "",
|
|
307
|
+
"files": files,
|
|
308
|
+
"operation_count": operations_applied,
|
|
309
|
+
"errors": errors,
|
|
310
|
+
"validation": [],
|
|
311
|
+
}
|
|
312
|
+
)
|
|
313
|
+
return result
|
|
314
|
+
|
|
315
|
+
|
|
136
316
|
def _validate_shape(plan: dict[str, Any]) -> list[dict[str, Any]]:
|
|
137
317
|
errors = []
|
|
138
318
|
if plan.get("schema") != PLAN_SCHEMA:
|
|
@@ -275,6 +275,14 @@ def build_retry_feedback(attempt, validation=None, test_log=""):
|
|
|
275
275
|
|
|
276
276
|
|
|
277
277
|
def _git_apply_patch(root, patch):
|
|
278
|
+
# No native-first `simplicio` delegation here (unlike mechanical_edit.py's
|
|
279
|
+
# execute_plan). Confirmed against the installed `simplicio` binary's own
|
|
280
|
+
# --help: `simplicio edit` only accepts a JSON operations plan
|
|
281
|
+
# (`--plan <file|->` or a literal JSON positional argument) — there is no
|
|
282
|
+
# --diff/--patch flag to feed it a raw unified diff. Delegation to the
|
|
283
|
+
# native binary happens at the mechanical_edit.py layer instead; this
|
|
284
|
+
# git-apply path (which applies an LLM-generated unified diff, not a
|
|
285
|
+
# mechanical-edit plan) stays local-only.
|
|
278
286
|
attempts = [
|
|
279
287
|
([], "git apply"),
|
|
280
288
|
(["--recount"], "git apply --recount"),
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: simplicio-cli
|
|
3
|
-
Version: 0.9.
|
|
3
|
+
Version: 0.9.5
|
|
4
4
|
Summary: Portable task-to-code pipeline that works with any LLM. Turn a one-line task into a verified code change — diff + test + verify loop. +55 pts on a 156-check benchmark, 21% faster, ~same tokens.
|
|
5
5
|
Author-email: Wesley Simplicio <wesleybob4@gmail.com>
|
|
6
6
|
License: MIT
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.9.3"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/scratch/codegen/typescript_next_page.py
RENAMED
|
File without changes
|
{simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/scratch/codegen/typescript_next_route.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/recipes/go-gin/admin-crud.yaml
RENAMED
|
File without changes
|
{simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/recipes/go-gin/auth-jwt.yaml
RENAMED
|
File without changes
|
{simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/recipes/go-gin/crud-resource.yaml
RENAMED
|
File without changes
|
{simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/recipes/php-laravel/admin-crud.yaml
RENAMED
|
File without changes
|
{simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/recipes/php-laravel/auth-jwt.yaml
RENAMED
|
File without changes
|
|
File without changes
|
{simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/recipes/php-vanilla/docs-marker.yaml
RENAMED
|
File without changes
|
{simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/recipes/py-fastapi/admin-crud.yaml
RENAMED
|
File without changes
|
{simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/recipes/py-fastapi/auth-jwt.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/recipes/py-fastapi/file-upload.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/recipes/py-fastapi/websocket.yaml
RENAMED
|
File without changes
|
{simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/recipes/rust-axum/admin-crud.yaml
RENAMED
|
File without changes
|
{simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/recipes/rust-axum/auth-jwt.yaml
RENAMED
|
File without changes
|
{simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/recipes/rust-axum/crud-resource.yaml
RENAMED
|
File without changes
|
{simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/recipes/ts-nextjs/admin-crud.yaml
RENAMED
|
File without changes
|
{simplicio_cli-0.9.3 → simplicio_cli-0.9.5}/simplicio/templates/recipes/ts-nextjs/auth-jwt.yaml
RENAMED
|
File without changes
|