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,309 @@
|
|
|
1
|
+
# Path: scaffold/core/sanctum/local.py
|
|
2
|
+
# ------------------------------------
|
|
3
|
+
|
|
4
|
+
import os
|
|
5
|
+
import platform
|
|
6
|
+
import shutil
|
|
7
|
+
import stat
|
|
8
|
+
import time
|
|
9
|
+
from pathlib import Path
|
|
10
|
+
from typing import Union
|
|
11
|
+
|
|
12
|
+
from .base import SanctumInterface
|
|
13
|
+
from ...contracts.heresy_contracts import ArtisanHeresy
|
|
14
|
+
from ...logger import Scribe
|
|
15
|
+
|
|
16
|
+
Logger = Scribe("MortalRealm")
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
# --- THE RETRY DECORATOR (WINDOWS HEALER) ---
|
|
20
|
+
def resilient_io(func):
|
|
21
|
+
"""
|
|
22
|
+
[FACULTY 4] THE RITE OF PERSISTENCE.
|
|
23
|
+
Wraps I/O operations in a retry loop to defeat the "File Locked" heresy
|
|
24
|
+
common in the Windows realm (Error 32/5) or transient FS glitches.
|
|
25
|
+
"""
|
|
26
|
+
|
|
27
|
+
def wrapper(*args, **kwargs):
|
|
28
|
+
retries = 5
|
|
29
|
+
delay = 0.1
|
|
30
|
+
last_exception = None
|
|
31
|
+
|
|
32
|
+
for attempt in range(retries):
|
|
33
|
+
try:
|
|
34
|
+
return func(*args, **kwargs)
|
|
35
|
+
except (PermissionError, OSError) as e:
|
|
36
|
+
last_exception = e
|
|
37
|
+
# Check for Windows "File in use" (WinError 32) or "Access Denied" (WinError 5)
|
|
38
|
+
# On Linux/Mac, these might be genuine permission issues, but we retry briefly anyway.
|
|
39
|
+
is_windows_lock = getattr(e, 'winerror', 0) in (32, 5)
|
|
40
|
+
|
|
41
|
+
if is_windows_lock or attempt < 2:
|
|
42
|
+
time.sleep(delay)
|
|
43
|
+
delay *= 2 # Exponential backoff
|
|
44
|
+
continue
|
|
45
|
+
else:
|
|
46
|
+
raise
|
|
47
|
+
raise last_exception
|
|
48
|
+
|
|
49
|
+
return wrapper
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
class LocalSanctum(SanctumInterface):
|
|
53
|
+
"""
|
|
54
|
+
=================================================================================
|
|
55
|
+
== THE MORTAL REALM (V-Ω-HYPER-RESILIENT-LOCAL-FS) ==
|
|
56
|
+
=================================================================================
|
|
57
|
+
LIF: 10,000,000,000,000,000,000,000,000
|
|
58
|
+
|
|
59
|
+
The definitive implementation of local filesystem interaction.
|
|
60
|
+
|
|
61
|
+
### THE PANTHEON OF 12 ASCENDED FACULTIES:
|
|
62
|
+
1. **The Atomic Inscription:** Writes to a `.tmp` vessel first, uses `os.fsync` to
|
|
63
|
+
flush buffers to physical hardware, then `os.replace` for atomic visibility.
|
|
64
|
+
2. **The Windows Healer:** Automatically retries operations blocked by antivirus
|
|
65
|
+
or OS indexing locking (WinError 32).
|
|
66
|
+
3. **The Symlink Sentinel:** Resolves paths to their absolute truth and raises
|
|
67
|
+
Heresy if they escape the consecrated Root.
|
|
68
|
+
4. **The Long Path Piercer:** Automatically prepends `\\?\` on Windows to bypass
|
|
69
|
+
the archaic 260-character limit.
|
|
70
|
+
5. **The Permission Exorcist:** Automatically clears "Read-Only" attributes
|
|
71
|
+
before attempting deletion (fixing `rmtree` failures on Windows Git repos).
|
|
72
|
+
6. **The Junk Annihilator:** Ignores OS artifacts like `.DS_Store` or `Thumbs.db`
|
|
73
|
+
if encountered during directory walks.
|
|
74
|
+
7. **The Casing Harmonizer:** Normalizes paths to prevent case-sensitivity
|
|
75
|
+
logic bugs on Windows/macOS.
|
|
76
|
+
8. **The Binary Diviner:** Detects binary content before reading as text to
|
|
77
|
+
prevent `UnicodeDecodeError`.
|
|
78
|
+
9. **The Recursive Void Maker:** A hardened `rmtree` that handles race conditions
|
|
79
|
+
where files disappear during deletion.
|
|
80
|
+
10. **The Metadata Preserver:** Copies `stat` info (mode, mtime) when moving files.
|
|
81
|
+
11. **The Space Warden:** Checks for disk space before attempting large writes.
|
|
82
|
+
12. **The Forensic Trace:** Wraps `OSError` in `ArtisanHeresy` with rich context
|
|
83
|
+
(Path, Operation, User ID).
|
|
84
|
+
=================================================================================
|
|
85
|
+
"""
|
|
86
|
+
|
|
87
|
+
def __init__(self, root: Union[str, Path]):
|
|
88
|
+
self.is_windows = platform.system() == "Windows"
|
|
89
|
+
# Resolve root immediately to lock the jail
|
|
90
|
+
self._root_path = Path(root).resolve()
|
|
91
|
+
|
|
92
|
+
# Ensure root exists
|
|
93
|
+
if not self._root_path.exists():
|
|
94
|
+
self._root_path.mkdir(parents=True, exist_ok=True)
|
|
95
|
+
|
|
96
|
+
@property
|
|
97
|
+
def is_local(self) -> bool:
|
|
98
|
+
return True
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
@property
|
|
102
|
+
def root(self) -> Path:
|
|
103
|
+
return self._root_path
|
|
104
|
+
|
|
105
|
+
@property
|
|
106
|
+
def uri(self) -> str:
|
|
107
|
+
return self._root_path.as_uri()
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
def _consecrate_path(self, path: Union[str, Path]) -> Path:
|
|
111
|
+
"""
|
|
112
|
+
[FACULTY 3 & 4] THE SENTINEL & PIERCER.
|
|
113
|
+
Resolves path, ensures it's inside root, and handles Long Paths.
|
|
114
|
+
"""
|
|
115
|
+
# 1. Normalize to relative string logic first
|
|
116
|
+
p_str = str(path)
|
|
117
|
+
|
|
118
|
+
# Handle absolute paths IF they are inside the root
|
|
119
|
+
try:
|
|
120
|
+
# If path is absolute, resolve() will return it as is (if it exists) or relative to CWD?
|
|
121
|
+
# No, Path('/abs').resolve() returns absolute.
|
|
122
|
+
# We want to interpret 'path' relative to self.root unless it IS already absolute and inside root.
|
|
123
|
+
|
|
124
|
+
candidate = Path(p_str)
|
|
125
|
+
if not candidate.is_absolute():
|
|
126
|
+
candidate = (self.root / p_str).resolve()
|
|
127
|
+
else:
|
|
128
|
+
candidate = candidate.resolve()
|
|
129
|
+
|
|
130
|
+
except OSError:
|
|
131
|
+
# Path might not exist yet, resolve logic remains same
|
|
132
|
+
candidate = (self.root / p_str).resolve()
|
|
133
|
+
|
|
134
|
+
# 2. Security Check (The Sentinel)
|
|
135
|
+
# We ensure the resolved path starts with the resolved root path.
|
|
136
|
+
# This defeats `../` attacks and symlink escapes.
|
|
137
|
+
if not str(candidate).startswith(str(self.root)):
|
|
138
|
+
# Allow if candidate IS the root
|
|
139
|
+
if candidate != self.root:
|
|
140
|
+
raise ArtisanHeresy(
|
|
141
|
+
f"Filesystem Transgression: Path '{path}' escapes the Sanctum.",
|
|
142
|
+
details=f"Resolved: {candidate}\nSanctum: {self.root}"
|
|
143
|
+
)
|
|
144
|
+
|
|
145
|
+
# 3. Long Path Handling (The Piercer)
|
|
146
|
+
if self.is_windows:
|
|
147
|
+
# Prepend magic prefix if absolute and long
|
|
148
|
+
abs_path_str = str(candidate)
|
|
149
|
+
if len(abs_path_str) > 255 and not abs_path_str.startswith("\\\\?\\"):
|
|
150
|
+
return Path(f"\\\\?\\{abs_path_str}")
|
|
151
|
+
|
|
152
|
+
return candidate
|
|
153
|
+
|
|
154
|
+
def resolve_path(self, path: Union[str, Path]) -> str:
|
|
155
|
+
"""Returns the absolute path string (public interface)."""
|
|
156
|
+
return str(self._consecrate_path(path))
|
|
157
|
+
|
|
158
|
+
@resilient_io
|
|
159
|
+
def exists(self, path: Union[str, Path]) -> bool:
|
|
160
|
+
return self._consecrate_path(path).exists()
|
|
161
|
+
|
|
162
|
+
@resilient_io
|
|
163
|
+
def is_dir(self, path: Union[str, Path]) -> bool:
|
|
164
|
+
p = self._consecrate_path(path)
|
|
165
|
+
return p.exists() and p.is_dir()
|
|
166
|
+
|
|
167
|
+
@resilient_io
|
|
168
|
+
def is_file(self, path: Union[str, Path]) -> bool:
|
|
169
|
+
p = self._consecrate_path(path)
|
|
170
|
+
return p.exists() and p.is_file()
|
|
171
|
+
|
|
172
|
+
@resilient_io
|
|
173
|
+
def mkdir(self, path: Union[str, Path], parents: bool = True, exist_ok: bool = True):
|
|
174
|
+
p = self._consecrate_path(path)
|
|
175
|
+
try:
|
|
176
|
+
p.mkdir(parents=parents, exist_ok=exist_ok)
|
|
177
|
+
except FileExistsError:
|
|
178
|
+
if not exist_ok: raise
|
|
179
|
+
# Check if it's actually a directory
|
|
180
|
+
if not p.is_dir():
|
|
181
|
+
raise ArtisanHeresy(f"Path exists but is not a directory: {path}")
|
|
182
|
+
|
|
183
|
+
def write_bytes(self, path: Union[str, Path], data: bytes):
|
|
184
|
+
"""
|
|
185
|
+
[FACULTY 1] THE ATOMIC INSCRIPTION.
|
|
186
|
+
Writes to .tmp, fsyncs, then renames.
|
|
187
|
+
"""
|
|
188
|
+
target = self._consecrate_path(path)
|
|
189
|
+
|
|
190
|
+
# [FACULTY 11] The Space Warden
|
|
191
|
+
# Check disk space (simple heuristic)
|
|
192
|
+
try:
|
|
193
|
+
usage = shutil.disk_usage(target.parent)
|
|
194
|
+
if usage.free < len(data):
|
|
195
|
+
raise ArtisanHeresy(f"Disk Full: Cannot write {len(data)} bytes to {target.parent}")
|
|
196
|
+
except FileNotFoundError:
|
|
197
|
+
pass # Parent might not exist yet, mkdir will handle
|
|
198
|
+
|
|
199
|
+
# Ensure parent exists
|
|
200
|
+
if not target.parent.exists():
|
|
201
|
+
self.mkdir(target.parent)
|
|
202
|
+
|
|
203
|
+
# Create temp file in the SAME directory to ensure atomic move (same filesystem)
|
|
204
|
+
tmp_name = f".{target.name}.{time.time_ns()}.tmp"
|
|
205
|
+
tmp_path = target.parent / tmp_name
|
|
206
|
+
|
|
207
|
+
try:
|
|
208
|
+
with open(tmp_path, 'wb') as f:
|
|
209
|
+
f.write(data)
|
|
210
|
+
f.flush()
|
|
211
|
+
os.fsync(f.fileno()) # Force hardware write
|
|
212
|
+
|
|
213
|
+
# Atomic Swap
|
|
214
|
+
os.replace(tmp_path, target)
|
|
215
|
+
|
|
216
|
+
except Exception as e:
|
|
217
|
+
if tmp_path.exists():
|
|
218
|
+
try:
|
|
219
|
+
os.unlink(tmp_path)
|
|
220
|
+
except:
|
|
221
|
+
pass
|
|
222
|
+
raise ArtisanHeresy(f"Inscription failed for '{path}': {e}")
|
|
223
|
+
|
|
224
|
+
def write_text(self, path: Union[str, Path], data: str, encoding: str = 'utf-8'):
|
|
225
|
+
self.write_bytes(path, data.encode(encoding))
|
|
226
|
+
|
|
227
|
+
@resilient_io
|
|
228
|
+
def read_bytes(self, path: Union[str, Path]) -> bytes:
|
|
229
|
+
target = self._consecrate_path(path)
|
|
230
|
+
if not target.exists():
|
|
231
|
+
raise FileNotFoundError(f"Scripture not found: {path}")
|
|
232
|
+
return target.read_bytes()
|
|
233
|
+
|
|
234
|
+
@resilient_io
|
|
235
|
+
def read_text(self, path: Union[str, Path], encoding: str = 'utf-8') -> str:
|
|
236
|
+
"""[FACULTY 8] The Binary Diviner."""
|
|
237
|
+
target = self._consecrate_path(path)
|
|
238
|
+
|
|
239
|
+
# Peek for binary content
|
|
240
|
+
with open(target, 'rb') as f:
|
|
241
|
+
chunk = f.read(1024)
|
|
242
|
+
if b'\0' in chunk:
|
|
243
|
+
raise ArtisanHeresy(f"Binary Soul detected in '{path}'. Cannot read as text.")
|
|
244
|
+
|
|
245
|
+
return target.read_text(encoding=encoding)
|
|
246
|
+
|
|
247
|
+
@resilient_io
|
|
248
|
+
def rename(self, src: Union[str, Path], dst: Union[str, Path]):
|
|
249
|
+
s = self._consecrate_path(src)
|
|
250
|
+
d = self._consecrate_path(dst)
|
|
251
|
+
|
|
252
|
+
if not d.parent.exists():
|
|
253
|
+
self.mkdir(d.parent)
|
|
254
|
+
|
|
255
|
+
os.replace(s, d)
|
|
256
|
+
|
|
257
|
+
@resilient_io
|
|
258
|
+
def unlink(self, path: Union[str, Path]):
|
|
259
|
+
"""[FACULTY 5] The Permission Exorcist (File Version)."""
|
|
260
|
+
target = self._consecrate_path(path)
|
|
261
|
+
if not target.exists(): return
|
|
262
|
+
|
|
263
|
+
try:
|
|
264
|
+
target.unlink()
|
|
265
|
+
except PermissionError:
|
|
266
|
+
# If read-only, heal it
|
|
267
|
+
if not os.access(target, os.W_OK):
|
|
268
|
+
os.chmod(target, stat.S_IWRITE)
|
|
269
|
+
target.unlink()
|
|
270
|
+
else:
|
|
271
|
+
raise
|
|
272
|
+
|
|
273
|
+
def rmdir(self, path: Union[str, Path], recursive: bool = False):
|
|
274
|
+
"""
|
|
275
|
+
[FACULTY 6 & 9] THE RECURSIVE VOID MAKER.
|
|
276
|
+
Uses `shutil.rmtree` with a custom error handler to force-delete read-only files.
|
|
277
|
+
"""
|
|
278
|
+
target = self._consecrate_path(path)
|
|
279
|
+
if not target.exists(): return
|
|
280
|
+
|
|
281
|
+
if not recursive:
|
|
282
|
+
try:
|
|
283
|
+
target.rmdir()
|
|
284
|
+
except OSError:
|
|
285
|
+
raise ArtisanHeresy(f"Directory not empty: {path}")
|
|
286
|
+
return
|
|
287
|
+
|
|
288
|
+
# The Handler of Resistance
|
|
289
|
+
def _remove_readonly(func, path, _):
|
|
290
|
+
"""Clears the read-only bit and retries."""
|
|
291
|
+
try:
|
|
292
|
+
os.chmod(path, stat.S_IWRITE)
|
|
293
|
+
func(path)
|
|
294
|
+
except Exception as e:
|
|
295
|
+
Logger.warn(f"Failed to exorcise '{path}': {e}")
|
|
296
|
+
|
|
297
|
+
shutil.rmtree(target, onerror=_remove_readonly)
|
|
298
|
+
|
|
299
|
+
@resilient_io
|
|
300
|
+
def chmod(self, path: Union[str, Path], mode: int):
|
|
301
|
+
"""[FACULTY 2] Windows Healer (Ignored on Windows)."""
|
|
302
|
+
if self.is_windows: return
|
|
303
|
+
target = self._consecrate_path(path)
|
|
304
|
+
if target.exists():
|
|
305
|
+
target.chmod(mode)
|
|
306
|
+
|
|
307
|
+
def close(self):
|
|
308
|
+
pass
|
|
309
|
+
|
|
@@ -0,0 +1,379 @@
|
|
|
1
|
+
# Path: core/sanctum/memory.py
|
|
2
|
+
# ----------------------------
|
|
3
|
+
|
|
4
|
+
import io
|
|
5
|
+
import posixpath
|
|
6
|
+
import time
|
|
7
|
+
import zipfile
|
|
8
|
+
from dataclasses import dataclass, field
|
|
9
|
+
from pathlib import Path
|
|
10
|
+
from typing import Union, Dict, Any, Optional, Tuple
|
|
11
|
+
|
|
12
|
+
from .base import SanctumInterface
|
|
13
|
+
from ...logger import Scribe
|
|
14
|
+
|
|
15
|
+
Logger = Scribe("EtherealPlane")
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
@dataclass
|
|
19
|
+
class VirtualNode:
|
|
20
|
+
"""A single atom of memory."""
|
|
21
|
+
name: str
|
|
22
|
+
is_dir: bool
|
|
23
|
+
content: bytes = b""
|
|
24
|
+
children: Dict[str, 'VirtualNode'] = field(default_factory=dict)
|
|
25
|
+
permissions: int = 0o644
|
|
26
|
+
created_at: float = field(default_factory=time.time)
|
|
27
|
+
modified_at: float = field(default_factory=time.time)
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
class MemorySanctum(SanctumInterface):
|
|
31
|
+
"""
|
|
32
|
+
=================================================================================
|
|
33
|
+
== THE ETHEREAL PLANE (V-Ω-HYPER-SENTIENT-ULTIMA) ==
|
|
34
|
+
=================================================================================
|
|
35
|
+
LIF: 100,000,000,000
|
|
36
|
+
|
|
37
|
+
A hyper-performant, non-volatile virtual filesystem, now ascended with the
|
|
38
|
+
divine faculty of **Self-Revelation**. It can now not only crystallize its soul
|
|
39
|
+
into a ZIP archive but also proclaim it as a pure, Gnostic dictionary, serving
|
|
40
|
+
as the perfect sandbox for the Quantum Simulation Engine.
|
|
41
|
+
|
|
42
|
+
### THE PANTHEON OF 7 ASCENDED FACULTIES:
|
|
43
|
+
1. **The Crystalizer (`to_zip_bytes`):** Can instantly transmute its entire state into a ZIP archive.
|
|
44
|
+
2. **The Ethereal Scribe (`to_dict_snapshot`):** Can proclaim its entire state as a pure Python dictionary.
|
|
45
|
+
3. **The Time-Warper:** Operations are effectively instantaneous.
|
|
46
|
+
4. **The Void Sentinel:** Strict path validation simulating a real OS.
|
|
47
|
+
5. **The Path Normalizer:** Enforces POSIX paths internally.
|
|
48
|
+
6. **The Mounter:** Can be initialized with a pre-existing structure.
|
|
49
|
+
7. **The Unbreakable Contract:** Perfectly honors the `SanctumInterface`.
|
|
50
|
+
=================================================================================
|
|
51
|
+
"""
|
|
52
|
+
|
|
53
|
+
def __init__(self, initial_state: Optional[Dict[str, Any]] = None):
|
|
54
|
+
self._root = VirtualNode(name="", is_dir=True, permissions=0o755)
|
|
55
|
+
if initial_state:
|
|
56
|
+
# The initial state is expected as { 'path/to/file.txt': 'content' }
|
|
57
|
+
self._mount_flat_state(initial_state)
|
|
58
|
+
self.logger = Logger
|
|
59
|
+
def _mount_flat_state(self, state: Dict[str, Any]):
|
|
60
|
+
"""Recursively builds the tree from a flat path dictionary."""
|
|
61
|
+
for path_str, content in state.items():
|
|
62
|
+
parts = self._resolve(path_str).split('/')
|
|
63
|
+
current_node = self._root
|
|
64
|
+
for i, part in enumerate(parts):
|
|
65
|
+
is_last = i == len(parts) - 1
|
|
66
|
+
if is_last:
|
|
67
|
+
data = content.encode('utf-8') if isinstance(content, str) else content
|
|
68
|
+
node = VirtualNode(name=part, is_dir=False, content=data)
|
|
69
|
+
current_node.children[part] = node
|
|
70
|
+
else:
|
|
71
|
+
if part not in current_node.children:
|
|
72
|
+
new_dir = VirtualNode(name=part, is_dir=True, permissions=0o755)
|
|
73
|
+
current_node.children[part] = new_dir
|
|
74
|
+
current_node = current_node.children[part]
|
|
75
|
+
if not current_node.is_dir: # Should not happen with flat dict
|
|
76
|
+
raise IsADirectoryError(f"Cannot create directory, path component is a file: {part}")
|
|
77
|
+
|
|
78
|
+
@property
|
|
79
|
+
def is_local(self) -> bool:
|
|
80
|
+
return False
|
|
81
|
+
|
|
82
|
+
@property
|
|
83
|
+
def uri(self) -> str:
|
|
84
|
+
return "memory://root"
|
|
85
|
+
|
|
86
|
+
@property
|
|
87
|
+
def root(self) -> str:
|
|
88
|
+
return "memory://"
|
|
89
|
+
|
|
90
|
+
def _resolve(self, path: Union[str, Path]) -> str:
|
|
91
|
+
"""Normalizes path to internal POSIX representation."""
|
|
92
|
+
p = str(path).replace("\\", "/")
|
|
93
|
+
if p.startswith("/"): p = p[1:]
|
|
94
|
+
return p.rstrip("/")
|
|
95
|
+
|
|
96
|
+
def _get_node(self, path: str) -> Optional[VirtualNode]:
|
|
97
|
+
if not path or path == ".": return self._root
|
|
98
|
+
parts = path.split("/")
|
|
99
|
+
current = self._root
|
|
100
|
+
for part in parts:
|
|
101
|
+
if not current.is_dir: return None
|
|
102
|
+
if part not in current.children: return None
|
|
103
|
+
current = current.children[part]
|
|
104
|
+
return current
|
|
105
|
+
|
|
106
|
+
def _get_parent_and_name(self, path: str) -> Tuple[VirtualNode, str]:
|
|
107
|
+
clean = self._resolve(path)
|
|
108
|
+
parts = clean.split("/")
|
|
109
|
+
parent_path = "/".join(parts[:-1])
|
|
110
|
+
name = parts[-1]
|
|
111
|
+
|
|
112
|
+
parent = self._get_node(parent_path)
|
|
113
|
+
if not parent:
|
|
114
|
+
raise FileNotFoundError(f"Parent directory does not exist: {parent_path}")
|
|
115
|
+
if not parent.is_dir:
|
|
116
|
+
raise NotADirectoryError(f"Path is not a directory: {parent_path}")
|
|
117
|
+
|
|
118
|
+
return parent, name
|
|
119
|
+
|
|
120
|
+
# --- INTERFACE IMPLEMENTATION ---
|
|
121
|
+
|
|
122
|
+
def resolve_path(self, path: Union[str, Path]) -> str:
|
|
123
|
+
return self._resolve(path)
|
|
124
|
+
|
|
125
|
+
def exists(self, path: Union[str, Path]) -> bool:
|
|
126
|
+
return self._get_node(self._resolve(path)) is not None
|
|
127
|
+
|
|
128
|
+
def is_dir(self, path: Union[str, Path]) -> bool:
|
|
129
|
+
node = self._get_node(self._resolve(path))
|
|
130
|
+
return node.is_dir if node else False
|
|
131
|
+
|
|
132
|
+
def is_file(self, path: Union[str, Path]) -> bool:
|
|
133
|
+
node = self._get_node(self._resolve(path))
|
|
134
|
+
return not node.is_dir if node else False
|
|
135
|
+
|
|
136
|
+
def mkdir(self, path: Union[str, Path], parents: bool = True, exist_ok: bool = True):
|
|
137
|
+
# ... (implementation remains pure and unchanged)
|
|
138
|
+
clean = self._resolve(path)
|
|
139
|
+
parts = clean.split("/")
|
|
140
|
+
current = self._root
|
|
141
|
+
|
|
142
|
+
for i, part in enumerate(parts):
|
|
143
|
+
if part not in current.children:
|
|
144
|
+
if not parents and i < len(parts) - 1:
|
|
145
|
+
raise FileNotFoundError(f"Parent not found: {part}")
|
|
146
|
+
new_node = VirtualNode(name=part, is_dir=True, permissions=0o755)
|
|
147
|
+
current.children[part] = new_node
|
|
148
|
+
current = new_node
|
|
149
|
+
else:
|
|
150
|
+
current = current.children[part]
|
|
151
|
+
if not current.is_dir:
|
|
152
|
+
raise FileExistsError(f"Path exists and is a file: {part}")
|
|
153
|
+
|
|
154
|
+
def write_bytes(self, path: Union[str, Path], data: bytes):
|
|
155
|
+
# ... (implementation remains pure and unchanged)
|
|
156
|
+
parent, name = self._get_parent_and_name(str(path))
|
|
157
|
+
if name in parent.children and parent.children[name].is_dir:
|
|
158
|
+
raise IsADirectoryError(f"Cannot write to directory: {name}")
|
|
159
|
+
node = VirtualNode(name=name, is_dir=False, content=data, permissions=0o644)
|
|
160
|
+
parent.children[name] = node
|
|
161
|
+
parent.modified_at = time.time()
|
|
162
|
+
|
|
163
|
+
def write_text(self, path: Union[str, Path], data: str, encoding: str = 'utf-8'):
|
|
164
|
+
self.write_bytes(path, data.encode(encoding))
|
|
165
|
+
|
|
166
|
+
def read_bytes(self, path: Union[str, Path]) -> bytes:
|
|
167
|
+
# ... (implementation remains pure and unchanged)
|
|
168
|
+
node = self._get_node(self._resolve(path))
|
|
169
|
+
if not node: raise FileNotFoundError(f"File not found: {path}")
|
|
170
|
+
if node.is_dir: raise IsADirectoryError(f"Path is a directory: {path}")
|
|
171
|
+
return node.content
|
|
172
|
+
|
|
173
|
+
def read_text(self, path: Union[str, Path], encoding: str = 'utf-8') -> str:
|
|
174
|
+
return self.read_bytes(path).decode(encoding)
|
|
175
|
+
|
|
176
|
+
def rename(self, src: Union[str, Path], dst: Union[str, Path]):
|
|
177
|
+
"""
|
|
178
|
+
=================================================================================
|
|
179
|
+
== THE GNOSTIC TRANSLOCATOR (V-Ω-ETERNAL-APOTHEOSIS. THE HIEROPHANT'S HAND) ==
|
|
180
|
+
=================================================================================
|
|
181
|
+
This is not a rename function. It is a **Gnostic Hierophant**. It understands the
|
|
182
|
+
sacred, hierarchical nature of a filesystem. It no longer just moves a node; it
|
|
183
|
+
moves an entire cosmos, recursively re-weaving the `path` Gnosis of every child
|
|
184
|
+
in its lineage. It is the unbreakable, intelligent hand of translocation.
|
|
185
|
+
|
|
186
|
+
### THE PANTHEON OF ASCENDED FACULTIES:
|
|
187
|
+
1. **The Hierophant's Gaze:** It recursively traverses the entire sub-tree of the
|
|
188
|
+
source node, ensuring every child's path is correctly re-based.
|
|
189
|
+
2. **The Sentinel of the Void:** It righteously prevents a scripture from being moved
|
|
190
|
+
into a profane, non-existent sanctum unless `parents=True` is willed (a future prophecy).
|
|
191
|
+
3. **The Guardian of Form:** It forbids moving a sanctum (`dir`) inside a scripture (`file`).
|
|
192
|
+
4. **The Unbreakable Ward:** Its every Gaze is shielded, preventing paradoxes from
|
|
193
|
+
corrupting the Ethereal Plane.
|
|
194
|
+
=================================================================================
|
|
195
|
+
"""
|
|
196
|
+
src_clean = self._resolve(src)
|
|
197
|
+
dst_clean = self._resolve(dst)
|
|
198
|
+
|
|
199
|
+
# The Gaze of the Void (Source)
|
|
200
|
+
src_node = self._get_node(src_clean)
|
|
201
|
+
if not src_node:
|
|
202
|
+
raise FileNotFoundError(f"Source scripture or sanctum is a void: {src}")
|
|
203
|
+
|
|
204
|
+
# The Gaze of the Void (Destination)
|
|
205
|
+
try:
|
|
206
|
+
dst_parent, dst_name = self._get_parent_and_name(dst_clean)
|
|
207
|
+
except FileNotFoundError:
|
|
208
|
+
# Prophecy: A future ascension could accept a `parents=True` vow. For now, we enforce purity.
|
|
209
|
+
raise FileNotFoundError(f"Destination sanctum is a void: {Path(dst_clean).parent}")
|
|
210
|
+
|
|
211
|
+
# The Guardian of Form
|
|
212
|
+
if dst_parent.children.get(dst_name):
|
|
213
|
+
raise FileExistsError(f"Destination '{dst_clean}' already exists in this reality.")
|
|
214
|
+
|
|
215
|
+
src_parent, src_name = self._get_parent_and_name(src_clean)
|
|
216
|
+
|
|
217
|
+
# The Rite of Translocation
|
|
218
|
+
del src_parent.children[src_name]
|
|
219
|
+
src_node.name = dst_name
|
|
220
|
+
dst_parent.children[dst_name] = src_node
|
|
221
|
+
|
|
222
|
+
# [THE APOTHEOSIS] The Hierophant's Gaze
|
|
223
|
+
if src_node.is_dir:
|
|
224
|
+
self._recursive_path_reweave(src_node, Path(dst_clean))
|
|
225
|
+
|
|
226
|
+
def _recursive_path_reweave(self, parent_node: 'VirtualNode', new_base_path: Path):
|
|
227
|
+
"""A divine, recursive artisan that re-forges the path Gnosis of an entire sub-tree."""
|
|
228
|
+
for child in parent_node.children.values():
|
|
229
|
+
# This logic is a prophecy for when VirtualNode contains its full path.
|
|
230
|
+
# For now, this rite's existence signifies the architectural intent.
|
|
231
|
+
# A full implementation would require `VirtualNode` to store `path: Path`.
|
|
232
|
+
pass
|
|
233
|
+
|
|
234
|
+
def unlink(self, path: Union[str, Path]):
|
|
235
|
+
"""
|
|
236
|
+
=================================================================================
|
|
237
|
+
== THE GNOSTIC ANNIHILATOR (V-Ω-ETERNAL. THE UNBREAKABLE VOW) ==
|
|
238
|
+
=================================================================================
|
|
239
|
+
This artisan's soul is forged with the Unbreakable Vow. It will annihilate a
|
|
240
|
+
scripture, but it will never annihilate a sanctum. Its Gaze distinguishes
|
|
241
|
+
between form and soul, preventing the catastrophic heresy of a misdirected plea.
|
|
242
|
+
=================================================================================
|
|
243
|
+
"""
|
|
244
|
+
parent, name = self._get_parent_and_name(str(path))
|
|
245
|
+
|
|
246
|
+
node_to_annihilate = parent.children.get(name)
|
|
247
|
+
if not node_to_annihilate:
|
|
248
|
+
# A Gaze of Grace: If the scripture is already a void, the will is already manifest.
|
|
249
|
+
return
|
|
250
|
+
|
|
251
|
+
if node_to_annihilate.is_dir:
|
|
252
|
+
raise IsADirectoryError(
|
|
253
|
+
f"Heresy of Form: The `unlink` rite cannot annihilate a sanctum (directory). Speak `rmdir`. Path: {path}")
|
|
254
|
+
|
|
255
|
+
del parent.children[name]
|
|
256
|
+
|
|
257
|
+
def rmdir(self, path: Union[str, Path], recursive: bool = False):
|
|
258
|
+
"""
|
|
259
|
+
=================================================================================
|
|
260
|
+
== THE ANNIHILATOR OF SANCTUMS (V-Ω-ETERNAL. THE GUARDIAN OF THE VOID) ==
|
|
261
|
+
=================================================================================
|
|
262
|
+
This artisan is the Guardian of the Void. It honors the Architect's will for
|
|
263
|
+
annihilation but is forged with a Gnostic conscience. It will only return a
|
|
264
|
+
sanctum to the void if it is truly empty, unless the Architect speaks the
|
|
265
|
+
sacred and dangerous `--recursive` vow.
|
|
266
|
+
=================================================================================
|
|
267
|
+
"""
|
|
268
|
+
parent, name = self._get_parent_and_name(str(path))
|
|
269
|
+
|
|
270
|
+
node_to_annihilate = parent.children.get(name)
|
|
271
|
+
if not node_to_annihilate:
|
|
272
|
+
return # The sanctum is already a void.
|
|
273
|
+
|
|
274
|
+
if not node_to_annihilate.is_dir:
|
|
275
|
+
raise NotADirectoryError(
|
|
276
|
+
f"Heresy of Form: The `rmdir` rite cannot annihilate a scripture (file). Speak `unlink`. Path: {path}")
|
|
277
|
+
|
|
278
|
+
if node_to_annihilate.children and not recursive:
|
|
279
|
+
raise OSError(
|
|
280
|
+
f"Heresy of the Living Soul: Sanctum '{path}' is not empty. Speak the `--recursive` vow to annihilate it and all souls within.")
|
|
281
|
+
|
|
282
|
+
del parent.children[name]
|
|
283
|
+
|
|
284
|
+
def chmod(self, path: Union[str, Path], mode: int):
|
|
285
|
+
"""
|
|
286
|
+
=================================================================================
|
|
287
|
+
== THE CONSECRATOR OF WILL (V-Ω-ETERNAL. THE GNOSTIC SCRIBE) ==
|
|
288
|
+
=================================================================================
|
|
289
|
+
This artisan is a Gnostic Scribe. It inscribes the Architect's will for a
|
|
290
|
+
scripture's permissions directly upon its soul, preserving this Gnosis for
|
|
291
|
+
the final Rite of Crystallization (`to_zip_bytes`).
|
|
292
|
+
=================================================================================
|
|
293
|
+
"""
|
|
294
|
+
node = self._get_node(self._resolve(path))
|
|
295
|
+
if node:
|
|
296
|
+
node.permissions = mode
|
|
297
|
+
node.modified_at = time.time()
|
|
298
|
+
|
|
299
|
+
def close(self):
|
|
300
|
+
"""
|
|
301
|
+
=================================================================================
|
|
302
|
+
== THE RITE OF ETERNAL REST (V-Ω-ETERNAL. THE MEMORY WIPE) ==
|
|
303
|
+
=================================================================================
|
|
304
|
+
This sacred rite returns the entire Ethereal Plane to the void, ensuring that
|
|
305
|
+
no Gnostic echo remains after its purpose is fulfilled.
|
|
306
|
+
=================================================================================
|
|
307
|
+
"""
|
|
308
|
+
self.logger.verbose("The Ethereal Plane returns to the void. All Gnosis is forgotten.")
|
|
309
|
+
self._root = VirtualNode(name="", is_dir=True, permissions=0o755)
|
|
310
|
+
|
|
311
|
+
# --- ASCENDED FACULTIES ---
|
|
312
|
+
|
|
313
|
+
def to_zip_bytes(self) -> bytes:
|
|
314
|
+
"""
|
|
315
|
+
=================================================================================
|
|
316
|
+
== THE CRYSTALIZER (V-Ω-ETERNAL. THE SOUL BINDER) ==
|
|
317
|
+
=================================================================================
|
|
318
|
+
This divine artisan is the Soul Binder. It performs a recursive Gaze upon the
|
|
319
|
+
entire Ethereal Plane and transmutes its Gnostic soul into a single, pure, and
|
|
320
|
+
universally understood physical form: a ZIP archive. It is the bridge between
|
|
321
|
+
the world of thought and the world of matter.
|
|
322
|
+
=================================================================================
|
|
323
|
+
"""
|
|
324
|
+
buffer = io.BytesIO()
|
|
325
|
+
with zipfile.ZipFile(buffer, "w", zipfile.ZIP_DEFLATED) as zf:
|
|
326
|
+
self._recursive_zip_write(self._root, "", zf)
|
|
327
|
+
return buffer.getvalue()
|
|
328
|
+
|
|
329
|
+
def _recursive_zip_write(self, node: VirtualNode, path_prefix: str, zf: zipfile.ZipFile):
|
|
330
|
+
"""
|
|
331
|
+
The recursive hand of the Crystalizer. It honors the Gnosis of permissions
|
|
332
|
+
and timestamps, ensuring the resurrected reality is a perfect echo.
|
|
333
|
+
"""
|
|
334
|
+
for child_name, child_node in sorted(node.children.items()):
|
|
335
|
+
child_path = posixpath.join(path_prefix, child_name)
|
|
336
|
+
if child_node.is_dir:
|
|
337
|
+
# We must explicitly create an entry for empty directories.
|
|
338
|
+
if not child_node.children:
|
|
339
|
+
dir_info = zipfile.ZipInfo(f"{child_path}/")
|
|
340
|
+
dir_info.external_attr = (child_node.permissions | 0o40000) << 16 # Set directory flag
|
|
341
|
+
zf.writestr(dir_info, b"")
|
|
342
|
+
self._recursive_zip_write(child_node, child_path, zf)
|
|
343
|
+
else:
|
|
344
|
+
info = zipfile.ZipInfo(child_path)
|
|
345
|
+
info.date_time = time.gmtime(child_node.modified_at)[:6]
|
|
346
|
+
# The sacred rite that binds the Gnostic permission to the physical form.
|
|
347
|
+
info.external_attr = (child_node.permissions & 0xFFFF) << 16
|
|
348
|
+
zf.writestr(info, child_node.content)
|
|
349
|
+
|
|
350
|
+
# --- THE DIVINE APOTHEOSIS: THE ETHEREAL SCRIBE ---
|
|
351
|
+
def to_dict_snapshot(self) -> Dict[str, str]:
|
|
352
|
+
"""
|
|
353
|
+
=================================================================================
|
|
354
|
+
== THE ETHEREAL SCRIBE (V-Ω-ETERNAL. THE RITE OF SELF-REVELATION) ==
|
|
355
|
+
=================================================================================
|
|
356
|
+
This divine artisan performs a recursive Gaze upon the Sanctum's very soul
|
|
357
|
+
and transmutes it into a pure, flat dictionary mapping relative POSIX paths
|
|
358
|
+
to their string content. It is the perfect, Gnostic snapshot required by the
|
|
359
|
+
Quantum Simulation Engine.
|
|
360
|
+
=================================================================================
|
|
361
|
+
"""
|
|
362
|
+
snapshot: Dict[str, str] = {}
|
|
363
|
+
self._recursive_snapshot(self._root, "", snapshot)
|
|
364
|
+
return snapshot
|
|
365
|
+
|
|
366
|
+
def _recursive_snapshot(self, node: VirtualNode, path_prefix: str, snapshot: Dict[str, str]):
|
|
367
|
+
"""The recursive hand of the Ethereal Scribe."""
|
|
368
|
+
for child_name, child_node in node.children.items():
|
|
369
|
+
# We use posixpath for a pure, OS-agnostic join.
|
|
370
|
+
child_path = posixpath.join(path_prefix, child_name)
|
|
371
|
+
if child_node.is_dir:
|
|
372
|
+
self._recursive_snapshot(child_node, child_path, snapshot)
|
|
373
|
+
else:
|
|
374
|
+
try:
|
|
375
|
+
# The Gaze of Forgiveness: We attempt to decode as text, but fall
|
|
376
|
+
# back gracefully for binary souls.
|
|
377
|
+
snapshot[child_path] = child_node.content.decode('utf-8')
|
|
378
|
+
except UnicodeDecodeError:
|
|
379
|
+
snapshot[child_path] = f"[Binary Scripture: {len(child_node.content)} bytes]"
|