rpr-cli 0.1.9__tar.gz → 0.1.20__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.
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/PKG-INFO +1 -1
- rpr_cli-0.1.20/src/rpr/__init__.py +1 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/dependency_manifest_data.py +96 -91
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/manifest_refresh.py +37 -9
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/tests/test_generate_storybook.py +4 -1
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/tests/test_init.py +1 -8
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/tests/test_refresh.py +10 -11
- rpr_cli-0.1.9/src/rpr/__init__.py +0 -1
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/.github/agents/story.agent.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/.github/workflows/publish-pypi.yml +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/.gitignore +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/CLAUDE.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/GEMINI.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/LICENSE +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/README.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/Sample-dot-github/instructions/all.instructions.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/Sample-dot-github/instructions/api.instructions.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/Sample-dot-github/instructions/domain.instructions.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/Sample-dot-github/instructions/frontend.instructions.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/Sample-dot-github/instructions/rust-engine.instructions.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/Sample-dot-github/instructions/setup-guide.instructions.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/Sample-dot-github/instructions/tooling-setup.instructions.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/Sample-dot-github/instructions/tooling.instructions.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/Sample-dot-github/scaffolds/README.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/Sample-dot-github/scaffolds/api/main.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/Sample-dot-github/scaffolds/domain/base-repo.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/Sample-dot-github/scaffolds/domain/base_entity.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/Sample-dot-github/scaffolds/frontend/api.service.ts +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/Sample-dot-github/scaffolds/frontend/useStateNavigation.ts +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/changelogs/mui_v9.txt +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/code-map.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/nx_uv_setup.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/patch_output.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/pyproject.toml +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/rpr-parser/Cargo.lock +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/rpr-parser/Cargo.toml +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/rpr-parser/pyproject.toml +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/rpr-parser/rpr_parser.pyi +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/rpr-parser/src/config/container.rs +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/rpr-parser/src/config/mod.rs +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/rpr-parser/src/config/settings.rs +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/rpr-parser/src/graph.rs +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/rpr-parser/src/lib.rs +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/rpr-parser/src/models/dtos/mod.rs +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/rpr-parser/src/models/entities/mod.rs +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/rpr-parser/src/models/entities/users.rs +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/rpr-parser/src/models/mod.rs +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/rpr-parser/src/parse.rs +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/rpr-parser/src/repos/base.rs +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/rpr-parser/src/repos/mod.rs +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/rpr-parser/src/repos/users.rs +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/rpr-parser/src/resolve.rs +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/rpr-parser/src/walker.rs +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/rpr-parser/uv.lock +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/special_files.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/agent/__init__.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/agent/approval.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/agent/bootstrap.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/agent/client.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/agent/control.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/agent/mock.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/agent/runtime.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/agent/session.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/agent/tools/__init__.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/agent/tools/base.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/agent/tools/mutating.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/agent/tools/readonly.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/agent/tools/registry.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/application/__init__.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/application/catalog.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/application/chat_service.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/application/checks.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/application/cli_adapter.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/application/completer.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/application/conversation_service.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/application/prompt_service.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/application/selector.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/application/shell.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/checks/__init__.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/checks/base.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/checks/instructions.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/checks/packages.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/checks/workspace.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/cli.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/commands/__init__.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/commands/add.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/commands/chat.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/commands/check.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/commands/generate/__init__.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/commands/generate/api.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/commands/generate/domain.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/commands/generate/engine.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/commands/generate/storybook.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/commands/generate/ui.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/commands/init.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/commands/map.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/commands/refresh.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/commands/settings.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/commands/sync.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/context.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/dependencies.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/generators/__init__.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/generators/base.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/generators/claude.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/generators/copilot.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/generators/cursor.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/generators/gemini.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/map/__init__.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/map/architecture.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/map/chains.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/map/classifier.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/map/coverage.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/map/dependencies.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/map/extractor.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/map/graph.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/map/output.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/map/responsibility.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/map/topology.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/map/walker.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/scaffolds/domain/base_entity.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/scaffolds/domain/base_repo.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/scaffolds/domain/container.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/scaffolds/domain/settings.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/scaffolds/instructions/all.instructions.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/scaffolds/instructions/api.instructions.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/scaffolds/instructions/domain.instructions.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/scaffolds/instructions/frontend.instructions.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/scaffolds/instructions/rust-engine.instructions.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/scaffolds/instructions/setup-guide.instructions.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/scaffolds/instructions/tooling-setup.instructions.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/scaffolds/instructions/tooling.instructions.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/scaffolds/js_special_files/fetch.service.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/scaffolds/js_special_files/sticky-navigation.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/scaffolds/special_files/domain_container.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/scaffolds/special_files/domain_settings.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/scaffolds/special_files/dto_util.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/scaffolds/special_files/encrypted_column.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/scaffolds/special_files/mapper_util.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/scaffolds/special_files/partial_update.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/templates/__init__.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/templates/registry.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/ui/__init__.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/ui/console.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/ui/markdown.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/ui/prompt_session.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/ui/renderers.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/ui/theme.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/src/rpr/workspace.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/stories/README.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/stories/completed/00-bootstrap-cli.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/stories/completed/01-rpr-init.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/stories/completed/02-rpr-generate-domain.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/stories/completed/03-rpr-generate-api.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/stories/completed/04-rpr-generate-ui.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/stories/completed/05-rpr-generate-engine.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/stories/completed/06-rpr-generate-storybook.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/stories/completed/07-rpr-sync-rules.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/stories/completed/08-rpr-add-template.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/stories/completed/09-rpr-check.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/stories/completed/10-rpr-domain-config.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/stories/completed/chat/18-rpr-terminal-ui-foundation.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/stories/completed/chat/19-rpr-markdown-rendering.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/stories/completed/chat/20-rpr-chat-repl.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/stories/completed/chat/21-rpr-agent-tool-loop.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/stories/completed/chat/22-rpr-chat-tui.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/stories/completed/chat/23-rpr-chat-unified-command-shell.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/stories/completed/chat/24-rpr-async-chat-runtime-and-services.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/stories/completed/chat/25-rpr-prompt-service-and-conversation-lifecycle.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/stories/completed/chat/26-rpr-shared-command-catalog.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/stories/completed/chat/27-rpr-slash-command-selection-panel.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/stories/completed/chat/28-rpr-chat-cancellable-and-multiline-input.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/stories/completed/chat/29-rpr-file-context-selection.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/stories/completed/map/11-rpr-map-command.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/stories/completed/map/12-rpr-map-file-walker.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/stories/completed/map/13-rpr-map-rust-engine.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/stories/completed/map/13a-rpr-map-gitignore.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/stories/completed/map/14-rpr-map-graph-builder.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/stories/completed/map/15-rpr-map-analysis-bridge.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/stories/completed/map/16-rpr-map-layer-classifier.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/stories/completed/map/17-rpr-map-output.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/stories/completed/map/17a-rpr-map-directory-topology.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/stories/completed/map/17b-rpr-map-architecture-assessment.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/stories/completed/map/17c-rpr-map-representative-chains.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/stories/completed/map/17d-rpr-map-multi-resolution-output.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/stories/map/30-rpr-map-directory-view-and-cycle-detection.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/stories/map/31-rpr-map-coupling-hotspots-and-verdict-reasoning.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/stories/map/32-rpr-map-dependencies-responsibilities-and-test-coverage.md +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/tests/__init__.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/tests/test_add.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/tests/test_architecture.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/tests/test_architecture_unwrapped.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/tests/test_catalog.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/tests/test_chat.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/tests/test_chat_service.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/tests/test_check.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/tests/test_completer.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/tests/test_context.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/tests/test_generate_api.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/tests/test_generate_domain.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/tests/test_generate_engine.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/tests/test_generate_ui.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/tests/test_map.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/tests/test_map_chains.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/tests/test_map_classifier.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/tests/test_map_coverage.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/tests/test_map_dependencies.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/tests/test_map_extractor.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/tests/test_map_graph.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/tests/test_map_output.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/tests/test_map_responsibility.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/tests/test_map_topology.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/tests/test_map_walker.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/tests/test_packaging.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/tests/test_prompt_session.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/tests/test_rpr_parser_stub.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/tests/test_selector.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/tests/test_settings.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/tests/test_sync.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/tests/test_ui.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/update_output.py +0 -0
- {rpr_cli-0.1.9 → rpr_cli-0.1.20}/uv.lock +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.1.20"
|
|
@@ -6,279 +6,284 @@ from __future__ import annotations
|
|
|
6
6
|
MANIFEST = {
|
|
7
7
|
"root_node_dev_dependencies": {
|
|
8
8
|
"@eslint/js": {
|
|
9
|
-
"specifier": "
|
|
9
|
+
"specifier": "latest",
|
|
10
10
|
},
|
|
11
11
|
"@nx/eslint": {
|
|
12
|
-
"specifier": "
|
|
12
|
+
"specifier": "latest",
|
|
13
13
|
},
|
|
14
14
|
"@nx/eslint-plugin": {
|
|
15
|
-
"specifier": "
|
|
15
|
+
"specifier": "latest",
|
|
16
16
|
},
|
|
17
17
|
"eslint": {
|
|
18
|
-
"specifier": "
|
|
18
|
+
"specifier": "latest",
|
|
19
19
|
},
|
|
20
20
|
"eslint-plugin-import": {
|
|
21
|
-
"specifier": "
|
|
21
|
+
"specifier": "latest",
|
|
22
22
|
},
|
|
23
23
|
"eslint-plugin-jsx-a11y": {
|
|
24
|
-
"specifier": "
|
|
24
|
+
"specifier": "latest",
|
|
25
25
|
},
|
|
26
26
|
"eslint-plugin-react": {
|
|
27
|
-
"specifier": "
|
|
27
|
+
"specifier": "latest",
|
|
28
28
|
},
|
|
29
29
|
"eslint-plugin-react-hooks": {
|
|
30
|
-
"specifier": "
|
|
30
|
+
"specifier": "latest",
|
|
31
31
|
},
|
|
32
32
|
"globals": {
|
|
33
|
-
"specifier": "
|
|
33
|
+
"specifier": "latest",
|
|
34
34
|
},
|
|
35
35
|
"prettier": {
|
|
36
|
-
"specifier": "
|
|
36
|
+
"specifier": "latest",
|
|
37
37
|
},
|
|
38
38
|
"typescript-eslint": {
|
|
39
|
-
"specifier": "
|
|
39
|
+
"specifier": "latest",
|
|
40
40
|
},
|
|
41
41
|
},
|
|
42
42
|
"root_storybook_dev_dependencies": {
|
|
43
43
|
"@nx/storybook": {
|
|
44
44
|
"registry": "npm",
|
|
45
45
|
"specifier": "latest",
|
|
46
|
-
"strategy": "
|
|
46
|
+
"strategy": "latest",
|
|
47
47
|
}
|
|
48
48
|
},
|
|
49
49
|
"ui_library_dependencies": {
|
|
50
50
|
"@mui/material": {
|
|
51
51
|
"registry": "npm",
|
|
52
|
-
"specifier": "
|
|
53
|
-
"strategy": "
|
|
52
|
+
"specifier": "latest",
|
|
53
|
+
"strategy": "latest",
|
|
54
54
|
},
|
|
55
55
|
"@emotion/react": {
|
|
56
56
|
"registry": "npm",
|
|
57
|
-
"specifier": "
|
|
58
|
-
"strategy": "
|
|
57
|
+
"specifier": "latest",
|
|
58
|
+
"strategy": "latest",
|
|
59
59
|
},
|
|
60
60
|
"@emotion/styled": {
|
|
61
61
|
"registry": "npm",
|
|
62
|
-
"specifier": "
|
|
63
|
-
"strategy": "
|
|
62
|
+
"specifier": "latest",
|
|
63
|
+
"strategy": "latest",
|
|
64
64
|
},
|
|
65
65
|
"@tanstack/react-query": {
|
|
66
66
|
"registry": "npm",
|
|
67
|
-
"specifier": "
|
|
68
|
-
"strategy": "
|
|
67
|
+
"specifier": "latest",
|
|
68
|
+
"strategy": "latest",
|
|
69
69
|
},
|
|
70
70
|
"@tanstack/react-router": {
|
|
71
71
|
"registry": "npm",
|
|
72
|
-
"specifier": "
|
|
73
|
-
"strategy": "
|
|
72
|
+
"specifier": "latest",
|
|
73
|
+
"strategy": "latest",
|
|
74
74
|
},
|
|
75
75
|
"react": {
|
|
76
76
|
"registry": "npm",
|
|
77
|
-
"specifier": "
|
|
78
|
-
"strategy": "
|
|
77
|
+
"specifier": "latest",
|
|
78
|
+
"strategy": "latest",
|
|
79
79
|
},
|
|
80
80
|
"react-dom": {
|
|
81
81
|
"registry": "npm",
|
|
82
|
-
"specifier": "
|
|
83
|
-
"strategy": "
|
|
82
|
+
"specifier": "latest",
|
|
83
|
+
"strategy": "latest",
|
|
84
84
|
},
|
|
85
85
|
},
|
|
86
86
|
"ui_library_dev_dependencies": {
|
|
87
87
|
"@types/react": {
|
|
88
88
|
"registry": "npm",
|
|
89
|
-
"specifier": "
|
|
90
|
-
"strategy": "
|
|
89
|
+
"specifier": "latest",
|
|
90
|
+
"strategy": "latest",
|
|
91
91
|
},
|
|
92
92
|
"@types/react-dom": {
|
|
93
93
|
"registry": "npm",
|
|
94
|
-
"specifier": "
|
|
95
|
-
"strategy": "
|
|
94
|
+
"specifier": "latest",
|
|
95
|
+
"strategy": "latest",
|
|
96
96
|
},
|
|
97
97
|
"typescript": {
|
|
98
98
|
"registry": "npm",
|
|
99
|
-
"specifier": "
|
|
100
|
-
"strategy": "
|
|
99
|
+
"specifier": "latest",
|
|
100
|
+
"strategy": "latest",
|
|
101
101
|
},
|
|
102
102
|
"vite": {
|
|
103
103
|
"registry": "npm",
|
|
104
|
-
"specifier": "
|
|
105
|
-
"strategy": "
|
|
104
|
+
"specifier": "latest",
|
|
105
|
+
"strategy": "latest",
|
|
106
106
|
},
|
|
107
107
|
"vitest": {
|
|
108
108
|
"registry": "npm",
|
|
109
|
-
"specifier": "
|
|
110
|
-
"strategy": "
|
|
109
|
+
"specifier": "latest",
|
|
110
|
+
"strategy": "latest",
|
|
111
111
|
},
|
|
112
112
|
},
|
|
113
113
|
"web_app_dev_dependencies": {
|
|
114
114
|
"@types/react": {
|
|
115
115
|
"registry": "npm",
|
|
116
|
-
"specifier": "
|
|
117
|
-
"strategy": "
|
|
116
|
+
"specifier": "latest",
|
|
117
|
+
"strategy": "latest",
|
|
118
118
|
},
|
|
119
119
|
"@types/react-dom": {
|
|
120
120
|
"registry": "npm",
|
|
121
|
-
"specifier": "
|
|
122
|
-
"strategy": "
|
|
121
|
+
"specifier": "latest",
|
|
122
|
+
"strategy": "latest",
|
|
123
123
|
},
|
|
124
124
|
"@vitejs/plugin-react": {
|
|
125
125
|
"registry": "npm",
|
|
126
126
|
"specifier": "latest",
|
|
127
|
-
"strategy": "
|
|
127
|
+
"strategy": "latest",
|
|
128
128
|
},
|
|
129
129
|
"typescript": {
|
|
130
130
|
"registry": "npm",
|
|
131
|
-
"specifier": "
|
|
132
|
-
"strategy": "
|
|
131
|
+
"specifier": "latest",
|
|
132
|
+
"strategy": "latest",
|
|
133
133
|
},
|
|
134
134
|
"vite": {
|
|
135
135
|
"registry": "npm",
|
|
136
|
-
"specifier": "
|
|
137
|
-
"strategy": "
|
|
136
|
+
"specifier": "latest",
|
|
137
|
+
"strategy": "latest",
|
|
138
138
|
},
|
|
139
139
|
"vitest": {
|
|
140
140
|
"registry": "npm",
|
|
141
|
-
"specifier": "
|
|
142
|
-
"strategy": "
|
|
141
|
+
"specifier": "latest",
|
|
142
|
+
"strategy": "latest",
|
|
143
143
|
},
|
|
144
144
|
},
|
|
145
145
|
"storybook_dependencies": {
|
|
146
146
|
"@emotion/react": {
|
|
147
147
|
"registry": "npm",
|
|
148
|
-
"specifier": "
|
|
149
|
-
"strategy": "
|
|
148
|
+
"specifier": "latest",
|
|
149
|
+
"strategy": "latest",
|
|
150
150
|
},
|
|
151
151
|
"@emotion/styled": {
|
|
152
152
|
"registry": "npm",
|
|
153
|
-
"specifier": "
|
|
154
|
-
"strategy": "
|
|
153
|
+
"specifier": "latest",
|
|
154
|
+
"strategy": "latest",
|
|
155
155
|
},
|
|
156
156
|
"@mui/material": {
|
|
157
157
|
"registry": "npm",
|
|
158
|
-
"specifier": "
|
|
159
|
-
"strategy": "
|
|
158
|
+
"specifier": "latest",
|
|
159
|
+
"strategy": "latest",
|
|
160
160
|
},
|
|
161
161
|
"react": {
|
|
162
162
|
"registry": "npm",
|
|
163
|
-
"specifier": "
|
|
164
|
-
"strategy": "
|
|
163
|
+
"specifier": "latest",
|
|
164
|
+
"strategy": "latest",
|
|
165
165
|
},
|
|
166
166
|
"react-dom": {
|
|
167
167
|
"registry": "npm",
|
|
168
|
-
"specifier": "
|
|
169
|
-
"strategy": "
|
|
168
|
+
"specifier": "latest",
|
|
169
|
+
"strategy": "latest",
|
|
170
170
|
},
|
|
171
171
|
},
|
|
172
172
|
"storybook_dev_dependencies": {
|
|
173
173
|
"@storybook/addon-essentials": {
|
|
174
174
|
"registry": "npm",
|
|
175
|
-
"specifier": "
|
|
176
|
-
"strategy": "
|
|
175
|
+
"specifier": "latest",
|
|
176
|
+
"strategy": "latest",
|
|
177
177
|
},
|
|
178
178
|
"@storybook/react": {
|
|
179
179
|
"registry": "npm",
|
|
180
|
-
"specifier": "
|
|
181
|
-
"strategy": "
|
|
180
|
+
"specifier": "latest",
|
|
181
|
+
"strategy": "latest",
|
|
182
182
|
},
|
|
183
183
|
"@storybook/react-vite": {
|
|
184
184
|
"registry": "npm",
|
|
185
|
-
"specifier": "
|
|
186
|
-
"strategy": "
|
|
185
|
+
"specifier": "latest",
|
|
186
|
+
"strategy": "latest",
|
|
187
|
+
},
|
|
188
|
+
"@vitejs/plugin-react": {
|
|
189
|
+
"registry": "npm",
|
|
190
|
+
"specifier": "latest",
|
|
191
|
+
"strategy": "latest",
|
|
187
192
|
},
|
|
188
193
|
"@types/react": {
|
|
189
194
|
"registry": "npm",
|
|
190
|
-
"specifier": "
|
|
191
|
-
"strategy": "
|
|
195
|
+
"specifier": "latest",
|
|
196
|
+
"strategy": "latest",
|
|
192
197
|
},
|
|
193
198
|
"@types/react-dom": {
|
|
194
199
|
"registry": "npm",
|
|
195
|
-
"specifier": "
|
|
196
|
-
"strategy": "
|
|
200
|
+
"specifier": "latest",
|
|
201
|
+
"strategy": "latest",
|
|
197
202
|
},
|
|
198
203
|
"storybook": {
|
|
199
204
|
"registry": "npm",
|
|
200
|
-
"specifier": "
|
|
201
|
-
"strategy": "
|
|
205
|
+
"specifier": "latest",
|
|
206
|
+
"strategy": "latest",
|
|
202
207
|
},
|
|
203
208
|
"typescript": {
|
|
204
209
|
"registry": "npm",
|
|
205
|
-
"specifier": "
|
|
206
|
-
"strategy": "
|
|
210
|
+
"specifier": "latest",
|
|
211
|
+
"strategy": "latest",
|
|
207
212
|
},
|
|
208
213
|
"vite": {
|
|
209
214
|
"registry": "npm",
|
|
210
|
-
"specifier": "
|
|
211
|
-
"strategy": "
|
|
215
|
+
"specifier": "latest",
|
|
216
|
+
"strategy": "latest",
|
|
212
217
|
},
|
|
213
218
|
"vitest": {
|
|
214
219
|
"registry": "npm",
|
|
215
|
-
"specifier": "
|
|
216
|
-
"strategy": "
|
|
220
|
+
"specifier": "latest",
|
|
221
|
+
"strategy": "latest",
|
|
217
222
|
},
|
|
218
223
|
},
|
|
219
224
|
"domain_runtime_dependencies": {
|
|
220
225
|
"sqlmodel": {
|
|
221
226
|
"registry": "pypi",
|
|
222
227
|
"specifier": "sqlmodel",
|
|
223
|
-
"strategy": "
|
|
228
|
+
"strategy": "latest",
|
|
224
229
|
},
|
|
225
230
|
"httpx": {
|
|
226
231
|
"registry": "pypi",
|
|
227
232
|
"specifier": "httpx",
|
|
228
|
-
"strategy": "
|
|
233
|
+
"strategy": "latest",
|
|
229
234
|
},
|
|
230
235
|
"dependency-injector": {
|
|
231
236
|
"registry": "pypi",
|
|
232
237
|
"specifier": "dependency-injector",
|
|
233
|
-
"strategy": "
|
|
238
|
+
"strategy": "latest",
|
|
234
239
|
},
|
|
235
240
|
"pydantic": {
|
|
236
241
|
"registry": "pypi",
|
|
237
242
|
"specifier": "pydantic",
|
|
238
|
-
"strategy": "
|
|
243
|
+
"strategy": "latest",
|
|
239
244
|
},
|
|
240
245
|
"pydantic-settings": {
|
|
241
246
|
"registry": "pypi",
|
|
242
247
|
"specifier": "pydantic-settings",
|
|
243
|
-
"strategy": "
|
|
248
|
+
"strategy": "latest",
|
|
244
249
|
},
|
|
245
250
|
"asyncpg": {
|
|
246
251
|
"registry": "pypi",
|
|
247
252
|
"specifier": "asyncpg",
|
|
248
|
-
"strategy": "
|
|
253
|
+
"strategy": "latest",
|
|
249
254
|
},
|
|
250
255
|
},
|
|
251
256
|
"domain_migration_dependencies": {
|
|
252
257
|
"alembic": {
|
|
253
258
|
"registry": "pypi",
|
|
254
259
|
"specifier": "alembic",
|
|
255
|
-
"strategy": "
|
|
260
|
+
"strategy": "latest",
|
|
256
261
|
}
|
|
257
262
|
},
|
|
258
263
|
"api_runtime_base_dependencies": {
|
|
259
264
|
"fastapi": {
|
|
260
265
|
"registry": "pypi",
|
|
261
|
-
"specifier": "fastapi
|
|
262
|
-
"strategy": "
|
|
266
|
+
"specifier": "fastapi",
|
|
267
|
+
"strategy": "latest",
|
|
263
268
|
"package": "fastapi",
|
|
264
269
|
},
|
|
265
270
|
"uvicorn[standard]": {
|
|
266
271
|
"registry": "pypi",
|
|
267
|
-
"specifier": "uvicorn[standard]
|
|
268
|
-
"strategy": "
|
|
272
|
+
"specifier": "uvicorn[standard]",
|
|
273
|
+
"strategy": "latest",
|
|
269
274
|
"package": "uvicorn",
|
|
270
275
|
},
|
|
271
276
|
},
|
|
272
277
|
"engine": {
|
|
273
278
|
"pyo3": {
|
|
274
279
|
"registry": "cratesio",
|
|
275
|
-
"specifier": "
|
|
276
|
-
"strategy": "
|
|
280
|
+
"specifier": "*",
|
|
281
|
+
"strategy": "latest",
|
|
277
282
|
},
|
|
278
283
|
"maturin": {
|
|
279
284
|
"registry": "pypi",
|
|
280
|
-
"specifier": "maturin
|
|
281
|
-
"strategy": "
|
|
285
|
+
"specifier": "maturin",
|
|
286
|
+
"strategy": "latest",
|
|
282
287
|
},
|
|
283
288
|
},
|
|
284
|
-
}
|
|
289
|
+
}
|
|
@@ -9,7 +9,7 @@ from urllib.parse import quote
|
|
|
9
9
|
from urllib.request import Request, urlopen
|
|
10
10
|
|
|
11
11
|
RegistryName = Literal["npm", "pypi", "cratesio"]
|
|
12
|
-
RefreshStrategy = Literal["caret", "minimum", "exact", "major-range"]
|
|
12
|
+
RefreshStrategy = Literal["caret", "minimum", "exact", "major-range", "latest"]
|
|
13
13
|
Manifest = dict[str, dict[str, dict[str, str]]]
|
|
14
14
|
|
|
15
15
|
_USER_AGENT = "rpr-cli/0.1.1 (+https://github.com/)"
|
|
@@ -79,13 +79,31 @@ def refresh_dependency_manifest(
|
|
|
79
79
|
continue
|
|
80
80
|
|
|
81
81
|
package = entry.get("package", dependency)
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
82
|
+
if strategy == "latest":
|
|
83
|
+
latest_version = "latest"
|
|
84
|
+
new_specifier = _format_specifier(
|
|
85
|
+
strategy,
|
|
86
|
+
dependency,
|
|
87
|
+
package,
|
|
88
|
+
latest_version,
|
|
89
|
+
registry,
|
|
90
|
+
)
|
|
91
|
+
else:
|
|
92
|
+
cache_key = (registry, package)
|
|
93
|
+
latest_version = latest_version_cache.get(cache_key)
|
|
94
|
+
if latest_version is None:
|
|
95
|
+
latest_version = fetch_latest_version(
|
|
96
|
+
registry, package, timeout=timeout
|
|
97
|
+
)
|
|
98
|
+
latest_version_cache[cache_key] = latest_version
|
|
99
|
+
|
|
100
|
+
new_specifier = _format_specifier(
|
|
101
|
+
strategy,
|
|
102
|
+
dependency,
|
|
103
|
+
package,
|
|
104
|
+
latest_version,
|
|
105
|
+
registry,
|
|
106
|
+
)
|
|
89
107
|
old_specifier = entry["specifier"]
|
|
90
108
|
if new_specifier == old_specifier:
|
|
91
109
|
continue
|
|
@@ -107,8 +125,18 @@ def refresh_dependency_manifest(
|
|
|
107
125
|
|
|
108
126
|
|
|
109
127
|
def _format_specifier(
|
|
110
|
-
strategy: str,
|
|
128
|
+
strategy: str,
|
|
129
|
+
dependency: str,
|
|
130
|
+
package: str,
|
|
131
|
+
latest_version: str,
|
|
132
|
+
registry: str,
|
|
111
133
|
) -> str:
|
|
134
|
+
if strategy == "latest":
|
|
135
|
+
if registry == "npm":
|
|
136
|
+
return "latest"
|
|
137
|
+
if registry == "cratesio":
|
|
138
|
+
return "*"
|
|
139
|
+
return dependency
|
|
112
140
|
if strategy == "caret":
|
|
113
141
|
return f"^{latest_version}"
|
|
114
142
|
if strategy == "minimum":
|
|
@@ -89,6 +89,8 @@ def test_generate_storybook_scaffolds_host_package_and_starter_story(monkeypatch
|
|
|
89
89
|
sb_package["dependencies"]["@mui/material"]
|
|
90
90
|
== storybook_package_dependencies("my-app-ui")["@mui/material"]
|
|
91
91
|
)
|
|
92
|
+
assert sb_package["devDependencies"]["@vitejs/plugin-react"] == "latest"
|
|
93
|
+
assert sb_package["devDependencies"]["vite"] == "latest"
|
|
92
94
|
assert sb_project["targets"]["storybook"]["options"]["command"] == (
|
|
93
95
|
"storybook dev -p 6006 -c packages/node/sb/.storybook"
|
|
94
96
|
)
|
|
@@ -208,7 +210,8 @@ def test_generate_storybook_dry_run_previews_files_and_forwards_nx_dry_run(
|
|
|
208
210
|
assert not Path(
|
|
209
211
|
"packages/node/my-app-ui/src/stories/Example.stories.tsx"
|
|
210
212
|
).exists()
|
|
211
|
-
assert STORYBOOK_DEV_DEPENDENCIES["
|
|
213
|
+
assert STORYBOOK_DEV_DEPENDENCIES["@vitejs/plugin-react"] == "latest"
|
|
214
|
+
assert STORYBOOK_DEV_DEPENDENCIES["vite"] == "latest"
|
|
212
215
|
assert recorded_calls == [
|
|
213
216
|
{
|
|
214
217
|
"cmd": [
|
|
@@ -77,14 +77,7 @@ def test_init_new_workspace_disables_nx_cloud(monkeypatch):
|
|
|
77
77
|
dev_dependencies = package_json["devDependencies"]
|
|
78
78
|
assert "eslint" in dev_dependencies
|
|
79
79
|
assert "prettier" in dev_dependencies
|
|
80
|
-
assert
|
|
81
|
-
assert dev_dependencies["@eslint/js"] == "^9.39.4"
|
|
82
|
-
assert dev_dependencies["eslint-plugin-import"] == "^2.32.0"
|
|
83
|
-
assert dev_dependencies["eslint-plugin-jsx-a11y"] == "^6.10.2"
|
|
84
|
-
assert dev_dependencies["eslint-plugin-react"] == "^7.37.5"
|
|
85
|
-
assert not any(
|
|
86
|
-
version == "latest" for version in dev_dependencies.values()
|
|
87
|
-
)
|
|
80
|
+
assert all(version == "latest" for version in dev_dependencies.values())
|
|
88
81
|
|
|
89
82
|
assert (project_dir / "eslint.config.mjs").exists()
|
|
90
83
|
assert (project_dir / ".prettierrc").exists()
|
|
@@ -10,11 +10,16 @@ from rpr.dependencies import get_dependency_manifest, render_dependency_manifest
|
|
|
10
10
|
runner = CliRunner()
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
def
|
|
13
|
+
def test_refresh_manifest_preserves_latest_dependency_policy(
|
|
14
|
+
monkeypatch, tmp_path: Path
|
|
15
|
+
) -> None:
|
|
14
16
|
manifest_path = tmp_path / "dependency_manifest_data.py"
|
|
15
|
-
|
|
17
|
+
original = render_dependency_manifest_module(get_dependency_manifest())
|
|
18
|
+
manifest_path.write_text(original)
|
|
19
|
+
fetch_calls: list[tuple[str, str]] = []
|
|
16
20
|
|
|
17
21
|
def fake_fetch_latest_version(registry: str, package: str, *, timeout: float = 10.0) -> str:
|
|
22
|
+
fetch_calls.append((registry, package))
|
|
18
23
|
return "9.9.9"
|
|
19
24
|
|
|
20
25
|
monkeypatch.setattr("rpr.commands.refresh.MANIFEST_DATA_PATH", manifest_path)
|
|
@@ -25,15 +30,9 @@ def test_refresh_manifest_updates_manifest_data_file(monkeypatch, tmp_path: Path
|
|
|
25
30
|
result = runner.invoke(app, ["refresh", "manifest"])
|
|
26
31
|
|
|
27
32
|
assert result.exit_code == 0, result.stdout
|
|
28
|
-
assert "
|
|
29
|
-
|
|
30
|
-
assert
|
|
31
|
-
assert "'eslint-plugin-import': {'specifier': '^2.32.0'}" in updated
|
|
32
|
-
assert "'specifier': '^9.9.9'" in updated
|
|
33
|
-
assert "'specifier': 'fastapi>=9.9.9'" in updated
|
|
34
|
-
assert "'specifier': 'uvicorn[standard]>=9.9.9'" in updated
|
|
35
|
-
assert "'specifier': '9.9.9'" in updated
|
|
36
|
-
assert "'specifier': 'maturin>=9.9.9,<10.0'" in updated
|
|
33
|
+
assert "Dependency manifest is already up to date" in result.stdout
|
|
34
|
+
assert manifest_path.read_text() == original
|
|
35
|
+
assert fetch_calls == []
|
|
37
36
|
|
|
38
37
|
|
|
39
38
|
def test_refresh_manifest_dry_run_does_not_write_file(monkeypatch, tmp_path: Path) -> None:
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.1.9"
|
|
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
|
{rpr_cli-0.1.9 → rpr_cli-0.1.20}/Sample-dot-github/instructions/tooling-setup.instructions.md
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
|
|
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
|