velm 0.1.2__py3-none-any.whl
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.
- velm/__init__.py +17 -0
- velm/__main__.py +24 -0
- velm/archetypes/__init__.py +10 -0
- velm/archetypes/genesis/ai-agent-swarm.scaffold +117 -0
- velm/archetypes/genesis/astro-basic.scaffold +76 -0
- velm/archetypes/genesis/chrome-extension.scaffold +101 -0
- velm/archetypes/genesis/cli-tool.scaffold +198 -0
- velm/archetypes/genesis/data-science-crucible.scaffold +96 -0
- velm/archetypes/genesis/docs-mkdocs.scaffold +123 -0
- velm/archetypes/genesis/electron-forge.scaffold +103 -0
- velm/archetypes/genesis/express-api.scaffold +163 -0
- velm/archetypes/genesis/fastapi-service.scaffold +343 -0
- velm/archetypes/genesis/fastapi-sqlalchemy.scaffold +130 -0
- velm/archetypes/genesis/fullstack-monorepo.scaffold +200 -0
- velm/archetypes/genesis/generic-container.scaffold +188 -0
- velm/archetypes/genesis/generic-script.scaffold +48 -0
- velm/archetypes/genesis/generic.scaffold +33 -0
- velm/archetypes/genesis/gnostic-library.scaffold +79 -0
- velm/archetypes/genesis/gnostic-symphony.scaffold +77 -0
- velm/archetypes/genesis/go-cli.scaffold +127 -0
- velm/archetypes/genesis/graphene-api.scaffold +86 -0
- velm/archetypes/genesis/grpc-microservice.scaffold +103 -0
- velm/archetypes/genesis/langchain-nexus.scaffold +91 -0
- velm/archetypes/genesis/monorepo-citadel.scaffold +0 -0
- velm/archetypes/genesis/new-artisan.scaffold +42 -0
- velm/archetypes/genesis/nextjs-fortress.scaffold +120 -0
- velm/archetypes/genesis/node-basic.scaffold +130 -0
- velm/archetypes/genesis/node.scaffold +63 -0
- velm/archetypes/genesis/poetry-basic.scaffold +114 -0
- velm/archetypes/genesis/python-basic.scaffold +115 -0
- velm/archetypes/genesis/python-cli.scaffold +124 -0
- velm/archetypes/genesis/python-universal.scaffold +159 -0
- velm/archetypes/genesis/react-vite.scaffold +198 -0
- velm/archetypes/genesis/rust-lib.scaffold +145 -0
- velm/archetypes/genesis/serverless-synapse.scaffold +61 -0
- velm/artisans/TODO.txt +4 -0
- velm/artisans/__init__.py +0 -0
- velm/artisans/adopt.py +194 -0
- velm/artisans/aether/__init__.py +4 -0
- velm/artisans/aether/analyzer.py +56 -0
- velm/artisans/aether/artisan.py +40 -0
- velm/artisans/aether/mesh.py +27 -0
- velm/artisans/agent/Act/__init__.py +0 -0
- velm/artisans/agent/Act/executor.py +83 -0
- velm/artisans/agent/Act/tools/__init__.py +0 -0
- velm/artisans/agent/Act/tools/base.py +25 -0
- velm/artisans/agent/Act/tools/file_system.py +144 -0
- velm/artisans/agent/Act/tools/git.py +258 -0
- velm/artisans/agent/Act/tools/gnostic_tools.py +236 -0
- velm/artisans/agent/Act/tools/testing.py +42 -0
- velm/artisans/agent/Memory/__init__.py +0 -0
- velm/artisans/agent/Memory/long_term.py +187 -0
- velm/artisans/agent/Memory/short_term.py +33 -0
- velm/artisans/agent/Perceive/__init__.py +1 -0
- velm/artisans/agent/Perceive/perceiver.py +41 -0
- velm/artisans/agent/Plan/__init__.py +1 -0
- velm/artisans/agent/Plan/planner.py +61 -0
- velm/artisans/agent/Plan/prompt_forge.py +146 -0
- velm/artisans/agent/Verify/__init__.py +0 -0
- velm/artisans/agent/Verify/critic.py +177 -0
- velm/artisans/agent/__init__.py +3 -0
- velm/artisans/agent/agent.scaffold +32 -0
- velm/artisans/agent/artisan.py +174 -0
- velm/artisans/agent/contracts.py +42 -0
- velm/artisans/agent/engine.py +208 -0
- velm/artisans/akasha/__init__.py +0 -0
- velm/artisans/akasha/artisan.py +68 -0
- velm/artisans/alias/__init__.py +3 -0
- velm/artisans/alias/artisan.py +69 -0
- velm/artisans/analyze/__init__.py +13 -0
- velm/artisans/analyze/artisan.py +457 -0
- velm/artisans/analyze/completion_codex/__init__.py +11 -0
- velm/artisans/analyze/completion_codex/conductor.py +213 -0
- velm/artisans/analyze/completion_codex/scaffold.py +615 -0
- velm/artisans/analyze/completion_codex/symphony.py +275 -0
- velm/artisans/analyze/core/context.py +107 -0
- velm/artisans/analyze/core/shadow.py +57 -0
- velm/artisans/analyze/divination/grammar.py +145 -0
- velm/artisans/analyze/graph_generator.py +57 -0
- velm/artisans/analyze/orchestrator.py +138 -0
- velm/artisans/analyze/processing/base.py +13 -0
- velm/artisans/analyze/processing/foreign.py +67 -0
- velm/artisans/analyze/processing/scaffold.py +319 -0
- velm/artisans/analyze/redemption/healer.py +82 -0
- velm/artisans/analyze/reporting/console.py +95 -0
- velm/artisans/analyze/reporting/diagnostics.py +169 -0
- velm/artisans/analyze/reporting/privacy.py +86 -0
- velm/artisans/analyze/rites/inquisition.py +35 -0
- velm/artisans/analyze/rites/prophecy.py +74 -0
- velm/artisans/analyze/rites/symbolism.py +62 -0
- velm/artisans/analyze/rites/visualization.py +146 -0
- velm/artisans/analyze/static_inquisitor/__init__.py +5 -0
- velm/artisans/analyze/static_inquisitor/detectors/atomic.py +325 -0
- velm/artisans/analyze/static_inquisitor/detectors/base.py +116 -0
- velm/artisans/analyze/static_inquisitor/detectors/paths.py +184 -0
- velm/artisans/analyze/static_inquisitor/detectors/variables.py +202 -0
- velm/artisans/analyze/static_inquisitor/inquisitor.py +101 -0
- velm/artisans/analyze/structure_visualizer.py +294 -0
- velm/artisans/arch.py +281 -0
- velm/artisans/archetypes/artisan.py +242 -0
- velm/artisans/architect/__init__.py +13 -0
- velm/artisans/architect/artisan.py +241 -0
- velm/artisans/architect/contracts.py +19 -0
- velm/artisans/architect/inquest.py +58 -0
- velm/artisans/architect/planner.py +85 -0
- velm/artisans/astrolabe/__init__.py +4 -0
- velm/artisans/astrolabe/artisan.py +45 -0
- velm/artisans/astrolabe/tui.py +124 -0
- velm/artisans/audit/__init__.py +5 -0
- velm/artisans/audit/architectural_auditor.py +124 -0
- velm/artisans/audit/artisan.py +38 -0
- velm/artisans/audit/license_auditor.py +158 -0
- velm/artisans/babel/__init__.py +0 -0
- velm/artisans/babel/artisan.py +93 -0
- velm/artisans/beautify.py +250 -0
- velm/artisans/biome/__init__.py +5 -0
- velm/artisans/biome/analyst.py +102 -0
- velm/artisans/biome/artisan.py +55 -0
- velm/artisans/biome/template.py +298 -0
- velm/artisans/blame.py +334 -0
- velm/artisans/blueprint_add.py +200 -0
- velm/artisans/blueprint_optimize/__init__.py +2 -0
- velm/artisans/blueprint_optimize/artisan.py +105 -0
- velm/artisans/blueprint_optimize/biologist.py +115 -0
- velm/artisans/blueprint_remove.py +225 -0
- velm/artisans/bridge/__init__.py +3 -0
- velm/artisans/bridge/artisan.py +137 -0
- velm/artisans/canon/__init__.py +4 -0
- velm/artisans/canon/artisan.py +51 -0
- velm/artisans/canon/law.py +23 -0
- velm/artisans/changelog/artisan.py +137 -0
- velm/artisans/chaos_game/__init__.py +3 -0
- velm/artisans/chaos_game/artisan.py +93 -0
- velm/artisans/ci_optimize/__init__.py +2 -0
- velm/artisans/ci_optimize/artisan.py +97 -0
- velm/artisans/ci_optimize/engine.py +122 -0
- velm/artisans/cli_bridge/artisan.py +199 -0
- velm/artisans/codex/__init__.py +0 -0
- velm/artisans/codex/artisan.py +130 -0
- velm/artisans/completion_artisan/__init__.py +10 -0
- velm/artisans/completion_artisan/artisan.py +286 -0
- velm/artisans/completion_artisan/cartographer.py +424 -0
- velm/artisans/completion_artisan/grimoire/reader.py +164 -0
- velm/artisans/completion_artisan/grimoire/snippets/scaffold.jsonc +1728 -0
- velm/artisans/completion_artisan/grimoire/snippets/symphony.jsonc +1073 -0
- velm/artisans/completion_artisan/prophets/__init__.py +13 -0
- velm/artisans/completion_artisan/prophets/alchemist.py +205 -0
- velm/artisans/completion_artisan/prophets/base.py +133 -0
- velm/artisans/completion_artisan/prophets/canon.py +156 -0
- velm/artisans/completion_artisan/prophets/directives.py +242 -0
- velm/artisans/completion_artisan/prophets/snippets.py +24 -0
- velm/artisans/compose/__init__.py +14 -0
- velm/artisans/compose/artisan.py +198 -0
- velm/artisans/compose/parser.py +220 -0
- velm/artisans/configuration/__init__.py +2 -0
- velm/artisans/configuration/artisan.py +81 -0
- velm/artisans/conform.py +260 -0
- velm/artisans/create/__init__.py +13 -0
- velm/artisans/create/artisan.py +240 -0
- velm/artisans/create/builder.py +477 -0
- velm/artisans/create/create.scaffold +7 -0
- velm/artisans/create/safety.py +70 -0
- velm/artisans/daemon_artisan/__init__.py +14 -0
- velm/artisans/daemon_artisan/conductor.py +122 -0
- velm/artisans/daemon_artisan/contracts.py +23 -0
- velm/artisans/daemon_artisan/governance.py +22 -0
- velm/artisans/daemon_artisan/lifecycle.py +498 -0
- velm/artisans/daemon_artisan/telemetry.py +63 -0
- velm/artisans/data/__init__.py +0 -0
- velm/artisans/data/artisan.py +152 -0
- velm/artisans/definition/__init__.py +17 -0
- velm/artisans/definition/alchemist.py +48 -0
- velm/artisans/definition/hierophant.py +138 -0
- velm/artisans/definition/oracle.py +148 -0
- velm/artisans/deploy/__init__.py +14 -0
- velm/artisans/deploy/artisan.py +237 -0
- velm/artisans/distill/__init__.py +15 -0
- velm/artisans/distill/artisan.py +407 -0
- velm/artisans/distill/celestial.py +55 -0
- velm/artisans/distill/codex_of_anti_patterns.py +54 -0
- velm/artisans/distill/core/__init__.py +14 -0
- velm/artisans/distill/core/analyzer/architectural.py +93 -0
- velm/artisans/distill/core/assembler/__init__.py +14 -0
- velm/artisans/distill/core/assembler/budget.py +37 -0
- velm/artisans/distill/core/assembler/content/__init__.py +14 -0
- velm/artisans/distill/core/assembler/content/artisans/__init__.py +19 -0
- velm/artisans/distill/core/assembler/content/artisans/annotator.py +102 -0
- velm/artisans/distill/core/assembler/content/artisans/formatter.py +352 -0
- velm/artisans/distill/core/assembler/content/artisans/reader.py +35 -0
- velm/artisans/distill/core/assembler/content/artisans/sanitizer.py +39 -0
- velm/artisans/distill/core/assembler/content/artisans/summarizer.py +60 -0
- velm/artisans/distill/core/assembler/content/artisans/transformer.py +46 -0
- velm/artisans/distill/core/assembler/content/contracts.py +35 -0
- velm/artisans/distill/core/assembler/content/facade.py +84 -0
- velm/artisans/distill/core/assembler/content/orchestrator.py +96 -0
- velm/artisans/distill/core/assembler/contracts.py +25 -0
- velm/artisans/distill/core/assembler/engine.py +212 -0
- velm/artisans/distill/core/assembler/header.py +84 -0
- velm/artisans/distill/core/assembler/seer.py +70 -0
- velm/artisans/distill/core/causality/__init__.py +15 -0
- velm/artisans/distill/core/causality/constants.py +30 -0
- velm/artisans/distill/core/causality/contracts.py +57 -0
- velm/artisans/distill/core/causality/engine.py +77 -0
- velm/artisans/distill/core/causality/graph_walker.py +138 -0
- velm/artisans/distill/core/consts.py +47 -0
- velm/artisans/distill/core/contracts.py +89 -0
- velm/artisans/distill/core/forensics/__init__.py +7 -0
- velm/artisans/distill/core/forensics/contracts.py +36 -0
- velm/artisans/distill/core/forensics/detectives.py +115 -0
- velm/artisans/distill/core/forensics/engine.py +121 -0
- velm/artisans/distill/core/forensics/filters.py +36 -0
- velm/artisans/distill/core/forensics/grimoire.py +48 -0
- velm/artisans/distill/core/governance/__init__.py +22 -0
- velm/artisans/distill/core/governance/contracts.py +51 -0
- velm/artisans/distill/core/governance/engine.py +273 -0
- velm/artisans/distill/core/governance/estimator.py +76 -0
- velm/artisans/distill/core/governance/policies.py +52 -0
- velm/artisans/distill/core/inquisitor/architectural.py +58 -0
- velm/artisans/distill/core/inquisitor/config.py +86 -0
- velm/artisans/distill/core/inquisitor/temporal.py +105 -0
- velm/artisans/distill/core/inquisitor/testing.py +59 -0
- velm/artisans/distill/core/oracle/__init__.py +18 -0
- velm/artisans/distill/core/oracle/adjudicator.py +113 -0
- velm/artisans/distill/core/oracle/contracts.py +66 -0
- velm/artisans/distill/core/oracle/diviner.py +222 -0
- velm/artisans/distill/core/oracle/engine.py +138 -0
- velm/artisans/distill/core/oracle/perceiver.py +121 -0
- velm/artisans/distill/core/oracle/propagator.py +304 -0
- velm/artisans/distill/core/oracle/reviewer.py +124 -0
- velm/artisans/distill/core/oracle/scribe/__init__.py +8 -0
- velm/artisans/distill/core/oracle/scribe/content.py +121 -0
- velm/artisans/distill/core/oracle/scribe/critique.py +57 -0
- velm/artisans/distill/core/oracle/scribe/facade.py +87 -0
- velm/artisans/distill/core/oracle/scribe/header.py +119 -0
- velm/artisans/distill/core/oracle/scribe/manifest.py +67 -0
- velm/artisans/distill/core/oracle/scribe/topology.py +54 -0
- velm/artisans/distill/core/scribes/mermaid_scribe.py +65 -0
- velm/artisans/distill/core/skeletonizer/__init__.py +7 -0
- velm/artisans/distill/core/skeletonizer/contracts.py +30 -0
- velm/artisans/distill/core/skeletonizer/engine.py +84 -0
- velm/artisans/distill/core/skeletonizer/utils.py +117 -0
- velm/artisans/distill/core/skeletonizer/visitors/base.py +15 -0
- velm/artisans/distill/core/skeletonizer/visitors/c_style.py +173 -0
- velm/artisans/distill/core/skeletonizer/visitors/python.py +170 -0
- velm/artisans/distill/core/skeletonizer/visitors/ruby.py +71 -0
- velm/artisans/distill/core/skeletonizer/visitors/web.py +57 -0
- velm/artisans/distill/core/slicer/__init__.py +15 -0
- velm/artisans/distill/core/slicer/contracts.py +76 -0
- velm/artisans/distill/core/slicer/engine.py +76 -0
- velm/artisans/distill/core/slicer/graph.py +95 -0
- velm/artisans/distill/core/slicer/languages/base.py +26 -0
- velm/artisans/distill/core/slicer/languages/python.py +87 -0
- velm/artisans/distill/core/slicer/weavers/__init__.py +4 -0
- velm/artisans/distill/core/slicer/weavers/base_strategy.py +28 -0
- velm/artisans/distill/core/slicer/weavers/contracts.py +21 -0
- velm/artisans/distill/core/slicer/weavers/facade.py +134 -0
- velm/artisans/distill/core/slicer/weavers/python_strategy.py +135 -0
- velm/artisans/distill/core/tracer/__init__.py +6 -0
- velm/artisans/distill/core/tracer/contracts.py +66 -0
- velm/artisans/distill/core/tracer/coverage_bridge.py +105 -0
- velm/artisans/distill/core/tracer/engine.py +170 -0
- velm/artisans/distill/core/tracer/probes/base.py +21 -0
- velm/artisans/distill/core/tracer/probes/python_probe.py +153 -0
- velm/artisans/distill/core/tracer/snapshot.py +58 -0
- velm/artisans/distill/core/tracer/symbolic.py +38 -0
- velm/artisans/distill/core/utils/__init__.py +1 -0
- velm/artisans/distill/core/utils/core.py +175 -0
- velm/artisans/distill/io.py +110 -0
- velm/artisans/distill/modes.py +81 -0
- velm/artisans/distill/resolution.py +185 -0
- velm/artisans/distill/scribes/dossier_scribe.py +196 -0
- velm/artisans/dream.py +41 -0
- velm/artisans/env_tools.py +298 -0
- velm/artisans/excise.py +213 -0
- velm/artisans/expose/__init__.py +3 -0
- velm/artisans/expose/artisan.py +64 -0
- velm/artisans/forge/__init__.py +3 -0
- velm/artisans/forge/artisan.py +117 -0
- velm/artisans/fortress/__init__.py +0 -0
- velm/artisans/fortress/artisan.py +86 -0
- velm/artisans/freeze_artisan.py +82 -0
- velm/artisans/fusion/__init__.py +3 -0
- velm/artisans/fusion/artisan.py +187 -0
- velm/artisans/garden/__init__.py +6 -0
- velm/artisans/garden/analyst.py +183 -0
- velm/artisans/garden/artisan.py +76 -0
- velm/artisans/garden/contracts.py +22 -0
- velm/artisans/garden/pruner.py +69 -0
- velm/artisans/genesis/__init__.py +6 -0
- velm/artisans/genesis/conductor.py +366 -0
- velm/artisans/genesis/materializer.py +514 -0
- velm/artisans/ghost_hunter/__init__.py +3 -0
- velm/artisans/ghost_hunter/artisan.py +106 -0
- velm/artisans/graph/__init__.py +3 -0
- velm/artisans/graph/architect.py +70 -0
- velm/artisans/graph/artisan.py +39 -0
- velm/artisans/graph/cartographer.py +275 -0
- velm/artisans/graph/layout.py +27 -0
- velm/artisans/gui/__init__.py +3 -0
- velm/artisans/gui/app.py +124 -0
- velm/artisans/gui/artisan.py +49 -0
- velm/artisans/guild/__init__.py +4 -0
- velm/artisans/guild/artisan.py +111 -0
- velm/artisans/guild/packer.py +33 -0
- velm/artisans/guild/registry.py +99 -0
- velm/artisans/harvest.py +206 -0
- velm/artisans/heal/__init__.py +6 -0
- velm/artisans/heal/artisan.py +306 -0
- velm/artisans/heal/contracts.py +74 -0
- velm/artisans/heal/healers/javascript_import_healer.py +150 -0
- velm/artisans/heal/healers/python_import_healer.py +149 -0
- velm/artisans/heal/healers/typescript_import_healer.py +165 -0
- velm/artisans/help.py +339 -0
- velm/artisans/history/__init__.py +15 -0
- velm/artisans/history/artisan.py +184 -0
- velm/artisans/history/contracts.py +80 -0
- velm/artisans/history/differ.py +248 -0
- velm/artisans/history/scribe.py +121 -0
- velm/artisans/history/tui.py +256 -0
- velm/artisans/hivemind/__init__.py +4 -0
- velm/artisans/hivemind/arena.py +174 -0
- velm/artisans/hivemind/artisan.py +66 -0
- velm/artisans/hivemind/contracts.py +36 -0
- velm/artisans/hivemind/grimoire.py +66 -0
- velm/artisans/holocron/__init__.py +4 -0
- velm/artisans/holocron/artisan.py +35 -0
- velm/artisans/holocron/contracts.py +21 -0
- velm/artisans/holocron/curator.py +63 -0
- velm/artisans/holocron/engine.py +154 -0
- velm/artisans/holocron/graph.py +209 -0
- velm/artisans/holocron/slicer.py +135 -0
- velm/artisans/holograph_artisan.py +98 -0
- velm/artisans/holographic/__init__.py +3 -0
- velm/artisans/holographic/artisan.py +59 -0
- velm/artisans/hover/__init__.py +16 -0
- velm/artisans/hover/canon.py +46 -0
- velm/artisans/hover/command_grimoire.py +1147 -0
- velm/artisans/hover/formatter.py +290 -0
- velm/artisans/hover/hierophant.py +457 -0
- velm/artisans/hover/hover_mentor/__init__.py +54 -0
- velm/artisans/hover/hover_mentor/grimoire.py +458 -0
- velm/artisans/hover/hover_mentor/inquisitor.py +68 -0
- velm/artisans/hover/hover_mentor/warden.py +51 -0
- velm/artisans/hover/perception.py +236 -0
- velm/artisans/ignore/artisan.py +70 -0
- velm/artisans/indexer/__init__.py +3 -0
- velm/artisans/indexer/artisan.py +50 -0
- velm/artisans/indexer/core/contracts.py +14 -0
- velm/artisans/indexer/core/engine.py +51 -0
- velm/artisans/indexer/languages/base.py +33 -0
- velm/artisans/indexer/languages/factory.py +25 -0
- velm/artisans/indexer/languages/go.py +13 -0
- velm/artisans/indexer/languages/java.py +13 -0
- velm/artisans/indexer/languages/javascript.py +17 -0
- velm/artisans/indexer/languages/python.py +14 -0
- velm/artisans/indexer/languages/ruby.py +13 -0
- velm/artisans/indexer/languages/rust.py +15 -0
- velm/artisans/init/__init__.py +12 -0
- velm/artisans/init/artisan.py +288 -0
- velm/artisans/init/manual.py +156 -0
- velm/artisans/initialize/artisan.py +262 -0
- velm/artisans/inspect/__init__.py +3 -0
- velm/artisans/inspect/artisan.py +643 -0
- velm/artisans/introspect/__init__.py +13 -0
- velm/artisans/introspect/conductor.py +80 -0
- velm/artisans/introspect/registry_scribe.py +109 -0
- velm/artisans/introspect/scaffold_scribe.py +348 -0
- velm/artisans/introspect/symphony_scribe.py +291 -0
- velm/artisans/introspect/ui_scribe.py +105 -0
- velm/artisans/isolate/__init__.py +3 -0
- velm/artisans/isolate/artisan.py +103 -0
- velm/artisans/lazarus/__init__.py +0 -0
- velm/artisans/lazarus/artisan.py +97 -0
- velm/artisans/lfg/artisan.py +60 -0
- velm/artisans/lint/__init__.py +13 -0
- velm/artisans/lint/artisan.py +117 -0
- velm/artisans/lint/contracts.py +130 -0
- velm/artisans/lint/engine.py +28 -0
- velm/artisans/lint/rules/base.py +37 -0
- velm/artisans/lint/rules/graph.py +118 -0
- velm/artisans/lint/rules/layers.py +67 -0
- velm/artisans/lint/rules/structural.py +75 -0
- velm/artisans/lint_blueprint/__init__.py +3 -0
- velm/artisans/lint_blueprint/artisan.py +71 -0
- velm/artisans/manifest.py +278 -0
- velm/artisans/matrix/__init__.py +3 -0
- velm/artisans/matrix/artisan.py +140 -0
- velm/artisans/mimic/__init__.py +4 -0
- velm/artisans/mimic/artisan.py +92 -0
- velm/artisans/mimic/generator.py +106 -0
- velm/artisans/mimic/reflector.py +64 -0
- velm/artisans/mock/__init__.py +3 -0
- velm/artisans/mock/artisan.py +75 -0
- velm/artisans/mri/__init__.py +3 -0
- velm/artisans/mri/artisan.py +120 -0
- velm/artisans/muse/__init__.py +3 -0
- velm/artisans/muse/analyst.py +103 -0
- velm/artisans/muse/artisan.py +97 -0
- velm/artisans/neural/__init__.py +14 -0
- velm/artisans/neural/artisan.py +116 -0
- velm/artisans/neural/contracts.py +14 -0
- velm/artisans/neural/tui.py +323 -0
- velm/artisans/neural_link/__init__.py +4 -0
- velm/artisans/neural_link/artisan.py +48 -0
- velm/artisans/neural_link/dashboard.py +129 -0
- velm/artisans/observatory/__init__.py +26 -0
- velm/artisans/observatory/artisan.py +249 -0
- velm/artisans/observatory/contracts.py +62 -0
- velm/artisans/ocular/__init__.py +4 -0
- velm/artisans/ocular/artisan.py +118 -0
- velm/artisans/pad.py +103 -0
- velm/artisans/patch/__init__.py +12 -0
- velm/artisans/patch/artisan.py +321 -0
- velm/artisans/patch/contracts.py +114 -0
- velm/artisans/patch/mutators/__init__.py +11 -0
- velm/artisans/patch/mutators/base.py +12 -0
- velm/artisans/patch/mutators/facade.py +58 -0
- velm/artisans/patch/mutators/regex.py +76 -0
- velm/artisans/patch/mutators/semantic/__init__.py +12 -0
- velm/artisans/patch/mutators/semantic/contracts.py +15 -0
- velm/artisans/patch/mutators/semantic/router.py +94 -0
- velm/artisans/patch/mutators/semantic/strategies.py +184 -0
- velm/artisans/patch/mutators/structured.py +91 -0
- velm/artisans/patch/mutators/textual.py +60 -0
- velm/artisans/patch/parser.py +74 -0
- velm/artisans/patch/patch.scaffold +6 -0
- velm/artisans/plugins/__init__.py +2 -0
- velm/artisans/plugins/artisan.py +286 -0
- velm/artisans/preview/__init__.py +2 -0
- velm/artisans/preview/artisan.py +155 -0
- velm/artisans/preview/contracts.py +27 -0
- velm/artisans/preview/parsers/__init__.py +61 -0
- velm/artisans/preview/parsers/base.py +20 -0
- velm/artisans/preview/parsers/html.py +273 -0
- velm/artisans/preview/parsers/react.py +351 -0
- velm/artisans/prophesy/__init__.py +4 -0
- velm/artisans/prophesy/artisan.py +47 -0
- velm/artisans/qr/__init__.py +3 -0
- velm/artisans/qr/artisan.py +75 -0
- velm/artisans/query/__init__.py +2 -0
- velm/artisans/query/artisan.py +535 -0
- velm/artisans/read_soul/__init__.py +3 -0
- velm/artisans/read_soul/artisan.py +30 -0
- velm/artisans/refactor.py +200 -0
- velm/artisans/repair/__init__.py +5 -0
- velm/artisans/repair/artisan.py +381 -0
- velm/artisans/repair/heuristics.py +282 -0
- velm/artisans/repair/surgery.py +61 -0
- velm/artisans/repl_artisan.py +161 -0
- velm/artisans/replay.py +309 -0
- velm/artisans/resonate/__init__.py +3 -0
- velm/artisans/resonate/artisan.py +82 -0
- velm/artisans/review/artisan.py +93 -0
- velm/artisans/risk/__init__.py +3 -0
- velm/artisans/risk/artisan.py +98 -0
- velm/artisans/run/__init__.py +6 -0
- velm/artisans/run/bridge.py +84 -0
- velm/artisans/run/conductor.py +211 -0
- velm/artisans/run/polyglot_bridge.py +213 -0
- velm/artisans/run/prophet/__init__.py +15 -0
- velm/artisans/run/prophet/conductor.py +79 -0
- velm/artisans/run/prophet/contracts.py +21 -0
- velm/artisans/run/prophet/grimoire.py +63 -0
- velm/artisans/run/prophet/language_oracle.py +96 -0
- velm/artisans/run/prophet/rite_adjudicator.py +41 -0
- velm/artisans/run/prophet/sanctum_seer.py +35 -0
- velm/artisans/run/scribe.py +321 -0
- velm/artisans/run/vigil.py +99 -0
- velm/artisans/runtimes.py +458 -0
- velm/artisans/save_artisan.py +118 -0
- velm/artisans/schema/__init__.py +4 -0
- velm/artisans/schema/artisan.py +116 -0
- velm/artisans/schema/engine.py +123 -0
- velm/artisans/scribe/__init__.py +5 -0
- velm/artisans/scribe/base_scribe.py +42 -0
- velm/artisans/scribe/conductor.py +153 -0
- velm/artisans/scribe/form_scribe.py +30 -0
- velm/artisans/scribe/monad_scribe.py +28 -0
- velm/artisans/scribe/will_scribe.py +27 -0
- velm/artisans/seed/__init__.py +4 -0
- velm/artisans/seed/artisan.py +54 -0
- velm/artisans/seed/fabricator.py +44 -0
- velm/artisans/self_test.py +114 -0
- velm/artisans/semantic_fs/__init__.py +3 -0
- velm/artisans/semantic_fs/artisan.py +106 -0
- velm/artisans/semantic_fs/operations.py +101 -0
- velm/artisans/semdiff/__init__.py +3 -0
- velm/artisans/semdiff/artisan.py +86 -0
- velm/artisans/services/__init__.py +0 -0
- velm/artisans/services/billing/__init__.py +0 -0
- velm/artisans/services/billing/artisan.py +91 -0
- velm/artisans/services/billing/client.py +34 -0
- velm/artisans/services/billing/domains/customers.py +32 -0
- velm/artisans/services/billing/domains/invoices.py +27 -0
- velm/artisans/services/billing/domains/links.py +18 -0
- velm/artisans/services/billing/domains/portal.py +13 -0
- velm/artisans/services/billing/domains/products.py +23 -0
- velm/artisans/services/billing/domains/subscriptions.py +32 -0
- velm/artisans/services/browser/__init__.py +2 -0
- velm/artisans/services/browser/artisan.py +49 -0
- velm/artisans/services/browser/engine.py +68 -0
- velm/artisans/services/cache/__init__.py +2 -0
- velm/artisans/services/cache/artisan.py +41 -0
- velm/artisans/services/cache/engine.py +78 -0
- velm/artisans/services/calendar/artisan.py +258 -0
- velm/artisans/services/calendar/brain.py +45 -0
- velm/artisans/services/calendar/client.py +151 -0
- velm/artisans/services/clerk/__init__.py +0 -0
- velm/artisans/services/clerk/artisan.py +141 -0
- velm/artisans/services/clerk/client.py +32 -0
- velm/artisans/services/clerk/constants.py +22 -0
- velm/artisans/services/clerk/domains/base.py +50 -0
- velm/artisans/services/clerk/domains/invitations.py +70 -0
- velm/artisans/services/clerk/domains/organizations.py +42 -0
- velm/artisans/services/clerk/domains/sessions.py +31 -0
- velm/artisans/services/clerk/domains/users.py +149 -0
- velm/artisans/services/clerk/simulation/engine.py +65 -0
- velm/artisans/services/clerk/simulation/generators.py +53 -0
- velm/artisans/services/clerk/simulation/state.py +57 -0
- velm/artisans/services/communication/__init__.py +0 -0
- velm/artisans/services/communication/artisan.py +695 -0
- velm/artisans/services/communication/channels/base.py +15 -0
- velm/artisans/services/communication/channels/email_api.py +51 -0
- velm/artisans/services/communication/channels/email_smtp.py +77 -0
- velm/artisans/services/communication/channels/mock.py +96 -0
- velm/artisans/services/communication/channels/sms_twilio.py +270 -0
- velm/artisans/services/communication/channels/social.py +379 -0
- velm/artisans/services/communication/contracts.py +18 -0
- velm/artisans/services/communication/herald.py +167 -0
- velm/artisans/services/crm/__init__.py +0 -0
- velm/artisans/services/crm/artisan.py +97 -0
- velm/artisans/services/crm/factory.py +19 -0
- velm/artisans/services/crm/providers/base.py +58 -0
- velm/artisans/services/crm/providers/hubspot.py +81 -0
- velm/artisans/services/document/__init__.py +2 -0
- velm/artisans/services/document/artisan.py +66 -0
- velm/artisans/services/document/domains/data.py +35 -0
- velm/artisans/services/document/domains/pdf.py +14 -0
- velm/artisans/services/intelligence/__init__.py +0 -0
- velm/artisans/services/intelligence/artisan.py +96 -0
- velm/artisans/services/memory/__init__.py +2 -0
- velm/artisans/services/memory/artisan.py +76 -0
- velm/artisans/services/memory/encoder.py +19 -0
- velm/artisans/services/memory/store.py +25 -0
- velm/artisans/services/network/__init__.py +0 -0
- velm/artisans/services/network/artisan.py +65 -0
- velm/artisans/services/network/client.py +31 -0
- velm/artisans/services/network/domains/graphql.py +48 -0
- velm/artisans/services/network/domains/rest.py +78 -0
- velm/artisans/services/network/domains/webhook.py +50 -0
- velm/artisans/services/sheets/__init__.py +2 -0
- velm/artisans/services/sheets/artisan.py +48 -0
- velm/artisans/services/sheets/domains/airtable.py +41 -0
- velm/artisans/services/sheets/domains/google.py +49 -0
- velm/artisans/services/storage/__init__.py +4 -0
- velm/artisans/services/storage/artisan.py +311 -0
- velm/artisans/services/storage/client.py +56 -0
- velm/artisans/services/storage/domains/buckets.py +27 -0
- velm/artisans/services/storage/domains/objects.py +79 -0
- velm/artisans/services/storage/domains/security.py +34 -0
- velm/artisans/services/supabase/__init__.py +0 -0
- velm/artisans/services/supabase/artisan.py +63 -0
- velm/artisans/services/supabase/client.py +156 -0
- velm/artisans/services/supabase/domains/auth.py +40 -0
- velm/artisans/services/supabase/domains/database.py +226 -0
- velm/artisans/services/supabase/domains/storage.py +43 -0
- velm/artisans/services/twilio/__init__.py +11 -0
- velm/artisans/services/twilio/artisan.py +394 -0
- velm/artisans/services/twilio/client.py +43 -0
- velm/artisans/services/twilio/constants.py +42 -0
- velm/artisans/services/twilio/domains/base.py +23 -0
- velm/artisans/services/twilio/domains/compliance.py +76 -0
- velm/artisans/services/twilio/domains/intelligence.py +41 -0
- velm/artisans/services/twilio/domains/lookups.py +38 -0
- velm/artisans/services/twilio/domains/management.py +49 -0
- velm/artisans/services/twilio/domains/messaging.py +68 -0
- velm/artisans/services/twilio/domains/numbers.py +95 -0
- velm/artisans/services/twilio/domains/provisioning.py +73 -0
- velm/artisans/services/twilio/simulation/engine.py +158 -0
- velm/artisans/services/twilio/simulation/generators.py +64 -0
- velm/artisans/services/twilio/simulation/physics.py +60 -0
- velm/artisans/services/twilio/simulation/reactor.py +63 -0
- velm/artisans/services/twilio/simulation/state.py +72 -0
- velm/artisans/services/twilio/utils.py +55 -0
- velm/artisans/services/worker/__init__.py +2 -0
- velm/artisans/services/worker/artisan.py +40 -0
- velm/artisans/services/worker/engine.py +64 -0
- velm/artisans/settings.py +96 -0
- velm/artisans/sgrep/__init__.py +3 -0
- velm/artisans/sgrep/artisan.py +95 -0
- velm/artisans/shadow_clone/__init__.py +5 -0
- velm/artisans/shadow_clone/artisan.py +565 -0
- velm/artisans/shadow_clone/catalog.py +58 -0
- velm/artisans/shadow_clone/config_injector.py +58 -0
- velm/artisans/shadow_clone/contracts.py +130 -0
- velm/artisans/shadow_clone/governor.py +241 -0
- velm/artisans/shadow_clone/mirror.py +143 -0
- velm/artisans/shadow_clone/network.py +205 -0
- velm/artisans/shadow_clone/state_cloner.py +76 -0
- velm/artisans/shadow_clone/worktree.py +228 -0
- velm/artisans/shell.py +32 -0
- velm/artisans/signature_artisan.py +256 -0
- velm/artisans/simulacrum/__init__.py +9 -0
- velm/artisans/simulacrum/artisan.py +193 -0
- velm/artisans/simulacrum/bridge.py +196 -0
- velm/artisans/simulacrum/contracts.py +22 -0
- velm/artisans/simulacrum/engine.py +283 -0
- velm/artisans/simulacrum/exceptions.py +18 -0
- velm/artisans/simulacrum/heuristics/__init__.py +9 -0
- velm/artisans/simulacrum/heuristics/engine.py +81 -0
- velm/artisans/simulacrum/heuristics/strategies.py +149 -0
- velm/artisans/simulacrum/runtimes/__init__.py +19 -0
- velm/artisans/simulacrum/runtimes/base.py +34 -0
- velm/artisans/simulacrum/runtimes/go.py +130 -0
- velm/artisans/simulacrum/runtimes/node.py +124 -0
- velm/artisans/simulacrum/runtimes/python.py +38 -0
- velm/artisans/simulacrum/runtimes/rust.py +23 -0
- velm/artisans/simulacrum/runtimes/shell.py +11 -0
- velm/artisans/snippet/artisan.py +108 -0
- velm/artisans/studio.py +50 -0
- velm/artisans/summarize.py +176 -0
- velm/artisans/surveyor/__init__.py +2 -0
- velm/artisans/surveyor/artisan.py +218 -0
- velm/artisans/symphony.py +151 -0
- velm/artisans/telepathy/__init__.py +3 -0
- velm/artisans/telepathy/artisan.py +121 -0
- velm/artisans/telepresence/__init__.py +3 -0
- velm/artisans/telepresence/artisan.py +192 -0
- velm/artisans/telepresence/causal_slicer.py +171 -0
- velm/artisans/telepresence/maestro_bridge.py +184 -0
- velm/artisans/telepresence/shadow_vault.py +163 -0
- velm/artisans/telepresence/url_projector.py +151 -0
- velm/artisans/template_engine/__init__.py +23 -0
- velm/artisans/template_engine/contracts.py +36 -0
- velm/artisans/template_engine/engine/__init__.py +2 -0
- velm/artisans/template_engine/engine/ai_prophet.py +169 -0
- velm/artisans/template_engine/engine/alias_oracle.py +108 -0
- velm/artisans/template_engine/engine/cache_oracle.py +155 -0
- velm/artisans/template_engine/engine/conductor.py +151 -0
- velm/artisans/template_engine/engine/gaze_conductor.py +210 -0
- velm/artisans/template_engine/engine/manifest_oracle.py +148 -0
- velm/artisans/template_engine/system_forge.py +197 -0
- velm/artisans/templates.py +647 -0
- velm/artisans/time_branch.py +60 -0
- velm/artisans/time_machine.py +38 -0
- velm/artisans/tool/ascii_artisan.py +238 -0
- velm/artisans/tool/banner_artisan.py +87 -0
- velm/artisans/tool/chronicle_artisan.py +18 -0
- velm/artisans/tool/doctor_artisan.py +18 -0
- velm/artisans/tool/gnosis_artisan.py +18 -0
- velm/artisans/tool/hash_artisan.py +21 -0
- velm/artisans/tool/keyring_artisan.py +55 -0
- velm/artisans/tool/pack_artisan.py +17 -0
- velm/artisans/tool/read_soul_artisan.py +43 -0
- velm/artisans/tool/sbom_artisan.py +84 -0
- velm/artisans/tool/secrets_artisan.py +66 -0
- velm/artisans/tool/tool_cli.py +60 -0
- velm/artisans/train/__init__.py +2 -0
- velm/artisans/train/artisan.py +27 -0
- velm/artisans/transfigure.py +275 -0
- velm/artisans/translate/__init__.py +3 -0
- velm/artisans/translate/artisan.py +65 -0
- velm/artisans/translocate.py +451 -0
- velm/artisans/translocate_core/__init__.py +11 -0
- velm/artisans/translocate_core/conductor/__init__.py +14 -0
- velm/artisans/translocate_core/conductor/engine.py +86 -0
- velm/artisans/translocate_core/conductor/execution.py +240 -0
- velm/artisans/translocate_core/conductor/perception.py +72 -0
- velm/artisans/translocate_core/conductor/proclamation.py +152 -0
- velm/artisans/translocate_core/conductor/snapshot.py +330 -0
- velm/artisans/translocate_core/contracts.py +31 -0
- velm/artisans/translocate_core/detective.py +717 -0
- velm/artisans/translocate_core/resolvers/ROADMAP.md +35 -0
- velm/artisans/translocate_core/resolvers/__init__.py +18 -0
- velm/artisans/translocate_core/resolvers/cpp/__init__.py +5 -0
- velm/artisans/translocate_core/resolvers/cpp/contracts.py +23 -0
- velm/artisans/translocate_core/resolvers/cpp/engine.py +75 -0
- velm/artisans/translocate_core/resolvers/cpp/inquisitor.py +58 -0
- velm/artisans/translocate_core/resolvers/cpp/pathfinder.py +47 -0
- velm/artisans/translocate_core/resolvers/cpp/surgeon.py +24 -0
- velm/artisans/translocate_core/resolvers/go/__init__.py +1 -0
- velm/artisans/translocate_core/resolvers/go/contracts.py +18 -0
- velm/artisans/translocate_core/resolvers/go/engine.py +70 -0
- velm/artisans/translocate_core/resolvers/go/inquisitor.py +36 -0
- velm/artisans/translocate_core/resolvers/go/pathfinder.py +54 -0
- velm/artisans/translocate_core/resolvers/go/surgeon.py +17 -0
- velm/artisans/translocate_core/resolvers/java/__init__.py +5 -0
- velm/artisans/translocate_core/resolvers/java/contracts.py +29 -0
- velm/artisans/translocate_core/resolvers/java/engine.py +75 -0
- velm/artisans/translocate_core/resolvers/java/inquisitor.py +66 -0
- velm/artisans/translocate_core/resolvers/java/pathfinder.py +45 -0
- velm/artisans/translocate_core/resolvers/java/surgeon.py +24 -0
- velm/artisans/translocate_core/resolvers/javascript/__init__.py +4 -0
- velm/artisans/translocate_core/resolvers/javascript/contracts.py +29 -0
- velm/artisans/translocate_core/resolvers/javascript/engine.py +75 -0
- velm/artisans/translocate_core/resolvers/javascript/inquisitor.py +72 -0
- velm/artisans/translocate_core/resolvers/javascript/pathfinder.py +80 -0
- velm/artisans/translocate_core/resolvers/javascript/surgeon.py +42 -0
- velm/artisans/translocate_core/resolvers/python/__init__.py +6 -0
- velm/artisans/translocate_core/resolvers/python/contracts.py +29 -0
- velm/artisans/translocate_core/resolvers/python/engine.py +147 -0
- velm/artisans/translocate_core/resolvers/python/inquisitor.py +138 -0
- velm/artisans/translocate_core/resolvers/python/intelligence.py +46 -0
- velm/artisans/translocate_core/resolvers/python/pathfinder.py +264 -0
- velm/artisans/translocate_core/resolvers/python/surgeon.py +160 -0
- velm/artisans/translocate_core/resolvers/ruby/__init__.py +5 -0
- velm/artisans/translocate_core/resolvers/ruby/contracts.py +28 -0
- velm/artisans/translocate_core/resolvers/ruby/engine.py +74 -0
- velm/artisans/translocate_core/resolvers/ruby/inquisitor.py +90 -0
- velm/artisans/translocate_core/resolvers/ruby/pathfinder.py +79 -0
- velm/artisans/translocate_core/resolvers/ruby/surgeon.py +32 -0
- velm/artisans/translocate_core/resolvers/rust/__init__.py +5 -0
- velm/artisans/translocate_core/resolvers/rust/contracts.py +22 -0
- velm/artisans/translocate_core/resolvers/rust/engine.py +110 -0
- velm/artisans/translocate_core/resolvers/rust/inquisitor.py +57 -0
- velm/artisans/translocate_core/resolvers/rust/pathfinder.py +75 -0
- velm/artisans/translocate_core/resolvers/rust/surgeon.py +22 -0
- velm/artisans/translocate_core/resolvers/typescript/__init__.py +3 -0
- velm/artisans/translocate_core/resolvers/typescript/engine.py +13 -0
- velm/artisans/translocate_core/resolvers/typescript/pathfinder.py +83 -0
- velm/artisans/translocate_core/will_parser.py +199 -0
- velm/artisans/transmute.py +969 -0
- velm/artisans/transmute_core/seer.py +357 -0
- velm/artisans/tray_guardian.py +75 -0
- velm/artisans/tree.py +253 -0
- velm/artisans/tutorial/__init__.py +4 -0
- velm/artisans/tutorial/artisans.py +92 -0
- velm/artisans/tutorial/engine.py +51 -0
- velm/artisans/tutorial/quest_giver.py +81 -0
- velm/artisans/unambiguous_artisan.py +0 -0
- velm/artisans/undo/__init__.py +15 -0
- velm/artisans/undo/artisan.py +193 -0
- velm/artisans/undo/reverser.py +173 -0
- velm/artisans/upgrade/__init__.py +4 -0
- velm/artisans/upgrade/artisan.py +86 -0
- velm/artisans/upgrade/merger.py +143 -0
- velm/artisans/vector/__init__.py +0 -0
- velm/artisans/vector/artisan.py +111 -0
- velm/artisans/verify.py +319 -0
- velm/artisans/watchman/__init__.py +4 -0
- velm/artisans/watchman/artisan.py +182 -0
- velm/artisans/watchman/engine.py +124 -0
- velm/artisans/watchman/profiles.py +83 -0
- velm/artisans/watchman/ui.py +49 -0
- velm/artisans/weave/__init__.py +15 -0
- velm/artisans/weave/ci_weaver.py +90 -0
- velm/artisans/weave/conductor.py +205 -0
- velm/artisans/weave/oracle.py +90 -0
- velm/artisans/weave/validator.py +24 -0
- velm/artisans/weave/weaver.py +333 -0
- velm/artisans/with_secrets.py +109 -0
- velm/artisans/workspace/__init__.py +6 -0
- velm/artisans/workspace/artisan.py +583 -0
- velm/artisans/workspace/contracts.py +97 -0
- velm/artisans/workspace/pad/app.py +232 -0
- velm/banners/__init__.py +67 -0
- velm/banners/fallback.py +35 -0
- velm/banners/sigil.py +2024 -0
- velm/communion/__init__.py +133 -0
- velm/communion/oracle.py +325 -0
- velm/communion/renderers.py +178 -0
- velm/constants.py +679 -0
- velm/containerization/__init__.py +13 -0
- velm/containerization/engine.py +356 -0
- velm/contracts/architectural_contracts.py +19 -0
- velm/contracts/communion_contracts.py +48 -0
- velm/contracts/data_contracts.py +758 -0
- velm/contracts/heresy_contracts.py +557 -0
- velm/contracts/law_contracts.py +134 -0
- velm/contracts/persona_contracts.py +35 -0
- velm/contracts/symphony_contracts.py +263 -0
- velm/core/__init__.py +6 -0
- velm/core/__main__.py +13 -0
- velm/core/ai/__init__.py +33 -0
- velm/core/ai/akasha.py +112 -0
- velm/core/ai/contracts.py +159 -0
- velm/core/ai/engine/__init__.py +5 -0
- velm/core/ai/engine/audit.py +37 -0
- velm/core/ai/engine/core.py +249 -0
- velm/core/ai/knowledge_base.json +22 -0
- velm/core/ai/providers/__init__.py +21 -0
- velm/core/ai/providers/anthropic.py +134 -0
- velm/core/ai/providers/base.py +219 -0
- velm/core/ai/providers/google.py +143 -0
- velm/core/ai/providers/local.py +118 -0
- velm/core/ai/providers/openai.py +244 -0
- velm/core/ai/rag/__init__.py +30 -0
- velm/core/ai/rag/knowledge/__init__.py +33 -0
- velm/core/ai/rag/knowledge/devops_gnosis.py +61 -0
- velm/core/ai/rag/knowledge/go_gnosis.py +27 -0
- velm/core/ai/rag/knowledge/python_gnosis.py +54 -0
- velm/core/ai/rag/knowledge/rust_gnosis.py +49 -0
- velm/core/ai/rag/knowledge/scaffold_syntax.py +71 -0
- velm/core/ai/rag/knowledge/security_gnosis.py +45 -0
- velm/core/ai/rag/knowledge/symphony_syntax.py +65 -0
- velm/core/ai/rag/knowledge/typescript_gnosis.py +63 -0
- velm/core/ai/rag/librarian/__init__.py +7 -0
- velm/core/ai/rag/librarian/analysis.py +62 -0
- velm/core/ai/rag/librarian/assembly.py +60 -0
- velm/core/ai/rag/librarian/contracts.py +45 -0
- velm/core/ai/rag/librarian/indexers/base.py +18 -0
- velm/core/ai/rag/librarian/indexers/code.py +200 -0
- velm/core/ai/rag/librarian/indexers/text.py +150 -0
- velm/core/ai/rag/librarian/master.py +344 -0
- velm/core/ai/rag/librarian/ranking.py +30 -0
- velm/core/ai/rag/librarian/retrieval/__init__.py +0 -0
- velm/core/ai/rag/librarian/retrieval/engine.py +51 -0
- velm/core/alchemist/__init__.py +14 -0
- velm/core/alchemist/engine.py +202 -0
- velm/core/alchemist/environment.py +126 -0
- velm/core/alchemist/inference.py +114 -0
- velm/core/alchemist/library.py +117 -0
- velm/core/alchemist/resolution.py +297 -0
- velm/core/artisan.py +197 -0
- velm/core/assembler/__init__.py +15 -0
- velm/core/assembler/engine.py +191 -0
- velm/core/assembler/weavers/__init__.py +15 -0
- velm/core/assembler/weavers/base_weaver.py +130 -0
- velm/core/assembler/weavers/python_weaver.py +528 -0
- velm/core/assembler/weavers/react_weaver.py +368 -0
- velm/core/blueprint_scribe/__init__.py +11 -0
- velm/core/blueprint_scribe/canonical_serializer.py +124 -0
- velm/core/blueprint_scribe/content_renderer.py +75 -0
- velm/core/blueprint_scribe/metadata_scribe.py +72 -0
- velm/core/blueprint_scribe/scribe.py +114 -0
- velm/core/blueprint_scribe/sorting_hat.py +33 -0
- velm/core/blueprint_scribe/tree_forger.py +52 -0
- velm/core/chaos_engine.py +229 -0
- velm/core/cli/cli_conductor.py +343 -0
- velm/core/cli/cli_shims.py +795 -0
- velm/core/cli/cli_utils.py +244 -0
- velm/core/cli/core_cli.py +270 -0
- velm/core/cli/grimoire/__init__.py +76 -0
- velm/core/cli/grimoire/_ai_rites.py +247 -0
- velm/core/cli/grimoire/_automation_rites.py +52 -0
- velm/core/cli/grimoire/_core_rites.py +244 -0
- velm/core/cli/grimoire/_evolution_rites.py +212 -0
- velm/core/cli/grimoire/_guild_rites.py +32 -0
- velm/core/cli/grimoire/_history_rites.py +60 -0
- velm/core/cli/grimoire/_mimic_rites.py +20 -0
- velm/core/cli/grimoire/_perception_rites.py +398 -0
- velm/core/cli/grimoire/_security_rites.py +57 -0
- velm/core/cli/grimoire/_service_rites.py +197 -0
- velm/core/cli/grimoire/_ui_rites.py +58 -0
- velm/core/cli/grimoire/_utility_rites.py +172 -0
- velm/core/cli/grimoire/_workspace_rites.py +59 -0
- velm/core/cli/grimoire_data.py +147 -0
- velm/core/cortex/__init__.py +9 -0
- velm/core/cortex/blueprint_merger.py +311 -0
- velm/core/cortex/call_graph.py +160 -0
- velm/core/cortex/contracts.py +515 -0
- velm/core/cortex/data_flow.py +91 -0
- velm/core/cortex/dependency_oracle.py +311 -0
- velm/core/cortex/engine/__init__.py +16 -0
- velm/core/cortex/engine/analysis.py +182 -0
- velm/core/cortex/engine/conductor.py +144 -0
- velm/core/cortex/engine/perception.py +154 -0
- velm/core/cortex/entropy_oracle.py +125 -0
- velm/core/cortex/file_discoverer.py +207 -0
- velm/core/cortex/file_interrogator.py +252 -0
- velm/core/cortex/git_historian.py +320 -0
- velm/core/cortex/graph_builder.py +551 -0
- velm/core/cortex/import_resolver.py +206 -0
- velm/core/cortex/knowledge.py +96 -0
- velm/core/cortex/language_oracle.py +120 -0
- velm/core/cortex/logic_inductor.py +216 -0
- velm/core/cortex/ocular/__init__.py +15 -0
- velm/core/cortex/ocular/engine.py +198 -0
- velm/core/cortex/ranking/__init__.py +16 -0
- velm/core/cortex/ranking/contracts.py +47 -0
- velm/core/cortex/ranking/engine.py +254 -0
- velm/core/cortex/ranking/factors/cohesion.py +152 -0
- velm/core/cortex/ranking/factors/resonance.py +41 -0
- velm/core/cortex/ranking/factors/semantic.py +34 -0
- velm/core/cortex/ranking/factors/structural.py +32 -0
- velm/core/cortex/ranking/factors/symbiosis.py +28 -0
- velm/core/cortex/ranking/factors/temporal.py +30 -0
- velm/core/cortex/ranking/factors/topological.py +62 -0
- velm/core/cortex/ranking/strategies.py +194 -0
- velm/core/cortex/scanner.py +193 -0
- velm/core/cortex/semantic_comparator.py +98 -0
- velm/core/cortex/semantic_indexer.py +353 -0
- velm/core/cortex/tag_extractor.py +49 -0
- velm/core/cortex/tokenomics.py +44 -0
- velm/core/cortex/vector.py +502 -0
- velm/core/daemon/__init__.py +18 -0
- velm/core/daemon/akashic/__init__.py +20 -0
- velm/core/daemon/akashic/broadcaster.py +331 -0
- velm/core/daemon/akashic/constants.py +24 -0
- velm/core/daemon/akashic/engine.py +442 -0
- velm/core/daemon/akashic/envelope.py +187 -0
- velm/core/daemon/akashic/memory.py +154 -0
- velm/core/daemon/constants.py +176 -0
- velm/core/daemon/dispatcher/__init__.py +21 -0
- velm/core/daemon/dispatcher/constants.py +31 -0
- velm/core/daemon/dispatcher/engine.py +335 -0
- velm/core/daemon/dispatcher/errors.py +43 -0
- velm/core/daemon/dispatcher/executor.py +51 -0
- velm/core/daemon/dispatcher/pools.py +114 -0
- velm/core/daemon/dispatcher/triage.py +162 -0
- velm/core/daemon/nexus/__init__.py +17 -0
- velm/core/daemon/nexus/engine.py +543 -0
- velm/core/daemon/nexus/gatekeeper.py +515 -0
- velm/core/daemon/nexus/scout.py +41 -0
- velm/core/daemon/nexus/synapse.py +341 -0
- velm/core/daemon/registry/__init__.py +4 -0
- velm/core/daemon/registry/consecrator.py +123 -0
- velm/core/daemon/registry/guard.py +24 -0
- velm/core/daemon/registry/resolver.py +24 -0
- velm/core/daemon/resolver/__init__.py +17 -0
- velm/core/daemon/resolver/constants.py +33 -0
- velm/core/daemon/resolver/dna.py +74 -0
- velm/core/daemon/resolver/engine.py +65 -0
- velm/core/daemon/resolver/executable.py +49 -0
- velm/core/daemon/resolver/identity.py +48 -0
- velm/core/daemon/resolver/virtual.py +47 -0
- velm/core/daemon/serializer/__init__.py +17 -0
- velm/core/daemon/serializer/constants.py +19 -0
- velm/core/daemon/serializer/encoders/forensic.py +22 -0
- velm/core/daemon/serializer/encoders/meta.py +44 -0
- velm/core/daemon/serializer/encoders/schema.py +45 -0
- velm/core/daemon/serializer/encoders/scientific.py +34 -0
- velm/core/daemon/serializer/encoders/spatial.py +18 -0
- velm/core/daemon/serializer/encoders/temporal.py +20 -0
- velm/core/daemon/serializer/engine.py +88 -0
- velm/core/daemon/serializer/registry.py +33 -0
- velm/core/daemon/server/__init__.py +17 -0
- velm/core/daemon/server/banner.py +20 -0
- velm/core/daemon/server/engine.py +334 -0
- velm/core/daemon/server/signals.py +46 -0
- velm/core/daemon/server/vitality.py +212 -0
- velm/core/daemon/surveyor/constants.py +78 -0
- velm/core/daemon/surveyor/engine.py +330 -0
- velm/core/daemon/surveyor/registry.py +151 -0
- velm/core/daemon/surveyor/sentinels/adapter.py +206 -0
- velm/core/daemon/surveyor/sentinels/base.py +70 -0
- velm/core/daemon/surveyor/sentinels/cpp.py +0 -0
- velm/core/daemon/surveyor/sentinels/docker.py +0 -0
- velm/core/daemon/surveyor/sentinels/golang.py +45 -0
- velm/core/daemon/surveyor/sentinels/infra.py +62 -0
- velm/core/daemon/surveyor/sentinels/java.py +52 -0
- velm/core/daemon/surveyor/sentinels/javascript.py +67 -0
- velm/core/daemon/surveyor/sentinels/python.py +84 -0
- velm/core/daemon/surveyor/sentinels/ruby.py +0 -0
- velm/core/daemon/surveyor/sentinels/rust.py +60 -0
- velm/core/daemon/surveyor/sentinels/scaffold.py +57 -0
- velm/core/daemon/surveyor/sentinels/symphony.py +0 -0
- velm/core/daemon/surveyor/sentinels/typescript.py +40 -0
- velm/core/daemon/transporter/__init__.py +17 -0
- velm/core/daemon/transporter/buffer.py +207 -0
- velm/core/daemon/transporter/constants.py +37 -0
- velm/core/daemon/transporter/engine.py +304 -0
- velm/core/daemon/transporter/physics.py +51 -0
- velm/core/fusion/__init__.py +6 -0
- velm/core/fusion/engine.py +174 -0
- velm/core/guardian/__init__.py +15 -0
- velm/core/guardian/contracts.py +43 -0
- velm/core/guardian/grimoire.py +57 -0
- velm/core/guardian/sentry.py +103 -0
- velm/core/guardian/wards/filesystem.py +93 -0
- velm/core/guardian/wards/semantic.py +45 -0
- velm/core/guardian/wards/syntax.py +56 -0
- velm/core/ignition/__init__.py +40 -0
- velm/core/ignition/conductor.py +169 -0
- velm/core/ignition/contracts.py +248 -0
- velm/core/ignition/diviner/__init__.py +21 -0
- velm/core/ignition/diviner/engine.py +175 -0
- velm/core/ignition/diviner/exceptions.py +37 -0
- velm/core/ignition/diviner/heuristics/__init__.py +8 -0
- velm/core/ignition/diviner/heuristics/base.py +27 -0
- velm/core/ignition/diviner/heuristics/engine.py +57 -0
- velm/core/ignition/diviner/heuristics/node_inquisitor.py +54 -0
- velm/core/ignition/diviner/heuristics/python_inquisitor.py +48 -0
- velm/core/ignition/diviner/heuristics/systems_inquisitor.py +27 -0
- velm/core/ignition/diviner/heuristics/visual_inquisitor.py +21 -0
- velm/core/ignition/diviner/persistence.py +75 -0
- velm/core/ignition/diviner/seekers/__init__.py +29 -0
- velm/core/ignition/diviner/seekers/base.py +54 -0
- velm/core/ignition/diviner/seekers/conductor.py +81 -0
- velm/core/ignition/diviner/seekers/entropy_seeker.py +57 -0
- velm/core/ignition/diviner/seekers/environmental_seeker.py +50 -0
- velm/core/ignition/diviner/seekers/heart_seeker.py +59 -0
- velm/core/ignition/diviner/seekers/magic_seeker.py +46 -0
- velm/core/ignition/diviner/seekers/semantic_seeker.py +35 -0
- velm/core/ignition/diviner/seekers/visual_seeker.py +58 -0
- velm/core/ignition/diviner/strategies.py +261 -0
- velm/core/ignition/diviner/telemetry.py +28 -0
- velm/core/ignition/sentinel/__init__.py +7 -0
- velm/core/ignition/sentinel/biology.py +37 -0
- velm/core/ignition/sentinel/grimoire.py +45 -0
- velm/core/ignition/sentinel/priest.py +100 -0
- velm/core/ignition/sentinel/scanner.py +64 -0
- velm/core/ignition/sentinel/vitality.py +72 -0
- velm/core/jurisprudence/adjudicator.py +172 -0
- velm/core/jurisprudence/contracts.py +41 -0
- velm/core/jurisprudence/vows/__init__.py +75 -0
- velm/core/jurisprudence/vows/base.py +108 -0
- velm/core/jurisprudence/vows/cloud_vows.py +74 -0
- velm/core/jurisprudence/vows/database_vows.py +78 -0
- velm/core/jurisprudence/vows/docker_ops_vows.py +65 -0
- velm/core/jurisprudence/vows/filesystem.py +447 -0
- velm/core/jurisprudence/vows/git_vows.py +63 -0
- velm/core/jurisprudence/vows/http_vows.py +61 -0
- velm/core/jurisprudence/vows/meta.py +43 -0
- velm/core/jurisprudence/vows/network.py +70 -0
- velm/core/jurisprudence/vows/process.py +50 -0
- velm/core/jurisprudence/vows/python_vows.py +80 -0
- velm/core/jurisprudence/vows/quality_vows.py +76 -0
- velm/core/jurisprudence/vows/resource_vows.py +68 -0
- velm/core/jurisprudence/vows/security_vows.py +91 -0
- velm/core/jurisprudence/vows/system.py +37 -0
- velm/core/kernel/__init__.py +15 -0
- velm/core/kernel/archivist/__init__.py +22 -0
- velm/core/kernel/archivist/contracts.py +57 -0
- velm/core/kernel/archivist/engine.py +124 -0
- velm/core/kernel/archivist/filters.py +102 -0
- velm/core/kernel/archivist/manifest.py +37 -0
- velm/core/kernel/archivist/restorer.py +81 -0
- velm/core/kernel/archivist/retention.py +44 -0
- velm/core/kernel/archivist/storage.py +105 -0
- velm/core/kernel/artifact_hoarder.py +170 -0
- velm/core/kernel/chronicle/__init__.py +16 -0
- velm/core/kernel/chronicle/archivist.py +63 -0
- velm/core/kernel/chronicle/facade.py +204 -0
- velm/core/kernel/chronicle/integrity_alchemist.py +77 -0
- velm/core/kernel/chronicle/manifest_federator.py +125 -0
- velm/core/kernel/chronicle/provenance_scribe.py +126 -0
- velm/core/kernel/hologram.py +230 -0
- velm/core/kernel/sentinel_gardener.py +113 -0
- velm/core/kernel/sentinel_watcher.py +561 -0
- velm/core/kernel/transaction/__init__.py +17 -0
- velm/core/kernel/transaction/chronicle_bridge.py +217 -0
- velm/core/kernel/transaction/committer.py +126 -0
- velm/core/kernel/transaction/contracts.py +77 -0
- velm/core/kernel/transaction/facade.py +216 -0
- velm/core/kernel/transaction/locking.py +332 -0
- velm/core/kernel/transaction/rollback.py +122 -0
- velm/core/kernel/transaction/staging.py +132 -0
- velm/core/lsp/STREAMING_PROTOCOL.md +121 -0
- velm/core/lsp/__init__.py +127 -0
- velm/core/lsp/base/__init__.py +39 -0
- velm/core/lsp/base/contracts.py +34 -0
- velm/core/lsp/base/dispatcher.py +390 -0
- velm/core/lsp/base/document.py +227 -0
- velm/core/lsp/base/errors.py +31 -0
- velm/core/lsp/base/features/__init__.py +0 -0
- velm/core/lsp/base/features/call_hierarchy/__init__.py +16 -0
- velm/core/lsp/base/features/call_hierarchy/contracts.py +41 -0
- velm/core/lsp/base/features/call_hierarchy/engine.py +91 -0
- velm/core/lsp/base/features/call_hierarchy/models.py +12 -0
- velm/core/lsp/base/features/code_action/__init__.py +19 -0
- velm/core/lsp/base/features/code_action/contracts.py +47 -0
- velm/core/lsp/base/features/code_action/engine.py +108 -0
- velm/core/lsp/base/features/code_action/models.py +16 -0
- velm/core/lsp/base/features/code_lens/__init__.py +19 -0
- velm/core/lsp/base/features/code_lens/contracts.py +46 -0
- velm/core/lsp/base/features/code_lens/engine.py +111 -0
- velm/core/lsp/base/features/code_lens/models.py +6 -0
- velm/core/lsp/base/features/completion/__init__.py +19 -0
- velm/core/lsp/base/features/completion/contracts.py +126 -0
- velm/core/lsp/base/features/completion/engine.py +183 -0
- velm/core/lsp/base/features/completion/models.py +7 -0
- velm/core/lsp/base/features/definition/__init__.py +19 -0
- velm/core/lsp/base/features/definition/contracts.py +47 -0
- velm/core/lsp/base/features/definition/engine.py +90 -0
- velm/core/lsp/base/features/definition/models.py +6 -0
- velm/core/lsp/base/features/definition/registry.py +19 -0
- velm/core/lsp/base/features/diagnostics/__init__.py +19 -0
- velm/core/lsp/base/features/diagnostics/context.py +75 -0
- velm/core/lsp/base/features/diagnostics/engine.py +186 -0
- velm/core/lsp/base/features/diagnostics/formatter.py +214 -0
- velm/core/lsp/base/features/diagnostics/governor.py +92 -0
- velm/core/lsp/base/features/diagnostics/ledger.py +123 -0
- velm/core/lsp/base/features/diagnostics/manager.py +222 -0
- velm/core/lsp/base/features/diagnostics/registry.py +123 -0
- velm/core/lsp/base/features/document_link/__init__.py +7 -0
- velm/core/lsp/base/features/document_link/contracts.py +37 -0
- velm/core/lsp/base/features/document_link/engine.py +66 -0
- velm/core/lsp/base/features/document_link/models.py +6 -0
- velm/core/lsp/base/features/folding_range/__init__.py +25 -0
- velm/core/lsp/base/features/folding_range/contracts.py +32 -0
- velm/core/lsp/base/features/folding_range/engine.py +84 -0
- velm/core/lsp/base/features/folding_range/models.py +10 -0
- velm/core/lsp/base/features/formatting/__init__.py +19 -0
- velm/core/lsp/base/features/formatting/contracts.py +47 -0
- velm/core/lsp/base/features/formatting/engine.py +88 -0
- velm/core/lsp/base/features/formatting/models.py +6 -0
- velm/core/lsp/base/features/hover/__init__.py +7 -0
- velm/core/lsp/base/features/hover/contracts.py +55 -0
- velm/core/lsp/base/features/hover/engine.py +211 -0
- velm/core/lsp/base/features/hover/models.py +23 -0
- velm/core/lsp/base/features/hover/registry.py +18 -0
- velm/core/lsp/base/features/inlay_hint/__init__.py +19 -0
- velm/core/lsp/base/features/inlay_hint/contracts.py +39 -0
- velm/core/lsp/base/features/inlay_hint/engine.py +98 -0
- velm/core/lsp/base/features/inlay_hint/models.py +6 -0
- velm/core/lsp/base/features/inline_completion/__init__.py +19 -0
- velm/core/lsp/base/features/inline_completion/contracts.py +36 -0
- velm/core/lsp/base/features/inline_completion/engine.py +77 -0
- velm/core/lsp/base/features/inline_completion/models.py +7 -0
- velm/core/lsp/base/features/linter/__init__.py +19 -0
- velm/core/lsp/base/features/linter/contracts.py +53 -0
- velm/core/lsp/base/features/linter/engine.py +94 -0
- velm/core/lsp/base/features/references/__init__.py +19 -0
- velm/core/lsp/base/features/references/contracts.py +39 -0
- velm/core/lsp/base/features/references/engine.py +114 -0
- velm/core/lsp/base/features/references/models.py +6 -0
- velm/core/lsp/base/features/rename/__init__.py +27 -0
- velm/core/lsp/base/features/rename/contracts.py +56 -0
- velm/core/lsp/base/features/rename/engine.py +126 -0
- velm/core/lsp/base/features/rename/models.py +6 -0
- velm/core/lsp/base/features/selection_range/__init__.py +13 -0
- velm/core/lsp/base/features/selection_range/contracts.py +32 -0
- velm/core/lsp/base/features/selection_range/engine.py +67 -0
- velm/core/lsp/base/features/selection_range/models.py +50 -0
- velm/core/lsp/base/features/semantic_tokens/__init__.py +20 -0
- velm/core/lsp/base/features/semantic_tokens/contracts.py +23 -0
- velm/core/lsp/base/features/semantic_tokens/differ.py +66 -0
- velm/core/lsp/base/features/semantic_tokens/encoder.py +50 -0
- velm/core/lsp/base/features/semantic_tokens/engine.py +200 -0
- velm/core/lsp/base/features/semantic_tokens/legend.py +37 -0
- velm/core/lsp/base/features/semantic_tokens/models.py +8 -0
- velm/core/lsp/base/features/signature_help/__init__.py +25 -0
- velm/core/lsp/base/features/signature_help/contracts.py +45 -0
- velm/core/lsp/base/features/signature_help/engine.py +139 -0
- velm/core/lsp/base/features/signature_help/models.py +7 -0
- velm/core/lsp/base/features/symbols/__init__.py +19 -0
- velm/core/lsp/base/features/symbols/contracts.py +64 -0
- velm/core/lsp/base/features/symbols/engine.py +99 -0
- velm/core/lsp/base/features/symbols/models.py +7 -0
- velm/core/lsp/base/features/type_hierarchy/__init__.py +18 -0
- velm/core/lsp/base/features/type_hierarchy/contracts.py +39 -0
- velm/core/lsp/base/features/type_hierarchy/engine.py +91 -0
- velm/core/lsp/base/features/type_hierarchy/models.py +9 -0
- velm/core/lsp/base/features/workspace/__init__.py +8 -0
- velm/core/lsp/base/features/workspace/commands/router.py +30 -0
- velm/core/lsp/base/features/workspace/contracts.py +20 -0
- velm/core/lsp/base/features/workspace/engine.py +42 -0
- velm/core/lsp/base/features/workspace/folders/__init__.py +14 -0
- velm/core/lsp/base/features/workspace/folders/manager.py +110 -0
- velm/core/lsp/base/features/workspace/folders/models.py +38 -0
- velm/core/lsp/base/features/workspace/folders/scryer.py +53 -0
- velm/core/lsp/base/features/workspace/models.py +8 -0
- velm/core/lsp/base/features/workspace/symbols/__init__.py +14 -0
- velm/core/lsp/base/features/workspace/symbols/contracts.py +19 -0
- velm/core/lsp/base/features/workspace/symbols/cortex_bridge.py +34 -0
- velm/core/lsp/base/features/workspace/symbols/engine.py +46 -0
- velm/core/lsp/base/features/workspace/symbols/models.py +21 -0
- velm/core/lsp/base/features/workspace/symbols/scryer.py +46 -0
- velm/core/lsp/base/features/workspace/watcher/core.py +217 -0
- velm/core/lsp/base/features/workspace/watcher/debounce.py +29 -0
- velm/core/lsp/base/foundry.py +62 -0
- velm/core/lsp/base/governor.py +100 -0
- velm/core/lsp/base/kernel.py +363 -0
- velm/core/lsp/base/manager.py +148 -0
- velm/core/lsp/base/middleware.py +112 -0
- velm/core/lsp/base/protocol/__init__.py +31 -0
- velm/core/lsp/base/protocol/constants.py +33 -0
- velm/core/lsp/base/protocol/endpoint.py +258 -0
- velm/core/lsp/base/protocol/framing.py +105 -0
- velm/core/lsp/base/protocol/streams.py +274 -0
- velm/core/lsp/base/protocol/telemetry.py +73 -0
- velm/core/lsp/base/rpc/__init__.py +49 -0
- velm/core/lsp/base/rpc/base.py +17 -0
- velm/core/lsp/base/rpc/cancellation.py +54 -0
- velm/core/lsp/base/rpc/codes.py +30 -0
- velm/core/lsp/base/rpc/converter.py +50 -0
- velm/core/lsp/base/rpc/errors.py +56 -0
- velm/core/lsp/base/rpc/filters.py +30 -0
- velm/core/lsp/base/rpc/messages.py +136 -0
- velm/core/lsp/base/rpc/serializer.py +302 -0
- velm/core/lsp/base/state.py +32 -0
- velm/core/lsp/base/telemetry.py +88 -0
- velm/core/lsp/base/types/__init__.py +187 -0
- velm/core/lsp/base/types/base.py +54 -0
- velm/core/lsp/base/types/call_hierarchy.py +69 -0
- velm/core/lsp/base/types/code_action.py +83 -0
- velm/core/lsp/base/types/code_lens.py +23 -0
- velm/core/lsp/base/types/completion.py +230 -0
- velm/core/lsp/base/types/definition.py +88 -0
- velm/core/lsp/base/types/diagnostics.py +129 -0
- velm/core/lsp/base/types/document_highlight.py +68 -0
- velm/core/lsp/base/types/document_link.py +48 -0
- velm/core/lsp/base/types/folding_range.py +93 -0
- velm/core/lsp/base/types/formatting.py +22 -0
- velm/core/lsp/base/types/hover.py +107 -0
- velm/core/lsp/base/types/inlay_hint.py +31 -0
- velm/core/lsp/base/types/inline_completion.py +65 -0
- velm/core/lsp/base/types/lifecycle.py +182 -0
- velm/core/lsp/base/types/navigation.py +104 -0
- velm/core/lsp/base/types/primitives.py +262 -0
- velm/core/lsp/base/types/references.py +79 -0
- velm/core/lsp/base/types/rename.py +61 -0
- velm/core/lsp/base/types/selection_range.py +73 -0
- velm/core/lsp/base/types/semantic_tokens.py +44 -0
- velm/core/lsp/base/types/signature_help.py +131 -0
- velm/core/lsp/base/types/symbols.py +47 -0
- velm/core/lsp/base/types/sync.py +58 -0
- velm/core/lsp/base/types/type_hierarchy.py +65 -0
- velm/core/lsp/base/types/window.py +98 -0
- velm/core/lsp/base/types/workspace.py +155 -0
- velm/core/lsp/base/utils/__init__.py +13 -0
- velm/core/lsp/base/utils/debounce.py +38 -0
- velm/core/lsp/base/utils/position.py +29 -0
- velm/core/lsp/base/utils/text.py +201 -0
- velm/core/lsp/base/utils/timing.py +64 -0
- velm/core/lsp/base/utils/uri.py +267 -0
- velm/core/lsp/base/utils/validation.py +19 -0
- velm/core/lsp/scaffold_features/call_hierarchy/__init__.py +6 -0
- velm/core/lsp/scaffold_features/call_hierarchy/engine.py +26 -0
- velm/core/lsp/scaffold_features/call_hierarchy/providers/daemon_bridge.py +128 -0
- velm/core/lsp/scaffold_features/code_action/__init__.py +25 -0
- velm/core/lsp/scaffold_features/code_action/engine.py +89 -0
- velm/core/lsp/scaffold_features/code_action/models.py +6 -0
- velm/core/lsp/scaffold_features/code_action/providers/artisan_bridge.py +214 -0
- velm/core/lsp/scaffold_features/code_action/providers/neural_healer.py +52 -0
- velm/core/lsp/scaffold_features/code_action/providers/refactor_surgeon.py +57 -0
- velm/core/lsp/scaffold_features/code_action/providers/syntax_medic.py +64 -0
- velm/core/lsp/scaffold_features/code_lens/__init__.py +15 -0
- velm/core/lsp/scaffold_features/code_lens/engine.py +32 -0
- velm/core/lsp/scaffold_features/code_lens/models.py +5 -0
- velm/core/lsp/scaffold_features/code_lens/providers/blueprint.py +55 -0
- velm/core/lsp/scaffold_features/code_lens/providers/intelligence.py +57 -0
- velm/core/lsp/scaffold_features/code_lens/providers/kinetic.py +56 -0
- velm/core/lsp/scaffold_features/completion/__init__.py +17 -0
- velm/core/lsp/scaffold_features/completion/engine.py +278 -0
- velm/core/lsp/scaffold_features/completion/models.py +7 -0
- velm/core/lsp/scaffold_features/completion/providers/__init__.py +27 -0
- velm/core/lsp/scaffold_features/completion/providers/global_prophet.py +160 -0
- velm/core/lsp/scaffold_features/completion/providers/internal.py +153 -0
- velm/core/lsp/scaffold_features/completion/providers/keyword_prophet.py +246 -0
- velm/core/lsp/scaffold_features/completion/providers/path_prophet.py +330 -0
- velm/core/lsp/scaffold_features/completion/providers/variable_prophet.py +92 -0
- velm/core/lsp/scaffold_features/definition/__init__.py +19 -0
- velm/core/lsp/scaffold_features/definition/engine.py +40 -0
- velm/core/lsp/scaffold_features/definition/models.py +6 -0
- velm/core/lsp/scaffold_features/definition/rules/__init__.py +8 -0
- velm/core/lsp/scaffold_features/definition/rules/file_links.py +57 -0
- velm/core/lsp/scaffold_features/definition/rules/global_symbols.py +57 -0
- velm/core/lsp/scaffold_features/definition/rules/local_vars.py +47 -0
- velm/core/lsp/scaffold_features/definition/rules/macros.py +51 -0
- velm/core/lsp/scaffold_features/definition/rules/stdlib.py +38 -0
- velm/core/lsp/scaffold_features/document_link/__init__.py +6 -0
- velm/core/lsp/scaffold_features/document_link/engine.py +25 -0
- velm/core/lsp/scaffold_features/document_link/providers/gnostic_linker.py +114 -0
- velm/core/lsp/scaffold_features/folding_range/__init__.py +21 -0
- velm/core/lsp/scaffold_features/folding_range/engine.py +42 -0
- velm/core/lsp/scaffold_features/folding_range/providers/commentary.py +50 -0
- velm/core/lsp/scaffold_features/folding_range/providers/content_block.py +64 -0
- velm/core/lsp/scaffold_features/folding_range/providers/gnostic_structure.py +70 -0
- velm/core/lsp/scaffold_features/folding_range/providers/indentation_fallback.py +59 -0
- velm/core/lsp/scaffold_features/formatting/__init__.py +6 -0
- velm/core/lsp/scaffold_features/formatting/engine.py +26 -0
- velm/core/lsp/scaffold_features/formatting/models.py +6 -0
- velm/core/lsp/scaffold_features/formatting/providers/__init__.py +5 -0
- velm/core/lsp/scaffold_features/formatting/providers/beautifier.py +105 -0
- velm/core/lsp/scaffold_features/hover/__init__.py +20 -0
- velm/core/lsp/scaffold_features/hover/engine.py +240 -0
- velm/core/lsp/scaffold_features/hover/grimoire_data.py +239 -0
- velm/core/lsp/scaffold_features/hover/models.py +6 -0
- velm/core/lsp/scaffold_features/hover/providers/__init__.py +29 -0
- velm/core/lsp/scaffold_features/hover/providers/alchemy.py +64 -0
- velm/core/lsp/scaffold_features/hover/providers/internal.py +170 -0
- velm/core/lsp/scaffold_features/hover/providers/matter.py +89 -0
- velm/core/lsp/scaffold_features/hover/providers/mentor.py +63 -0
- velm/core/lsp/scaffold_features/inlay_hint/__init__.py +15 -0
- velm/core/lsp/scaffold_features/inlay_hint/engine.py +32 -0
- velm/core/lsp/scaffold_features/inlay_hint/models.py +6 -0
- velm/core/lsp/scaffold_features/inlay_hint/providers/__init__.py +5 -0
- velm/core/lsp/scaffold_features/inlay_hint/providers/macro_param.py +114 -0
- velm/core/lsp/scaffold_features/inlay_hint/providers/shadow_truth.py +96 -0
- velm/core/lsp/scaffold_features/inlay_hint/providers/variable_type.py +112 -0
- velm/core/lsp/scaffold_features/inline_completion/__init__.py +8 -0
- velm/core/lsp/scaffold_features/inline_completion/engine.py +29 -0
- velm/core/lsp/scaffold_features/inline_completion/providers/muse.py +60 -0
- velm/core/lsp/scaffold_features/inline_completion/providers/snippet.py +40 -0
- velm/core/lsp/scaffold_features/linter/__init__.py +19 -0
- velm/core/lsp/scaffold_features/linter/context.py +74 -0
- velm/core/lsp/scaffold_features/linter/engine.py +59 -0
- velm/core/lsp/scaffold_features/linter/registry.py +63 -0
- velm/core/lsp/scaffold_features/linter/rules/architecture_law.py +79 -0
- velm/core/lsp/scaffold_features/linter/rules/artisan_inquest.py +387 -0
- velm/core/lsp/scaffold_features/linter/rules/base.py +79 -0
- velm/core/lsp/scaffold_features/linter/rules/bond_law.py +57 -0
- velm/core/lsp/scaffold_features/linter/rules/complexity_law.py +47 -0
- velm/core/lsp/scaffold_features/linter/rules/geometry_law.py +45 -0
- velm/core/lsp/scaffold_features/linter/rules/security_law.py +47 -0
- velm/core/lsp/scaffold_features/linter/rules/syntax_law.py +53 -0
- velm/core/lsp/scaffold_features/refactoring/__init__.py +7 -0
- velm/core/lsp/scaffold_features/refactoring/engine.py +41 -0
- velm/core/lsp/scaffold_features/refactoring/handlers/rename_files.py +90 -0
- velm/core/lsp/scaffold_features/references/__init__.py +15 -0
- velm/core/lsp/scaffold_features/references/engine.py +36 -0
- velm/core/lsp/scaffold_features/references/models.py +5 -0
- velm/core/lsp/scaffold_features/references/providers/__init__.py +5 -0
- velm/core/lsp/scaffold_features/references/providers/daemon_bridge.py +55 -0
- velm/core/lsp/scaffold_features/references/providers/inclusion.py +49 -0
- velm/core/lsp/scaffold_features/references/providers/local_usage.py +56 -0
- velm/core/lsp/scaffold_features/rename/__init__.py +12 -0
- velm/core/lsp/scaffold_features/rename/contracts.py +41 -0
- velm/core/lsp/scaffold_features/rename/engine.py +33 -0
- velm/core/lsp/scaffold_features/rename/models.py +6 -0
- velm/core/lsp/scaffold_features/rename/mutators/cortex.py +45 -0
- velm/core/lsp/scaffold_features/rename/mutators/local.py +55 -0
- velm/core/lsp/scaffold_features/rename/validator.py +32 -0
- velm/core/lsp/scaffold_features/selection_range/__init__.py +6 -0
- velm/core/lsp/scaffold_features/selection_range/engine.py +26 -0
- velm/core/lsp/scaffold_features/selection_range/providers/semantic_expander.py +236 -0
- velm/core/lsp/scaffold_features/semantic_tokens/__init__.py +6 -0
- velm/core/lsp/scaffold_features/semantic_tokens/engine.py +26 -0
- velm/core/lsp/scaffold_features/semantic_tokens/legend.py +124 -0
- velm/core/lsp/scaffold_features/semantic_tokens/models.py +8 -0
- velm/core/lsp/scaffold_features/semantic_tokens/providers/__init__.py +6 -0
- velm/core/lsp/scaffold_features/semantic_tokens/providers/gnostic.py +117 -0
- velm/core/lsp/scaffold_features/signature_help/__init__.py +15 -0
- velm/core/lsp/scaffold_features/signature_help/engine.py +32 -0
- velm/core/lsp/scaffold_features/signature_help/models.py +6 -0
- velm/core/lsp/scaffold_features/signature_help/providers/__init__.py +5 -0
- velm/core/lsp/scaffold_features/signature_help/providers/alchemist_oracle.py +55 -0
- velm/core/lsp/scaffold_features/signature_help/providers/bridge.py +41 -0
- velm/core/lsp/scaffold_features/signature_help/providers/macro_oracle.py +47 -0
- velm/core/lsp/scaffold_features/symbols/__init__.py +19 -0
- velm/core/lsp/scaffold_features/symbols/engine.py +37 -0
- velm/core/lsp/scaffold_features/symbols/models.py +7 -0
- velm/core/lsp/scaffold_features/symbols/providers/__init__.py +30 -0
- velm/core/lsp/scaffold_features/symbols/providers/base.py +22 -0
- velm/core/lsp/scaffold_features/symbols/providers/logic.py +58 -0
- velm/core/lsp/scaffold_features/symbols/providers/maestro.py +41 -0
- velm/core/lsp/scaffold_features/symbols/providers/matter.py +65 -0
- velm/core/lsp/scaffold_features/symbols/providers/polyglot.py +31 -0
- velm/core/lsp/scaffold_features/symbols/providers/variables.py +37 -0
- velm/core/lsp/scaffold_features/type_hierarchy/__init__.py +6 -0
- velm/core/lsp/scaffold_features/type_hierarchy/engine.py +26 -0
- velm/core/lsp/scaffold_features/type_hierarchy/providers/daemon_bridge.py +129 -0
- velm/core/lsp/scaffold_features/workspace/__init__.py +14 -0
- velm/core/lsp/scaffold_features/workspace/commands.py +57 -0
- velm/core/lsp/scaffold_features/workspace/engine.py +34 -0
- velm/core/lsp/scaffold_features/workspace/grimoire.py +19 -0
- velm/core/lsp/scaffold_features/workspace/watcher.py +31 -0
- velm/core/lsp/scaffold_server/__init__.py +39 -0
- velm/core/lsp/scaffold_server/__main__.py +22 -0
- velm/core/lsp/scaffold_server/adrenaline.py +208 -0
- velm/core/lsp/scaffold_server/auth.py +183 -0
- velm/core/lsp/scaffold_server/bootstrap.py +233 -0
- velm/core/lsp/scaffold_server/commands.py +267 -0
- velm/core/lsp/scaffold_server/engine.py +1157 -0
- velm/core/lsp/scaffold_server/inquest.py +268 -0
- velm/core/lsp/scaffold_server/lifecycle.py +214 -0
- velm/core/lsp/scaffold_server/mirror.py +162 -0
- velm/core/lsp/scaffold_server/relay.py +264 -0
- velm/core/lsp/scaffold_server/sync.py +224 -0
- velm/core/lsp/scaffold_server/telemetry.py +189 -0
- velm/core/maestro/__init__.py +16 -0
- velm/core/maestro/conductor.py +377 -0
- velm/core/maestro/context.py +227 -0
- velm/core/maestro/contracts.py +39 -0
- velm/core/maestro/handlers/__init__.py +14 -0
- velm/core/maestro/handlers/base.py +38 -0
- velm/core/maestro/handlers/browser.py +53 -0
- velm/core/maestro/handlers/hosts.py +109 -0
- velm/core/maestro/handlers/proclaim.py +40 -0
- velm/core/maestro/handlers/raw.py +40 -0
- velm/core/maestro/handlers/shell.py +306 -0
- velm/core/maestro/handlers/tunnel.py +32 -0
- velm/core/maestro/reverser.py +132 -0
- velm/core/maestro/scribe.py +90 -0
- velm/core/net/__init__.py +13 -0
- velm/core/net/aether/__init__.py +14 -0
- velm/core/net/aether/anonymizer.py +19 -0
- velm/core/net/aether/client.py +32 -0
- velm/core/net/tunnel.py +222 -0
- velm/core/observatory/__init__.py +26 -0
- velm/core/observatory/contracts.py +62 -0
- velm/core/observatory/health.py +57 -0
- velm/core/observatory/manager.py +166 -0
- velm/core/observatory/scanner.py +65 -0
- velm/core/observatory/store.py +67 -0
- velm/core/persona/manager.py +74 -0
- velm/core/persona/registry.py +52 -0
- velm/core/redemption/__init__.py +0 -0
- velm/core/redemption/diagnostician/__init__.py +14 -0
- velm/core/redemption/diagnostician/contracts.py +21 -0
- velm/core/redemption/diagnostician/doctor.py +71 -0
- velm/core/redemption/diagnostician/grimoire.py +39 -0
- velm/core/redemption/diagnostician/specialists/__init__.py +0 -0
- velm/core/redemption/diagnostician/specialists/fs_healer.py +73 -0
- velm/core/redemption/diagnostician/specialists/import_healer.py +64 -0
- velm/core/redemption/diagnostician/specialists/network_healer.py +69 -0
- velm/core/redemption/diagnostician/specialists/system_healer.py +151 -0
- velm/core/resolvers/__init__.py +5 -0
- velm/core/resolvers/pathfinder.py +137 -0
- velm/core/runtime/__init__.py +13 -0
- velm/core/runtime/context.py +199 -0
- velm/core/runtime/engine/__init__.py +15 -0
- velm/core/runtime/engine/constants.py +22 -0
- velm/core/runtime/engine/core.py +775 -0
- velm/core/runtime/engine/execution/__init__.py +27 -0
- velm/core/runtime/engine/execution/context.py +93 -0
- velm/core/runtime/engine/execution/dispatcher.py +365 -0
- velm/core/runtime/engine/execution/executor.py +61 -0
- velm/core/runtime/engine/execution/locking.py +35 -0
- velm/core/runtime/engine/execution/retry.py +44 -0
- velm/core/runtime/engine/execution/transaction.py +143 -0
- velm/core/runtime/engine/intelligence/__init__.py +27 -0
- velm/core/runtime/engine/intelligence/cache.py +49 -0
- velm/core/runtime/engine/intelligence/memory.py +36 -0
- velm/core/runtime/engine/intelligence/optimizer.py +46 -0
- velm/core/runtime/engine/intelligence/predictor.py +355 -0
- velm/core/runtime/engine/lifecycle/__init__.py +34 -0
- velm/core/runtime/engine/lifecycle/bootstrap.py +175 -0
- velm/core/runtime/engine/lifecycle/shutdown.py +54 -0
- velm/core/runtime/engine/lifecycle/signals.py +36 -0
- velm/core/runtime/engine/lifecycle/state.py +31 -0
- velm/core/runtime/engine/lifecycle/vitality.py +212 -0
- velm/core/runtime/engine/resilience/__init__.py +27 -0
- velm/core/runtime/engine/resilience/circuit.py +75 -0
- velm/core/runtime/engine/resilience/forensics.py +45 -0
- velm/core/runtime/engine/resilience/healer.py +187 -0
- velm/core/runtime/engine/resilience/watchdog.py +293 -0
- velm/core/runtime/middleware/__init__.py +96 -0
- velm/core/runtime/middleware/adaptive.py +128 -0
- velm/core/runtime/middleware/auth.py +56 -0
- velm/core/runtime/middleware/budget.py +41 -0
- velm/core/runtime/middleware/caching.py +253 -0
- velm/core/runtime/middleware/chaos.py +173 -0
- velm/core/runtime/middleware/circuit.py +85 -0
- velm/core/runtime/middleware/compliance.py +122 -0
- velm/core/runtime/middleware/concourse.py +46 -0
- velm/core/runtime/middleware/constitution.py +130 -0
- velm/core/runtime/middleware/contract.py +30 -0
- velm/core/runtime/middleware/enrichment.py +138 -0
- velm/core/runtime/middleware/entropy_shield.py +202 -0
- velm/core/runtime/middleware/flags.py +179 -0
- velm/core/runtime/middleware/forensics.py +53 -0
- velm/core/runtime/middleware/governor.py +95 -0
- velm/core/runtime/middleware/harmonizer.py +153 -0
- velm/core/runtime/middleware/healing.py +66 -0
- velm/core/runtime/middleware/librarian.py +212 -0
- velm/core/runtime/middleware/notification.py +78 -0
- velm/core/runtime/middleware/optimization.py +78 -0
- velm/core/runtime/middleware/output_veil.py +86 -0
- velm/core/runtime/middleware/persona_warden.py +92 -0
- velm/core/runtime/middleware/pipeline.py +376 -0
- velm/core/runtime/middleware/policy.py +66 -0
- velm/core/runtime/middleware/prerequisites.py +307 -0
- velm/core/runtime/middleware/privacy.py +299 -0
- velm/core/runtime/middleware/profiler.py +178 -0
- velm/core/runtime/middleware/reflective.py +58 -0
- velm/core/runtime/middleware/resonance.py +79 -0
- velm/core/runtime/middleware/safety.py +48 -0
- velm/core/runtime/middleware/singularity.py +98 -0
- velm/core/runtime/middleware/telemetry.py +334 -0
- velm/core/runtime/middleware/tracing.py +53 -0
- velm/core/runtime/middleware/veil.py +74 -0
- velm/core/runtime/plugin_interface.py +26 -0
- velm/core/runtime/registry.py +368 -0
- velm/core/runtime/remote.py +312 -0
- velm/core/runtime/resilience.py +117 -0
- velm/core/runtime/telemetry.py +391 -0
- velm/core/sanctum/base.py +113 -0
- velm/core/sanctum/local.py +309 -0
- velm/core/sanctum/memory.py +379 -0
- velm/core/sanctum/s3.py +203 -0
- velm/core/sanctum/ssh.py +338 -0
- velm/core/sanitization/__init__.py +13 -0
- velm/core/sanitization/ghost_buster.py +116 -0
- velm/core/scaffold.lock +374 -0
- velm/core/scaffold.scaffold +44 -0
- velm/core/semantics/__init__.py +27 -0
- velm/core/semantics/contracts.py +133 -0
- velm/core/semantics/engine.py +223 -0
- velm/core/semantics/intent.py +87 -0
- velm/core/semantics/reranker.py +95 -0
- velm/core/semantics/retriever.py +124 -0
- velm/core/sentinel_conduit.py +164 -0
- velm/core/simulation/__init__.py +16 -0
- velm/core/simulation/conductor/__init__.py +11 -0
- velm/core/simulation/conductor/gnostic_comparator.py +219 -0
- velm/core/simulation/conductor/orchestrator.py +127 -0
- velm/core/simulation/conductor/reality_forge.py +188 -0
- velm/core/simulation/conductor/simulation_mind.py +115 -0
- velm/core/simulation/prophecy.py +33 -0
- velm/core/simulation/scribe.py +232 -0
- velm/core/state/__init__.py +26 -0
- velm/core/state/contracts.py +141 -0
- velm/core/state/gnostic_db/__init__.py +35 -0
- velm/core/state/gnostic_db/engine.py +299 -0
- velm/core/state/gnostic_db/models.py +176 -0
- velm/core/state/ledger.py +46 -0
- velm/core/state/machine.py +25 -0
- velm/core/state/snapshot.py +30 -0
- velm/core/state/store.py +205 -0
- velm/core/structure_sentinel/__init__.py +15 -0
- velm/core/structure_sentinel/contracts.py +24 -0
- velm/core/structure_sentinel/facade.py +84 -0
- velm/core/structure_sentinel/strategies/__init__.py +38 -0
- velm/core/structure_sentinel/strategies/base_strategy.py +17 -0
- velm/core/structure_sentinel/strategies/boundary_strategy.py +59 -0
- velm/core/structure_sentinel/strategies/cpp_strategy.py +115 -0
- velm/core/structure_sentinel/strategies/go_strategy.py +130 -0
- velm/core/structure_sentinel/strategies/java_strategy.py +99 -0
- velm/core/structure_sentinel/strategies/javascript_strategy.py +12 -0
- velm/core/structure_sentinel/strategies/node_strategy.py +160 -0
- velm/core/structure_sentinel/strategies/python_strategy/__init__.py +6 -0
- velm/core/structure_sentinel/strategies/python_strategy/base_faculty.py +43 -0
- velm/core/structure_sentinel/strategies/python_strategy/contracts.py +19 -0
- velm/core/structure_sentinel/strategies/python_strategy/engine.py +101 -0
- velm/core/structure_sentinel/strategies/python_strategy/frameworks/__init__.py +13 -0
- velm/core/structure_sentinel/strategies/python_strategy/frameworks/contracts.py +52 -0
- velm/core/structure_sentinel/strategies/python_strategy/frameworks/engine.py +96 -0
- velm/core/structure_sentinel/strategies/python_strategy/frameworks/heuristics.py +63 -0
- velm/core/structure_sentinel/strategies/python_strategy/frameworks/strategies/__init__.py +14 -0
- velm/core/structure_sentinel/strategies/python_strategy/frameworks/strategies/django.py +57 -0
- velm/core/structure_sentinel/strategies/python_strategy/frameworks/strategies/fastapi.py +46 -0
- velm/core/structure_sentinel/strategies/python_strategy/frameworks/strategies/flask.py +41 -0
- velm/core/structure_sentinel/strategies/python_strategy/frameworks/strategies/typer.py +40 -0
- velm/core/structure_sentinel/strategies/python_strategy/frameworks/surgeon.py +93 -0
- velm/core/structure_sentinel/strategies/python_strategy/semantic/__init__.py +2 -0
- velm/core/structure_sentinel/strategies/python_strategy/semantic/engine.py +171 -0
- velm/core/structure_sentinel/strategies/python_strategy/semantic/guardian.py +172 -0
- velm/core/structure_sentinel/strategies/python_strategy/semantic/harvester.py +142 -0
- velm/core/structure_sentinel/strategies/python_strategy/semantic/weaver.py +232 -0
- velm/core/structure_sentinel/strategies/python_strategy/structural/__init__.py +2 -0
- velm/core/structure_sentinel/strategies/python_strategy/structural/content.py +239 -0
- velm/core/structure_sentinel/strategies/python_strategy/structural/engine.py +192 -0
- velm/core/structure_sentinel/strategies/python_strategy/structural/layout.py +244 -0
- velm/core/structure_sentinel/strategies/python_strategy/testing/__init__.py +5 -0
- velm/core/structure_sentinel/strategies/python_strategy/testing/analyzer.py +90 -0
- velm/core/structure_sentinel/strategies/python_strategy/testing/contracts.py +31 -0
- velm/core/structure_sentinel/strategies/python_strategy/testing/engine.py +100 -0
- velm/core/structure_sentinel/strategies/python_strategy/testing/generator.py +119 -0
- velm/core/structure_sentinel/strategies/ruby_strategy.py +104 -0
- velm/core/structure_sentinel/strategies/rust_strategy.py +169 -0
- velm/core/structure_sentinel/strategies/typescript_strategy.py +12 -0
- velm/core/symbolic/__init__.py +154 -0
- velm/core/symbolic/contracts.py +134 -0
- velm/core/symbolic/engine.py +230 -0
- velm/core/symbolic/inquisitors/__init__.py +119 -0
- velm/core/symbolic/inquisitors/banker.py +166 -0
- velm/core/symbolic/inquisitors/base.py +157 -0
- velm/core/symbolic/inquisitors/bouncer.py +214 -0
- velm/core/symbolic/inquisitors/chronos.py +190 -0
- velm/core/symbolic/inquisitors/librarian.py +284 -0
- velm/core/symbolic/inquisitors/retina.py +154 -0
- velm/core/symbolic/inquisitors/scrier.py +153 -0
- velm/core/symbolic/inquisitors/sentinel.py +155 -0
- velm/core/symbolic/refinement/__init__.py +89 -0
- velm/core/symbolic/refinement/alchemist.py +198 -0
- velm/core/symbolic/refinement/purifier.py +180 -0
- velm/core/symbolic/sutures/__init__.py +76 -0
- velm/core/symbolic/sutures/neural_bridge.py +440 -0
- velm/core/symbolic/sutures/vision_gate.py +178 -0
- velm/core/symbolic/telemetry/__init__.py +75 -0
- velm/core/symbolic/telemetry/pulse.py +128 -0
- velm/core/symbolic.scaffold +28 -0
- velm/core/system/manager.py +304 -0
- velm/core/traceback/__init__.py +15 -0
- velm/core/traceback/contracts.py +123 -0
- velm/core/traceback/handler.py +188 -0
- velm/core/traceback/inspector.py +222 -0
- velm/core/traceback/renderer.py +138 -0
- velm/creator/__init__.py +15 -0
- velm/creator/alu.py +46 -0
- velm/creator/bootloader.py +66 -0
- velm/creator/cpu.py +148 -0
- velm/creator/engine/__init__.py +12 -0
- velm/creator/engine/adjudicator.py +110 -0
- velm/creator/engine/facade.py +237 -0
- velm/creator/factory.py +46 -0
- velm/creator/io_controller/__init__.py +23 -0
- velm/creator/io_controller/contracts.py +17 -0
- velm/creator/io_controller/facade.py +221 -0
- velm/creator/io_controller/ledger_scribe.py +109 -0
- velm/creator/io_controller/operations.py +128 -0
- velm/creator/io_controller/path_alchemist.py +45 -0
- velm/creator/io_controller/security.py +67 -0
- velm/creator/io_controller/transaction_router.py +66 -0
- velm/creator/io_controller/trash.py +126 -0
- velm/creator/io_validators.py +90 -0
- velm/creator/next_step_oracle.py +143 -0
- velm/creator/opcodes.py +39 -0
- velm/creator/registers.py +152 -0
- velm/creator/reports.py +85 -0
- velm/creator/security.py +108 -0
- velm/creator/writer/__init__.py +13 -0
- velm/creator/writer/atomic.py +58 -0
- velm/creator/writer/contracts.py +27 -0
- velm/creator/writer/differential.py +30 -0
- velm/creator/writer/engine.py +327 -0
- velm/creator/writer/normalizer.py +48 -0
- velm/creator/writer/security.py +32 -0
- velm/creator/writer/validator.py +53 -0
- velm/default_templates/template.alembic.ini.scaffold +27 -0
- velm/default_templates/template.changelog.scaffold +23 -0
- velm/default_templates/template.code_of_conduct.scaffold +25 -0
- velm/default_templates/template.contributing.scaffold +52 -0
- velm/default_templates/template.cpp.scaffold +22 -0
- velm/default_templates/template.cs.scaffold +18 -0
- velm/default_templates/template.css.scaffold +17 -0
- velm/default_templates/template.dart.scaffold +14 -0
- velm/default_templates/template.docker-compose.scaffold +34 -0
- velm/default_templates/template.dockerfile.scaffold +31 -0
- velm/default_templates/template.dockerignore.scaffold +32 -0
- velm/default_templates/template.editorconfig.scaffold +33 -0
- velm/default_templates/template.env.example.scaffold +24 -0
- velm/default_templates/template.gitattributes.scaffold +32 -0
- velm/default_templates/template.github-action-python.scaffold +135 -0
- velm/default_templates/template.gitignore.scaffold +28 -0
- velm/default_templates/template.go.scaffold +17 -0
- velm/default_templates/template.html.scaffold +19 -0
- velm/default_templates/template.java.scaffold +27 -0
- velm/default_templates/template.js.scaffold +22 -0
- velm/default_templates/template.json.scaffold +15 -0
- velm/default_templates/template.justfile.scaffold +54 -0
- velm/default_templates/template.kt.scaffold +23 -0
- velm/default_templates/template.license.scaffold +13 -0
- velm/default_templates/template.lua.scaffold +12 -0
- velm/default_templates/template.makefile.scaffold +23 -0
- velm/default_templates/template.nginx.conf.scaffold +42 -0
- velm/default_templates/template.package.scaffold +21 -0
- velm/default_templates/template.php.scaffold +20 -0
- velm/default_templates/template.pre-commit-config.scaffold +30 -0
- velm/default_templates/template.py.scaffold +23 -0
- velm/default_templates/template.pyproject.scaffold +34 -0
- velm/default_templates/template.pytest.ini.scaffold +22 -0
- velm/default_templates/template.readme.scaffold +27 -0
- velm/default_templates/template.rs.scaffold +14 -0
- velm/default_templates/template.ruby.scaffold +11 -0
- velm/default_templates/template.sbt.scaffold +11 -0
- velm/default_templates/template.scaffold.scaffold +28 -0
- velm/default_templates/template.scala.scaffold +6 -0
- velm/default_templates/template.security.scaffold +26 -0
- velm/default_templates/template.settings.json.scaffold +95 -0
- velm/default_templates/template.sh.scaffold +25 -0
- velm/default_templates/template.swift.scaffold +17 -0
- velm/default_templates/template.ts.scaffold +23 -0
- velm/default_templates/template.tsx.scaffold +20 -0
- velm/default_templates/template.zig.scaffold +26 -0
- velm/forge/__init__.py +4 -0
- velm/forge/adapters/base.py +21 -0
- velm/forge/adapters/huggingface.py +147 -0
- velm/forge/conductor.py +60 -0
- velm/forge/corpus_harvester.py +57 -0
- velm/forge/instruction_forger.py +75 -0
- velm/genesis/__init__.py +0 -0
- velm/genesis/genesis_engine/__init__.py +12 -0
- velm/genesis/genesis_engine/apotheosis.py +155 -0
- velm/genesis/genesis_engine/communion.py +333 -0
- velm/genesis/genesis_engine/engine.py +163 -0
- velm/genesis/genesis_engine/materialization.py +236 -0
- velm/genesis/genesis_engine/perception.py +67 -0
- velm/genesis/genesis_engine/weaving.py +227 -0
- velm/genesis/genesis_grimoires.py +142 -0
- velm/genesis/genesis_orchestrator/__init__.py +13 -0
- velm/genesis/genesis_orchestrator/genesis_pleas.py +257 -0
- velm/genesis/genesis_orchestrator/jurisprudence.py +59 -0
- velm/genesis/genesis_orchestrator/oracle.py +91 -0
- velm/genesis/genesis_orchestrator/orchestrator.py +350 -0
- velm/genesis/genesis_orchestrator/pleas.py +146 -0
- velm/genesis/genesis_orchestrator/prophecy.py +177 -0
- velm/genesis/genesis_orchestrator/review.py +167 -0
- velm/genesis/genesis_profiles.py +204 -0
- velm/gnosis/README.md +1 -0
- velm/gnosis/__init__.py +20 -0
- velm/gnosis/canon.py +569 -0
- velm/gnosis/redemption.py +6210 -0
- velm/gnosis/wisdom.py +25 -0
- velm/gnostic_instrumentarium.py +161 -0
- velm/grammar.py +160 -0
- velm/help_registry.py +170 -0
- velm/herald.py +137 -0
- velm/inquisitor/TODO.md +113 -0
- velm/inquisitor/__init__.py +13 -0
- velm/inquisitor/config.py +161 -0
- velm/inquisitor/config_shim.py +7 -0
- velm/inquisitor/core.py +247 -0
- velm/inquisitor/python_inquisitor.py +217 -0
- velm/inquisitor/queries/react_queries.py +68 -0
- velm/inquisitor/sanctum/__Init__.py +0 -0
- velm/inquisitor/sanctum/diagnostics/__init__.py +9 -0
- velm/inquisitor/sanctum/diagnostics/cpp_symbolic_cortex.py +96 -0
- velm/inquisitor/sanctum/diagnostics/go.py +29 -0
- velm/inquisitor/sanctum/diagnostics/go_symbolic_cortex.py +92 -0
- velm/inquisitor/sanctum/diagnostics/java_symbolic_cortex.py +80 -0
- velm/inquisitor/sanctum/diagnostics/javascript.py +45 -0
- velm/inquisitor/sanctum/diagnostics/javascript_symbolic_cortex.py +83 -0
- velm/inquisitor/sanctum/diagnostics/python.py +47 -0
- velm/inquisitor/sanctum/diagnostics/python_symbolic_cortex.py +317 -0
- velm/inquisitor/sanctum/diagnostics/react.py +150 -0
- velm/inquisitor/sanctum/diagnostics/ruby.py +36 -0
- velm/inquisitor/sanctum/diagnostics/ruby_symbolic_cortex.py +84 -0
- velm/inquisitor/sanctum/diagnostics/rust.py +34 -0
- velm/inquisitor/sanctum/diagnostics/rust_symbolic_cortex.py +117 -0
- velm/inquisitor/sanctum/diagnostics/typescript_symbolic_cortex.py +80 -0
- velm/inquisitor/sanctum/engine.py +298 -0
- velm/interfaces/__init__.py +61 -0
- velm/interfaces/base.py +241 -0
- velm/interfaces/requests.py +4854 -0
- velm/jurisprudence_core/__init__.py +0 -0
- velm/jurisprudence_core/adjudicator_of_souls.py +136 -0
- velm/jurisprudence_core/architectural_grimoire.py +448 -0
- velm/jurisprudence_core/foreign_adjudicators.py +25 -0
- velm/jurisprudence_core/genesis_jurisprudence.py +159 -0
- velm/jurisprudence_core/gnostic_type_system.py +361 -0
- velm/jurisprudence_core/heresy_chronicles/__init__.py +5 -0
- velm/jurisprudence_core/heresy_chronicles/heresy_chronicler.py +205 -0
- velm/jurisprudence_core/heresy_chronicles/living_oracle.py +95 -0
- velm/jurisprudence_core/heresy_codex/__init__.py +45 -0
- velm/jurisprudence_core/heresy_codex/architectural.py +109 -0
- velm/jurisprudence_core/heresy_codex/data.py +39 -0
- velm/jurisprudence_core/heresy_codex/hygiene.py +89 -0
- velm/jurisprudence_core/heresy_codex/infra.py +125 -0
- velm/jurisprudence_core/heresy_codex/lexical.py +120 -0
- velm/jurisprudence_core/heresy_codex/meta.py +60 -0
- velm/jurisprudence_core/heresy_codex/perf.py +59 -0
- velm/jurisprudence_core/heresy_codex/security.py +81 -0
- velm/jurisprudence_core/heresy_codex/supply_chain.py +99 -0
- velm/jurisprudence_core/jurisprudence.py +117 -0
- velm/jurisprudence_core/scaffold_grammar_codex.py +131 -0
- velm/jurisprudence_core/schema_adjudicator.py +225 -0
- velm/jurisprudence_core/symphony_grammar_codex.py +182 -0
- velm/jurisprudence_core/symphony_heresy_codex/__init__.py +34 -0
- velm/jurisprudence_core/symphony_heresy_codex/kinetic.py +124 -0
- velm/jurisprudence_core/symphony_heresy_codex/lexical.py +59 -0
- velm/jurisprudence_core/symphony_heresy_codex/metaphysical.py +153 -0
- velm/jurisprudence_core/symphony_heresy_codex/philosophy.py +186 -0
- velm/jurisprudence_core/symphony_heresy_codex/polyglot.py +99 -0
- velm/language_server_handler.py +121 -0
- velm/logger.py +958 -0
- velm/main.py +328 -0
- velm/parser_core/__init__.py +1 -0
- velm/parser_core/block_consumer.py +135 -0
- velm/parser_core/hierophant.py +52 -0
- velm/parser_core/lexer_core/__init__.py +15 -0
- velm/parser_core/lexer_core/contracts.py +142 -0
- velm/parser_core/lexer_core/deconstructor.py +439 -0
- velm/parser_core/lexer_core/inquisitor.py +280 -0
- velm/parser_core/lexer_core/lexer.py +75 -0
- velm/parser_core/lfg_builder/__init__.py +15 -0
- velm/parser_core/lfg_builder/builders/blueprint.py +94 -0
- velm/parser_core/lfg_builder/builders/codebase_python.py +100 -0
- velm/parser_core/lfg_builder/contracts.py +46 -0
- velm/parser_core/lfg_builder/facade.py +43 -0
- velm/parser_core/lfg_builder/renderers/mermaid.py +50 -0
- velm/parser_core/logic_weaver/__init__.py +16 -0
- velm/parser_core/logic_weaver/contracts.py +45 -0
- velm/parser_core/logic_weaver/engine.py +113 -0
- velm/parser_core/logic_weaver/state.py +59 -0
- velm/parser_core/logic_weaver/traversal.py +282 -0
- velm/parser_core/manifest_parser.py +231 -0
- velm/parser_core/parser/__init__.py +15 -0
- velm/parser_core/parser/ast_weaver/__init__.py +11 -0
- velm/parser_core/parser/ast_weaver/contracts.py +19 -0
- velm/parser_core/parser/ast_weaver/node_factory.py +33 -0
- velm/parser_core/parser/ast_weaver/stack_manager.py +127 -0
- velm/parser_core/parser/ast_weaver/weaver.py +208 -0
- velm/parser_core/parser/engine.py +421 -0
- velm/parser_core/parser/gateway.py +59 -0
- velm/parser_core/parser/parser_scribes/__init__.py +65 -0
- velm/parser_core/parser/parser_scribes/base_scribe.py +44 -0
- velm/parser_core/parser/parser_scribes/scaffold_scribes/__init__.py +10 -0
- velm/parser_core/parser/parser_scribes/scaffold_scribes/comment_scribe.py +150 -0
- velm/parser_core/parser/parser_scribes/scaffold_scribes/contract_scribe.py +163 -0
- velm/parser_core/parser/parser_scribes/scaffold_scribes/directive_scribe.py +325 -0
- velm/parser_core/parser/parser_scribes/scaffold_scribes/jinja_scribe.py +40 -0
- velm/parser_core/parser/parser_scribes/scaffold_scribes/makefile_scribe.py +77 -0
- velm/parser_core/parser/parser_scribes/scaffold_scribes/on_undo_scribe.py +24 -0
- velm/parser_core/parser/parser_scribes/scaffold_scribes/post_run_scribe.py +195 -0
- velm/parser_core/parser/parser_scribes/scaffold_scribes/scaffold_base_scribe.py +16 -0
- velm/parser_core/parser/parser_scribes/scaffold_scribes/structural_scribe.py +346 -0
- velm/parser_core/parser/parser_scribes/scaffold_scribes/variable_scribe.py +204 -0
- velm/parser_core/parser/parser_scribes/symphony_scribes/__init__.py +8 -0
- velm/parser_core/parser/parser_scribes/symphony_scribes/symphony_atomic_scribe.py +430 -0
- velm/parser_core/parser/parser_scribes/symphony_scribes/symphony_base_scribe.py +51 -0
- velm/parser_core/parser/parser_scribes/symphony_scribes/symphony_block_scribe.py +78 -0
- velm/parser_core/parser/parser_scribes/symphony_scribes/symphony_communion_scribe.py +212 -0
- velm/parser_core/parser/parser_scribes/symphony_scribes/symphony_directive_scribe.py +657 -0
- velm/parser_core/parser/parser_scribes/symphony_scribes/symphony_logic_scribe.py +152 -0
- velm/parser_core/parser/parser_scribes/symphony_scribes/symphony_parallel_scribe.py +156 -0
- velm/parser_core/parser/parser_scribes/symphony_scribes/symphony_polyglot_scribe.py +293 -0
- velm/prophecy/__Init__.py +25 -0
- velm/prophecy/grimoires.py +137 -0
- velm/prophecy/oracle.py +167 -0
- velm/rendering/POSSIBILITIES.txt +73 -0
- velm/rendering/__init__.py +98 -0
- velm/rendering/base_renderer.py +162 -0
- velm/rendering/json_renderer.py +175 -0
- velm/rendering/lfg_scribe.py +101 -0
- velm/rendering/studio.log +12 -0
- velm/rendering/svg_renderer.py +866 -0
- velm/rendering/text_renderer/__init__.py +11 -0
- velm/rendering/text_renderer/canonical_scribe.py +29 -0
- velm/rendering/text_renderer/config.py +19 -0
- velm/rendering/text_renderer/content_previewer.py +49 -0
- velm/rendering/text_renderer/diagnostic_scribe.py +55 -0
- velm/rendering/text_renderer/facade.py +60 -0
- velm/rendering/text_renderer/luminous_scribe.py +92 -0
- velm/rendering/text_renderer/metadata_herald.py +87 -0
- velm/rendering/text_renderer/telemetry.py +15 -0
- velm/rendering/text_renderer/tree_weaver.py +128 -0
- velm/rendering/theme.py +88 -0
- velm/rendering/tree_renderer.py +34 -0
- velm/runtime_manager/__Init__.py +3 -0
- velm/runtime_manager/codex.py +218 -0
- velm/runtime_manager/manager.py +611 -0
- velm/semantic_injection/__init__.py +40 -0
- velm/semantic_injection/contract.py +70 -0
- velm/semantic_injection/directives/__init__.py +15 -0
- velm/semantic_injection/directives/ai_domain.py +312 -0
- velm/semantic_injection/directives/api_domain.py +114 -0
- velm/semantic_injection/directives/auth_domain.py +171 -0
- velm/semantic_injection/directives/cloud_domain.py +228 -0
- velm/semantic_injection/directives/crypto_domain.py +109 -0
- velm/semantic_injection/directives/data_domain.py +94 -0
- velm/semantic_injection/directives/diagram_domain.py +86 -0
- velm/semantic_injection/directives/editor_domain.py +126 -0
- velm/semantic_injection/directives/fetch_domain.py +81 -0
- velm/semantic_injection/directives/flow_domain.py +163 -0
- velm/semantic_injection/directives/git_domain.py +223 -0
- velm/semantic_injection/directives/guide_domain.py +71 -0
- velm/semantic_injection/directives/guide_knowledge/__init__.py +19 -0
- velm/semantic_injection/directives/guide_knowledge/accessibility.py +7 -0
- velm/semantic_injection/directives/guide_knowledge/algorithms.py +11 -0
- velm/semantic_injection/directives/guide_knowledge/architecture_patterns.py +11 -0
- velm/semantic_injection/directives/guide_knowledge/auth_security.py +10 -0
- velm/semantic_injection/directives/guide_knowledge/aws_terms.py +9 -0
- velm/semantic_injection/directives/guide_knowledge/clean_code.py +7 -0
- velm/semantic_injection/directives/guide_knowledge/cloud_native.py +6 -0
- velm/semantic_injection/directives/guide_knowledge/data_structures.py +12 -0
- velm/semantic_injection/directives/guide_knowledge/database_concepts.py +8 -0
- velm/semantic_injection/directives/guide_knowledge/design_patterns.py +13 -0
- velm/semantic_injection/directives/guide_knowledge/devops.py +11 -0
- velm/semantic_injection/directives/guide_knowledge/git_flow.py +8 -0
- velm/semantic_injection/directives/guide_knowledge/graphql.py +8 -0
- velm/semantic_injection/directives/guide_knowledge/javascript_modern.py +8 -0
- velm/semantic_injection/directives/guide_knowledge/python_idioms.py +8 -0
- velm/semantic_injection/directives/guide_knowledge/react_patterns.py +8 -0
- velm/semantic_injection/directives/guide_knowledge/realtime.py +6 -0
- velm/semantic_injection/directives/guide_knowledge/refactoring.py +7 -0
- velm/semantic_injection/directives/guide_knowledge/rest_api.py +10 -0
- velm/semantic_injection/directives/guide_knowledge/solid.py +8 -0
- velm/semantic_injection/directives/guide_knowledge/testing.py +9 -0
- velm/semantic_injection/directives/guide_knowledge/ux_laws.py +7 -0
- velm/semantic_injection/directives/infra_knowledge/__init__.py +3 -0
- velm/semantic_injection/directives/infra_knowledge/registry.py +211 -0
- velm/semantic_injection/directives/integration_domain.py +131 -0
- velm/semantic_injection/directives/kinesis_domain.py +137 -0
- velm/semantic_injection/directives/legal_domain.py +181 -0
- velm/semantic_injection/directives/mock_domain.py +115 -0
- velm/semantic_injection/directives/neuron_domain.py +168 -0
- velm/semantic_injection/directives/neuron_knowledge/__init__.py +11 -0
- velm/semantic_injection/directives/neuron_knowledge/agents.py +423 -0
- velm/semantic_injection/directives/neuron_knowledge/edge.py +263 -0
- velm/semantic_injection/directives/neuron_knowledge/evaluation.py +262 -0
- velm/semantic_injection/directives/neuron_knowledge/memory.py +324 -0
- velm/semantic_injection/directives/neuron_knowledge/optimization.py +284 -0
- velm/semantic_injection/directives/neuron_knowledge/orchestration.py +243 -0
- velm/semantic_injection/directives/neuron_knowledge/providers.py +279 -0
- velm/semantic_injection/directives/ops_domain.py +94 -0
- velm/semantic_injection/directives/policy_domain.py +132 -0
- velm/semantic_injection/directives/shield_domain.py +127 -0
- velm/semantic_injection/directives/stack_domain.py +163 -0
- velm/semantic_injection/directives/struct_domain.py +136 -0
- velm/semantic_injection/directives/test_domain.py +115 -0
- velm/semantic_injection/directives/ui_domain.py +333 -0
- velm/semantic_injection/directives/ui_knowledge/__init__.py +49 -0
- velm/semantic_injection/directives/ui_knowledge/admin_dashboard/admin_dashboard.scaffold +379 -0
- velm/semantic_injection/directives/ui_knowledge/admin_dashboard/src/App.tsx +33 -0
- velm/semantic_injection/directives/ui_knowledge/admin_dashboard/src/components/auth/AuthGuard.tsx +4 -0
- velm/semantic_injection/directives/ui_knowledge/admin_dashboard/src/components/dashboard/RecentSales.tsx +21 -0
- velm/semantic_injection/directives/ui_knowledge/admin_dashboard/src/components/dashboard/StatsCards.tsx +28 -0
- velm/semantic_injection/directives/ui_knowledge/admin_dashboard/src/components/layout/Header.tsx +30 -0
- velm/semantic_injection/directives/ui_knowledge/admin_dashboard/src/components/layout/Sidebar.tsx +49 -0
- velm/semantic_injection/directives/ui_knowledge/admin_dashboard/src/components/layout/UserNav.tsx +43 -0
- velm/semantic_injection/directives/ui_knowledge/admin_dashboard/src/components/ui/avatar.tsx +47 -0
- velm/semantic_injection/directives/ui_knowledge/admin_dashboard/src/components/ui/badge.tsx +32 -0
- velm/semantic_injection/directives/ui_knowledge/admin_dashboard/src/components/ui/button.tsx +52 -0
- velm/semantic_injection/directives/ui_knowledge/admin_dashboard/src/components/ui/card.tsx +66 -0
- velm/semantic_injection/directives/ui_knowledge/admin_dashboard/src/components/ui/dropdown-menu.tsx +90 -0
- velm/semantic_injection/directives/ui_knowledge/admin_dashboard/src/components/ui/input.tsx +24 -0
- velm/semantic_injection/directives/ui_knowledge/admin_dashboard/src/components/ui/skeleton.tsx +15 -0
- velm/semantic_injection/directives/ui_knowledge/admin_dashboard/src/components/ui/table.tsx +116 -0
- velm/semantic_injection/directives/ui_knowledge/admin_dashboard/src/hooks/useAuth.ts +35 -0
- velm/semantic_injection/directives/ui_knowledge/admin_dashboard/src/layouts/DashboardLayout.tsx +25 -0
- velm/semantic_injection/directives/ui_knowledge/admin_dashboard/src/lib/utils.ts +6 -0
- velm/semantic_injection/directives/ui_knowledge/admin_dashboard/src/pages/DashboardPage.tsx +40 -0
- velm/semantic_injection/directives/ui_knowledge/admin_dashboard/src/pages/UsersPage.tsx +39 -0
- velm/semantic_injection/directives/ui_knowledge/admin_dashboard.py +123 -0
- velm/semantic_injection/directives/ui_knowledge/ascend_ui_knowledge.scaffold +421 -0
- velm/semantic_injection/directives/ui_knowledge/auth_form.py +90 -0
- velm/semantic_injection/directives/ui_knowledge/command_palette.py +59 -0
- velm/semantic_injection/directives/ui_knowledge/data_table.py +121 -0
- velm/semantic_injection/directives/ui_knowledge/gnostic_html_kit.scaffold +704 -0
- velm/semantic_injection/directives/ui_knowledge/go_tui.py +51 -0
- velm/semantic_injection/directives/ui_knowledge/go_ui/__init__.py +0 -0
- velm/semantic_injection/directives/ui_knowledge/go_ui/go.mod +9 -0
- velm/semantic_injection/directives/ui_knowledge/go_ui/main.go +145 -0
- velm/semantic_injection/directives/ui_knowledge/go_ui/tui_forge.py +58 -0
- velm/semantic_injection/directives/ui_knowledge/go_ui/ui/atoms/badge.go +34 -0
- velm/semantic_injection/directives/ui_knowledge/go_ui/ui/atoms/button.go +34 -0
- velm/semantic_injection/directives/ui_knowledge/go_ui/ui/atoms/separator.go +19 -0
- velm/semantic_injection/directives/ui_knowledge/go_ui/ui/atoms/spinner.go +15 -0
- velm/semantic_injection/directives/ui_knowledge/go_ui/ui/molecules/card.go +24 -0
- velm/semantic_injection/directives/ui_knowledge/go_ui/ui/molecules/input_field.go +22 -0
- velm/semantic_injection/directives/ui_knowledge/go_ui/ui/molecules/progress_bar.go +24 -0
- velm/semantic_injection/directives/ui_knowledge/go_ui/ui/molecules/status_item.go +17 -0
- velm/semantic_injection/directives/ui_knowledge/go_ui/ui/organisms/datatable.go +45 -0
- velm/semantic_injection/directives/ui_knowledge/go_ui/ui/organisms/help_footer.go +38 -0
- velm/semantic_injection/directives/ui_knowledge/go_ui/ui/organisms/log_viewport.go +28 -0
- velm/semantic_injection/directives/ui_knowledge/go_ui/ui/organisms/tabs.go +73 -0
- velm/semantic_injection/directives/ui_knowledge/go_ui/ui/theme/theme.go +37 -0
- velm/semantic_injection/directives/ui_knowledge/go_ui.scaffold +635 -0
- velm/semantic_injection/directives/ui_knowledge/html_ui/__init__.py +0 -0
- velm/semantic_injection/directives/ui_knowledge/html_ui/html_forge.py +104 -0
- velm/semantic_injection/directives/ui_knowledge/html_ui/index.html +44 -0
- velm/semantic_injection/directives/ui_knowledge/html_ui/src/components/atoms/badge.html +13 -0
- velm/semantic_injection/directives/ui_knowledge/html_ui/src/components/atoms/btn_ghost.html +5 -0
- velm/semantic_injection/directives/ui_knowledge/html_ui/src/components/atoms/btn_gradient.html +8 -0
- velm/semantic_injection/directives/ui_knowledge/html_ui/src/components/atoms/btn_icon.html +10 -0
- velm/semantic_injection/directives/ui_knowledge/html_ui/src/components/atoms/btn_outline.html +8 -0
- velm/semantic_injection/directives/ui_knowledge/html_ui/src/components/atoms/btn_primary.html +15 -0
- velm/semantic_injection/directives/ui_knowledge/html_ui/src/components/atoms/checkbox_custom.html +20 -0
- velm/semantic_injection/directives/ui_knowledge/html_ui/src/components/atoms/input_basic.html +13 -0
- velm/semantic_injection/directives/ui_knowledge/html_ui/src/components/atoms/input_floating.html +23 -0
- velm/semantic_injection/directives/ui_knowledge/html_ui/src/components/atoms/loader.html +11 -0
- velm/semantic_injection/directives/ui_knowledge/html_ui/src/components/atoms/radio_custom.html +19 -0
- velm/semantic_injection/directives/ui_knowledge/html_ui/src/components/atoms/toggle_switch.html +20 -0
- velm/semantic_injection/directives/ui_knowledge/html_ui/src/components/molecules/accordion.html +25 -0
- velm/semantic_injection/directives/ui_knowledge/html_ui/src/components/molecules/alert_card.html +18 -0
- velm/semantic_injection/directives/ui_knowledge/html_ui/src/components/molecules/card_basic.html +19 -0
- velm/semantic_injection/directives/ui_knowledge/html_ui/src/components/molecules/card_glass.html +16 -0
- velm/semantic_injection/directives/ui_knowledge/html_ui/src/components/molecules/modal.html +29 -0
- velm/semantic_injection/directives/ui_knowledge/html_ui/src/components/molecules/search_bar.html +20 -0
- velm/semantic_injection/directives/ui_knowledge/html_ui/src/components/molecules/tooltip_top.html +20 -0
- velm/semantic_injection/directives/ui_knowledge/html_ui/src/components/molecules/user_profile.html +20 -0
- velm/semantic_injection/directives/ui_knowledge/html_ui/src/components/organisms/data_table.html +25 -0
- velm/semantic_injection/directives/ui_knowledge/html_ui/src/components/organisms/footer.html +28 -0
- velm/semantic_injection/directives/ui_knowledge/html_ui/src/components/organisms/hero_section.html +21 -0
- velm/semantic_injection/directives/ui_knowledge/html_ui/src/components/organisms/navbar.html +21 -0
- velm/semantic_injection/directives/ui_knowledge/html_ui/src/components/organisms/pricing_table.html +37 -0
- velm/semantic_injection/directives/ui_knowledge/html_ui/src/components/organisms/sidebar.html +30 -0
- velm/semantic_injection/directives/ui_knowledge/html_ui/src/css/variables.css +44 -0
- velm/semantic_injection/directives/ui_knowledge/layouts.py +242 -0
- velm/semantic_injection/directives/ui_knowledge/multi_step_wizard.py +95 -0
- velm/semantic_injection/directives/ui_knowledge/python_ui/__init__.py +17 -0
- velm/semantic_injection/directives/ui_knowledge/python_ui/dash_forge.py +55 -0
- velm/semantic_injection/directives/ui_knowledge/python_ui/flet_forge.py +39 -0
- velm/semantic_injection/directives/ui_knowledge/python_ui/gradio_forge.py +79 -0
- velm/semantic_injection/directives/ui_knowledge/python_ui/nicegui_forge.py +39 -0
- velm/semantic_injection/directives/ui_knowledge/python_ui/reflex_forge.py +51 -0
- velm/semantic_injection/directives/ui_knowledge/python_ui/streamlit_forge.py +116 -0
- velm/semantic_injection/directives/ui_knowledge/python_ui/textual_forge.py +48 -0
- velm/semantic_injection/directives/ui_knowledge/react/__init__.py +28 -0
- velm/semantic_injection/directives/ui_knowledge/react/atoms.py +128 -0
- velm/semantic_injection/directives/ui_knowledge/react/charts.py +134 -0
- velm/semantic_injection/directives/ui_knowledge/react/data_display.py +139 -0
- velm/semantic_injection/directives/ui_knowledge/react/disclosure.py +92 -0
- velm/semantic_injection/directives/ui_knowledge/react/feedback.py +92 -0
- velm/semantic_injection/directives/ui_knowledge/react/forms_advanced.py +94 -0
- velm/semantic_injection/directives/ui_knowledge/react/menus.py +223 -0
- velm/semantic_injection/directives/ui_knowledge/react/molecules.py +146 -0
- velm/semantic_injection/directives/ui_knowledge/react/navigation_complex.py +73 -0
- velm/semantic_injection/directives/ui_knowledge/react/overlays.py +107 -0
- velm/semantic_injection/directives/ui_knowledge/react/structures.py +423 -0
- velm/semantic_injection/directives/ui_knowledge/react/visuals.py +102 -0
- velm/semantic_injection/directives/ui_knowledge/registry.py +35 -0
- velm/semantic_injection/directives/ui_knowledge/user_loader.py +66 -0
- velm/semantic_injection/injector.py +216 -0
- velm/semantic_injection/loader.py +300 -0
- velm/settings/manager.py +277 -0
- velm/settings/schema.py +236 -0
- velm/settings/tui.py +615 -0
- velm/setup_entry.py +40 -0
- velm/shell/__init__.py +3 -0
- velm/shell/app.py +408 -0
- velm/shell/contracts.py +31 -0
- velm/shell/interpreter.py +123 -0
- velm/shell/shell.css +172 -0
- velm/shell/widgets/dossier.py +114 -0
- velm/shell/widgets/history_screen.py +65 -0
- velm/shell/widgets/orrery.py +111 -0
- velm/shell/widgets/prompter.py +208 -0
- velm/shell/widgets/suggestion_menu.py +32 -0
- velm/studio/IMPORTANT.txt +0 -0
- velm/studio/__init__.py +11 -0
- velm/studio/app.css +213 -0
- velm/studio/app.py +426 -0
- velm/studio/contracts.py +204 -0
- velm/studio/emissary.py +81 -0
- velm/studio/gnostic_events.py +88 -0
- velm/studio/logger.py +84 -0
- velm/studio/main.py +113 -0
- velm/studio/messages.py +62 -0
- velm/studio/pads/__init__.py +5 -0
- velm/studio/pads/distill_pad/__init__.py +3 -0
- velm/studio/pads/distill_pad/distill_pad.css +271 -0
- velm/studio/pads/distill_pad/distill_pad_app.py +294 -0
- velm/studio/pads/distill_pad/state.py +73 -0
- velm/studio/pads/distill_pad/widgets/__init__.py +6 -0
- velm/studio/pads/distill_pad/widgets/config_pane.py +112 -0
- velm/studio/pads/distill_pad/widgets/file_picker.py +158 -0
- velm/studio/pads/distill_pad/widgets/file_selector.py +241 -0
- velm/studio/pads/distill_pad/widgets/preview_pane.py +223 -0
- velm/studio/pads/distill_pad.scaffold +10 -0
- velm/studio/pads/genesis_pad.py +487 -0
- velm/studio/pads/pad.css +112 -0
- velm/studio/pads/pad_launcher.py +200 -0
- velm/studio/pads/refactor.css +222 -0
- velm/studio/pads/refactor_pad.py +888 -0
- velm/studio/pads/scaffold_pad.py +529 -0
- velm/studio/pads/studio.log +1 -0
- velm/studio/screens/__init__.py +5 -0
- velm/studio/screens/form_mode.py +302 -0
- velm/studio/screens/mentors_gaze.py +54 -0
- velm/studio/screens/studio.log +1 -0
- velm/studio/screens/will_mode.py +22 -0
- velm/studio/services/__init__.py +12 -0
- velm/studio/services/command_gnosis.py +78 -0
- velm/studio/services/fs_watcher.py +296 -0
- velm/studio/services/scaffold_bridge.py +232 -0
- velm/studio/state.py +330 -0
- velm/studio/studio.log +11 -0
- velm/studio/studio.scaffold +24 -0
- velm/studio/widgets/__init__.py +13 -0
- velm/studio/widgets/command_altar.py +307 -0
- velm/studio/widgets/context_menu.py +129 -0
- velm/studio/widgets/editor.py +15 -0
- velm/studio/widgets/file_tree.py +322 -0
- velm/studio/widgets/log_viewer.py +174 -0
- velm/studio/widgets/studio.log +11 -0
- velm/symphony/__init__.py +59 -0
- velm/symphony/build.symphony +43 -0
- velm/symphony/conductor/__init__.py +7 -0
- velm/symphony/conductor/events.py +6 -0
- velm/symphony/conductor/orchestrator.py +281 -0
- velm/symphony/conductor_core/__init__.py +26 -0
- velm/symphony/conductor_core/context/__init__.py +14 -0
- velm/symphony/conductor_core/context/chronicle.py +38 -0
- velm/symphony/conductor_core/context/manager.py +307 -0
- velm/symphony/conductor_core/context/scope.py +50 -0
- velm/symphony/conductor_core/context/vault.py +287 -0
- velm/symphony/conductor_core/engine.py +179 -0
- velm/symphony/conductor_core/handlers/TODO.md +3 -0
- velm/symphony/conductor_core/handlers/__init__.py +112 -0
- velm/symphony/conductor_core/handlers/action_handler/__init__.py +15 -0
- velm/symphony/conductor_core/handlers/action_handler/contracts.py +56 -0
- velm/symphony/conductor_core/handlers/action_handler/dispatcher.py +166 -0
- velm/symphony/conductor_core/handlers/action_handler/facade.py +117 -0
- velm/symphony/conductor_core/handlers/action_handler/specialists/interactive.py +108 -0
- velm/symphony/conductor_core/handlers/action_handler/specialists/kinetic.py +176 -0
- velm/symphony/conductor_core/handlers/action_handler/specialists/network.py +171 -0
- velm/symphony/conductor_core/handlers/action_handler/specialists/polyglot.py +89 -0
- velm/symphony/conductor_core/handlers/action_handler/specialists/service.py +96 -0
- velm/symphony/conductor_core/handlers/action_handler/utils/redaction.py +24 -0
- velm/symphony/conductor_core/handlers/base.py +119 -0
- velm/symphony/conductor_core/handlers/logic_handler.py +92 -0
- velm/symphony/conductor_core/handlers/meta_handler.py +75 -0
- velm/symphony/conductor_core/handlers/parallel_handler.py +38 -0
- velm/symphony/conductor_core/handlers/state_handler/__init__.py +13 -0
- velm/symphony/conductor_core/handlers/state_handler/contracts.py +30 -0
- velm/symphony/conductor_core/handlers/state_handler/dispatcher.py +70 -0
- velm/symphony/conductor_core/handlers/state_handler/facade.py +49 -0
- velm/symphony/conductor_core/handlers/state_handler/specialists/artifact.py +18 -0
- velm/symphony/conductor_core/handlers/state_handler/specialists/environment.py +34 -0
- velm/symphony/conductor_core/handlers/state_handler/specialists/lifecycle.py +41 -0
- velm/symphony/conductor_core/handlers/state_handler/specialists/proclamation.py +22 -0
- velm/symphony/conductor_core/handlers/state_handler/specialists/sanctum.py +33 -0
- velm/symphony/conductor_core/handlers/state_handler/specialists/temporal.py +20 -0
- velm/symphony/conductor_core/handlers/state_handler/specialists/variable.py +63 -0
- velm/symphony/conductor_core/handlers/state_handler/utils/path_resolver.py +41 -0
- velm/symphony/conductor_core/handlers/state_handler/utils/time_parser.py +25 -0
- velm/symphony/conductor_core/handlers/state_handler/utils/type_diviner.py +55 -0
- velm/symphony/conductor_core/handlers/vow_handler/__init__.py +13 -0
- velm/symphony/conductor_core/handlers/vow_handler/adjudicator.py +96 -0
- velm/symphony/conductor_core/handlers/vow_handler/contracts.py +24 -0
- velm/symphony/conductor_core/handlers/vow_handler/facade.py +63 -0
- velm/symphony/conductor_core/lifecycle/__init__.py +18 -0
- velm/symphony/conductor_core/lifecycle/contracts.py +35 -0
- velm/symphony/conductor_core/lifecycle/manager.py +208 -0
- velm/symphony/conductor_core/lifecycle/supervisor.py +212 -0
- velm/symphony/conductor_core/resilience/__init__.py +14 -0
- velm/symphony/conductor_core/resilience/artifacts.py +50 -0
- velm/symphony/conductor_core/resilience/contracts.py +55 -0
- velm/symphony/conductor_core/resilience/diagnosis.py +121 -0
- velm/symphony/conductor_core/resilience/intercession.py +225 -0
- velm/symphony/conductor_core/resilience/manager.py +208 -0
- velm/symphony/conductor_core/setup.py +238 -0
- velm/symphony/docs_generator.symphony +45 -0
- velm/symphony/execution/__init__.py +17 -0
- velm/symphony/execution/interface.py +103 -0
- velm/symphony/execution/kinetic_titan/__init__.py +13 -0
- velm/symphony/execution/kinetic_titan/executor.py +221 -0
- velm/symphony/execution/kinetic_titan/renderer.py +255 -0
- velm/symphony/execution/kinetic_titan/security.py +37 -0
- velm/symphony/execution/kinetic_titan/semantics.py +155 -0
- velm/symphony/execution/kinetic_titan/titan/__init__.py +14 -0
- velm/symphony/execution/kinetic_titan/titan/loops.py +406 -0
- velm/symphony/execution/kinetic_titan/titan/orchestrator.py +187 -0
- velm/symphony/execution/kinetic_titan/titan/state.py +185 -0
- velm/symphony/execution/kinetic_titan/titan/visuals.py +73 -0
- velm/symphony/execution/prophetic_oracle.py +113 -0
- velm/symphony/inquisitor/__init__.py +16 -0
- velm/symphony/inquisitor/oracle.py +172 -0
- velm/symphony/inquisitor/renderer.py +145 -0
- velm/symphony/inquisitor/temporal.py +133 -0
- velm/symphony/polyglot/__init__.py +68 -0
- velm/symphony/polyglot/adjudicators.py +77 -0
- velm/symphony/polyglot/artisan.py +396 -0
- velm/symphony/polyglot/grimoire.py +227 -0
- velm/symphony/polyglot/wards/__init__.py +0 -0
- velm/symphony/polyglot/wards/go_ward.py +20 -0
- velm/symphony/polyglot/wards/java_ward.py +21 -0
- velm/symphony/polyglot/wards/python_ward.py +37 -0
- velm/symphony/polyglot/wards/ruby_ward.py +49 -0
- velm/symphony/proclamations/__init__.py +0 -0
- velm/symphony/proclamations/base.py +39 -0
- velm/symphony/proclamations/file_scribe.py +47 -0
- velm/symphony/proclamations/panel_scribe.py +46 -0
- velm/symphony/proclamations/router.py +65 -0
- velm/symphony/proclamations/slack_scribe.py +93 -0
- velm/symphony/proclamations/table_scribe.py +109 -0
- velm/symphony/release.symphony +31 -0
- velm/symphony/renderers/__init__.py +17 -0
- velm/symphony/renderers/base.py +72 -0
- velm/symphony/renderers/basic_renderer/__init__.py +12 -0
- velm/symphony/renderers/basic_renderer/codex.py +16 -0
- velm/symphony/renderers/basic_renderer/emitter.py +59 -0
- velm/symphony/renderers/basic_renderer/facade.py +244 -0
- velm/symphony/renderers/basic_renderer/scribe.py +115 -0
- velm/symphony/renderers/basic_renderer/styler.py +59 -0
- velm/symphony/renderers/cinematic_renderer/__init__.py +12 -0
- velm/symphony/renderers/cinematic_renderer/facade.py +194 -0
- velm/symphony/renderers/cinematic_renderer/layout_engine.py +56 -0
- velm/symphony/renderers/cinematic_renderer/state.py +78 -0
- velm/symphony/renderers/cinematic_renderer/theme.py +40 -0
- velm/symphony/renderers/cinematic_renderer/widgets/__init__.py +8 -0
- velm/symphony/renderers/cinematic_renderer/widgets/context.py +20 -0
- velm/symphony/renderers/cinematic_renderer/widgets/footer.py +15 -0
- velm/symphony/renderers/cinematic_renderer/widgets/header.py +37 -0
- velm/symphony/renderers/cinematic_renderer/widgets/monitor.py +23 -0
- velm/symphony/renderers/cinematic_renderer/widgets/output.py +31 -0
- velm/symphony/renderers/cinematic_renderer/widgets/sparkline.py +105 -0
- velm/symphony/renderers/cinematic_renderer/widgets/timeline.py +49 -0
- velm/symphony/renderers/github_renderer/__init__.py +13 -0
- velm/symphony/renderers/github_renderer/emitter.py +92 -0
- velm/symphony/renderers/github_renderer/facade.py +232 -0
- velm/symphony/renderers/github_renderer/sanitizer.py +41 -0
- velm/symphony/renderers/raw_renderer/__init__.py +2 -0
- velm/symphony/renderers/raw_renderer/facade.py +96 -0
- velm/symphony/renderers/rich_renderer/__init__.py +2 -0
- velm/symphony/renderers/rich_renderer/facade.py +320 -0
- velm/symphony/renderers/rich_renderer/state.py +84 -0
- velm/symphony/renderers/rich_renderer/stream_scribe.py +301 -0
- velm/symphony/renderers/rich_renderer/theme.py +106 -0
- velm/symphony/renderers/rich_renderer/utils.py +29 -0
- velm/symphony/renderers/stream_renderer/__init__.py +13 -0
- velm/symphony/renderers/stream_renderer/codex.py +51 -0
- velm/symphony/renderers/stream_renderer/emitter.py +116 -0
- velm/symphony/renderers/stream_renderer/facade.py +218 -0
- velm/symphony/swarm.py +538 -0
- velm/themes/cyberpunk.css +29 -0
- velm/themes/monokai.css +24 -0
- velm/utils/__init__.py +69 -0
- velm/utils/archetype_utils.py +154 -0
- velm/utils/converters.py +135 -0
- velm/utils/core_utils.py +3238 -0
- velm/utils/dossier_scribe/__init__.py +13 -0
- velm/utils/dossier_scribe/constellation/__init__.py +14 -0
- velm/utils/dossier_scribe/constellation/arch_scribe/__init__.py +14 -0
- velm/utils/dossier_scribe/constellation/arch_scribe/dna.py +290 -0
- velm/utils/dossier_scribe/constellation/arch_scribe/markdown.py +139 -0
- velm/utils/dossier_scribe/constellation/arch_scribe/mermaids.py +60 -0
- velm/utils/dossier_scribe/constellation/arch_scribe/scribe.py +96 -0
- velm/utils/dossier_scribe/constellation/assets.py +74 -0
- velm/utils/dossier_scribe/constellation/crystal.py +66 -0
- velm/utils/dossier_scribe/constellation/hyperlinks.py +176 -0
- velm/utils/dossier_scribe/constellation/renderer.py +163 -0
- velm/utils/dossier_scribe/constellation/scribe.py +108 -0
- velm/utils/dossier_scribe/constellation/xray.py +69 -0
- velm/utils/dossier_scribe/facade.py +270 -0
- velm/utils/dossier_scribe/mentorship_scribe.py +47 -0
- velm/utils/dossier_scribe/prophecy_panel.py +29 -0
- velm/utils/dossier_scribe/security_scribe.py +27 -0
- velm/utils/dossier_scribe/telemetry_grid.py +167 -0
- velm/utils/ephemeral_server.py +53 -0
- velm/utils/gnosis_discovery.py +354 -0
- velm/utils/invocation.py +252 -0
- velm/utils/resolve_gnostic_content.py +140 -0
- velm/utils/workspace_utils.py +35 -0
- velm-0.1.2.dist-info/METADATA +283 -0
- velm-0.1.2.dist-info/RECORD +2195 -0
- velm-0.1.2.dist-info/WHEEL +5 -0
- velm-0.1.2.dist-info/entry_points.txt +2 -0
- velm-0.1.2.dist-info/licenses/LICENSE +52 -0
- velm-0.1.2.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,969 @@
|
|
|
1
|
+
# Path: artisans/transmute.py
|
|
2
|
+
# ---------------------------
|
|
3
|
+
|
|
4
|
+
"""
|
|
5
|
+
=================================================================================
|
|
6
|
+
== THE GOD-ENGINE OF STATE MANAGEMENT (V-Ω-ETERNAL-APOTHEOSIS-ULTIMA++) ==
|
|
7
|
+
=================================================================================
|
|
8
|
+
LIF: 10,000,000,000,000,000,000
|
|
9
|
+
|
|
10
|
+
This is the final, eternal, and ultra-definitive form of the Transmutator's
|
|
11
|
+
mind. It is the Grand Conductor of Architectural Evolution. It has been bestowed
|
|
12
|
+
with the **Law of True Intent**, allowing it to distinguish a sacred Vow of
|
|
13
|
+
Preservation (`file << file`) from a divine Command of Translocation (`new << old`).
|
|
14
|
+
Its final proclamation is now forged from the **One True Chronicle**, annihilating
|
|
15
|
+
the Heresy of the Disconnected Scribe for all time.
|
|
16
|
+
|
|
17
|
+
It has been ascended to perform a **Gnostic Triage of Mode**. It perceives not just
|
|
18
|
+
the scripture's name (`.patch.scaffold`), but its very **Soul (Content)**. If it
|
|
19
|
+
perceives Mutation Sigils (`+=`, `-=`, `~=`), it automatically delegates to the
|
|
20
|
+
Gnostic Surgeon (`PatchArtisan`), making the workflow seamless and intuitive.
|
|
21
|
+
|
|
22
|
+
### THE PANTHEON OF 12 LEGENDARY FACULTIES:
|
|
23
|
+
|
|
24
|
+
1. **The Gnostic Triage:** It first performs a Gaze upon the Architect's plea,
|
|
25
|
+
redirecting ancient rites (`--anchor`, `--revert`) to their new, sovereign
|
|
26
|
+
artisans. It performs a deep content gaze to auto-detect `PATCH` mode.
|
|
27
|
+
2. **The Simulation Ward:** It strictly forbids the `update_chronicle` rite from
|
|
28
|
+
executing during a `preview` or `dry_run`. Crucially, it also purges the
|
|
29
|
+
`GnosticTransaction` dossier before exit during simulation to prevent the
|
|
30
|
+
"Ghost Chronicle" heresy.
|
|
31
|
+
3. **The Prophet's Gaze:** It summons the `_generate_new_plan` artisan to perceive
|
|
32
|
+
the complete "Future" reality described by the blueprint scripture.
|
|
33
|
+
4. **The Interactive Diplomat:** It offers to resolve conflicts interactively rather
|
|
34
|
+
than crashing, empowering the Architect to override history with will.
|
|
35
|
+
5. **The Seer's Adjudication:** It summons the `GnosticSeer`, the true mind of
|
|
36
|
+
perception, to perform its Three-Fold Gaze and complete the Plan of Change.
|
|
37
|
+
6. **The Unification of Will:** It surgically merges the Seer's prophecies with its
|
|
38
|
+
own perception of true translocations, forging the final, unified Gnostic Plan.
|
|
39
|
+
7. **The Oracle of Consequence:** It summons the `_conduct_impact_analysis` artisan
|
|
40
|
+
to prophesy the cascading effects of the forged Plan.
|
|
41
|
+
8. **The Luminous Proclamation:** It summons the `_proclaim_plan` herald to render
|
|
42
|
+
a beautiful, cinematic Dossier of the intended changes.
|
|
43
|
+
9. **The Unbreakable Hand:** Upon receiving the Architect's final will, it summons
|
|
44
|
+
the `_enact_symphony` artisan to make the new reality manifest within a
|
|
45
|
+
`GnosticTransaction`.
|
|
46
|
+
10. **The Chronicle Scribe:** It commands the `update_chronicle` artisan to seal
|
|
47
|
+
the new reality into the eternal Gnostic Chronicle (`scaffold.lock`).
|
|
48
|
+
11. **The Herald of Apotheosis:** Its final act is to summon the `_proclaim_success`
|
|
49
|
+
herald to sing the triumphant song of the completed Great Work.
|
|
50
|
+
12. **The Sovereign Mind:** It is the one true, pure conductor for all architectural
|
|
51
|
+
evolution rites, its logic unbreakable, its Gaze absolute.
|
|
52
|
+
"""
|
|
53
|
+
import tempfile
|
|
54
|
+
import subprocess
|
|
55
|
+
import json
|
|
56
|
+
import re
|
|
57
|
+
import shutil
|
|
58
|
+
import time
|
|
59
|
+
from pathlib import Path
|
|
60
|
+
from typing import Dict, Any, List, Tuple, Optional
|
|
61
|
+
from rich.box import ROUNDED
|
|
62
|
+
from rich.panel import Panel
|
|
63
|
+
from rich.table import Table
|
|
64
|
+
|
|
65
|
+
from .excise import ExciseArtisan
|
|
66
|
+
# We import PatchArtisan dynamically or via module to avoid circular issues if any,
|
|
67
|
+
# but standard import is usually fine here as they are siblings.
|
|
68
|
+
from .patch import PatchArtisan
|
|
69
|
+
# --- THE DIVINE SUMMONS OF GNOSTIC KIN ---
|
|
70
|
+
from ..artisans.template_engine import TemplateEngine
|
|
71
|
+
from ..contracts.data_contracts import GnosticWriteResult, ScaffoldItem
|
|
72
|
+
from ..contracts.heresy_contracts import ArtisanHeresy
|
|
73
|
+
from ..core.alchemist import get_alchemist
|
|
74
|
+
from ..core.artisan import BaseArtisan
|
|
75
|
+
from ..help_registry import register_artisan
|
|
76
|
+
from ..interfaces.base import ScaffoldResult, Artifact
|
|
77
|
+
from ..interfaces.requests import TransmuteRequest, PatchRequest, ExciseRequest, AdoptRequest
|
|
78
|
+
from ..logger import Scribe
|
|
79
|
+
from ..parser_core.parser import ApotheosisParser
|
|
80
|
+
|
|
81
|
+
Logger = Scribe("Transmutator")
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
@register_artisan("transmute")
|
|
85
|
+
class TransmuteArtisan(BaseArtisan[TransmuteRequest]):
|
|
86
|
+
"""The AI Seer of Souls, responsible for the Gnostic Transmutation Plan."""
|
|
87
|
+
|
|
88
|
+
def __init__(self, engine):
|
|
89
|
+
"""
|
|
90
|
+
=================================================================================
|
|
91
|
+
== THE RITE OF GNOSTIC INCEPTION (V-Ω-ETERNAL-APOTHEOSIS) ==
|
|
92
|
+
=================================================================================
|
|
93
|
+
LIF: 10,000,000
|
|
94
|
+
|
|
95
|
+
The artisan is born. Its soul is consecrated with its divine instruments—the
|
|
96
|
+
Alchemist and the Template Engine. It forges the empty vessels for its future
|
|
97
|
+
Gnosis (`blueprint_path`, `lock_file_path`), but awaits the Architect's plea
|
|
98
|
+
(`execute`) before filling them.
|
|
99
|
+
|
|
100
|
+
This sacred separation of Inception from Execution ensures the artisan remains a
|
|
101
|
+
pure, stateless entity, its every rite a new, untainted symphony. The heresy of
|
|
102
|
+
the stateful artisan is annihilated from this timeline.
|
|
103
|
+
"""
|
|
104
|
+
# --- MOVEMENT I: THE ANCESTRAL VOW ---
|
|
105
|
+
# We honor the sacred contract of all artisans.
|
|
106
|
+
super().__init__(engine)
|
|
107
|
+
self.Logger = Logger
|
|
108
|
+
# --- MOVEMENT II: THE FORGING OF THE DIVINE INSTRUMENTS ---
|
|
109
|
+
# The artisan is bestowed with its eternally required, stateless tools.
|
|
110
|
+
self.alchemist = get_alchemist()
|
|
111
|
+
# The Template Engine is summoned in silent mode, as its work is internal.
|
|
112
|
+
self.template_engine = TemplateEngine(silent=True)
|
|
113
|
+
|
|
114
|
+
# --- MOVEMENT III: THE CONSECRATION OF THE EPHEMERAL VESSELS ---
|
|
115
|
+
# These vessels are forged as voids. They will be filled with the Gnosis
|
|
116
|
+
# of a single, specific `execute` rite and returned to the void upon its
|
|
117
|
+
# conclusion. This ensures the artisan's mind is pure for every new plea.
|
|
118
|
+
self.lock_file_path: Optional[Path] = None
|
|
119
|
+
self.blueprint_path: Optional[Path] = None
|
|
120
|
+
# The active request vessel.
|
|
121
|
+
self.active_request: Optional[TransmuteRequest] = None
|
|
122
|
+
|
|
123
|
+
def _conduct_impact_analysis(self, plan: Dict[str, Any]) -> None:
|
|
124
|
+
"""
|
|
125
|
+
=================================================================================
|
|
126
|
+
== THE ORACLE OF CONSEQUENCE (V-Ω-CORTEX-MEMORY-AWARE) ==
|
|
127
|
+
=================================================================================
|
|
128
|
+
LIF: 10,000,000
|
|
129
|
+
|
|
130
|
+
This divine artisan has been healed. It now understands that the Gnosis of
|
|
131
|
+
causality resides within the Cortex's MEMORY, not its mind. It now performs a
|
|
132
|
+
sacred `perceive()` rite to ensure the memory is warm before making its plea.
|
|
133
|
+
=================================================================================
|
|
134
|
+
"""
|
|
135
|
+
files_to_delete = {d['path'] for d in plan.get("delete", [])}
|
|
136
|
+
moved_from_paths = {Path(p_from) for p_from in plan.get("move", {})}
|
|
137
|
+
|
|
138
|
+
destructive_paths = files_to_delete | moved_from_paths
|
|
139
|
+
if not destructive_paths:
|
|
140
|
+
return
|
|
141
|
+
|
|
142
|
+
self.logger.info("The Oracle of Consequence awakens. Communing with the Gnostic Cortex...")
|
|
143
|
+
from ..core.cortex.engine import GnosticCortex
|
|
144
|
+
cortex = GnosticCortex(self.project_root)
|
|
145
|
+
|
|
146
|
+
# ★★★ THE DIVINE HEALING ★★★
|
|
147
|
+
# We perceive reality to get the memory object.
|
|
148
|
+
memory = cortex.perceive(force_refresh=False)
|
|
149
|
+
# ★★★ THE APOTHEOSIS IS COMPLETE ★★★
|
|
150
|
+
|
|
151
|
+
broken_bonds: List[Tuple[Path, List[str]]] = []
|
|
152
|
+
all_vanishing_paths_abs = {self.project_root / p for p in destructive_paths}
|
|
153
|
+
|
|
154
|
+
for path in destructive_paths:
|
|
155
|
+
# ★★★ THE DIVINE HEALING ★★★
|
|
156
|
+
# We make our plea to the MEMORY, not the Cortex.
|
|
157
|
+
# The path must be a string relative to the project root.
|
|
158
|
+
try:
|
|
159
|
+
path_str = path.relative_to(self.project_root).as_posix()
|
|
160
|
+
dependents = memory.get_dependents_of(path_str)
|
|
161
|
+
except (ValueError, AttributeError):
|
|
162
|
+
dependents = []
|
|
163
|
+
# ★★★ THE APOTHEOSIS IS COMPLETE ★★★
|
|
164
|
+
|
|
165
|
+
surviving_dependents = [
|
|
166
|
+
d for d in dependents
|
|
167
|
+
if (self.project_root / d) not in all_vanishing_paths_abs
|
|
168
|
+
]
|
|
169
|
+
|
|
170
|
+
if surviving_dependents:
|
|
171
|
+
broken_bonds.append((path, surviving_dependents))
|
|
172
|
+
|
|
173
|
+
if broken_bonds:
|
|
174
|
+
self._proclaim_impact_heresy(broken_bonds)
|
|
175
|
+
|
|
176
|
+
def _proclaim_impact_heresy(self, broken_bonds: List[Tuple[Path, List[str]]]) -> None:
|
|
177
|
+
"""
|
|
178
|
+
=================================================================================
|
|
179
|
+
== THE HERALD OF BROKEN BONDS (V-Ω-INTERACTIVE-MENTOR) ==
|
|
180
|
+
=================================================================================
|
|
181
|
+
This is a divine, specialist Herald. It receives a pure dossier of broken
|
|
182
|
+
Gnostic bonds and transmutes it into a luminous, interactive communion that
|
|
183
|
+
mentors the Architect, guards against catastrophe, and honors their final will.
|
|
184
|
+
"""
|
|
185
|
+
from rich.panel import Panel
|
|
186
|
+
from rich.prompt import Confirm
|
|
187
|
+
from rich.console import Group
|
|
188
|
+
from rich.text import Text
|
|
189
|
+
|
|
190
|
+
# --- MOVEMENT I: FORGE THE DOSSIER OF CONSEQUENCE ---
|
|
191
|
+
warning_items = [
|
|
192
|
+
Text("CRITICAL IMPACT WARNING:", style="bold red"),
|
|
193
|
+
Text("The following transmutations will shatter existing Gnostic bonds:\n")
|
|
194
|
+
]
|
|
195
|
+
|
|
196
|
+
for corpse, mourners in broken_bonds:
|
|
197
|
+
warning_items.append(
|
|
198
|
+
Text.assemble(
|
|
199
|
+
(" 🗑️ Annihilating/Moving ", "red"),
|
|
200
|
+
(str(corpse), "bold yellow"),
|
|
201
|
+
(" will break:", "red")
|
|
202
|
+
)
|
|
203
|
+
)
|
|
204
|
+
for mourner in mourners[:5]:
|
|
205
|
+
warning_items.append(Text(f" - {mourner}", style="cyan"))
|
|
206
|
+
if len(mourners) > 5:
|
|
207
|
+
warning_items.append(Text(f" - ... and {len(mourners) - 5} other(s).", style="dim"))
|
|
208
|
+
|
|
209
|
+
# --- MOVEMENT II: THE INTERACTIVE GATE ---
|
|
210
|
+
self.console.print(
|
|
211
|
+
Panel(Group(*warning_items), title="[bold red]Gnostic Impact Analysis[/bold red]", border_style="red")
|
|
212
|
+
)
|
|
213
|
+
|
|
214
|
+
# We use the BaseArtisan's request property to access the current context
|
|
215
|
+
if not self.active_request.force and not self.active_request.non_interactive:
|
|
216
|
+
if not Confirm.ask(
|
|
217
|
+
"\n[bold yellow]This is a destructive act. Are you certain you wish to proceed?[/bold yellow]",
|
|
218
|
+
default=False
|
|
219
|
+
):
|
|
220
|
+
raise ArtisanHeresy(
|
|
221
|
+
"Rite stayed by the Conscience of the Transmuter.",
|
|
222
|
+
suggestion="Refactor the dependent files to remove the broken imports, or proceed with `--force`.",
|
|
223
|
+
exit_code=0
|
|
224
|
+
)
|
|
225
|
+
else:
|
|
226
|
+
self.logger.warn("The Architect has acknowledged the risk and commanded the rite to proceed.")
|
|
227
|
+
|
|
228
|
+
def _load_lock_file(self) -> Dict[str, Any]:
|
|
229
|
+
"""
|
|
230
|
+
=================================================================================
|
|
231
|
+
== THE GUARDIAN OF THE GNOSTIC CHRONICLE (V-Ω-HYPER-RESILIENT) ==
|
|
232
|
+
=================================================================================
|
|
233
|
+
LIF: 10,000,000
|
|
234
|
+
|
|
235
|
+
This is not a file reader. It is a divine, sentient Guardian whose one true
|
|
236
|
+
purpose is to safely summon the `scaffold.lock` scripture, the Engine's memory
|
|
237
|
+
of the past.
|
|
238
|
+
"""
|
|
239
|
+
if not self.lock_file_path.exists():
|
|
240
|
+
self.logger.warn("Gnostic Chronicle (scaffold.lock) not found.")
|
|
241
|
+
# This is not a critical error for `transmute`; it simply means all
|
|
242
|
+
# files in the blueprint will be treated as "new creations".
|
|
243
|
+
return {}
|
|
244
|
+
|
|
245
|
+
try:
|
|
246
|
+
content = self.lock_file_path.read_text(encoding='utf-8')
|
|
247
|
+
if not content.strip():
|
|
248
|
+
# [FACULTY 4] The Guardian of the Empty Soul
|
|
249
|
+
self.logger.warn("Gnostic Chronicle exists but is a void. Treating reality as new.")
|
|
250
|
+
return {}
|
|
251
|
+
|
|
252
|
+
lock_data = json.loads(content)
|
|
253
|
+
return lock_data
|
|
254
|
+
|
|
255
|
+
except json.JSONDecodeError as e:
|
|
256
|
+
# [FACULTY 2] The Heresy Transmuter
|
|
257
|
+
raise ArtisanHeresy(
|
|
258
|
+
"The Gnostic Chronicle's soul is profane (corrupted JSON).",
|
|
259
|
+
suggestion="Delete the `scaffold.lock` file and run `scaffold adopt` to forge a new, pure Chronicle.",
|
|
260
|
+
details=f"Paradox at line {e.lineno}, column {e.colno}: {e.msg}",
|
|
261
|
+
child_heresy=e
|
|
262
|
+
)
|
|
263
|
+
except Exception as e:
|
|
264
|
+
raise ArtisanHeresy(
|
|
265
|
+
"A catastrophic paradox occurred while gazing upon the Gnostic Chronicle.",
|
|
266
|
+
child_heresy=e
|
|
267
|
+
) from e
|
|
268
|
+
|
|
269
|
+
def execute(self, request: TransmuteRequest) -> ScaffoldResult:
|
|
270
|
+
"""
|
|
271
|
+
=================================================================================
|
|
272
|
+
== THE GOD-ENGINE OF STATE MANAGEMENT (V-Ω-ETERNAL-APOTHEOSIS-ULTIMA++) ==
|
|
273
|
+
=================================================================================
|
|
274
|
+
LIF: 10,000,000,000,000,000,000
|
|
275
|
+
|
|
276
|
+
The Transmutator now possesses the **Eye of Truth**. It gazes into the scripture
|
|
277
|
+
content to determine if the Architect intends a **Mutation** (Patch) or a
|
|
278
|
+
**Definition** (Sync), removing the need for strict file extensions.
|
|
279
|
+
"""
|
|
280
|
+
from rich.prompt import Confirm
|
|
281
|
+
from ..core.kernel.chronicle import update_chronicle
|
|
282
|
+
from .transmute_core.seer import GnosticSeer
|
|
283
|
+
|
|
284
|
+
self.active_request = request
|
|
285
|
+
self._start_time = time.monotonic()
|
|
286
|
+
|
|
287
|
+
# --- MOVEMENT I: GNOSTIC TRIAGE & LEGACY REDIRECTION ---
|
|
288
|
+
is_revert_mode = bool(request.revert_blueprint)
|
|
289
|
+
is_anchor_mode = getattr(request, 'anchor', False) and not is_revert_mode
|
|
290
|
+
|
|
291
|
+
if is_revert_mode:
|
|
292
|
+
self.logger.info("Redirecting ancient 'revert' plea to the modern 'excise' artisan...")
|
|
293
|
+
excise_request = ExciseRequest(blueprint_origin=request.revert_blueprint, force=request.force,
|
|
294
|
+
non_interactive=request.non_interactive, project_root=self.project_root)
|
|
295
|
+
return ExciseArtisan(self.engine).execute(excise_request)
|
|
296
|
+
|
|
297
|
+
if is_anchor_mode:
|
|
298
|
+
self.logger.info("Redirecting ancient 'anchor' plea to the modern 'adopt' artisan...")
|
|
299
|
+
target = "."
|
|
300
|
+
anchor_arg = getattr(request, 'anchor')
|
|
301
|
+
if isinstance(anchor_arg, str) and anchor_arg != ".":
|
|
302
|
+
target = anchor_arg
|
|
303
|
+
adopt_request = AdoptRequest(target_path=target, output_file="scaffold.scaffold", force=request.force,
|
|
304
|
+
non_interactive=request.non_interactive, project_root=self.project_root)
|
|
305
|
+
return self.engine.dispatch(adopt_request)
|
|
306
|
+
|
|
307
|
+
# --- MOVEMENT II: THE GAZE OF THE INNER EYE (CONTENT AWARENESS) ---
|
|
308
|
+
scripture_path = request.path_to_scripture
|
|
309
|
+
is_explicit_path = bool(scripture_path)
|
|
310
|
+
|
|
311
|
+
is_patch_mode = False
|
|
312
|
+
|
|
313
|
+
if is_explicit_path:
|
|
314
|
+
self.blueprint_path = (self.project_root / request.path_to_scripture).resolve()
|
|
315
|
+
if not self.blueprint_path.exists():
|
|
316
|
+
raise ArtisanHeresy(f"The Scripture '{self.blueprint_path.name}' is a void.")
|
|
317
|
+
|
|
318
|
+
# [THE BILLION-X FIX] The Content Gaze
|
|
319
|
+
# We read the file to see if it contains Mutation Sigils.
|
|
320
|
+
try:
|
|
321
|
+
content = self.blueprint_path.read_text(encoding='utf-8')
|
|
322
|
+
|
|
323
|
+
# Regex to detect mutation operators at the start of a line (ignoring whitespace)
|
|
324
|
+
# Matches: path += ... | path -= ... | path ~= ...
|
|
325
|
+
# We exclude lines starting with # (comments)
|
|
326
|
+
mutation_sigil_regex = re.compile(r'^\s*[^#\s].*?(\+=|-=|~=)', re.MULTILINE)
|
|
327
|
+
|
|
328
|
+
if str(self.blueprint_path).endswith('.patch.scaffold'):
|
|
329
|
+
is_patch_mode = True
|
|
330
|
+
self.logger.verbose("Patch Mode detected via Sacred Suffix (.patch.scaffold).")
|
|
331
|
+
elif mutation_sigil_regex.search(content):
|
|
332
|
+
is_patch_mode = True
|
|
333
|
+
self.logger.info(
|
|
334
|
+
"Patch Mode detected via Mutation Sigils in content. Delegating to Gnostic Surgeon.")
|
|
335
|
+
|
|
336
|
+
except Exception as e:
|
|
337
|
+
self.logger.warn(f"Could not gaze into scripture content: {e}. Proceeding with standard triage.")
|
|
338
|
+
|
|
339
|
+
else:
|
|
340
|
+
self.blueprint_path = self.project_root / "scaffold.scaffold"
|
|
341
|
+
|
|
342
|
+
# --- MOVEMENT III: THE DIVINE DELEGATION (IF PATCH) ---
|
|
343
|
+
if is_patch_mode:
|
|
344
|
+
# We transmute the request into a PatchRequest and summon the Surgeon.
|
|
345
|
+
patch_request = PatchRequest(
|
|
346
|
+
patch_path=str(request.path_to_scripture),
|
|
347
|
+
project_root=self.project_root,
|
|
348
|
+
force=request.force,
|
|
349
|
+
dry_run=request.dry_run,
|
|
350
|
+
variables=request.variables,
|
|
351
|
+
verbosity=request.verbosity
|
|
352
|
+
)
|
|
353
|
+
return PatchArtisan(self.engine).execute(patch_request)
|
|
354
|
+
elif request.variables.get('harmonize_docker'): # A new flag/variable
|
|
355
|
+
return self._conduct_docker_harmony_rite(request)
|
|
356
|
+
# ===========================
|
|
357
|
+
# --- MOVEMENT IV: THE RITE OF SYNCHRONIZATION (IF NOT PATCH) ---
|
|
358
|
+
# If we are here, we are in SYNC mode.
|
|
359
|
+
mode_str = "SYNC"
|
|
360
|
+
|
|
361
|
+
self.console.rule(f"[bold magenta]The Rite of Gnostic Transmutation ({mode_str} Mode)[/bold magenta]")
|
|
362
|
+
self.logger.info(f"Mode: [bold cyan]{mode_str}[/bold cyan] | Blueprint: {self.blueprint_path.name}")
|
|
363
|
+
|
|
364
|
+
if not self.blueprint_path.exists():
|
|
365
|
+
raise ArtisanHeresy(f"The Blueprint '{self.blueprint_path.name}' is a void.")
|
|
366
|
+
|
|
367
|
+
# --- MOVEMENT V: CHRONICLE GUARDIAN ---
|
|
368
|
+
self.lock_file_path = self.project_root / "scaffold.lock"
|
|
369
|
+
lock_data = self._load_lock_file()
|
|
370
|
+
|
|
371
|
+
# --- MOVEMENT VI: THE PROPHET'S GAZE ---
|
|
372
|
+
# We summon the _generate_new_plan to parse the blueprint into ScaffoldItems.
|
|
373
|
+
new_plan_items, new_vars = self._generate_new_plan(self.blueprint_path)
|
|
374
|
+
|
|
375
|
+
# --- MOVEMENT VII: THE REFACTORING TRIAGE (THE LAW OF TRUE INTENT) ---
|
|
376
|
+
self.logger.verbose("Performing Gnostic Triage for explicit translocations...")
|
|
377
|
+
plan = {"create": [], "delete": [], "move": {}, "update": [], "conflict": [], "unchanged": []}
|
|
378
|
+
items_for_seer = []
|
|
379
|
+
|
|
380
|
+
for item in new_plan_items:
|
|
381
|
+
# [FACULTY 7] The Seed Path Healer
|
|
382
|
+
# If a file has a seed path (<<), and the seed path is different from the destination,
|
|
383
|
+
# it implies a MOVEMENT of soul, not just a copy.
|
|
384
|
+
if item.seed_path and str(item.seed_path).replace("\\", "/") != str(item.path).replace("\\", "/"):
|
|
385
|
+
plan["move"][str(item.seed_path).replace("\\", "/")] = str(item.path).replace("\\", "/")
|
|
386
|
+
else:
|
|
387
|
+
items_for_seer.append(item)
|
|
388
|
+
|
|
389
|
+
self.logger.verbose(f"Pre-emptive Gaze perceived {len(plan['move'])} explicit translocations.")
|
|
390
|
+
|
|
391
|
+
# --- MOVEMENT VIII: THE SEER'S FOCUSED GAZE ---
|
|
392
|
+
# We summon the GnosticSeer to calculate the diff (Create vs Update vs Delete).
|
|
393
|
+
seer = GnosticSeer(self, lock_data, items_for_seer, new_vars)
|
|
394
|
+
seer_plan = seer.prophesy()
|
|
395
|
+
|
|
396
|
+
# --- MOVEMENT IX: THE UNIFICATION OF WILL ---
|
|
397
|
+
plan["create"].extend(seer_plan["create"])
|
|
398
|
+
plan["update"].extend(seer_plan["update"])
|
|
399
|
+
plan["conflict"].extend(seer_plan["conflict"])
|
|
400
|
+
plan["unchanged"].extend(seer_plan["unchanged"])
|
|
401
|
+
|
|
402
|
+
# Annihilation is calculated LAST, after all moves are known.
|
|
403
|
+
all_future_paths = {str(item.path).replace("\\", "/") for item in new_plan_items}
|
|
404
|
+
all_source_paths = {str(item.seed_path).replace("\\", "/") for item in new_plan_items if item.seed_path}
|
|
405
|
+
|
|
406
|
+
for lock_path_str in lock_data.get("manifest", {}).keys():
|
|
407
|
+
# If it's not in the future, and not a source for a move/copy, it must be destroyed.
|
|
408
|
+
if lock_path_str not in all_future_paths and lock_path_str not in all_source_paths:
|
|
409
|
+
historical_hash = lock_data["manifest"][lock_path_str].get("sha256")
|
|
410
|
+
plan["delete"].append({"path": Path(lock_path_str), "hash": historical_hash})
|
|
411
|
+
|
|
412
|
+
# --- MOVEMENT X: IMPACT, PROCLAMATION, AND EXECUTION ---
|
|
413
|
+
self._conduct_impact_analysis(plan)
|
|
414
|
+
has_changes = self._proclaim_plan(plan)
|
|
415
|
+
|
|
416
|
+
if not has_changes:
|
|
417
|
+
return self.success("Reality is in perfect harmony. No transmutation is needed.")
|
|
418
|
+
|
|
419
|
+
# [FACULTY 3] The Interactive Diplomat
|
|
420
|
+
if plan["conflict"]:
|
|
421
|
+
if not request.force and not request.non_interactive:
|
|
422
|
+
# We render a luminous table of conflicts
|
|
423
|
+
conflict_table = Table(title="[bold red]Concordance of Conflict[/bold red]", box=ROUNDED)
|
|
424
|
+
conflict_table.add_column("Scripture", style="cyan")
|
|
425
|
+
conflict_table.add_column("Nature of Heresy", style="yellow")
|
|
426
|
+
|
|
427
|
+
for conflict in plan["conflict"]:
|
|
428
|
+
conflict_table.add_row(conflict['path'], conflict['reason'])
|
|
429
|
+
|
|
430
|
+
self.console.print(Panel(conflict_table, border_style="red"))
|
|
431
|
+
|
|
432
|
+
# Offer the Diplomatic Solution
|
|
433
|
+
if Confirm.ask(
|
|
434
|
+
"[bold yellow]Conflicts perceived. Force overwrite all conflicts with Blueprint law?[/bold yellow]",
|
|
435
|
+
default=False):
|
|
436
|
+
self.logger.warn("The Architect has spoken. History shall be rewritten.")
|
|
437
|
+
# We proceed, but we must treat updates as force
|
|
438
|
+
request.force = True
|
|
439
|
+
else:
|
|
440
|
+
raise ArtisanHeresy("Rite stayed by the Architect due to conflict.", exit_code=1)
|
|
441
|
+
elif not request.force:
|
|
442
|
+
raise ArtisanHeresy("Conflicts detected in non-interactive mode. The rite is stayed.", exit_code=1)
|
|
443
|
+
|
|
444
|
+
if not request.force and not request.non_interactive:
|
|
445
|
+
if not Confirm.ask("\n[bold question]Shall this new reality be made manifest?[/bold question]",
|
|
446
|
+
default=False):
|
|
447
|
+
raise ArtisanHeresy("Rite stayed by the Architect.", exit_code=0)
|
|
448
|
+
|
|
449
|
+
# --- MOVEMENT XI: THE UNBREAKABLE HAND & THE FORGING OF THE CHRONICLE ---
|
|
450
|
+
# We enact the plan. This returns the GnosticWriteResult list.
|
|
451
|
+
write_dossier = self._enact_symphony(plan, new_plan_items, new_vars)
|
|
452
|
+
|
|
453
|
+
# --- MOVEMENT XII: THE SEALING OF THE CHRONICLE (THE FIX) ---
|
|
454
|
+
# [FACULTY 2] The Simulation Ward
|
|
455
|
+
# We only update the chronicle if this is NOT a simulation or preview.
|
|
456
|
+
# This prevents the "Ghost Chronicle" heresy.
|
|
457
|
+
if not (request.dry_run or request.preview):
|
|
458
|
+
update_chronicle(
|
|
459
|
+
project_root=self.project_root,
|
|
460
|
+
blueprint_path=self.blueprint_path,
|
|
461
|
+
rite_dossier=plan,
|
|
462
|
+
old_lock_data=lock_data,
|
|
463
|
+
write_dossier=write_dossier,
|
|
464
|
+
final_vars=new_vars,
|
|
465
|
+
rite_name=f"Transmute ({mode_str})"
|
|
466
|
+
)
|
|
467
|
+
else:
|
|
468
|
+
self.logger.info("Gnostic Chronicle update stayed (Simulation Mode active).")
|
|
469
|
+
|
|
470
|
+
# --- MOVEMENT XIII: THE HERALD OF APOTHEOSIS ---
|
|
471
|
+
self._proclaim_success(plan, write_dossier)
|
|
472
|
+
|
|
473
|
+
# --- MOVEMENT XIV: THE FORGING OF THE FINAL ARTIFACTS ---
|
|
474
|
+
final_artifacts: List[Artifact] = []
|
|
475
|
+
for result in write_dossier:
|
|
476
|
+
final_artifacts.append(Artifact(
|
|
477
|
+
path=result.path,
|
|
478
|
+
type='directory' if result.path.is_dir() else 'file',
|
|
479
|
+
action=result.action_taken.value,
|
|
480
|
+
size_bytes=result.bytes_written,
|
|
481
|
+
checksum=result.gnostic_fingerprint
|
|
482
|
+
))
|
|
483
|
+
|
|
484
|
+
# We must still proclaim moves and deletes, which are not in the write_dossier.
|
|
485
|
+
for from_str, to_str in plan.get('move', {}).items():
|
|
486
|
+
final_artifacts.append(Artifact(path=self.project_root / to_str, type='file', action='moved'))
|
|
487
|
+
|
|
488
|
+
for item_data in plan.get('delete', []):
|
|
489
|
+
path = item_data.get('path')
|
|
490
|
+
if path:
|
|
491
|
+
final_artifacts.append(Artifact(path=self.project_root / path, type='file', action='deleted'))
|
|
492
|
+
|
|
493
|
+
stats = {k: len(v) for k, v in plan.items()}
|
|
494
|
+
|
|
495
|
+
return self.success(
|
|
496
|
+
"The Great Work has advanced.",
|
|
497
|
+
data=stats,
|
|
498
|
+
artifacts=final_artifacts
|
|
499
|
+
)
|
|
500
|
+
|
|
501
|
+
def _conduct_docker_harmony_rite(self, request: TransmuteRequest) -> ScaffoldResult:
|
|
502
|
+
"""
|
|
503
|
+
=============================================================================
|
|
504
|
+
== THE DOCKER HARMONIZER (V-Ω-DEPENDENCY-AWARE) ==
|
|
505
|
+
=============================================================================
|
|
506
|
+
Ensures the Dockerfile reflects the state of package manager manifests.
|
|
507
|
+
"""
|
|
508
|
+
self.logger.info("The Docker Harmonizer awakens...")
|
|
509
|
+
|
|
510
|
+
dockerfile_path = self.project_root / "Dockerfile"
|
|
511
|
+
if not dockerfile_path.exists():
|
|
512
|
+
return self.failure("No Dockerfile found to harmonize.")
|
|
513
|
+
|
|
514
|
+
content = dockerfile_path.read_text(encoding='utf-8')
|
|
515
|
+
|
|
516
|
+
# Python Harmony
|
|
517
|
+
pyproj_path = self.project_root / "pyproject.toml"
|
|
518
|
+
if pyproj_path.exists():
|
|
519
|
+
# This is where the deep analysis would happen. For now, we simulate.
|
|
520
|
+
# We would parse TOML, find [tool.poetry.dependencies], and then
|
|
521
|
+
# ensure `COPY pyproject.toml .` and `RUN poetry install` exist.
|
|
522
|
+
# Using regex for a surgical, minimal-impact example:
|
|
523
|
+
if "COPY pyproject.toml" not in content:
|
|
524
|
+
content = content.replace("COPY . .",
|
|
525
|
+
"COPY pyproject.toml poetry.lock* ./\nRUN poetry install --no-root\n\nCOPY . .")
|
|
526
|
+
self.logger.verbose("Injecting Poetry installation layer into Dockerfile.")
|
|
527
|
+
|
|
528
|
+
# Node Harmony
|
|
529
|
+
pkg_json_path = self.project_root / "package.json"
|
|
530
|
+
if pkg_json_path.exists():
|
|
531
|
+
if "COPY package.json" not in content:
|
|
532
|
+
content = content.replace("COPY . .", "COPY package.json package-lock.json* ./\nRUN npm ci\n\nCOPY . .")
|
|
533
|
+
self.logger.verbose("Injecting npm installation layer into Dockerfile.")
|
|
534
|
+
|
|
535
|
+
atomic_write(dockerfile_path, content, self.logger, self.project_root)
|
|
536
|
+
|
|
537
|
+
return self.success("Dockerfile has been harmonized with project dependencies.")
|
|
538
|
+
|
|
539
|
+
def _generate_new_plan(self, blueprint_path: Path) -> Tuple[List[ScaffoldItem], Dict[str, Any]]:
|
|
540
|
+
"""
|
|
541
|
+
=================================================================================
|
|
542
|
+
== THE PROPHET OF THE FUTURE (V-Ω-ETERNAL-APOTHEOSIS. THE PURE CONDUCTOR) ==
|
|
543
|
+
=================================================================================
|
|
544
|
+
LIF: 10,000,000,000
|
|
545
|
+
|
|
546
|
+
This is not a function. It is a divine, sentient Conductor whose one true purpose
|
|
547
|
+
is to orchestrate the symphony of Gnostic Perception and Prophecy. It has been
|
|
548
|
+
transfigured to honor the sacred, unbreakable contracts of the ascended
|
|
549
|
+
`ApotheosisParser`, annihilating the `AttributeError` heresy from all timelines.
|
|
550
|
+
"""
|
|
551
|
+
self.Logger.info("The Prophet of the Future awakens to gaze upon the new architectural scripture...")
|
|
552
|
+
|
|
553
|
+
try:
|
|
554
|
+
# --- MOVEMENT I: THE SACRED PLEA TO THE PARSER ---
|
|
555
|
+
parser = ApotheosisParser(grammar_key='scaffold')
|
|
556
|
+
|
|
557
|
+
# THE FIX: The Gaze is now upon the pure Path object, not the profane string.
|
|
558
|
+
blueprint_content = blueprint_path.read_text(encoding='utf-8')
|
|
559
|
+
|
|
560
|
+
self.Logger.verbose(" -> Bestowing scripture upon the ApotheosisParser...")
|
|
561
|
+
|
|
562
|
+
parser_instance, _, _, _, _, _ = parser.parse_string(
|
|
563
|
+
content=blueprint_content,
|
|
564
|
+
file_path_context=blueprint_path,
|
|
565
|
+
pre_resolved_vars=self.active_request.variables
|
|
566
|
+
)
|
|
567
|
+
|
|
568
|
+
if not parser_instance.all_rites_are_pure:
|
|
569
|
+
# The parser's own proclamation of heresy is sufficient. We halt.
|
|
570
|
+
raise ArtisanHeresy("The new blueprint scripture is profane and cannot be realized.")
|
|
571
|
+
|
|
572
|
+
# --- MOVEMENT II: THE RITE OF REALITY RESOLUTION ---
|
|
573
|
+
self.Logger.verbose(" -> Commanding parser to resolve the final, Gnostic reality...")
|
|
574
|
+
final_plan = parser_instance.resolve_reality()
|
|
575
|
+
final_vars = parser_instance.variables
|
|
576
|
+
|
|
577
|
+
self.Logger.success("The Prophet's Gaze is complete. The new reality is known.")
|
|
578
|
+
|
|
579
|
+
return final_plan, final_vars
|
|
580
|
+
|
|
581
|
+
except ArtisanHeresy as e:
|
|
582
|
+
e.message = f"A paradox in the blueprint scripture '{blueprint_path.name}' stayed the Transmutation."
|
|
583
|
+
raise e
|
|
584
|
+
except Exception as e:
|
|
585
|
+
raise ArtisanHeresy(
|
|
586
|
+
"A catastrophic paradox shattered the Prophet of the Future.",
|
|
587
|
+
child_heresy=e
|
|
588
|
+
) from e
|
|
589
|
+
|
|
590
|
+
def _get_new_content_for_item(self, item: ScaffoldItem) -> str:
|
|
591
|
+
"""
|
|
592
|
+
=================================================================================
|
|
593
|
+
== THE FORENSIC ALCHEMIST (V-Ω-ETERNAL-APOTHEOSIS. THE PURE GAZE) ==
|
|
594
|
+
=================================================================================
|
|
595
|
+
@gnosis:title _get_new_content_for_item
|
|
596
|
+
@gnosis:summary A pure, hyper-performant artisan that re-forges the final soul
|
|
597
|
+
of a scripture for the Diff Browser's Gaze.
|
|
598
|
+
@gnosis:LIF 100,000,000,000
|
|
599
|
+
|
|
600
|
+
The Heresy of Inefficiency is annihilated. This rite no longer re-runs the entire
|
|
601
|
+
Gnostic resolution symphony. It performs a single, perfect, O(1) Gaze into the
|
|
602
|
+
Parser's own, final, resolved memory (`self.parser.variables`) to get the one
|
|
603
|
+
true Gnostic context. It then summons the universal `resolve_gnostic_content_v2`
|
|
604
|
+
artisan and the Alchemist to perform a final, pure transmutation. Its Gaze is
|
|
605
|
+
instantaneous. Its result is truth.
|
|
606
|
+
"""
|
|
607
|
+
from ...utils.resolve_gnostic_content import resolve_gnostic_content_v2
|
|
608
|
+
|
|
609
|
+
# [THE APOTHEOSIS] The Gaze is upon the Parser's final, resolved context.
|
|
610
|
+
final_resolved_vars = self.parser.variables
|
|
611
|
+
|
|
612
|
+
# The Rite of Gnostic Resolution is summoned.
|
|
613
|
+
soul_vessel = resolve_gnostic_content_v2(
|
|
614
|
+
item, self.alchemist, self.template_engine, final_resolved_vars, self.project_root, {}
|
|
615
|
+
)
|
|
616
|
+
# The Alchemist performs the final transmutation.
|
|
617
|
+
return self.alchemist.transmute(soul_vessel.untransmuted_content, final_resolved_vars)
|
|
618
|
+
|
|
619
|
+
def _launch_diff_browser(self, old_content: str, new_content: str, path: Path):
|
|
620
|
+
"""
|
|
621
|
+
=================================================================================
|
|
622
|
+
== THE SCRIBE OF THE DIFFERENTIAL GAZE (V-Ω-POLYGLOT-PROPHET) ==
|
|
623
|
+
=================================================================================
|
|
624
|
+
@gnosis:title _launch_diff_browser
|
|
625
|
+
@gnosis:summary Forges ephemeral scriptures and summons the Architect's preferred
|
|
626
|
+
diffing tool for a side-by-side Gaze.
|
|
627
|
+
@gnosis:LIF 10,000,000,000
|
|
628
|
+
|
|
629
|
+
This divine artisan is a true Polyglot Prophet. It performs a Gnostic Triage to
|
|
630
|
+
perceive the Architect's preferred editor (`code`, `git diff`, `vimdiff`) and
|
|
631
|
+
forges the correct, sacred plea to summon it. It is the unbreakable bridge
|
|
632
|
+
between the Engine's mind and the Architect's eye.
|
|
633
|
+
"""
|
|
634
|
+
old_path, new_path = None, None
|
|
635
|
+
try:
|
|
636
|
+
# --- MOVEMENT I: THE FORGING OF EPHEMERAL SCRIPTURES ---
|
|
637
|
+
with tempfile.NamedTemporaryFile(delete=False, prefix=f"before_{path.stem}_", suffix=path.suffix, mode='w',
|
|
638
|
+
encoding='utf-8') as old_f, \
|
|
639
|
+
tempfile.NamedTemporaryFile(delete=False, prefix=f"after_{path.stem}_", suffix=path.suffix,
|
|
640
|
+
mode='w', encoding='utf-8') as new_f:
|
|
641
|
+
|
|
642
|
+
old_f.write(old_content)
|
|
643
|
+
new_f.write(new_content)
|
|
644
|
+
old_path, new_path = old_f.name, new_f.name
|
|
645
|
+
|
|
646
|
+
# --- MOVEMENT II: THE GNOSTIC TRIAGE OF TOOLS ---
|
|
647
|
+
editor = os.getenv("SCAFFOLD_EDITOR") or os.getenv("VISUAL") or os.getenv("EDITOR")
|
|
648
|
+
diff_cmd = []
|
|
649
|
+
|
|
650
|
+
# The Gaze for the Luminous Editor (VS Code)
|
|
651
|
+
if "code" in (editor or ""):
|
|
652
|
+
diff_cmd = ["code", "--diff", old_path, new_path, "--wait"]
|
|
653
|
+
# The Gaze for the Chronomancer's Tool (Git)
|
|
654
|
+
elif shutil.which("git"):
|
|
655
|
+
diff_cmd = ["git", "diff", "--no-index", "--", old_path, new_path]
|
|
656
|
+
# Prophecy: A future Gaze for Vim, etc.
|
|
657
|
+
|
|
658
|
+
# --- MOVEMENT III: THE DIVINE SUMMONS ---
|
|
659
|
+
if diff_cmd:
|
|
660
|
+
self.console.print(
|
|
661
|
+
f"[dim]The Differential Gaze awakens for [cyan]{path.name}[/cyan]... (Close editor to continue)[/dim]")
|
|
662
|
+
# We do not capture output; we cede control to the Architect's Gaze.
|
|
663
|
+
subprocess.run(diff_cmd)
|
|
664
|
+
else:
|
|
665
|
+
# The Fallback: If no tool is found, we proclaim the heresy to the console.
|
|
666
|
+
self.console.print(
|
|
667
|
+
f"[yellow]No external diff tool perceived. Proclaiming diff for '{path.name}' to console.[/yellow]")
|
|
668
|
+
diff = "".join(difflib.unified_diff(old_content.splitlines(True), new_content.splitlines(True)))
|
|
669
|
+
self.console.print(Syntax(diff, "diff", theme="monokai"))
|
|
670
|
+
|
|
671
|
+
except Exception as e:
|
|
672
|
+
# The Unbreakable Ward
|
|
673
|
+
self.Logger.error(f"The Differential Gaze was shattered by a paradox: {e}")
|
|
674
|
+
finally:
|
|
675
|
+
# The Rite of Purification
|
|
676
|
+
try:
|
|
677
|
+
if old_path: os.unlink(old_path)
|
|
678
|
+
if new_path: os.unlink(new_path)
|
|
679
|
+
except OSError:
|
|
680
|
+
pass
|
|
681
|
+
|
|
682
|
+
def _proclaim_plan(self, plan: Dict[str, Any]) -> bool:
|
|
683
|
+
"""
|
|
684
|
+
=================================================================================
|
|
685
|
+
== THE ORACLE OF CONSEQUENCE (V-Ω-ULTRA-DEFINITIVE. THE ALTAR OF ADJUDICATION) ==
|
|
686
|
+
=================================================================================
|
|
687
|
+
@gnosis:title _proclaim_plan
|
|
688
|
+
@gnosis:summary The final, eternal, and ultra-definitive form of the plan proclamation rite.
|
|
689
|
+
@gnosis:LIF 1,000,000,000,000
|
|
690
|
+
|
|
691
|
+
This is not a function. It is a divine, sentient **Altar of Adjudication**. It
|
|
692
|
+
forges a single, unified, and hyper-dense Dossier of Prophecy, using sacred
|
|
693
|
+
sigils and luminous colors to instantly communicate the full Gnostic scope of
|
|
694
|
+
the transmutation. It is the final, unbreakable communion between the Engine's
|
|
695
|
+
intent and the Architect's will.
|
|
696
|
+
"""
|
|
697
|
+
from rich.syntax import Syntax
|
|
698
|
+
from rich.table import Table
|
|
699
|
+
from rich.panel import Panel
|
|
700
|
+
from rich.prompt import Confirm
|
|
701
|
+
from rich.console import Group
|
|
702
|
+
from rich.text import Text
|
|
703
|
+
|
|
704
|
+
lobotomy_candidates = []
|
|
705
|
+
has_changes = any(plan.values())
|
|
706
|
+
|
|
707
|
+
if not has_changes:
|
|
708
|
+
return False
|
|
709
|
+
|
|
710
|
+
# --- MOVEMENT I: THE FORGING OF THE UNIFIED DOSSIER ---
|
|
711
|
+
summary_table = Table(
|
|
712
|
+
title="[bold]Prophecy of Transmutation[/bold]",
|
|
713
|
+
box=ROUNDED, show_header=True, header_style="bold white"
|
|
714
|
+
)
|
|
715
|
+
summary_table.add_column("Rite", width=12, justify="center")
|
|
716
|
+
summary_table.add_column("Scripture / Sanctum", style="white", ratio=2)
|
|
717
|
+
summary_table.add_column("Gnostic Delta", style="dim", ratio=3)
|
|
718
|
+
|
|
719
|
+
# The Unification Loop
|
|
720
|
+
all_changes = (
|
|
721
|
+
[("CREATED", item['item'].path, f"New scripture prophesied.") for item in plan.get('create', [])] +
|
|
722
|
+
[("MODIFIED", item['item'].path, f"Soul will be transfigured.") for item in plan.get('update', [])] +
|
|
723
|
+
[("MOVED", f"{k} -> {v}", "Path will be altered.") for k, v in plan.get('move', {}).items()] +
|
|
724
|
+
[("DELETED", item['path'], "Will be returned to the void.") for item in plan.get('delete', [])] +
|
|
725
|
+
[("CONFLICT", item['path'], f"[bold red]Heresy: {item['reason']}[/bold red]") for item in
|
|
726
|
+
plan.get('conflict', [])]
|
|
727
|
+
)
|
|
728
|
+
|
|
729
|
+
for status, path_obj, reason in sorted(all_changes, key=lambda x: str(x[1])):
|
|
730
|
+
sigils = {
|
|
731
|
+
"CREATED": ("✨", "green"), "MODIFIED": ("⚡", "yellow"),
|
|
732
|
+
"MOVED": ("➡️", "blue"), "DELETED": ("💀", "red"), "CONFLICT": ("⚠️", "bold red")
|
|
733
|
+
}
|
|
734
|
+
sigil, color = sigils.get(status, ("?", "white"))
|
|
735
|
+
|
|
736
|
+
summary_table.add_row(f"[{color}]{sigil} {status}[/]", str(path_obj), reason)
|
|
737
|
+
|
|
738
|
+
# Populate lobotomy candidates
|
|
739
|
+
if status == "MODIFIED":
|
|
740
|
+
update_item = next(
|
|
741
|
+
(item for item in plan['update'] if (item.get("path") or item["item"].path) == path_obj), None)
|
|
742
|
+
if update_item and update_item.get("is_lobotomy"):
|
|
743
|
+
lobotomy_candidates.append(path_obj)
|
|
744
|
+
|
|
745
|
+
# --- MOVEMENT II: THE INTERACTIVE DIFFERENTIAL GAZE ---
|
|
746
|
+
# If in preview mode, we pause here to conduct the deep Gaze.
|
|
747
|
+
if self.active_request.preview and not self.active_request.non_interactive:
|
|
748
|
+
updates_with_diff = [item for item in plan.get('update', []) if item.get('diff')]
|
|
749
|
+
if updates_with_diff:
|
|
750
|
+
self.console.print(
|
|
751
|
+
Panel(summary_table, border_style="yellow", title="[bold yellow]High-Level Prophecy[/]"))
|
|
752
|
+
if Confirm.ask("\n[bold question]Gaze into the soul of the transfigured scriptures?[/bold question]"):
|
|
753
|
+
for item_data in updates_with_diff:
|
|
754
|
+
self._launch_diff_browser(
|
|
755
|
+
old_content=item_data.get("old_content") or "",
|
|
756
|
+
new_content=self._get_new_content_for_item(item_data["item"]),
|
|
757
|
+
path=item_data["item"].path
|
|
758
|
+
)
|
|
759
|
+
# We return False to prevent the main loop from asking for confirmation again.
|
|
760
|
+
# The rite concludes after the diffs are shown in preview mode.
|
|
761
|
+
return False
|
|
762
|
+
|
|
763
|
+
# --- MOVEMENT III: THE FINAL PROCLAMATION & LOBOTOMY ADJUDICATION ---
|
|
764
|
+
# For non-preview modes, we show the summary and then handle confirmations.
|
|
765
|
+
|
|
766
|
+
# Calculate Telemetry
|
|
767
|
+
num_c, num_u, num_m, num_d = len(plan.get('create', [])), len(plan.get('update', [])), len(
|
|
768
|
+
plan.get('move', {})), len(plan.get('delete', []))
|
|
769
|
+
telemetry = f"Δ: [green]+{num_c}[/] [yellow]~{num_u}[/] [blue]➡️{num_m}[/] [red]-{num_d}[/]"
|
|
770
|
+
|
|
771
|
+
self.console.print(Panel(
|
|
772
|
+
summary_table,
|
|
773
|
+
title="[bold yellow]Dossier of Prophetic Transfiguration[/]",
|
|
774
|
+
border_style="yellow",
|
|
775
|
+
subtitle=telemetry
|
|
776
|
+
))
|
|
777
|
+
|
|
778
|
+
if lobotomy_candidates:
|
|
779
|
+
warning_text = Text.assemble(
|
|
780
|
+
("The Gnostic Sentinel has detected a catastrophe.\n\n", "bold red"),
|
|
781
|
+
("The following files will be replaced with EMPTY content:\n", "white"),
|
|
782
|
+
*[(f" • {p}\n", "yellow") for p in lobotomy_candidates],
|
|
783
|
+
("\n[bold]Likely Cause:[/bold] A file was moved/renamed in the blueprint without the `<<` seed.\n",
|
|
784
|
+
"white"),
|
|
785
|
+
("[bold]Suggested Cure:[/bold] Use `new_path.py << old_path.py` to preserve content.", "green")
|
|
786
|
+
)
|
|
787
|
+
self.console.print(
|
|
788
|
+
Panel(warning_text, title="[bold red on white] ⚠️ LOBOTOMY DETECTED ⚠️ [/]", border_style="red"))
|
|
789
|
+
|
|
790
|
+
if not self.active_request.force and not self.active_request.non_interactive:
|
|
791
|
+
if not Confirm.ask("[bold red]Do you truly wish to erase these souls?[/bold red]", default=False):
|
|
792
|
+
raise ArtisanHeresy("The Rite was stayed to prevent a Lobotomy.", exit_code=0)
|
|
793
|
+
else:
|
|
794
|
+
self.logger.warn("The Architect has spoken. The Void shall consume them.")
|
|
795
|
+
|
|
796
|
+
return has_changes
|
|
797
|
+
|
|
798
|
+
|
|
799
|
+
def _enact_symphony(
|
|
800
|
+
self,
|
|
801
|
+
plan: Dict[str, Any],
|
|
802
|
+
new_plan_items: List[ScaffoldItem],
|
|
803
|
+
new_vars: Dict[str, Any]
|
|
804
|
+
) -> List[GnosticWriteResult]:
|
|
805
|
+
"""
|
|
806
|
+
=================================================================================
|
|
807
|
+
== THE UNBREAKABLE HAND (V-Ω-TEMPORAL-PURITY) ==
|
|
808
|
+
=================================================================================
|
|
809
|
+
"""
|
|
810
|
+
from ..creator.bootloader import create_structure
|
|
811
|
+
from ..core.kernel.transaction import GnosticTransaction
|
|
812
|
+
from ..contracts.data_contracts import GnosticArgs
|
|
813
|
+
|
|
814
|
+
gnostic_passport = GnosticArgs(
|
|
815
|
+
base_path=self.project_root,
|
|
816
|
+
set_vars=[f"{k}={v}" for k, v in self.active_request.variables.items()],
|
|
817
|
+
dry_run=self.active_request.dry_run,
|
|
818
|
+
force=self.active_request.force,
|
|
819
|
+
silent=self.active_request.silent,
|
|
820
|
+
preview=self.active_request.preview,
|
|
821
|
+
audit=self.active_request.audit,
|
|
822
|
+
verbose=self.active_request.verbosity > 0,
|
|
823
|
+
lint=self.active_request.lint,
|
|
824
|
+
non_interactive=self.active_request.non_interactive,
|
|
825
|
+
is_genesis_rite=False,
|
|
826
|
+
adjudicate_souls=self.active_request.adjudicate_souls,
|
|
827
|
+
no_edicts=self.active_request.no_edicts
|
|
828
|
+
)
|
|
829
|
+
|
|
830
|
+
# [FACULTY 2] The Simulation Ward (Kernel Level)
|
|
831
|
+
is_simulation = self.active_request.dry_run or self.active_request.preview
|
|
832
|
+
|
|
833
|
+
with GnosticTransaction(
|
|
834
|
+
self.project_root,
|
|
835
|
+
f"Transmute: {self.blueprint_path.name}",
|
|
836
|
+
self.blueprint_path,
|
|
837
|
+
use_lock=True,
|
|
838
|
+
simulate=is_simulation # <--- THE FIX
|
|
839
|
+
) as tx:
|
|
840
|
+
|
|
841
|
+
# --- MOVEMENT I: THE RITE OF TRANSLOCATION (MOVES) ---
|
|
842
|
+
if not is_simulation:
|
|
843
|
+
for from_str, to_str in plan.get('move', {}).items():
|
|
844
|
+
src = self.project_root / from_str
|
|
845
|
+
dest = self.project_root / to_str
|
|
846
|
+
if src.exists():
|
|
847
|
+
dest.parent.mkdir(parents=True, exist_ok=True)
|
|
848
|
+
try:
|
|
849
|
+
shutil.move(str(src), str(dest))
|
|
850
|
+
self.logger.verbose(f"Translocated: {from_str} -> {to_str}")
|
|
851
|
+
except Exception as e:
|
|
852
|
+
raise ArtisanHeresy(f"Translocation Paradox: Failed to move '{from_str}': {e}")
|
|
853
|
+
|
|
854
|
+
# --- MOVEMENT II: THE RITE OF GENESIS & TRANSFIGURATION ---
|
|
855
|
+
items_for_creator = [d['item'] for d in plan['create']] + [d['item'] for d in plan['update']]
|
|
856
|
+
|
|
857
|
+
if items_for_creator:
|
|
858
|
+
create_structure(
|
|
859
|
+
scaffold_items=items_for_creator,
|
|
860
|
+
base_path=self.project_root,
|
|
861
|
+
pre_resolved_vars=new_vars,
|
|
862
|
+
args=gnostic_passport,
|
|
863
|
+
transaction=tx
|
|
864
|
+
)
|
|
865
|
+
|
|
866
|
+
# --- MOVEMENT III: THE RITE OF ANNIHILATION (DELETES) ---
|
|
867
|
+
if not is_simulation:
|
|
868
|
+
for item_data in plan['delete']:
|
|
869
|
+
path_to_delete = self.project_root / item_data['path']
|
|
870
|
+
if path_to_delete.exists():
|
|
871
|
+
try:
|
|
872
|
+
if path_to_delete.is_dir():
|
|
873
|
+
shutil.rmtree(path_to_delete)
|
|
874
|
+
else:
|
|
875
|
+
path_to_delete.unlink()
|
|
876
|
+
self.logger.verbose(f"Annihilated: {item_data['path']}")
|
|
877
|
+
except Exception as e:
|
|
878
|
+
self.logger.warn(f"Annihilation Paradox: Failed to delete '{path_to_delete.name}': {e}")
|
|
879
|
+
|
|
880
|
+
# The transaction's write_dossier contains the records.
|
|
881
|
+
# Since 'simulate=True' is passed, __exit__ will NOT seal the chronicle.
|
|
882
|
+
return list(tx.write_dossier.values())
|
|
883
|
+
|
|
884
|
+
def _is_tracked_by_git(self, path: Path) -> bool:
|
|
885
|
+
"""
|
|
886
|
+
=================================================================================
|
|
887
|
+
== THE GAZE OF THE GIT SENTINEL ==
|
|
888
|
+
=================================================================================
|
|
889
|
+
A divine, pure artisan that gazes into the aether to determine if a sanctum
|
|
890
|
+
is under the protection of the Git Chronomancer. It is the unbreakable ward
|
|
891
|
+
against proclaiming profane version control advice in a void.
|
|
892
|
+
"""
|
|
893
|
+
if not shutil.which("git"):
|
|
894
|
+
return False
|
|
895
|
+
try:
|
|
896
|
+
# The one true, sacred plea to the Git Oracle.
|
|
897
|
+
result = subprocess.run(
|
|
898
|
+
["git", "rev-parse", "--is-inside-work-tree"],
|
|
899
|
+
cwd=path,
|
|
900
|
+
capture_output=True,
|
|
901
|
+
text=True,
|
|
902
|
+
check=False # We adjudicate the heresy ourselves
|
|
903
|
+
)
|
|
904
|
+
# The Gaze is true if the rite was pure and the Oracle's answer is "true".
|
|
905
|
+
return result.returncode == 0 and result.stdout.strip() == "true"
|
|
906
|
+
except (subprocess.SubprocessError, FileNotFoundError):
|
|
907
|
+
# A paradox occurred, the Gaze is averted.
|
|
908
|
+
return False
|
|
909
|
+
|
|
910
|
+
def _proclaim_success(
|
|
911
|
+
self,
|
|
912
|
+
plan: Dict[str, Any],
|
|
913
|
+
write_dossier: List[GnosticWriteResult]
|
|
914
|
+
):
|
|
915
|
+
"""
|
|
916
|
+
=================================================================================
|
|
917
|
+
== THE HERALD OF APOTHEOSIS (V-Ω-ETERNAL-APOTHEOSIS. THE UNIVERSAL SCRIBE) ==
|
|
918
|
+
=================================================================================
|
|
919
|
+
This artisan is now a pure Conductor. It gathers the complete Gnosis of the
|
|
920
|
+
transmutation and makes a single, divine plea to the one true, universal
|
|
921
|
+
`proclaim_apotheosis_dossier` herald.
|
|
922
|
+
=================================================================================
|
|
923
|
+
"""
|
|
924
|
+
from types import SimpleNamespace
|
|
925
|
+
from ..utils.dossier_scribe import proclaim_apotheosis_dossier
|
|
926
|
+
import time
|
|
927
|
+
|
|
928
|
+
if self.active_request.silent:
|
|
929
|
+
return
|
|
930
|
+
|
|
931
|
+
# --- MOVEMENT I: THE FORGING OF THE TELEMETRY & GNOSIS VESSELS ---
|
|
932
|
+
|
|
933
|
+
# The Registers vessel is forged for telemetry.
|
|
934
|
+
# We derive the stats from the final, adjudicated plan.
|
|
935
|
+
transmute_registers = SimpleNamespace(
|
|
936
|
+
get_duration=lambda: time.monotonic() - getattr(self, '_start_time', time.monotonic()),
|
|
937
|
+
files_forged=len(plan.get('create', [])),
|
|
938
|
+
sanctums_forged=len([d for d in plan.get('create', []) if d.get('item', {}).is_dir]),
|
|
939
|
+
bytes_written=sum(w.bytes_written for w in write_dossier),
|
|
940
|
+
no_edicts=self.active_request.no_edicts,
|
|
941
|
+
project_root=self.project_root,
|
|
942
|
+
transaction=None # Transaction is complete
|
|
943
|
+
)
|
|
944
|
+
|
|
945
|
+
# The Gnosis vessel is forged for context.
|
|
946
|
+
gnosis_context = {
|
|
947
|
+
"project_type": f"Transmuted Reality",
|
|
948
|
+
"rite_name": "transmute", # For the TelemetryScribe's Gaze
|
|
949
|
+
"blueprint_path": self.blueprint_path.name,
|
|
950
|
+
**self.active_request.variables
|
|
951
|
+
}
|
|
952
|
+
|
|
953
|
+
# --- MOVEMENT II: THE PROPHECY OF THE NEXT STEP ---
|
|
954
|
+
next_steps = ["Verify transmutation: [bold]git status[/bold]"]
|
|
955
|
+
if self._is_tracked_by_git(self.project_root):
|
|
956
|
+
next_steps.append(
|
|
957
|
+
f"Commit to Chronicle: [bold]git commit -am 'refactor: transmute via {self.blueprint_path.stem}'[/bold]")
|
|
958
|
+
|
|
959
|
+
# --- MOVEMENT III: THE DIVINE DELEGATION ★★★
|
|
960
|
+
# The Herald makes its one true plea, now bestowing the transmutation_plan.
|
|
961
|
+
proclaim_apotheosis_dossier(
|
|
962
|
+
telemetry_source=transmute_registers,
|
|
963
|
+
gnosis=gnosis_context,
|
|
964
|
+
project_root=self.project_root,
|
|
965
|
+
next_steps=next_steps,
|
|
966
|
+
title="✨ Transmutation Complete ✨",
|
|
967
|
+
subtitle=f"Architectural changes from '{self.blueprint_path.name}' have been made manifest.",
|
|
968
|
+
transmutation_plan=plan
|
|
969
|
+
)
|