openlore 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +268 -0
- package/dist/api/analyze.d.ts +17 -0
- package/dist/api/analyze.d.ts.map +1 -0
- package/dist/api/analyze.js +143 -0
- package/dist/api/analyze.js.map +1 -0
- package/dist/api/audit.d.ts +10 -0
- package/dist/api/audit.d.ts.map +1 -0
- package/dist/api/audit.js +117 -0
- package/dist/api/audit.js.map +1 -0
- package/dist/api/decisions.d.ts +55 -0
- package/dist/api/decisions.d.ts.map +1 -0
- package/dist/api/decisions.js +157 -0
- package/dist/api/decisions.js.map +1 -0
- package/dist/api/drift.d.ts +21 -0
- package/dist/api/drift.d.ts.map +1 -0
- package/dist/api/drift.js +152 -0
- package/dist/api/drift.js.map +1 -0
- package/dist/api/generate.d.ts +18 -0
- package/dist/api/generate.d.ts.map +1 -0
- package/dist/api/generate.js +259 -0
- package/dist/api/generate.js.map +1 -0
- package/dist/api/index.d.ts +41 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +34 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/init.d.ts +18 -0
- package/dist/api/init.d.ts.map +1 -0
- package/dist/api/init.js +83 -0
- package/dist/api/init.js.map +1 -0
- package/dist/api/run.d.ts +19 -0
- package/dist/api/run.d.ts.map +1 -0
- package/dist/api/run.js +312 -0
- package/dist/api/run.js.map +1 -0
- package/dist/api/specs.d.ts +49 -0
- package/dist/api/specs.d.ts.map +1 -0
- package/dist/api/specs.js +137 -0
- package/dist/api/specs.js.map +1 -0
- package/dist/api/types.d.ts +201 -0
- package/dist/api/types.d.ts.map +1 -0
- package/dist/api/types.js +9 -0
- package/dist/api/types.js.map +1 -0
- package/dist/api/verify.d.ts +20 -0
- package/dist/api/verify.d.ts.map +1 -0
- package/dist/api/verify.js +117 -0
- package/dist/api/verify.js.map +1 -0
- package/dist/cli/commands/analyze.d.ts +30 -0
- package/dist/cli/commands/analyze.d.ts.map +1 -0
- package/dist/cli/commands/analyze.js +683 -0
- package/dist/cli/commands/analyze.js.map +1 -0
- package/dist/cli/commands/audit.d.ts +9 -0
- package/dist/cli/commands/audit.d.ts.map +1 -0
- package/dist/cli/commands/audit.js +98 -0
- package/dist/cli/commands/audit.js.map +1 -0
- package/dist/cli/commands/decisions.d.ts +16 -0
- package/dist/cli/commands/decisions.d.ts.map +1 -0
- package/dist/cli/commands/decisions.js +864 -0
- package/dist/cli/commands/decisions.js.map +1 -0
- package/dist/cli/commands/digest.d.ts +9 -0
- package/dist/cli/commands/digest.d.ts.map +1 -0
- package/dist/cli/commands/digest.js +61 -0
- package/dist/cli/commands/digest.js.map +1 -0
- package/dist/cli/commands/doctor.d.ts +9 -0
- package/dist/cli/commands/doctor.d.ts.map +1 -0
- package/dist/cli/commands/doctor.js +398 -0
- package/dist/cli/commands/doctor.js.map +1 -0
- package/dist/cli/commands/drift.d.ts +9 -0
- package/dist/cli/commands/drift.d.ts.map +1 -0
- package/dist/cli/commands/drift.js +550 -0
- package/dist/cli/commands/drift.js.map +1 -0
- package/dist/cli/commands/generate.d.ts +9 -0
- package/dist/cli/commands/generate.d.ts.map +1 -0
- package/dist/cli/commands/generate.js +565 -0
- package/dist/cli/commands/generate.js.map +1 -0
- package/dist/cli/commands/init.d.ts +9 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +173 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/mcp.d.ts +2235 -0
- package/dist/cli/commands/mcp.d.ts.map +1 -0
- package/dist/cli/commands/mcp.js +1384 -0
- package/dist/cli/commands/mcp.js.map +1 -0
- package/dist/cli/commands/refresh-stories.d.ts +10 -0
- package/dist/cli/commands/refresh-stories.d.ts.map +1 -0
- package/dist/cli/commands/refresh-stories.js +314 -0
- package/dist/cli/commands/refresh-stories.js.map +1 -0
- package/dist/cli/commands/run.d.ts +9 -0
- package/dist/cli/commands/run.d.ts.map +1 -0
- package/dist/cli/commands/run.js +459 -0
- package/dist/cli/commands/run.js.map +1 -0
- package/dist/cli/commands/setup.d.ts +19 -0
- package/dist/cli/commands/setup.d.ts.map +1 -0
- package/dist/cli/commands/setup.js +355 -0
- package/dist/cli/commands/setup.js.map +1 -0
- package/dist/cli/commands/test.d.ts +22 -0
- package/dist/cli/commands/test.d.ts.map +1 -0
- package/dist/cli/commands/test.js +180 -0
- package/dist/cli/commands/test.js.map +1 -0
- package/dist/cli/commands/verify.d.ts +9 -0
- package/dist/cli/commands/verify.d.ts.map +1 -0
- package/dist/cli/commands/verify.js +383 -0
- package/dist/cli/commands/verify.js.map +1 -0
- package/dist/cli/commands/view.d.ts +13 -0
- package/dist/cli/commands/view.d.ts.map +1 -0
- package/dist/cli/commands/view.js +547 -0
- package/dist/cli/commands/view.js.map +1 -0
- package/dist/cli/index.d.ts +9 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +118 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/tui-approval.d.ts +11 -0
- package/dist/cli/tui-approval.d.ts.map +1 -0
- package/dist/cli/tui-approval.js +129 -0
- package/dist/cli/tui-approval.js.map +1 -0
- package/dist/constants.d.ts +314 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +382 -0
- package/dist/constants.js.map +1 -0
- package/dist/core/analyzer/ai-config-generator.d.ts +54 -0
- package/dist/core/analyzer/ai-config-generator.d.ts.map +1 -0
- package/dist/core/analyzer/ai-config-generator.js +98 -0
- package/dist/core/analyzer/ai-config-generator.js.map +1 -0
- package/dist/core/analyzer/architecture-writer.d.ts +67 -0
- package/dist/core/analyzer/architecture-writer.d.ts.map +1 -0
- package/dist/core/analyzer/architecture-writer.js +209 -0
- package/dist/core/analyzer/architecture-writer.js.map +1 -0
- package/dist/core/analyzer/artifact-generator.d.ts +261 -0
- package/dist/core/analyzer/artifact-generator.d.ts.map +1 -0
- package/dist/core/analyzer/artifact-generator.js +909 -0
- package/dist/core/analyzer/artifact-generator.js.map +1 -0
- package/dist/core/analyzer/ast-chunker.d.ts +24 -0
- package/dist/core/analyzer/ast-chunker.d.ts.map +1 -0
- package/dist/core/analyzer/ast-chunker.js +198 -0
- package/dist/core/analyzer/ast-chunker.js.map +1 -0
- package/dist/core/analyzer/call-graph.d.ts +162 -0
- package/dist/core/analyzer/call-graph.d.ts.map +1 -0
- package/dist/core/analyzer/call-graph.js +2040 -0
- package/dist/core/analyzer/call-graph.js.map +1 -0
- package/dist/core/analyzer/code-shaper.d.ts +33 -0
- package/dist/core/analyzer/code-shaper.d.ts.map +1 -0
- package/dist/core/analyzer/code-shaper.js +154 -0
- package/dist/core/analyzer/code-shaper.js.map +1 -0
- package/dist/core/analyzer/codebase-digest.d.ts +40 -0
- package/dist/core/analyzer/codebase-digest.d.ts.map +1 -0
- package/dist/core/analyzer/codebase-digest.js +195 -0
- package/dist/core/analyzer/codebase-digest.js.map +1 -0
- package/dist/core/analyzer/cpp-header-resolver.d.ts +30 -0
- package/dist/core/analyzer/cpp-header-resolver.d.ts.map +1 -0
- package/dist/core/analyzer/cpp-header-resolver.js +71 -0
- package/dist/core/analyzer/cpp-header-resolver.js.map +1 -0
- package/dist/core/analyzer/dependency-graph.d.ts +230 -0
- package/dist/core/analyzer/dependency-graph.d.ts.map +1 -0
- package/dist/core/analyzer/dependency-graph.js +752 -0
- package/dist/core/analyzer/dependency-graph.js.map +1 -0
- package/dist/core/analyzer/duplicate-detector.d.ts +52 -0
- package/dist/core/analyzer/duplicate-detector.d.ts.map +1 -0
- package/dist/core/analyzer/duplicate-detector.js +289 -0
- package/dist/core/analyzer/duplicate-detector.js.map +1 -0
- package/dist/core/analyzer/embedding-service.d.ts +56 -0
- package/dist/core/analyzer/embedding-service.d.ts.map +1 -0
- package/dist/core/analyzer/embedding-service.js +118 -0
- package/dist/core/analyzer/embedding-service.js.map +1 -0
- package/dist/core/analyzer/env-extractor.d.ts +33 -0
- package/dist/core/analyzer/env-extractor.d.ts.map +1 -0
- package/dist/core/analyzer/env-extractor.js +196 -0
- package/dist/core/analyzer/env-extractor.js.map +1 -0
- package/dist/core/analyzer/external-packages.d.ts +20 -0
- package/dist/core/analyzer/external-packages.d.ts.map +1 -0
- package/dist/core/analyzer/external-packages.js +175 -0
- package/dist/core/analyzer/external-packages.js.map +1 -0
- package/dist/core/analyzer/file-walker.d.ts +78 -0
- package/dist/core/analyzer/file-walker.d.ts.map +1 -0
- package/dist/core/analyzer/file-walker.js +532 -0
- package/dist/core/analyzer/file-walker.js.map +1 -0
- package/dist/core/analyzer/function-registry-trie.d.ts +21 -0
- package/dist/core/analyzer/function-registry-trie.d.ts.map +1 -0
- package/dist/core/analyzer/function-registry-trie.js +39 -0
- package/dist/core/analyzer/function-registry-trie.js.map +1 -0
- package/dist/core/analyzer/http-route-parser.d.ts +152 -0
- package/dist/core/analyzer/http-route-parser.d.ts.map +1 -0
- package/dist/core/analyzer/http-route-parser.js +971 -0
- package/dist/core/analyzer/http-route-parser.js.map +1 -0
- package/dist/core/analyzer/import-parser.d.ts +100 -0
- package/dist/core/analyzer/import-parser.d.ts.map +1 -0
- package/dist/core/analyzer/import-parser.js +952 -0
- package/dist/core/analyzer/import-parser.js.map +1 -0
- package/dist/core/analyzer/import-resolver-bridge.d.ts +25 -0
- package/dist/core/analyzer/import-resolver-bridge.d.ts.map +1 -0
- package/dist/core/analyzer/import-resolver-bridge.js +99 -0
- package/dist/core/analyzer/import-resolver-bridge.js.map +1 -0
- package/dist/core/analyzer/index.d.ts +10 -0
- package/dist/core/analyzer/index.d.ts.map +1 -0
- package/dist/core/analyzer/index.js +10 -0
- package/dist/core/analyzer/index.js.map +1 -0
- package/dist/core/analyzer/middleware-extractor.d.ts +29 -0
- package/dist/core/analyzer/middleware-extractor.d.ts.map +1 -0
- package/dist/core/analyzer/middleware-extractor.js +195 -0
- package/dist/core/analyzer/middleware-extractor.js.map +1 -0
- package/dist/core/analyzer/refactor-analyzer.d.ts +83 -0
- package/dist/core/analyzer/refactor-analyzer.d.ts.map +1 -0
- package/dist/core/analyzer/refactor-analyzer.js +351 -0
- package/dist/core/analyzer/refactor-analyzer.js.map +1 -0
- package/dist/core/analyzer/repository-mapper.d.ts +150 -0
- package/dist/core/analyzer/repository-mapper.d.ts.map +1 -0
- package/dist/core/analyzer/repository-mapper.js +740 -0
- package/dist/core/analyzer/repository-mapper.js.map +1 -0
- package/dist/core/analyzer/schema-extractor.d.ts +41 -0
- package/dist/core/analyzer/schema-extractor.d.ts.map +1 -0
- package/dist/core/analyzer/schema-extractor.js +229 -0
- package/dist/core/analyzer/schema-extractor.js.map +1 -0
- package/dist/core/analyzer/signature-extractor.d.ts +31 -0
- package/dist/core/analyzer/signature-extractor.d.ts.map +1 -0
- package/dist/core/analyzer/signature-extractor.js +675 -0
- package/dist/core/analyzer/signature-extractor.js.map +1 -0
- package/dist/core/analyzer/significance-scorer.d.ts +79 -0
- package/dist/core/analyzer/significance-scorer.d.ts.map +1 -0
- package/dist/core/analyzer/significance-scorer.js +407 -0
- package/dist/core/analyzer/significance-scorer.js.map +1 -0
- package/dist/core/analyzer/spec-snapshot-generator.d.ts +17 -0
- package/dist/core/analyzer/spec-snapshot-generator.d.ts.map +1 -0
- package/dist/core/analyzer/spec-snapshot-generator.js +201 -0
- package/dist/core/analyzer/spec-snapshot-generator.js.map +1 -0
- package/dist/core/analyzer/spec-vector-index.d.ts +68 -0
- package/dist/core/analyzer/spec-vector-index.d.ts.map +1 -0
- package/dist/core/analyzer/spec-vector-index.js +340 -0
- package/dist/core/analyzer/spec-vector-index.js.map +1 -0
- package/dist/core/analyzer/subgraph-extractor.d.ts +51 -0
- package/dist/core/analyzer/subgraph-extractor.d.ts.map +1 -0
- package/dist/core/analyzer/subgraph-extractor.js +147 -0
- package/dist/core/analyzer/subgraph-extractor.js.map +1 -0
- package/dist/core/analyzer/type-inference-engine.d.ts +23 -0
- package/dist/core/analyzer/type-inference-engine.d.ts.map +1 -0
- package/dist/core/analyzer/type-inference-engine.js +130 -0
- package/dist/core/analyzer/type-inference-engine.js.map +1 -0
- package/dist/core/analyzer/ui-component-extractor.d.ts +43 -0
- package/dist/core/analyzer/ui-component-extractor.d.ts.map +1 -0
- package/dist/core/analyzer/ui-component-extractor.js +245 -0
- package/dist/core/analyzer/ui-component-extractor.js.map +1 -0
- package/dist/core/analyzer/unified-search.d.ts +116 -0
- package/dist/core/analyzer/unified-search.d.ts.map +1 -0
- package/dist/core/analyzer/unified-search.js +231 -0
- package/dist/core/analyzer/unified-search.js.map +1 -0
- package/dist/core/analyzer/vector-index.d.ts +92 -0
- package/dist/core/analyzer/vector-index.d.ts.map +1 -0
- package/dist/core/analyzer/vector-index.js +451 -0
- package/dist/core/analyzer/vector-index.js.map +1 -0
- package/dist/core/decisions/consolidator.d.ts +14 -0
- package/dist/core/decisions/consolidator.d.ts.map +1 -0
- package/dist/core/decisions/consolidator.js +169 -0
- package/dist/core/decisions/consolidator.js.map +1 -0
- package/dist/core/decisions/extractor.d.ts +26 -0
- package/dist/core/decisions/extractor.d.ts.map +1 -0
- package/dist/core/decisions/extractor.js +156 -0
- package/dist/core/decisions/extractor.js.map +1 -0
- package/dist/core/decisions/index.d.ts +19 -0
- package/dist/core/decisions/index.d.ts.map +1 -0
- package/dist/core/decisions/index.js +16 -0
- package/dist/core/decisions/index.js.map +1 -0
- package/dist/core/decisions/store.d.ts +36 -0
- package/dist/core/decisions/store.d.ts.map +1 -0
- package/dist/core/decisions/store.js +109 -0
- package/dist/core/decisions/store.js.map +1 -0
- package/dist/core/decisions/syncer.d.ts +27 -0
- package/dist/core/decisions/syncer.d.ts.map +1 -0
- package/dist/core/decisions/syncer.js +214 -0
- package/dist/core/decisions/syncer.js.map +1 -0
- package/dist/core/decisions/verifier.d.ts +20 -0
- package/dist/core/decisions/verifier.d.ts.map +1 -0
- package/dist/core/decisions/verifier.js +115 -0
- package/dist/core/decisions/verifier.js.map +1 -0
- package/dist/core/digest/digest-generator.d.ts +29 -0
- package/dist/core/digest/digest-generator.d.ts.map +1 -0
- package/dist/core/digest/digest-generator.js +181 -0
- package/dist/core/digest/digest-generator.js.map +1 -0
- package/dist/core/drift/drift-detector.d.ts +102 -0
- package/dist/core/drift/drift-detector.d.ts.map +1 -0
- package/dist/core/drift/drift-detector.js +598 -0
- package/dist/core/drift/drift-detector.js.map +1 -0
- package/dist/core/drift/git-diff.d.ts +60 -0
- package/dist/core/drift/git-diff.d.ts.map +1 -0
- package/dist/core/drift/git-diff.js +383 -0
- package/dist/core/drift/git-diff.js.map +1 -0
- package/dist/core/drift/index.d.ts +12 -0
- package/dist/core/drift/index.d.ts.map +1 -0
- package/dist/core/drift/index.js +9 -0
- package/dist/core/drift/index.js.map +1 -0
- package/dist/core/drift/spec-mapper.d.ts +73 -0
- package/dist/core/drift/spec-mapper.d.ts.map +1 -0
- package/dist/core/drift/spec-mapper.js +353 -0
- package/dist/core/drift/spec-mapper.js.map +1 -0
- package/dist/core/drift/test-suggester.d.ts +18 -0
- package/dist/core/drift/test-suggester.d.ts.map +1 -0
- package/dist/core/drift/test-suggester.js +107 -0
- package/dist/core/drift/test-suggester.js.map +1 -0
- package/dist/core/generator/adr-generator.d.ts +32 -0
- package/dist/core/generator/adr-generator.d.ts.map +1 -0
- package/dist/core/generator/adr-generator.js +192 -0
- package/dist/core/generator/adr-generator.js.map +1 -0
- package/dist/core/generator/index.d.ts +9 -0
- package/dist/core/generator/index.d.ts.map +1 -0
- package/dist/core/generator/index.js +12 -0
- package/dist/core/generator/index.js.map +1 -0
- package/dist/core/generator/mapping-generator.d.ts +54 -0
- package/dist/core/generator/mapping-generator.d.ts.map +1 -0
- package/dist/core/generator/mapping-generator.js +240 -0
- package/dist/core/generator/mapping-generator.js.map +1 -0
- package/dist/core/generator/openspec-compat.d.ts +160 -0
- package/dist/core/generator/openspec-compat.d.ts.map +1 -0
- package/dist/core/generator/openspec-compat.js +524 -0
- package/dist/core/generator/openspec-compat.js.map +1 -0
- package/dist/core/generator/openspec-format-generator.d.ts +131 -0
- package/dist/core/generator/openspec-format-generator.d.ts.map +1 -0
- package/dist/core/generator/openspec-format-generator.js +963 -0
- package/dist/core/generator/openspec-format-generator.js.map +1 -0
- package/dist/core/generator/openspec-writer.d.ts +130 -0
- package/dist/core/generator/openspec-writer.d.ts.map +1 -0
- package/dist/core/generator/openspec-writer.js +404 -0
- package/dist/core/generator/openspec-writer.js.map +1 -0
- package/dist/core/generator/prompts.d.ts +35 -0
- package/dist/core/generator/prompts.d.ts.map +1 -0
- package/dist/core/generator/prompts.js +212 -0
- package/dist/core/generator/prompts.js.map +1 -0
- package/dist/core/generator/rag-manifest-generator.d.ts +37 -0
- package/dist/core/generator/rag-manifest-generator.d.ts.map +1 -0
- package/dist/core/generator/rag-manifest-generator.js +134 -0
- package/dist/core/generator/rag-manifest-generator.js.map +1 -0
- package/dist/core/generator/schemas.d.ts +365 -0
- package/dist/core/generator/schemas.d.ts.map +1 -0
- package/dist/core/generator/schemas.js +190 -0
- package/dist/core/generator/schemas.js.map +1 -0
- package/dist/core/generator/spec-pipeline.d.ts +123 -0
- package/dist/core/generator/spec-pipeline.d.ts.map +1 -0
- package/dist/core/generator/spec-pipeline.js +699 -0
- package/dist/core/generator/spec-pipeline.js.map +1 -0
- package/dist/core/generator/stages/stage1-survey.d.ts +19 -0
- package/dist/core/generator/stages/stage1-survey.d.ts.map +1 -0
- package/dist/core/generator/stages/stage1-survey.js +171 -0
- package/dist/core/generator/stages/stage1-survey.js.map +1 -0
- package/dist/core/generator/stages/stage2-entities.d.ts +11 -0
- package/dist/core/generator/stages/stage2-entities.d.ts.map +1 -0
- package/dist/core/generator/stages/stage2-entities.js +74 -0
- package/dist/core/generator/stages/stage2-entities.js.map +1 -0
- package/dist/core/generator/stages/stage3-services.d.ts +11 -0
- package/dist/core/generator/stages/stage3-services.d.ts.map +1 -0
- package/dist/core/generator/stages/stage3-services.js +85 -0
- package/dist/core/generator/stages/stage3-services.js.map +1 -0
- package/dist/core/generator/stages/stage4-api.d.ts +11 -0
- package/dist/core/generator/stages/stage4-api.d.ts.map +1 -0
- package/dist/core/generator/stages/stage4-api.js +72 -0
- package/dist/core/generator/stages/stage4-api.js.map +1 -0
- package/dist/core/generator/stages/stage5-architecture.d.ts +11 -0
- package/dist/core/generator/stages/stage5-architecture.d.ts.map +1 -0
- package/dist/core/generator/stages/stage5-architecture.js +75 -0
- package/dist/core/generator/stages/stage5-architecture.js.map +1 -0
- package/dist/core/generator/stages/stage6-adr.d.ts +8 -0
- package/dist/core/generator/stages/stage6-adr.d.ts.map +1 -0
- package/dist/core/generator/stages/stage6-adr.js +47 -0
- package/dist/core/generator/stages/stage6-adr.js.map +1 -0
- package/dist/core/services/chat-agent.d.ts +50 -0
- package/dist/core/services/chat-agent.d.ts.map +1 -0
- package/dist/core/services/chat-agent.js +369 -0
- package/dist/core/services/chat-agent.js.map +1 -0
- package/dist/core/services/chat-tools.d.ts +32 -0
- package/dist/core/services/chat-tools.d.ts.map +1 -0
- package/dist/core/services/chat-tools.js +494 -0
- package/dist/core/services/chat-tools.js.map +1 -0
- package/dist/core/services/config-manager.d.ts +61 -0
- package/dist/core/services/config-manager.d.ts.map +1 -0
- package/dist/core/services/config-manager.js +149 -0
- package/dist/core/services/config-manager.js.map +1 -0
- package/dist/core/services/edge-store.d.ts +57 -0
- package/dist/core/services/edge-store.d.ts.map +1 -0
- package/dist/core/services/edge-store.js +419 -0
- package/dist/core/services/edge-store.js.map +1 -0
- package/dist/core/services/gitignore-manager.d.ts +29 -0
- package/dist/core/services/gitignore-manager.d.ts.map +1 -0
- package/dist/core/services/gitignore-manager.js +95 -0
- package/dist/core/services/gitignore-manager.js.map +1 -0
- package/dist/core/services/index.d.ts +8 -0
- package/dist/core/services/index.d.ts.map +1 -0
- package/dist/core/services/index.js +8 -0
- package/dist/core/services/index.js.map +1 -0
- package/dist/core/services/llm-service.d.ts +379 -0
- package/dist/core/services/llm-service.d.ts.map +1 -0
- package/dist/core/services/llm-service.js +1553 -0
- package/dist/core/services/llm-service.js.map +1 -0
- package/dist/core/services/mcp-handlers/analysis.d.ts +127 -0
- package/dist/core/services/mcp-handlers/analysis.d.ts.map +1 -0
- package/dist/core/services/mcp-handlers/analysis.js +1185 -0
- package/dist/core/services/mcp-handlers/analysis.js.map +1 -0
- package/dist/core/services/mcp-handlers/change.d.ts +14 -0
- package/dist/core/services/mcp-handlers/change.d.ts.map +1 -0
- package/dist/core/services/mcp-handlers/change.js +416 -0
- package/dist/core/services/mcp-handlers/change.js.map +1 -0
- package/dist/core/services/mcp-handlers/decisions.d.ts +16 -0
- package/dist/core/services/mcp-handlers/decisions.d.ts.map +1 -0
- package/dist/core/services/mcp-handlers/decisions.js +239 -0
- package/dist/core/services/mcp-handlers/decisions.js.map +1 -0
- package/dist/core/services/mcp-handlers/graph.d.ts +94 -0
- package/dist/core/services/mcp-handlers/graph.d.ts.map +1 -0
- package/dist/core/services/mcp-handlers/graph.js +693 -0
- package/dist/core/services/mcp-handlers/graph.js.map +1 -0
- package/dist/core/services/mcp-handlers/orient.d.ts +17 -0
- package/dist/core/services/mcp-handlers/orient.d.ts.map +1 -0
- package/dist/core/services/mcp-handlers/orient.js +357 -0
- package/dist/core/services/mcp-handlers/orient.js.map +1 -0
- package/dist/core/services/mcp-handlers/semantic.d.ts +66 -0
- package/dist/core/services/mcp-handlers/semantic.d.ts.map +1 -0
- package/dist/core/services/mcp-handlers/semantic.js +432 -0
- package/dist/core/services/mcp-handlers/semantic.js.map +1 -0
- package/dist/core/services/mcp-handlers/utils.d.ts +85 -0
- package/dist/core/services/mcp-handlers/utils.d.ts.map +1 -0
- package/dist/core/services/mcp-handlers/utils.js +262 -0
- package/dist/core/services/mcp-handlers/utils.js.map +1 -0
- package/dist/core/services/mcp-watcher.d.ts +41 -0
- package/dist/core/services/mcp-watcher.d.ts.map +1 -0
- package/dist/core/services/mcp-watcher.js +254 -0
- package/dist/core/services/mcp-watcher.js.map +1 -0
- package/dist/core/services/project-detector.d.ts +32 -0
- package/dist/core/services/project-detector.d.ts.map +1 -0
- package/dist/core/services/project-detector.js +100 -0
- package/dist/core/services/project-detector.js.map +1 -0
- package/dist/core/test-generator/coverage-analyzer.d.ts +27 -0
- package/dist/core/test-generator/coverage-analyzer.d.ts.map +1 -0
- package/dist/core/test-generator/coverage-analyzer.js +285 -0
- package/dist/core/test-generator/coverage-analyzer.js.map +1 -0
- package/dist/core/test-generator/framework-detector.d.ts +17 -0
- package/dist/core/test-generator/framework-detector.d.ts.map +1 -0
- package/dist/core/test-generator/framework-detector.js +65 -0
- package/dist/core/test-generator/framework-detector.js.map +1 -0
- package/dist/core/test-generator/index.d.ts +14 -0
- package/dist/core/test-generator/index.d.ts.map +1 -0
- package/dist/core/test-generator/index.js +11 -0
- package/dist/core/test-generator/index.js.map +1 -0
- package/dist/core/test-generator/renderers/catch2.d.ts +8 -0
- package/dist/core/test-generator/renderers/catch2.d.ts.map +1 -0
- package/dist/core/test-generator/renderers/catch2.js +47 -0
- package/dist/core/test-generator/renderers/catch2.js.map +1 -0
- package/dist/core/test-generator/renderers/gtest.d.ts +8 -0
- package/dist/core/test-generator/renderers/gtest.d.ts.map +1 -0
- package/dist/core/test-generator/renderers/gtest.js +45 -0
- package/dist/core/test-generator/renderers/gtest.js.map +1 -0
- package/dist/core/test-generator/renderers/index.d.ts +20 -0
- package/dist/core/test-generator/renderers/index.d.ts.map +1 -0
- package/dist/core/test-generator/renderers/index.js +35 -0
- package/dist/core/test-generator/renderers/index.js.map +1 -0
- package/dist/core/test-generator/renderers/playwright.d.ts +8 -0
- package/dist/core/test-generator/renderers/playwright.d.ts.map +1 -0
- package/dist/core/test-generator/renderers/playwright.js +44 -0
- package/dist/core/test-generator/renderers/playwright.js.map +1 -0
- package/dist/core/test-generator/renderers/pytest.d.ts +8 -0
- package/dist/core/test-generator/renderers/pytest.d.ts.map +1 -0
- package/dist/core/test-generator/renderers/pytest.js +44 -0
- package/dist/core/test-generator/renderers/pytest.js.map +1 -0
- package/dist/core/test-generator/renderers/shared.d.ts +21 -0
- package/dist/core/test-generator/renderers/shared.d.ts.map +1 -0
- package/dist/core/test-generator/renderers/shared.js +56 -0
- package/dist/core/test-generator/renderers/shared.js.map +1 -0
- package/dist/core/test-generator/renderers/vitest.d.ts +8 -0
- package/dist/core/test-generator/renderers/vitest.d.ts.map +1 -0
- package/dist/core/test-generator/renderers/vitest.js +52 -0
- package/dist/core/test-generator/renderers/vitest.js.map +1 -0
- package/dist/core/test-generator/scenario-parser.d.ts +33 -0
- package/dist/core/test-generator/scenario-parser.d.ts.map +1 -0
- package/dist/core/test-generator/scenario-parser.js +244 -0
- package/dist/core/test-generator/scenario-parser.js.map +1 -0
- package/dist/core/test-generator/test-generator.d.ts +30 -0
- package/dist/core/test-generator/test-generator.d.ts.map +1 -0
- package/dist/core/test-generator/test-generator.js +174 -0
- package/dist/core/test-generator/test-generator.js.map +1 -0
- package/dist/core/test-generator/test-writer.d.ts +25 -0
- package/dist/core/test-generator/test-writer.d.ts.map +1 -0
- package/dist/core/test-generator/test-writer.js +128 -0
- package/dist/core/test-generator/test-writer.js.map +1 -0
- package/dist/core/test-generator/then-matchers.d.ts +35 -0
- package/dist/core/test-generator/then-matchers.d.ts.map +1 -0
- package/dist/core/test-generator/then-matchers.js +211 -0
- package/dist/core/test-generator/then-matchers.js.map +1 -0
- package/dist/core/verifier/index.d.ts +5 -0
- package/dist/core/verifier/index.d.ts.map +1 -0
- package/dist/core/verifier/index.js +5 -0
- package/dist/core/verifier/index.js.map +1 -0
- package/dist/core/verifier/verification-engine.d.ts +293 -0
- package/dist/core/verifier/verification-engine.d.ts.map +1 -0
- package/dist/core/verifier/verification-engine.js +919 -0
- package/dist/core/verifier/verification-engine.js.map +1 -0
- package/dist/types/index.d.ts +368 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +5 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/pipeline.d.ts +167 -0
- package/dist/types/pipeline.d.ts.map +1 -0
- package/dist/types/pipeline.js +5 -0
- package/dist/types/pipeline.js.map +1 -0
- package/dist/types/test-generator.d.ts +103 -0
- package/dist/types/test-generator.d.ts.map +1 -0
- package/dist/types/test-generator.js +17 -0
- package/dist/types/test-generator.js.map +1 -0
- package/dist/utils/command-helpers.d.ts +68 -0
- package/dist/utils/command-helpers.d.ts.map +1 -0
- package/dist/utils/command-helpers.js +150 -0
- package/dist/utils/command-helpers.js.map +1 -0
- package/dist/utils/errors.d.ts +51 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +129 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/logger.d.ts +149 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +342 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/misc.d.ts +10 -0
- package/dist/utils/misc.d.ts.map +1 -0
- package/dist/utils/misc.js +21 -0
- package/dist/utils/misc.js.map +1 -0
- package/dist/utils/progress.d.ts +142 -0
- package/dist/utils/progress.d.ts.map +1 -0
- package/dist/utils/progress.js +283 -0
- package/dist/utils/progress.js.map +1 -0
- package/dist/utils/prompts.d.ts +53 -0
- package/dist/utils/prompts.d.ts.map +1 -0
- package/dist/utils/prompts.js +199 -0
- package/dist/utils/prompts.js.map +1 -0
- package/dist/utils/shutdown.d.ts +89 -0
- package/dist/utils/shutdown.d.ts.map +1 -0
- package/dist/utils/shutdown.js +238 -0
- package/dist/utils/shutdown.js.map +1 -0
- package/examples/bmad/README.md +113 -0
- package/examples/bmad/agents/architect.md +226 -0
- package/examples/bmad/agents/dev-brownfield.md +69 -0
- package/examples/bmad/setup/architect.customize.yaml +14 -0
- package/examples/bmad/tasks/implement-story.md +254 -0
- package/examples/bmad/tasks/onboarding.md +169 -0
- package/examples/bmad/tasks/refactor.md +178 -0
- package/examples/bmad/tasks/sprint-planning.md +168 -0
- package/examples/bmad/templates/story.md +108 -0
- package/examples/cline-workflows/openlore-analyze-codebase.md +101 -0
- package/examples/cline-workflows/openlore-check-spec-drift.md +102 -0
- package/examples/cline-workflows/openlore-execute-refactor.md +212 -0
- package/examples/cline-workflows/openlore-implement-feature.md +266 -0
- package/examples/cline-workflows/openlore-plan-refactor.md +279 -0
- package/examples/cline-workflows/openlore-refactor-codebase.md +16 -0
- package/examples/cline-workflows/openlore-write-tests.md +177 -0
- package/examples/drift-demo/openspec/config.yaml +14 -0
- package/examples/drift-demo/openspec/specs/architecture/spec.md +30 -0
- package/examples/drift-demo/openspec/specs/auth/spec.md +71 -0
- package/examples/drift-demo/openspec/specs/database/spec.md +33 -0
- package/examples/drift-demo/openspec/specs/overview/spec.md +20 -0
- package/examples/drift-demo/openspec/specs/projects/spec.md +55 -0
- package/examples/drift-demo/openspec/specs/tasks/spec.md +78 -0
- package/examples/drift-demo/package.json +21 -0
- package/examples/drift-demo/src/auth/auth-middleware.ts +30 -0
- package/examples/drift-demo/src/auth/auth-routes.ts +29 -0
- package/examples/drift-demo/src/auth/auth-service.ts +45 -0
- package/examples/drift-demo/src/database/connection.ts +27 -0
- package/examples/drift-demo/src/index.ts +16 -0
- package/examples/drift-demo/src/projects/project-model.ts +15 -0
- package/examples/drift-demo/src/projects/project-service.ts +34 -0
- package/examples/drift-demo/src/tasks/task-model.ts +37 -0
- package/examples/drift-demo/src/tasks/task-routes.ts +53 -0
- package/examples/drift-demo/src/tasks/task-service.ts +60 -0
- package/examples/drift-demo/src/utils/validation.ts +11 -0
- package/examples/drift-demo/tests/auth.test.ts +4 -0
- package/examples/drift-demo/tests/tasks.test.ts +4 -0
- package/examples/drift-demo/tsconfig.json +10 -0
- package/examples/drift-test/run-drift-test.sh +1087 -0
- package/examples/gsd/README.md +119 -0
- package/examples/gsd/commands/gsd/openlore-drift.md +111 -0
- package/examples/gsd/commands/gsd/openlore-orient.md +191 -0
- package/examples/mistral-vibe/README.md +101 -0
- package/examples/mistral-vibe/antipatterns-template.md +18 -0
- package/examples/mistral-vibe/skills/openlore-analyze-codebase/SKILL.md +124 -0
- package/examples/mistral-vibe/skills/openlore-brainstorm/SKILL.md +379 -0
- package/examples/mistral-vibe/skills/openlore-debug/SKILL.md +330 -0
- package/examples/mistral-vibe/skills/openlore-execute-refactor/SKILL.md +291 -0
- package/examples/mistral-vibe/skills/openlore-generate/SKILL.md +245 -0
- package/examples/mistral-vibe/skills/openlore-implement-story/SKILL.md +326 -0
- package/examples/mistral-vibe/skills/openlore-plan-refactor/SKILL.md +365 -0
- package/examples/mistral-vibe/skills/openlore-review-changes/SKILL.md +128 -0
- package/examples/mistral-vibe/skills/openlore-write-tests/SKILL.md +261 -0
- package/examples/opencode/agent-guard.ts +170 -0
- package/examples/opencode/plugins/anti-laziness.ts +202 -0
- package/examples/opencode/plugins/lib/openlore-context-injector-helpers.ts +116 -0
- package/examples/opencode/plugins/lib/openlore-decision-extractor-helpers.ts +65 -0
- package/examples/opencode/plugins/openlore-context-injector.test.ts +211 -0
- package/examples/opencode/plugins/openlore-context-injector.ts +165 -0
- package/examples/opencode/plugins/openlore-decision-extractor.test.ts +131 -0
- package/examples/opencode/plugins/openlore-decision-extractor.ts +322 -0
- package/examples/opencode/plugins/openlore-enforcer.ts +227 -0
- package/examples/opencode/prompts/sisyphus-sdd.md +150 -0
- package/examples/opencode-skills/openlore-analyze-codebase/SKILL.md +101 -0
- package/examples/opencode-skills/openlore-brainstorm/SKILL.md +354 -0
- package/examples/opencode-skills/openlore-debug/SKILL.md +291 -0
- package/examples/opencode-skills/openlore-execute-refactor/SKILL.md +241 -0
- package/examples/opencode-skills/openlore-generate/SKILL.md +236 -0
- package/examples/opencode-skills/openlore-implement-story/SKILL.md +251 -0
- package/examples/opencode-skills/openlore-plan-refactor/SKILL.md +298 -0
- package/examples/opencode-skills/openlore-review-changes/SKILL.md +134 -0
- package/examples/opencode-skills/openlore-write-tests/SKILL.md +230 -0
- package/examples/openspec-analysis/README.md +59 -0
- package/examples/openspec-analysis/SUMMARY.md +72 -0
- package/examples/openspec-analysis/config.json +16 -0
- package/examples/openspec-analysis/dependencies.mermaid +35 -0
- package/examples/openspec-analysis/dependency-graph.json +12116 -0
- package/examples/openspec-analysis/llm-context.json +119 -0
- package/examples/openspec-analysis/repo-structure.json +871 -0
- package/examples/openspec-cli/README.md +67 -0
- package/examples/openspec-cli/openspec/config.yaml +26 -0
- package/examples/openspec-cli/openspec/specs/architecture/spec.md +178 -0
- package/examples/openspec-cli/openspec/specs/artifact-graph/spec.md +143 -0
- package/examples/openspec-cli/openspec/specs/cli/spec.md +138 -0
- package/examples/openspec-cli/openspec/specs/overview/spec.md +60 -0
- package/examples/openspec-cli/openspec/specs/parsing/spec.md +123 -0
- package/examples/openspec-cli/openspec/specs/validation/spec.md +108 -0
- package/examples/spec-kit/README.md +104 -0
- package/examples/spec-kit/commands/drift.md +87 -0
- package/examples/spec-kit/commands/orient.md +138 -0
- package/examples/spec-kit/extension.yml +54 -0
- package/package.json +125 -0
- package/src/viewer/InteractiveGraphViewer.jsx +1600 -0
- package/src/viewer/app/index.html +17 -0
- package/src/viewer/app/main.jsx +13 -0
- package/src/viewer/components/ArchitectureView.jsx +177 -0
- package/src/viewer/components/ChatPanel.jsx +450 -0
- package/src/viewer/components/ClassGraph.jsx +782 -0
- package/src/viewer/components/ClusterGraph.jsx +469 -0
- package/src/viewer/components/FilterBar.jsx +179 -0
- package/src/viewer/components/FlatGraph.jsx +282 -0
- package/src/viewer/components/MicroComponents.jsx +85 -0
- package/src/viewer/hooks/usePanZoom.js +79 -0
- package/src/viewer/utils/constants.js +64 -0
- package/src/viewer/utils/graph-helpers.js +303 -0
- package/src/viewer/utils/graph-helpers.test.ts +39 -0
- package/src/viewer/utils/themes.js +206 -0
- package/stubs/tree-sitter-cli-stub/package.json +6 -0
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* openlore CLI entry point
|
|
4
|
+
*
|
|
5
|
+
* Reverse-engineer OpenSpec specifications from existing codebases.
|
|
6
|
+
* Philosophy: "Archaeology over Creativity" — Extract the truth of what code does.
|
|
7
|
+
*/
|
|
8
|
+
import { Command } from 'commander';
|
|
9
|
+
import { createRequire } from 'node:module';
|
|
10
|
+
import { initCommand } from './commands/init.js';
|
|
11
|
+
import { analyzeCommand } from './commands/analyze.js';
|
|
12
|
+
import { generateCommand } from './commands/generate.js';
|
|
13
|
+
import { verifyCommand } from './commands/verify.js';
|
|
14
|
+
import { driftCommand } from './commands/drift.js';
|
|
15
|
+
import { runCommand } from './commands/run.js';
|
|
16
|
+
import { mcpCommand } from './commands/mcp.js';
|
|
17
|
+
import { viewCommand } from './commands/view.js';
|
|
18
|
+
import { doctorCommand } from './commands/doctor.js';
|
|
19
|
+
import { setupCommand } from './commands/setup.js';
|
|
20
|
+
import { refreshStoriesCommand } from './commands/refresh-stories.js';
|
|
21
|
+
import { auditCommand } from './commands/audit.js';
|
|
22
|
+
import { testCommand } from './commands/test.js';
|
|
23
|
+
import { digestCommand } from './commands/digest.js';
|
|
24
|
+
import { decisionsCommand } from './commands/decisions.js';
|
|
25
|
+
import { configureLogger } from '../utils/logger.js';
|
|
26
|
+
// Read version from package.json at runtime so it never drifts from the published version
|
|
27
|
+
const require = createRequire(import.meta.url);
|
|
28
|
+
const { version } = require('../../package.json');
|
|
29
|
+
const program = new Command();
|
|
30
|
+
// Hook to configure logger before any command runs
|
|
31
|
+
program.hook('preAction', (thisCommand) => {
|
|
32
|
+
const opts = thisCommand.opts();
|
|
33
|
+
configureLogger({
|
|
34
|
+
quiet: opts.quiet ?? false,
|
|
35
|
+
verbose: opts.verbose ?? false,
|
|
36
|
+
noColor: opts.color === false,
|
|
37
|
+
timestamps: process.env.CI === 'true' || opts.color === false,
|
|
38
|
+
});
|
|
39
|
+
// Warn when SSL verification is disabled — it's a security trade-off
|
|
40
|
+
if (opts.insecure) {
|
|
41
|
+
process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';
|
|
42
|
+
// Only print if we're not in quiet mode
|
|
43
|
+
if (!opts.quiet) {
|
|
44
|
+
process.stderr.write('\x1b[33m[warn]\x1b[0m --insecure: SSL certificate verification is disabled. ' +
|
|
45
|
+
'Only use this on trusted networks.\n');
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
program
|
|
50
|
+
.name('openlore')
|
|
51
|
+
.description('Reverse-engineer OpenSpec specifications from existing codebases.\n\n' +
|
|
52
|
+
'Philosophy: "Archaeology over Creativity" — We extract the truth of what\n' +
|
|
53
|
+
'code does, grounded in static analysis, not LLM hallucinations.')
|
|
54
|
+
.version(version)
|
|
55
|
+
.option('-q, --quiet', 'Minimal output (errors only)', false)
|
|
56
|
+
.option('-v, --verbose', 'Show debug information', false)
|
|
57
|
+
.option('--no-color', 'Disable colored output (also enables timestamps)')
|
|
58
|
+
.option('--config <path>', 'Path to config file', '.openlore/config.json')
|
|
59
|
+
.option('--api-base <url>', 'Custom LLM API base URL (for local/enterprise OpenAI-compatible servers)')
|
|
60
|
+
.option('--insecure', 'Disable SSL certificate verification (for internal/self-signed certs)')
|
|
61
|
+
.option('--timeout <ms>', 'LLM request timeout in milliseconds (default: 120000)', parseInt)
|
|
62
|
+
.addHelpText('after', `
|
|
63
|
+
Workflow:
|
|
64
|
+
1. openlore init Detect project type, create config
|
|
65
|
+
2. openlore analyze Scan codebase, build dependency graph
|
|
66
|
+
3. openlore analyze --ai-configs Generate context files (CLAUDE.md, .cursorrules…)
|
|
67
|
+
4. openlore setup Install workflow skills (Vibe, Cline, GSD)
|
|
68
|
+
5. openlore view Review visually the dependency graph
|
|
69
|
+
6. openlore generate Create OpenSpec files using LLM
|
|
70
|
+
7. openlore verify Validate specs against source code
|
|
71
|
+
8. openlore drift Detect when code outpaces specs
|
|
72
|
+
9. openlore test Generate spec-driven tests or check coverage
|
|
73
|
+
10. openlore digest Plain-English summary of specs for human review
|
|
74
|
+
|
|
75
|
+
Quick start:
|
|
76
|
+
$ cd your-project
|
|
77
|
+
$ openlore init
|
|
78
|
+
$ openlore analyze --ai-configs
|
|
79
|
+
$ openlore setup
|
|
80
|
+
$ openlore generate
|
|
81
|
+
|
|
82
|
+
Or run the full pipeline at once:
|
|
83
|
+
$ openlore run
|
|
84
|
+
|
|
85
|
+
Troubleshoot your setup:
|
|
86
|
+
$ openlore doctor
|
|
87
|
+
|
|
88
|
+
Output integrates with OpenSpec ecosystem:
|
|
89
|
+
openspec/
|
|
90
|
+
├── config.yaml
|
|
91
|
+
├── specs/
|
|
92
|
+
│ ├── overview/spec.md
|
|
93
|
+
│ ├── architecture/spec.md
|
|
94
|
+
│ └── {domain}/spec.md
|
|
95
|
+
└── decisions/ (with --adr flag)
|
|
96
|
+
├── index.md
|
|
97
|
+
└── adr-NNNN-*.md
|
|
98
|
+
|
|
99
|
+
Learn more: https://github.com/Fission-AI/OpenSpec
|
|
100
|
+
`);
|
|
101
|
+
// Register subcommands
|
|
102
|
+
program.addCommand(initCommand);
|
|
103
|
+
program.addCommand(analyzeCommand);
|
|
104
|
+
program.addCommand(generateCommand);
|
|
105
|
+
program.addCommand(verifyCommand);
|
|
106
|
+
program.addCommand(driftCommand);
|
|
107
|
+
program.addCommand(runCommand);
|
|
108
|
+
program.addCommand(mcpCommand);
|
|
109
|
+
program.addCommand(viewCommand);
|
|
110
|
+
program.addCommand(doctorCommand);
|
|
111
|
+
program.addCommand(setupCommand);
|
|
112
|
+
program.addCommand(refreshStoriesCommand);
|
|
113
|
+
program.addCommand(auditCommand);
|
|
114
|
+
program.addCommand(testCommand);
|
|
115
|
+
program.addCommand(digestCommand);
|
|
116
|
+
program.addCommand(decisionsCommand);
|
|
117
|
+
program.parse();
|
|
118
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Interactive TUI for reviewing and approving architectural decisions
|
|
3
|
+
* at pre-commit time. Uses readline raw mode — no additional dependencies.
|
|
4
|
+
*
|
|
5
|
+
* Only activated when stdout is a TTY. Falls back to plain text otherwise.
|
|
6
|
+
*/
|
|
7
|
+
import type { PendingDecision } from '../types/index.js';
|
|
8
|
+
type Decision = 'approved' | 'rejected' | 'skipped';
|
|
9
|
+
export declare function runTuiApproval(decisions: PendingDecision[]): Promise<Map<string, Decision>>;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=tui-approval.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tui-approval.d.ts","sourceRoot":"","sources":["../../src/cli/tui-approval.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AA2EzD,KAAK,QAAQ,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC;AAEpD,wBAAsB,cAAc,CAClC,SAAS,EAAE,eAAe,EAAE,GAC3B,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CA8DhC"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Interactive TUI for reviewing and approving architectural decisions
|
|
3
|
+
* at pre-commit time. Uses readline raw mode — no additional dependencies.
|
|
4
|
+
*
|
|
5
|
+
* Only activated when stdout is a TTY. Falls back to plain text otherwise.
|
|
6
|
+
*/
|
|
7
|
+
import * as readline from 'node:readline';
|
|
8
|
+
const C = {
|
|
9
|
+
reset: '\x1b[0m',
|
|
10
|
+
bold: '\x1b[1m',
|
|
11
|
+
dim: '\x1b[2m',
|
|
12
|
+
green: '\x1b[32m',
|
|
13
|
+
yellow: '\x1b[33m',
|
|
14
|
+
red: '\x1b[31m',
|
|
15
|
+
cyan: '\x1b[36m',
|
|
16
|
+
bg: '\x1b[44m',
|
|
17
|
+
clear: '\x1b[2J\x1b[H',
|
|
18
|
+
up: (n) => `\x1b[${n}A`,
|
|
19
|
+
eraseLine: '\x1b[2K\r',
|
|
20
|
+
};
|
|
21
|
+
function wrap(text, width, indent) {
|
|
22
|
+
const words = text.split(' ');
|
|
23
|
+
const lines = [];
|
|
24
|
+
let line = '';
|
|
25
|
+
for (const word of words) {
|
|
26
|
+
if ((line + word).length > width) {
|
|
27
|
+
if (line)
|
|
28
|
+
lines.push(line.trimEnd());
|
|
29
|
+
line = indent + word + ' ';
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
line += word + ' ';
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
if (line.trim())
|
|
36
|
+
lines.push(line.trimEnd());
|
|
37
|
+
return lines.join('\n');
|
|
38
|
+
}
|
|
39
|
+
function renderDecision(d, idx, total) {
|
|
40
|
+
const width = Math.min(process.stdout.columns ?? 80, 100) - 4;
|
|
41
|
+
const indent = ' ';
|
|
42
|
+
const conf = d.confidence === 'high'
|
|
43
|
+
? `${C.green}high${C.reset}`
|
|
44
|
+
: d.confidence === 'medium'
|
|
45
|
+
? `${C.yellow}medium${C.reset}`
|
|
46
|
+
: `${C.red}low${C.reset}`;
|
|
47
|
+
const lines = [
|
|
48
|
+
`${C.bold}${C.cyan}Architectural Decision ${idx + 1} of ${total}${C.reset}`,
|
|
49
|
+
'─'.repeat(width),
|
|
50
|
+
'',
|
|
51
|
+
` ${C.bold}${d.title}${C.reset}`,
|
|
52
|
+
'',
|
|
53
|
+
` ${C.dim}ID :${C.reset} ${d.id}`,
|
|
54
|
+
` ${C.dim}Domains :${C.reset} ${d.affectedDomains.join(', ') || C.dim + 'unknown' + C.reset}`,
|
|
55
|
+
` ${C.dim}Confidence:${C.reset} ${conf}`,
|
|
56
|
+
'',
|
|
57
|
+
` ${C.dim}Rationale :${C.reset} ${wrap(d.rationale, width - 14, indent)}`,
|
|
58
|
+
];
|
|
59
|
+
if (d.consequences) {
|
|
60
|
+
lines.push(` ${C.dim}Impact :${C.reset} ${wrap(d.consequences, width - 14, indent)}`);
|
|
61
|
+
}
|
|
62
|
+
if (d.proposedRequirement) {
|
|
63
|
+
lines.push('');
|
|
64
|
+
lines.push(` ${C.dim}SHALL :${C.reset} ${C.yellow}${wrap(d.proposedRequirement, width - 14, indent)}${C.reset}`);
|
|
65
|
+
}
|
|
66
|
+
if (d.affectedFiles.length) {
|
|
67
|
+
lines.push('');
|
|
68
|
+
lines.push(` ${C.dim}Files :${C.reset} ${d.affectedFiles.slice(0, 3).join(', ')}${d.affectedFiles.length > 3 ? ` +${d.affectedFiles.length - 3}` : ''}`);
|
|
69
|
+
}
|
|
70
|
+
lines.push('');
|
|
71
|
+
lines.push('─'.repeat(width));
|
|
72
|
+
lines.push(` ${C.bold}[a]${C.reset} Approve ${C.bold}[r]${C.reset} Reject ${C.bold}[s]${C.reset} Skip (decide later) ${C.bold}[q]${C.reset} Quit`);
|
|
73
|
+
return lines.join('\n');
|
|
74
|
+
}
|
|
75
|
+
export async function runTuiApproval(decisions) {
|
|
76
|
+
const results = new Map();
|
|
77
|
+
if (!process.stdin.isTTY || !process.stdout.isTTY) {
|
|
78
|
+
return results;
|
|
79
|
+
}
|
|
80
|
+
const pending = decisions.filter((d) => d.status === 'verified' || d.status === 'consolidated');
|
|
81
|
+
if (pending.length === 0)
|
|
82
|
+
return results;
|
|
83
|
+
return new Promise((resolve) => {
|
|
84
|
+
let idx = 0;
|
|
85
|
+
const render = () => {
|
|
86
|
+
process.stdout.write(C.clear);
|
|
87
|
+
process.stdout.write(renderDecision(pending[idx], idx, pending.length) + '\n');
|
|
88
|
+
};
|
|
89
|
+
const done = () => {
|
|
90
|
+
process.stdin.setRawMode(false);
|
|
91
|
+
process.stdin.pause();
|
|
92
|
+
rl.close();
|
|
93
|
+
process.stdout.write('\n');
|
|
94
|
+
resolve(results);
|
|
95
|
+
};
|
|
96
|
+
const rl = readline.createInterface({ input: process.stdin, terminal: false });
|
|
97
|
+
process.stdin.setRawMode(true);
|
|
98
|
+
process.stdin.resume();
|
|
99
|
+
render();
|
|
100
|
+
process.stdin.on('data', (buf) => {
|
|
101
|
+
const key = buf.toString();
|
|
102
|
+
if (key === 'q' || key === '\x03') {
|
|
103
|
+
done();
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
const d = pending[idx];
|
|
107
|
+
if (key === 'a') {
|
|
108
|
+
results.set(d.id, 'approved');
|
|
109
|
+
}
|
|
110
|
+
else if (key === 'r') {
|
|
111
|
+
results.set(d.id, 'rejected');
|
|
112
|
+
}
|
|
113
|
+
else if (key === 's') {
|
|
114
|
+
results.set(d.id, 'skipped');
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
idx++;
|
|
120
|
+
if (idx >= pending.length) {
|
|
121
|
+
done();
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
render();
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=tui-approval.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tui-approval.js","sourceRoot":"","sources":["../../src/cli/tui-approval.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAG1C,MAAM,CAAC,GAAG;IACR,KAAK,EAAI,SAAS;IAClB,IAAI,EAAK,SAAS;IAClB,GAAG,EAAM,SAAS;IAClB,KAAK,EAAI,UAAU;IACnB,MAAM,EAAG,UAAU;IACnB,GAAG,EAAM,UAAU;IACnB,IAAI,EAAK,UAAU;IACnB,EAAE,EAAO,UAAU;IACnB,KAAK,EAAI,eAAe;IACxB,EAAE,EAAO,CAAC,CAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG;IACpC,SAAS,EAAE,WAAW;CACvB,CAAC;AAEF,SAAS,IAAI,CAAC,IAAY,EAAE,KAAa,EAAE,MAAc;IACvD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,MAAM,GAAG,KAAK,EAAE,CAAC;YACjC,IAAI,IAAI;gBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YACrC,IAAI,GAAG,MAAM,GAAG,IAAI,GAAG,GAAG,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,IAAI,IAAI,IAAI,GAAG,GAAG,CAAC;QACrB,CAAC;IACH,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,EAAE;QAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5C,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,cAAc,CAAC,CAAkB,EAAE,GAAW,EAAE,KAAa;IACpE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,eAAe,CAAC;IAC/B,MAAM,IAAI,GAAG,CAAC,CAAC,UAAU,KAAK,MAAM;QAClC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,KAAK,EAAE;QAC5B,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,QAAQ;YAC3B,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,SAAS,CAAC,CAAC,KAAK,EAAE;YAC/B,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;IAE5B,MAAM,KAAK,GAAG;QACZ,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,0BAA0B,GAAG,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,CAAC,KAAK,EAAE;QAC3E,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC;QACjB,EAAE;QACF,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,EAAE;QACjC,EAAE;QACF,KAAK,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,EAAE;QACzC,KAAK,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,SAAS,GAAG,CAAC,CAAC,KAAK,EAAE;QAChG,KAAK,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,KAAK,IAAI,IAAI,EAAE;QACzC,EAAE;QACF,KAAK,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,GAAG,EAAE,EAAE,MAAM,CAAC,EAAE;KAC3E,CAAC;IAEF,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,EAAE,KAAK,GAAG,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IAC5F,CAAC;IAED,IAAI,CAAC,CAAC,mBAAmB,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,mBAAmB,EAAE,KAAK,GAAG,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IACxH,CAAC;IAED,IAAI,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAChK,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,KAAK,aAAa,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,KAAK,0BAA0B,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC;IAE1J,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAID,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,SAA4B;IAE5B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoB,CAAC;IAE5C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAC9B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,KAAK,cAAc,CAC9D,CAAC;IACF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IAEzC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,IAAI,GAAG,GAAG,CAAC,CAAC;QAEZ,MAAM,MAAM,GAAG,GAAG,EAAE;YAClB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC9B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;QACjF,CAAC,CAAC;QAEF,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAChC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACtB,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3B,OAAO,CAAC,OAAO,CAAC,CAAC;QACnB,CAAC,CAAC;QAEF,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/E,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC/B,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAEvB,MAAM,EAAE,CAAC;QAET,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,GAAW,EAAE,EAAE;YACvC,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;YAE3B,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;gBAClC,IAAI,EAAE,CAAC;gBACP,OAAO;YACT,CAAC;YAED,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;YAEvB,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;gBAChB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;YAChC,CAAC;iBAAM,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;gBACvB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;YAChC,CAAC;iBAAM,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;gBACvB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACN,OAAO;YACT,CAAC;YAED,GAAG,EAAE,CAAC;YACN,IAAI,GAAG,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC1B,IAAI,EAAE,CAAC;YACT,CAAC;iBAAM,CAAC;gBACN,MAAM,EAAE,CAAC;YACX,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,314 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared constants for openlore
|
|
3
|
+
*
|
|
4
|
+
* Centralises magic numbers so they're easy to find, reason about, and change.
|
|
5
|
+
*/
|
|
6
|
+
/** Hidden directory where openlore stores its state */
|
|
7
|
+
export declare const OPENLORE_DIR = ".openlore";
|
|
8
|
+
/** Analysis artifacts sub-directory */
|
|
9
|
+
export declare const OPENLORE_ANALYSIS_SUBDIR = "analysis";
|
|
10
|
+
/** LLM log sub-directory */
|
|
11
|
+
export declare const OPENLORE_LOGS_SUBDIR = "logs";
|
|
12
|
+
/** Verification reports sub-directory */
|
|
13
|
+
export declare const OPENLORE_VERIFICATION_SUBDIR = "verification";
|
|
14
|
+
/** Generation outputs sub-directory */
|
|
15
|
+
export declare const OPENLORE_OUTPUTS_SUBDIR = "outputs";
|
|
16
|
+
/** Spec backups sub-directory */
|
|
17
|
+
export declare const OPENLORE_BACKUPS_SUBDIR = "backups";
|
|
18
|
+
/** Generation intermediate files sub-directory */
|
|
19
|
+
export declare const OPENLORE_GENERATION_SUBDIR = "generation";
|
|
20
|
+
/** Run metadata sub-directory */
|
|
21
|
+
export declare const OPENLORE_RUNS_SUBDIR = "runs";
|
|
22
|
+
/** Config file name inside OPENLORE_DIR */
|
|
23
|
+
export declare const OPENLORE_CONFIG_FILENAME = "config.json";
|
|
24
|
+
/** Relative path to the openlore config file */
|
|
25
|
+
export declare const OPENLORE_CONFIG_REL_PATH = ".openlore/config.json";
|
|
26
|
+
/** Relative path to the analysis output directory */
|
|
27
|
+
export declare const OPENLORE_ANALYSIS_REL_PATH = ".openlore/analysis";
|
|
28
|
+
/** Default openspec root directory name */
|
|
29
|
+
export declare const OPENSPEC_DIR = "openspec";
|
|
30
|
+
/** Default relative path used when creating a new openspec directory */
|
|
31
|
+
export declare const DEFAULT_OPENSPEC_PATH = "./openspec";
|
|
32
|
+
/** Default openspec specs sub-directory */
|
|
33
|
+
export declare const OPENSPEC_SPECS_SUBDIR = "specs";
|
|
34
|
+
/** Default openspec decisions sub-directory */
|
|
35
|
+
export declare const OPENSPEC_DECISIONS_SUBDIR = "decisions";
|
|
36
|
+
/** Config file name inside the openspec directory */
|
|
37
|
+
export declare const OPENSPEC_CONFIG_FILENAME = "config.yaml";
|
|
38
|
+
/** Filename for the repository structure artifact */
|
|
39
|
+
export declare const ARTIFACT_REPO_STRUCTURE = "repo-structure.json";
|
|
40
|
+
/** Filename for the dependency graph artifact */
|
|
41
|
+
export declare const ARTIFACT_DEPENDENCY_GRAPH = "dependency-graph.json";
|
|
42
|
+
/** Filename for the LLM context artifact */
|
|
43
|
+
export declare const ARTIFACT_LLM_CONTEXT = "llm-context.json";
|
|
44
|
+
/** Filename for the requirement mapping artifact */
|
|
45
|
+
export declare const ARTIFACT_MAPPING = "mapping.json";
|
|
46
|
+
/** Filename for the refactor priorities artifact */
|
|
47
|
+
export declare const ARTIFACT_REFACTOR_PRIORITIES = "refactor-priorities.json";
|
|
48
|
+
/** Filename for the content-hash fingerprint used for cache invalidation */
|
|
49
|
+
export declare const ARTIFACT_FINGERPRINT = "fingerprint.json";
|
|
50
|
+
/** Filename for the SQLite call-graph edge store */
|
|
51
|
+
export declare const ARTIFACT_CALL_GRAPH_DB = "call-graph.db";
|
|
52
|
+
/** Filename for the repository map artifact (saved by RepositoryMapper) */
|
|
53
|
+
export declare const ARTIFACT_REPOSITORY_MAP = "repository-map.json";
|
|
54
|
+
/** Filename for the generation report saved to outputs/ */
|
|
55
|
+
export declare const ARTIFACT_GENERATION_REPORT = "generation-report.json";
|
|
56
|
+
/** Filename for the shutdown state file */
|
|
57
|
+
export declare const ARTIFACT_SHUTDOWN_STATE = "shutdown-state.json";
|
|
58
|
+
export declare const ARTIFACT_RAG_MANIFEST = "rag-manifest.json";
|
|
59
|
+
/** Filename for the spec coverage snapshot artifact */
|
|
60
|
+
export declare const ARTIFACT_SPEC_SNAPSHOT = "spec-snapshot.json";
|
|
61
|
+
/** Filename for the parity audit report artifact */
|
|
62
|
+
export declare const ARTIFACT_AUDIT_REPORT = "audit-report.json";
|
|
63
|
+
/** Filename for the database schema inventory artifact */
|
|
64
|
+
export declare const ARTIFACT_SCHEMA_INVENTORY = "schema-inventory.json";
|
|
65
|
+
/** Filename for the API route inventory artifact */
|
|
66
|
+
export declare const ARTIFACT_ROUTE_INVENTORY = "route-inventory.json";
|
|
67
|
+
/** Filename for the middleware inventory artifact */
|
|
68
|
+
export declare const ARTIFACT_MIDDLEWARE_INVENTORY = "middleware-inventory.json";
|
|
69
|
+
/** Filename for the UI component inventory artifact */
|
|
70
|
+
export declare const ARTIFACT_UI_INVENTORY = "ui-inventory.json";
|
|
71
|
+
/** Filename for the environment variable inventory artifact */
|
|
72
|
+
export declare const ARTIFACT_ENV_INVENTORY = "env-inventory.json";
|
|
73
|
+
/** Filename for the external package inventory artifact */
|
|
74
|
+
export declare const ARTIFACT_EXTERNAL_PACKAGES = "external-packages.json";
|
|
75
|
+
/** Default maximum context window for Claude models (tokens) */
|
|
76
|
+
export declare const CLAUDE_MAX_CONTEXT_TOKENS = 200000;
|
|
77
|
+
/** Default maximum context window for Mistral Vibe (tokens) */
|
|
78
|
+
export declare const MISTRAL_VIBE_MAX_CONTEXT_TOKENS = 128000;
|
|
79
|
+
/** Default maximum output tokens for Claude models */
|
|
80
|
+
export declare const CLAUDE_MAX_OUTPUT_TOKENS = 16000;
|
|
81
|
+
/** Default maximum output tokens for Mistral Vibe */
|
|
82
|
+
export declare const MISTRAL_VIBE_MAX_OUTPUT_TOKENS = 4096;
|
|
83
|
+
/** Maximum buffer size for LLM CLI output (bytes) — 50 MB */
|
|
84
|
+
export declare const LLM_CLI_MAX_BUFFER_BYTES: number;
|
|
85
|
+
/** Timeout for LLM CLI calls (ms) — 5 minutes */
|
|
86
|
+
export declare const LLM_CLI_TIMEOUT_MS = 300000;
|
|
87
|
+
/** Default maximum number of files to include in analysis (effectively uncapped) */
|
|
88
|
+
export declare const DEFAULT_MAX_FILES = 100000;
|
|
89
|
+
/** Default maximum number of changed files to check in drift detection */
|
|
90
|
+
export declare const DEFAULT_DRIFT_MAX_FILES = 100;
|
|
91
|
+
/** How old (ms) an analysis can be before being considered stale (1 hour) */
|
|
92
|
+
export declare const ANALYSIS_STALE_THRESHOLD_MS: number;
|
|
93
|
+
/** How old (ms) an analysis can be before being re-used in 'run' (1 hour) */
|
|
94
|
+
export declare const ANALYSIS_REUSE_THRESHOLD_MS: number;
|
|
95
|
+
/** Grace period after consolidation during which the gate skips the no_decisions_recorded check (1 hour) */
|
|
96
|
+
export declare const CONSOLIDATION_GRACE_PERIOD_MS: number;
|
|
97
|
+
/** Canonical gate block reason codes — shared by gate handler, docs, tests, and AGENTS.md */
|
|
98
|
+
export declare const GATE_REASONS: {
|
|
99
|
+
readonly VERIFIED: "verified";
|
|
100
|
+
readonly APPROVED_NOT_SYNCED: "approved_not_synced";
|
|
101
|
+
readonly DRAFTS_PENDING_CONSOLIDATION: "drafts_pending_consolidation";
|
|
102
|
+
readonly NO_DECISIONS_RECORDED: "no_decisions_recorded";
|
|
103
|
+
};
|
|
104
|
+
export type GateReason = typeof GATE_REASONS[keyof typeof GATE_REASONS];
|
|
105
|
+
/** Default port for the Vite viewer server */
|
|
106
|
+
export declare const DEFAULT_VIEWER_PORT = 5173;
|
|
107
|
+
/** Default host for the Vite viewer server */
|
|
108
|
+
export declare const DEFAULT_VIEWER_HOST = "127.0.0.1";
|
|
109
|
+
/** Maximum allowed chat request body size (bytes) — 512 KB */
|
|
110
|
+
export declare const MAX_CHAT_BODY_BYTES: number;
|
|
111
|
+
/** Maximum search query length (characters) */
|
|
112
|
+
export declare const MAX_QUERY_LENGTH = 1000;
|
|
113
|
+
/** Estimated system prompt overhead per LLM call (tokens) */
|
|
114
|
+
export declare const LLM_SYSTEM_PROMPT_OVERHEAD_TOKENS = 500;
|
|
115
|
+
/** Estimated output / input token ratio for spec generation tasks */
|
|
116
|
+
export declare const GENERATION_OUTPUT_RATIO = 0.4;
|
|
117
|
+
export declare const DEFAULT_ANTHROPIC_MODEL = "claude-sonnet-4-20250514";
|
|
118
|
+
export declare const DEFAULT_OPENAI_MODEL = "gpt-4o";
|
|
119
|
+
export declare const DEFAULT_OPENAI_COMPAT_MODEL = "mistral-large-latest";
|
|
120
|
+
export declare const DEFAULT_GEMINI_MODEL = "gemini-2.0-flash";
|
|
121
|
+
export declare const DEFAULT_COPILOT_MODEL = "gpt-4o";
|
|
122
|
+
/** Lighter model used for interactive chat (lower cost, faster) */
|
|
123
|
+
export declare const DEFAULT_CHAT_OPENAI_MODEL = "gpt-4o-mini";
|
|
124
|
+
/** Minimum Node.js major version required */
|
|
125
|
+
export declare const MIN_NODE_MAJOR_VERSION = 20;
|
|
126
|
+
/** Analysis age (hours) beyond which doctor warns it may be stale */
|
|
127
|
+
export declare const ANALYSIS_AGE_WARNING_HOURS = 24;
|
|
128
|
+
/** Minimum available disk space (MB) before doctor reports failure */
|
|
129
|
+
export declare const MIN_DISK_SPACE_FAIL_MB = 200;
|
|
130
|
+
/** Minimum available disk space (MB) before doctor reports a warning */
|
|
131
|
+
export declare const MIN_DISK_SPACE_WARN_MB = 500;
|
|
132
|
+
/** Default maximum number of retries for LLM API calls */
|
|
133
|
+
export declare const DEFAULT_LLM_MAX_RETRIES = 3;
|
|
134
|
+
/** Default initial retry delay (ms) */
|
|
135
|
+
export declare const DEFAULT_LLM_INITIAL_DELAY_MS = 1000;
|
|
136
|
+
/** Default maximum retry delay (ms) */
|
|
137
|
+
export declare const DEFAULT_LLM_MAX_DELAY_MS = 30000;
|
|
138
|
+
/** Default timeout for LLM API calls (ms) — 2 minutes */
|
|
139
|
+
export declare const DEFAULT_LLM_TIMEOUT_MS = 120000;
|
|
140
|
+
/** Default cost warning threshold (USD) */
|
|
141
|
+
export declare const DEFAULT_LLM_COST_WARNING_THRESHOLD = 10;
|
|
142
|
+
/** Fraction of max context tokens at which a warning is emitted */
|
|
143
|
+
export declare const CONTEXT_LIMIT_WARNING_RATIO = 0.9;
|
|
144
|
+
/** Maximum characters of diff content passed to LLM context */
|
|
145
|
+
export declare const DIFF_MAX_CHARS = 4000;
|
|
146
|
+
/** Stage 1 (project survey) max output tokens */
|
|
147
|
+
export declare const STAGE1_MAX_TOKENS = 3000;
|
|
148
|
+
/** Stage 2 (entity extraction) max output tokens per file chunk */
|
|
149
|
+
export declare const STAGE2_MAX_TOKENS = 4000;
|
|
150
|
+
/** Stage 3 (service analysis) max output tokens per file chunk */
|
|
151
|
+
export declare const STAGE3_MAX_TOKENS = 4000;
|
|
152
|
+
/** Stage 4 (API extraction) max output tokens per file chunk */
|
|
153
|
+
export declare const STAGE4_MAX_TOKENS = 4000;
|
|
154
|
+
/** Stage 5 (architecture synthesis) max output tokens */
|
|
155
|
+
export declare const STAGE5_MAX_TOKENS = 3000;
|
|
156
|
+
/** Stage 6 (ADR enrichment) max output tokens */
|
|
157
|
+
export declare const STAGE6_MAX_TOKENS = 5000;
|
|
158
|
+
/** Max file content characters passed per chunk to stages 2–4 */
|
|
159
|
+
export declare const STAGE_CHUNK_MAX_CHARS = 8000;
|
|
160
|
+
/** Max characters of skeleton excerpt appended to graph prompt */
|
|
161
|
+
export declare const SKELETON_EXCERPT_MAX_CHARS = 4000;
|
|
162
|
+
/** Max characters for a standalone skeleton used as fallback for large files without god functions */
|
|
163
|
+
export declare const SKELETON_STANDALONE_MAX_CHARS = 10000;
|
|
164
|
+
/** Verification engine: max tokens for file-purpose prediction */
|
|
165
|
+
export declare const VERIFICATION_PREDICTION_MAX_TOKENS = 1000;
|
|
166
|
+
/** Drift detector: max tokens for LLM change classification */
|
|
167
|
+
export declare const DRIFT_CLASSIFICATION_MAX_TOKENS = 200;
|
|
168
|
+
/** Max output tokens for chat agent turns (Anthropic) */
|
|
169
|
+
export declare const CHAT_AGENT_MAX_TOKENS = 4096;
|
|
170
|
+
/** Characters of API error body included in error messages */
|
|
171
|
+
export declare const API_ERROR_PREVIEW_LENGTH = 300;
|
|
172
|
+
/** Fallback estimated tokens for the project survey phase when not yet computed */
|
|
173
|
+
export declare const DEFAULT_SURVEY_ESTIMATED_TOKENS = 2000;
|
|
174
|
+
/** Max high-value files retained after scoring */
|
|
175
|
+
export declare const HIGH_VALUE_FILES_LIMIT = 50;
|
|
176
|
+
/** Max high-value files shown in text summary */
|
|
177
|
+
export declare const HIGH_VALUE_FILES_PREVIEW_LIMIT = 20;
|
|
178
|
+
/** Max entry points shown in text summary */
|
|
179
|
+
export declare const ENTRY_POINTS_PREVIEW_LIMIT = 10;
|
|
180
|
+
/** Max languages shown in text summary */
|
|
181
|
+
export declare const LANGUAGES_PREVIEW_LIMIT = 10;
|
|
182
|
+
/** Max directories shown in text summary */
|
|
183
|
+
export declare const DIRECTORIES_PREVIEW_LIMIT = 15;
|
|
184
|
+
/** Risk score weight for fan-in (callers) */
|
|
185
|
+
export declare const RISK_SCORE_FAN_IN_WEIGHT = 4;
|
|
186
|
+
/** Risk score weight for fan-out (callees) */
|
|
187
|
+
export declare const RISK_SCORE_FAN_OUT_WEIGHT = 2;
|
|
188
|
+
/** Risk score bonus when the node is a hub */
|
|
189
|
+
export declare const RISK_SCORE_HUB_BONUS = 20;
|
|
190
|
+
/** Risk score weight for blast radius */
|
|
191
|
+
export declare const RISK_SCORE_BLAST_RADIUS_WEIGHT = 1.5;
|
|
192
|
+
/** Risk score at or below which a function is considered low-risk */
|
|
193
|
+
export declare const RISK_SCORE_LOW_THRESHOLD = 20;
|
|
194
|
+
/** Risk score at or below which a function is considered medium-risk */
|
|
195
|
+
export declare const RISK_SCORE_MEDIUM_THRESHOLD = 45;
|
|
196
|
+
/** Fan-out at or above which a function is treated as a god-function */
|
|
197
|
+
export declare const GOD_FUNCTION_FAN_OUT_THRESHOLD = 8;
|
|
198
|
+
/** Fan-out threshold for SRP (single-responsibility) refactoring recommendation */
|
|
199
|
+
export declare const REFACTOR_SRP_FAN_OUT_THRESHOLD = 5;
|
|
200
|
+
/** Maximum fan-in for a node to be a low-risk refactor candidate */
|
|
201
|
+
export declare const LOW_RISK_MAX_FAN_IN = 2;
|
|
202
|
+
/** Maximum fan-out for a node to be a low-risk refactor candidate */
|
|
203
|
+
export declare const LOW_RISK_MAX_FAN_OUT = 3;
|
|
204
|
+
/** Default minimum fan-in to be classified as a critical hub */
|
|
205
|
+
export declare const CRITICAL_HUBS_DEFAULT_MIN_FAN_IN = 3;
|
|
206
|
+
/** Default subgraph traversal depth */
|
|
207
|
+
export declare const SUBGRAPH_DEFAULT_MAX_DEPTH = 3;
|
|
208
|
+
/** Maximum allowed subgraph traversal depth */
|
|
209
|
+
export declare const SUBGRAPH_MAX_DEPTH_LIMIT = 20;
|
|
210
|
+
/** Default max depth for trace_execution_path BFS */
|
|
211
|
+
export declare const TRACE_PATH_DEFAULT_MAX_DEPTH = 6;
|
|
212
|
+
/** Maximum number of paths returned by trace_execution_path */
|
|
213
|
+
export declare const TRACE_PATH_MAX_PATHS = 10;
|
|
214
|
+
/** Criticality score weight for fan-in */
|
|
215
|
+
export declare const CRITICALITY_FAN_IN_WEIGHT = 3;
|
|
216
|
+
/** Criticality score weight for fan-out */
|
|
217
|
+
export declare const CRITICALITY_FAN_OUT_WEIGHT = 1.5;
|
|
218
|
+
/** Criticality score bonus when a node has layer violations */
|
|
219
|
+
export declare const CRITICALITY_VIOLATION_BONUS = 10;
|
|
220
|
+
/** Fan-in at or above which a hub is treated as heavily depended-upon */
|
|
221
|
+
export declare const HUB_HIGH_FAN_IN_THRESHOLD = 8;
|
|
222
|
+
/** Fan-out at or above which a hub is treated as an orchestration-heavy god-function */
|
|
223
|
+
export declare const HUB_HIGH_FAN_OUT_THRESHOLD = 5;
|
|
224
|
+
/** Stability score at or above which a hub can be refactored now */
|
|
225
|
+
export declare const STABILITY_SCORE_CAN_REFACTOR = 60;
|
|
226
|
+
/** Stability score at or above which a hub can be refactored after stabilising deps */
|
|
227
|
+
export declare const STABILITY_SCORE_STABILISE_FIRST = 30;
|
|
228
|
+
/** Default number of refactor candidates to return */
|
|
229
|
+
export declare const LOW_RISK_REFACTOR_CANDIDATES_DEFAULT_LIMIT = 5;
|
|
230
|
+
/** Default number of leaf functions to return */
|
|
231
|
+
export declare const LEAF_FUNCTIONS_DEFAULT_LIMIT = 20;
|
|
232
|
+
/** Similarity score returned for containment matches (one name includes the other) */
|
|
233
|
+
export declare const SIMILARITY_CONTAINMENT_SCORE = 0.8;
|
|
234
|
+
/** Weight applied to Jaccard token-overlap similarity */
|
|
235
|
+
export declare const SIMILARITY_TOKEN_OVERLAP_WEIGHT = 0.7;
|
|
236
|
+
/** Minimum heuristic similarity score to include a function as a candidate match */
|
|
237
|
+
export declare const HEURISTIC_MATCH_MIN_SCORE = 0.7;
|
|
238
|
+
/** Maximum number of heuristic fallback matches returned per operation */
|
|
239
|
+
export declare const MAX_HEURISTIC_MATCHES_PER_OP = 2;
|
|
240
|
+
/** Max hub functions included in Stage 5 architecture prompt */
|
|
241
|
+
export declare const STAGE5_HUB_FUNCTIONS_LIMIT = 8;
|
|
242
|
+
/** Max entry points included in Stage 5 architecture prompt */
|
|
243
|
+
export declare const STAGE5_ENTRY_POINTS_LIMIT = 8;
|
|
244
|
+
/** Max layer violations included in Stage 5 architecture prompt */
|
|
245
|
+
export declare const STAGE5_VIOLATIONS_LIMIT = 5;
|
|
246
|
+
/** Max refactor priority entries (god functions, cycles, SRP violations) shown to Stage 5 */
|
|
247
|
+
export declare const STAGE5_REFACTOR_PRIORITIES_LIMIT = 8;
|
|
248
|
+
/** Max dependency cycles shown to Stage 5 */
|
|
249
|
+
export declare const STAGE5_CYCLES_LIMIT = 3;
|
|
250
|
+
/** Approximate tokens per character used for LLM context token estimation (~4 chars/token) */
|
|
251
|
+
export declare const TOKENS_PER_CHAR_DEFAULT = 0.25;
|
|
252
|
+
/** Max characters of file content included per file in Phase 2 (deep analysis) */
|
|
253
|
+
export declare const PHASE2_FILE_CONTENT_MAX_CHARS = 10000;
|
|
254
|
+
/** Max characters of file content included per file in Phase 3 (validation) */
|
|
255
|
+
export declare const PHASE3_FILE_CONTENT_MAX_CHARS = 5000;
|
|
256
|
+
/** Max files shown in dependency diagram (Mermaid) */
|
|
257
|
+
export declare const DEPENDENCY_DIAGRAM_MAX_FILES = 30;
|
|
258
|
+
/** Max number of top refactor issues returned by analyze_codebase */
|
|
259
|
+
export declare const TOP_REFACTOR_ISSUES_LIMIT = 10;
|
|
260
|
+
/** Composite score semantic weight for suggest_insertion_points */
|
|
261
|
+
export declare const INSERTION_SEMANTIC_WEIGHT = 0.6;
|
|
262
|
+
/** Composite score structural weight for suggest_insertion_points */
|
|
263
|
+
export declare const INSERTION_STRUCTURAL_WEIGHT = 0.4;
|
|
264
|
+
/** Structural bonus scores per insertion role */
|
|
265
|
+
export declare const INSERTION_ROLE_BONUS_ENTRY_POINT = 1;
|
|
266
|
+
export declare const INSERTION_ROLE_BONUS_ORCHESTRATOR = 0.8;
|
|
267
|
+
export declare const INSERTION_ROLE_BONUS_HUB = 0.6;
|
|
268
|
+
export declare const INSERTION_ROLE_BONUS_INTERNAL = 0.4;
|
|
269
|
+
export declare const INSERTION_ROLE_BONUS_UTILITY = 0.3;
|
|
270
|
+
/** Fan-out threshold at or above which a node is classified as an orchestrator */
|
|
271
|
+
export declare const INSERTION_ORCHESTRATOR_FAN_OUT_THRESHOLD = 5;
|
|
272
|
+
/** Maximum files included in LLM deep analysis phase */
|
|
273
|
+
export declare const MAX_DEEP_ANALYSIS_FILES = 20;
|
|
274
|
+
/** Fraction of high-value files selected for LLM deep analysis */
|
|
275
|
+
export declare const DEEP_ANALYSIS_FILE_RATIO = 0.3;
|
|
276
|
+
/** Maximum files included in LLM validation phase */
|
|
277
|
+
export declare const MAX_VALIDATION_FILES = 5;
|
|
278
|
+
/** Estimated cost (USD) above which the generate command prompts for confirmation */
|
|
279
|
+
export declare const COST_CONFIRMATION_THRESHOLD = 0.5;
|
|
280
|
+
/** Base score added for each fan-in/fan-out excess block */
|
|
281
|
+
export declare const REFACTOR_EXCESS_BASE_SCORE = 2;
|
|
282
|
+
/** Maximum proportional score boost for excess fan-in */
|
|
283
|
+
export declare const MAX_FAN_IN_SCORE_BOOST = 3;
|
|
284
|
+
/** Maximum proportional score boost for excess fan-out */
|
|
285
|
+
export declare const MAX_FAN_OUT_SCORE_BOOST = 3;
|
|
286
|
+
/** Base score added for SRP violations */
|
|
287
|
+
export declare const SRP_BASE_SCORE = 1.5;
|
|
288
|
+
/** Per-requirement penalty above SRP_MAX_REQUIREMENTS */
|
|
289
|
+
export declare const SRP_PER_REQUIREMENT_PENALTY = 0.5;
|
|
290
|
+
/** Score added for clone group membership */
|
|
291
|
+
export declare const CLONE_GROUP_MEMBERSHIP_SCORE = 1.5;
|
|
292
|
+
/** Maximum call-graph depth considered "shallow" (bonus for refactoring) */
|
|
293
|
+
export declare const SHALLOW_FUNCTION_DEPTH_MAX = 2;
|
|
294
|
+
/** Score bonus for shallow functions with issues */
|
|
295
|
+
export declare const SHALLOW_FUNCTION_SCORE_BONUS = 0.5;
|
|
296
|
+
/** McCabe cyclomatic complexity threshold above which a function is flagged (≥10 = complex) */
|
|
297
|
+
export declare const HIGH_COMPLEXITY_THRESHOLD = 10;
|
|
298
|
+
/** Base priority score boost for high-complexity functions (scales with excess above threshold) */
|
|
299
|
+
export declare const HIGH_COMPLEXITY_SCORE_BOOST = 1.5;
|
|
300
|
+
/** Cap on the distance-weighted transitive caller score in detect_changes risk model */
|
|
301
|
+
export declare const TRANSITIVE_SCORE_MAX = 10;
|
|
302
|
+
/** Sub-directory inside OPENLORE_DIR where pending decisions are stored */
|
|
303
|
+
export declare const OPENLORE_DECISIONS_SUBDIR = "decisions";
|
|
304
|
+
/** Filename for the pending decisions store */
|
|
305
|
+
export declare const DECISIONS_PENDING_FILE = "pending.json";
|
|
306
|
+
/** Maximum number of changed files passed to the consolidation LLM */
|
|
307
|
+
export declare const DECISIONS_EXTRACTION_MAX_FILES = 50;
|
|
308
|
+
/** Maximum diff characters fed to the consolidation LLM per file */
|
|
309
|
+
export declare const DECISIONS_DIFF_MAX_CHARS = 12000;
|
|
310
|
+
/** Max output tokens for consolidation LLM call */
|
|
311
|
+
export declare const DECISIONS_CONSOLIDATION_MAX_TOKENS = 2000;
|
|
312
|
+
/** Max output tokens for verification LLM call */
|
|
313
|
+
export declare const DECISIONS_VERIFICATION_MAX_TOKENS = 1500;
|
|
314
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,uDAAuD;AACvD,eAAO,MAAM,YAAY,cAAc,CAAC;AAExC,uCAAuC;AACvC,eAAO,MAAM,wBAAwB,aAAa,CAAC;AAEnD,4BAA4B;AAC5B,eAAO,MAAM,oBAAoB,SAAS,CAAC;AAE3C,yCAAyC;AACzC,eAAO,MAAM,4BAA4B,iBAAiB,CAAC;AAE3D,uCAAuC;AACvC,eAAO,MAAM,uBAAuB,YAAY,CAAC;AAEjD,iCAAiC;AACjC,eAAO,MAAM,uBAAuB,YAAY,CAAC;AAEjD,kDAAkD;AAClD,eAAO,MAAM,0BAA0B,eAAe,CAAC;AAEvD,iCAAiC;AACjC,eAAO,MAAM,oBAAoB,SAAS,CAAC;AAE3C,2CAA2C;AAC3C,eAAO,MAAM,wBAAwB,gBAAgB,CAAC;AAEtD,gDAAgD;AAChD,eAAO,MAAM,wBAAwB,0BAAgD,CAAC;AAEtF,qDAAqD;AACrD,eAAO,MAAM,0BAA0B,uBAAgD,CAAC;AAExF,2CAA2C;AAC3C,eAAO,MAAM,YAAY,aAAa,CAAC;AAEvC,wEAAwE;AACxE,eAAO,MAAM,qBAAqB,eAAe,CAAC;AAElD,2CAA2C;AAC3C,eAAO,MAAM,qBAAqB,UAAU,CAAC;AAE7C,+CAA+C;AAC/C,eAAO,MAAM,yBAAyB,cAAc,CAAC;AAErD,qDAAqD;AACrD,eAAO,MAAM,wBAAwB,gBAAgB,CAAC;AAMtD,qDAAqD;AACrD,eAAO,MAAM,uBAAuB,wBAAwB,CAAC;AAE7D,iDAAiD;AACjD,eAAO,MAAM,yBAAyB,0BAA0B,CAAC;AAEjE,4CAA4C;AAC5C,eAAO,MAAM,oBAAoB,qBAAqB,CAAC;AAEvD,oDAAoD;AACpD,eAAO,MAAM,gBAAgB,iBAAiB,CAAC;AAE/C,oDAAoD;AACpD,eAAO,MAAM,4BAA4B,6BAA6B,CAAC;AAEvE,4EAA4E;AAC5E,eAAO,MAAM,oBAAoB,qBAAqB,CAAC;AAEvD,oDAAoD;AACpD,eAAO,MAAM,sBAAsB,kBAAkB,CAAC;AAEtD,2EAA2E;AAC3E,eAAO,MAAM,uBAAuB,wBAAwB,CAAC;AAE7D,2DAA2D;AAC3D,eAAO,MAAM,0BAA0B,2BAA2B,CAAC;AAEnE,2CAA2C;AAC3C,eAAO,MAAM,uBAAuB,wBAAwB,CAAC;AAC7D,eAAO,MAAM,qBAAqB,sBAAsB,CAAC;AAEzD,uDAAuD;AACvD,eAAO,MAAM,sBAAsB,uBAAuB,CAAC;AAE3D,oDAAoD;AACpD,eAAO,MAAM,qBAAqB,sBAAsB,CAAC;AAEzD,0DAA0D;AAC1D,eAAO,MAAM,yBAAyB,0BAA0B,CAAC;AAEjE,oDAAoD;AACpD,eAAO,MAAM,wBAAwB,yBAAyB,CAAC;AAE/D,qDAAqD;AACrD,eAAO,MAAM,6BAA6B,8BAA8B,CAAC;AAEzE,uDAAuD;AACvD,eAAO,MAAM,qBAAqB,sBAAsB,CAAC;AAEzD,+DAA+D;AAC/D,eAAO,MAAM,sBAAsB,uBAAuB,CAAC;AAE3D,2DAA2D;AAC3D,eAAO,MAAM,0BAA0B,2BAA2B,CAAC;AAMnE,gEAAgE;AAChE,eAAO,MAAM,yBAAyB,SAAU,CAAC;AAEjD,+DAA+D;AAC/D,eAAO,MAAM,+BAA+B,SAAU,CAAC;AAEvD,sDAAsD;AACtD,eAAO,MAAM,wBAAwB,QAAS,CAAC;AAE/C,qDAAqD;AACrD,eAAO,MAAM,8BAA8B,OAAQ,CAAC;AAEpD,6DAA6D;AAC7D,eAAO,MAAM,wBAAwB,QAAmB,CAAC;AAEzD,iDAAiD;AACjD,eAAO,MAAM,kBAAkB,SAAU,CAAC;AAM1C,oFAAoF;AACpF,eAAO,MAAM,iBAAiB,SAAU,CAAC;AAEzC,0EAA0E;AAC1E,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAE3C,6EAA6E;AAC7E,eAAO,MAAM,2BAA2B,QAAiB,CAAC;AAE1D,6EAA6E;AAC7E,eAAO,MAAM,2BAA2B,QAAiB,CAAC;AAE1D,4GAA4G;AAC5G,eAAO,MAAM,6BAA6B,QAAiB,CAAC;AAE5D,6FAA6F;AAC7F,eAAO,MAAM,YAAY;;;;;CAKf,CAAC;AACX,MAAM,MAAM,UAAU,GAAG,OAAO,YAAY,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC;AAMxE,8CAA8C;AAC9C,eAAO,MAAM,mBAAmB,OAAO,CAAC;AAExC,8CAA8C;AAC9C,eAAO,MAAM,mBAAmB,cAAc,CAAC;AAE/C,8DAA8D;AAC9D,eAAO,MAAM,mBAAmB,QAAa,CAAC;AAE9C,+CAA+C;AAC/C,eAAO,MAAM,gBAAgB,OAAQ,CAAC;AAMtC,6DAA6D;AAC7D,eAAO,MAAM,iCAAiC,MAAM,CAAC;AAErD,qEAAqE;AACrE,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAM3C,eAAO,MAAM,uBAAuB,6BAA6B,CAAC;AAClE,eAAO,MAAM,oBAAoB,WAAW,CAAC;AAC7C,eAAO,MAAM,2BAA2B,yBAAyB,CAAC;AAClE,eAAO,MAAM,oBAAoB,qBAAqB,CAAC;AACvD,eAAO,MAAM,qBAAqB,WAAW,CAAC;AAC9C,mEAAmE;AACnE,eAAO,MAAM,yBAAyB,gBAAgB,CAAC;AAMvD,6CAA6C;AAC7C,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC,qEAAqE;AACrE,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAE7C,sEAAsE;AACtE,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAE1C,wEAAwE;AACxE,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAM1C,0DAA0D;AAC1D,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAEzC,uCAAuC;AACvC,eAAO,MAAM,4BAA4B,OAAQ,CAAC;AAElD,uCAAuC;AACvC,eAAO,MAAM,wBAAwB,QAAS,CAAC;AAE/C,yDAAyD;AACzD,eAAO,MAAM,sBAAsB,SAAU,CAAC;AAE9C,2CAA2C;AAC3C,eAAO,MAAM,kCAAkC,KAAO,CAAC;AAEvD,mEAAmE;AACnE,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAM/C,+DAA+D;AAC/D,eAAO,MAAM,cAAc,OAAQ,CAAC;AAMpC,iDAAiD;AACjD,eAAO,MAAM,iBAAiB,OAAQ,CAAC;AAEvC,mEAAmE;AACnE,eAAO,MAAM,iBAAiB,OAAQ,CAAC;AAEvC,kEAAkE;AAClE,eAAO,MAAM,iBAAiB,OAAQ,CAAC;AAEvC,gEAAgE;AAChE,eAAO,MAAM,iBAAiB,OAAQ,CAAC;AAEvC,yDAAyD;AACzD,eAAO,MAAM,iBAAiB,OAAQ,CAAC;AAEvC,iDAAiD;AACjD,eAAO,MAAM,iBAAiB,OAAQ,CAAC;AAEvC,iEAAiE;AACjE,eAAO,MAAM,qBAAqB,OAAQ,CAAC;AAE3C,kEAAkE;AAClE,eAAO,MAAM,0BAA0B,OAAQ,CAAC;AAEhD,sGAAsG;AACtG,eAAO,MAAM,6BAA6B,QAAS,CAAC;AAEpD,kEAAkE;AAClE,eAAO,MAAM,kCAAkC,OAAQ,CAAC;AAExD,+DAA+D;AAC/D,eAAO,MAAM,+BAA+B,MAAM,CAAC;AAMnD,yDAAyD;AACzD,eAAO,MAAM,qBAAqB,OAAQ,CAAC;AAE3C,8DAA8D;AAC9D,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAM5C,mFAAmF;AACnF,eAAO,MAAM,+BAA+B,OAAQ,CAAC;AAMrD,kDAAkD;AAClD,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC,iDAAiD;AACjD,eAAO,MAAM,8BAA8B,KAAK,CAAC;AAEjD,6CAA6C;AAC7C,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAE7C,0CAA0C;AAC1C,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAE1C,4CAA4C;AAC5C,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAM5C,6CAA6C;AAC7C,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAE1C,8CAA8C;AAC9C,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAE3C,8CAA8C;AAC9C,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC,yCAAyC;AACzC,eAAO,MAAM,8BAA8B,MAAM,CAAC;AAElD,qEAAqE;AACrE,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAE3C,wEAAwE;AACxE,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAE9C,wEAAwE;AACxE,eAAO,MAAM,8BAA8B,IAAI,CAAC;AAEhD,mFAAmF;AACnF,eAAO,MAAM,8BAA8B,IAAI,CAAC;AAEhD,oEAAoE;AACpE,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC,qEAAqE;AACrE,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAEtC,gEAAgE;AAChE,eAAO,MAAM,gCAAgC,IAAI,CAAC;AAElD,uCAAuC;AACvC,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAE5C,+CAA+C;AAC/C,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAE3C,qDAAqD;AACrD,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAE9C,+DAA+D;AAC/D,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC,0CAA0C;AAC1C,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAE3C,2CAA2C;AAC3C,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAE9C,+DAA+D;AAC/D,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAE9C,yEAAyE;AACzE,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAE3C,wFAAwF;AACxF,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAE5C,oEAAoE;AACpE,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAE/C,uFAAuF;AACvF,eAAO,MAAM,+BAA+B,KAAK,CAAC;AAElD,sDAAsD;AACtD,eAAO,MAAM,0CAA0C,IAAI,CAAC;AAE5D,iDAAiD;AACjD,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAM/C,sFAAsF;AACtF,eAAO,MAAM,4BAA4B,MAAM,CAAC;AAEhD,yDAAyD;AACzD,eAAO,MAAM,+BAA+B,MAAM,CAAC;AAEnD,oFAAoF;AACpF,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAE7C,0EAA0E;AAC1E,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAM9C,gEAAgE;AAChE,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAE5C,+DAA+D;AAC/D,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAE3C,mEAAmE;AACnE,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAEzC,6FAA6F;AAC7F,eAAO,MAAM,gCAAgC,IAAI,CAAC;AAElD,6CAA6C;AAC7C,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAMrC,8FAA8F;AAC9F,eAAO,MAAM,uBAAuB,OAAO,CAAC;AAE5C,kFAAkF;AAClF,eAAO,MAAM,6BAA6B,QAAS,CAAC;AAEpD,+EAA+E;AAC/E,eAAO,MAAM,6BAA6B,OAAQ,CAAC;AAEnD,sDAAsD;AACtD,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAM/C,qEAAqE;AACrE,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAE5C,mEAAmE;AACnE,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAE7C,qEAAqE;AACrE,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAE/C,iDAAiD;AACjD,eAAO,MAAM,gCAAgC,IAAM,CAAC;AACpD,eAAO,MAAM,iCAAiC,MAAM,CAAC;AACrD,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAC5C,eAAO,MAAM,6BAA6B,MAAM,CAAC;AACjD,eAAO,MAAM,4BAA4B,MAAM,CAAC;AAEhD,kFAAkF;AAClF,eAAO,MAAM,wCAAwC,IAAI,CAAC;AAM1D,wDAAwD;AACxD,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAE1C,kEAAkE;AAClE,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAE5C,qDAAqD;AACrD,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAMtC,qFAAqF;AACrF,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAM/C,4DAA4D;AAC5D,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAE5C,yDAAyD;AACzD,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC,0DAA0D;AAC1D,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAEzC,0CAA0C;AAC1C,eAAO,MAAM,cAAc,MAAM,CAAC;AAElC,yDAAyD;AACzD,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAE/C,6CAA6C;AAC7C,eAAO,MAAM,4BAA4B,MAAM,CAAC;AAEhD,4EAA4E;AAC5E,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAE5C,oDAAoD;AACpD,eAAO,MAAM,4BAA4B,MAAM,CAAC;AAEhD,+FAA+F;AAC/F,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAE5C,mGAAmG;AACnG,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAE/C,wFAAwF;AACxF,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAMvC,2EAA2E;AAC3E,eAAO,MAAM,yBAAyB,cAAc,CAAC;AAErD,+CAA+C;AAC/C,eAAO,MAAM,sBAAsB,iBAAiB,CAAC;AAErD,sEAAsE;AACtE,eAAO,MAAM,8BAA8B,KAAK,CAAC;AAEjD,oEAAoE;AACpE,eAAO,MAAM,wBAAwB,QAAS,CAAC;AAE/C,mDAAmD;AACnD,eAAO,MAAM,kCAAkC,OAAQ,CAAC;AAExD,kDAAkD;AAClD,eAAO,MAAM,iCAAiC,OAAQ,CAAC"}
|