devbrain-cli 0.1.0 → 0.3.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/README.md +26 -26
- package/dist/bin.js +66 -4
- package/dist/commands/context.command.d.ts +2 -1
- package/dist/commands/context.command.js +42 -4
- package/dist/commands/history.command.d.ts +10 -0
- package/dist/commands/history.command.js +66 -0
- package/dist/commands/hook.command.d.ts +14 -0
- package/dist/commands/hook.command.js +40 -0
- package/dist/commands/init.command.d.ts +1 -0
- package/dist/commands/init.command.js +51 -15
- package/dist/commands/learn.command.d.ts +17 -4
- package/dist/commands/learn.command.js +266 -44
- package/dist/commands/search.command.d.ts +14 -0
- package/dist/commands/search.command.js +90 -0
- package/dist/commands/status.command.d.ts +12 -0
- package/dist/commands/status.command.js +82 -0
- package/dist/temp-prefix/devbrain +16 -0
- package/dist/temp-prefix/devbrain.cmd +17 -0
- package/dist/temp-prefix/devbrain.ps1 +28 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/LICENSE +21 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/README.md +26 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/dist/bin.d.ts +2 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/dist/bin.js +110 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/dist/commands/context.command.d.ts +17 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/dist/commands/context.command.js +74 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/dist/commands/history.command.d.ts +10 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/dist/commands/history.command.js +66 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/dist/commands/hook.command.d.ts +14 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/dist/commands/hook.command.js +40 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/dist/commands/init.command.d.ts +17 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/dist/commands/init.command.js +93 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/dist/commands/learn.command.d.ts +30 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/dist/commands/learn.command.js +294 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/dist/commands/search.command.d.ts +14 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/dist/commands/search.command.js +90 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/dist/commands/status.command.d.ts +12 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/dist/commands/status.command.js +82 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/dist/pipeline/command.pipeline.d.ts +28 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/dist/pipeline/command.pipeline.js +65 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/dist/ui/logger.d.ts +13 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/dist/ui/logger.js +31 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/.bin/fxparser +16 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/.bin/fxparser.cmd +17 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/.bin/fxparser.ps1 +28 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/analysis/analyzer.interface.d.ts +10 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/analysis/analyzer.interface.js +2 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/analysis/analyzer.registry.d.ts +20 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/analysis/analyzer.registry.js +67 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/analysis/analyzers/build-gradle.analyzer.d.ts +14 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/analysis/analyzers/build-gradle.analyzer.js +53 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/analysis/analyzers/docker.analyzer.d.ts +14 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/analysis/analyzers/docker.analyzer.js +38 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/analysis/analyzers/git.analyzer.d.ts +14 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/analysis/analyzers/git.analyzer.js +54 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/analysis/analyzers/package-json.analyzer.d.ts +14 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/analysis/analyzers/package-json.analyzer.js +72 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/analysis/analyzers/pom-xml.analyzer.d.ts +14 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/analysis/analyzers/pom-xml.analyzer.js +70 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/analysis/analyzers/readme.analyzer.d.ts +17 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/analysis/analyzers/readme.analyzer.js +65 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/analysis/analyzers/requirements-txt.analyzer.d.ts +14 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/analysis/analyzers/requirements-txt.analyzer.js +62 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/analysis/analyzers/source-code.analyzer.d.ts +24 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/analysis/analyzers/source-code.analyzer.js +126 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/analysis/analyzers/tsconfig.analyzer.d.ts +14 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/analysis/analyzers/tsconfig.analyzer.js +47 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/analysis/scanner.d.ts +21 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/analysis/scanner.js +81 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/context/context.service.d.ts +16 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/context/context.service.js +158 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/embeddings/EmbeddingProvider.d.ts +4 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/embeddings/EmbeddingProvider.js +2 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/embeddings/TransformersProvider.d.ts +9 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/embeddings/TransformersProvider.js +70 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/engine/dependency.resolver.d.ts +12 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/engine/dependency.resolver.js +101 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/engine/history.manager.d.ts +24 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/engine/history.manager.js +64 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/engine/lock.manager.d.ts +21 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/engine/lock.manager.js +89 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/engine/logger.service.d.ts +16 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/engine/logger.service.js +49 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/engine/memory.engine.d.ts +30 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/engine/memory.engine.js +200 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/filesystem/filesystem.service.d.ts +29 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/filesystem/filesystem.service.js +87 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/git/git.service.d.ts +42 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/git/git.service.js +192 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/index/SQLiteVectorStore.d.ts +19 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/index/SQLiteVectorStore.js +189 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/index/VectorIndexer.d.ts +20 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/index/VectorIndexer.js +169 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/index/VectorStore.d.ts +26 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/index/VectorStore.js +2 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/index.d.ts +29 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/index.js +29 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/memory/memory.service.d.ts +22 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/memory/memory.service.js +338 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/retrieval/ContextBuilder.d.ts +4 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/retrieval/ContextBuilder.js +107 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/retrieval/RankingEngine.d.ts +13 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/retrieval/RankingEngine.js +124 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/retrieval/SemanticRetriever.d.ts +17 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/dist/retrieval/SemanticRetriever.js +48 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/core/package.json +23 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/shared/dist/constants.d.ts +14 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/shared/dist/constants.js +24 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/shared/dist/errors.d.ts +38 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/shared/dist/errors.js +64 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/shared/dist/index.d.ts +3 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/shared/dist/index.js +4 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/shared/dist/types.d.ts +97 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/shared/dist/types.js +2 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@devbrain/shared/package.json +14 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@kwsites/file-exists/CHANGELOG.md +12 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@kwsites/file-exists/LICENSE +20 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@kwsites/file-exists/dist/index.d.ts +1 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@kwsites/file-exists/dist/index.js +7 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@kwsites/file-exists/dist/src/index.d.ts +19 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@kwsites/file-exists/dist/src/index.js +55 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@kwsites/file-exists/dist/test/__mocks__/fs.d.ts +7 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@kwsites/file-exists/dist/test/__mocks__/fs.js +26 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@kwsites/file-exists/dist/test/exists.spec.d.ts +1 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@kwsites/file-exists/dist/test/exists.spec.js +77 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@kwsites/file-exists/package.json +42 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@kwsites/file-exists/readme.md +41 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@kwsites/promise-deferred/LICENSE +21 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@kwsites/promise-deferred/dist/index.d.ts +49 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@kwsites/promise-deferred/dist/index.js +59 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@kwsites/promise-deferred/package.json +43 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodable/entities/README.md +41 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodable/entities/package.json +57 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodable/entities/src/EntityDecoder.js +644 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodable/entities/src/EntityEncoder.js +194 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodable/entities/src/entities.js +1159 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodable/entities/src/entityTries.js +49 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodable/entities/src/index.d.ts +341 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodable/entities/src/index.js +29 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.scandir/LICENSE +21 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.scandir/README.md +171 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.scandir/out/adapters/fs.d.ts +20 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.scandir/out/adapters/fs.js +19 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.scandir/out/constants.d.ts +4 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.scandir/out/constants.js +17 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.scandir/out/index.d.ts +12 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.scandir/out/index.js +26 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.scandir/out/providers/async.d.ts +7 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.scandir/out/providers/async.js +104 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.scandir/out/providers/common.d.ts +1 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.scandir/out/providers/common.js +13 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.scandir/out/providers/sync.d.ts +5 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.scandir/out/providers/sync.js +54 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.scandir/out/settings.d.ts +20 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.scandir/out/settings.js +24 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.scandir/out/types/index.d.ts +20 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.scandir/out/types/index.js +2 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.scandir/out/utils/fs.d.ts +2 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.scandir/out/utils/fs.js +19 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.scandir/out/utils/index.d.ts +2 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.scandir/out/utils/index.js +5 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.scandir/package.json +44 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.stat/LICENSE +21 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.stat/README.md +126 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.stat/out/adapters/fs.d.ts +13 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.stat/out/adapters/fs.js +17 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.stat/out/index.d.ts +12 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.stat/out/index.js +26 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.stat/out/providers/async.d.ts +4 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.stat/out/providers/async.js +36 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.stat/out/providers/sync.d.ts +3 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.stat/out/providers/sync.js +23 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.stat/out/settings.d.ts +16 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.stat/out/settings.js +16 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.stat/out/types/index.d.ts +4 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.stat/out/types/index.js +2 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.stat/package.json +37 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.walk/LICENSE +21 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.walk/README.md +215 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.walk/out/index.d.ts +14 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.walk/out/index.js +34 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.walk/out/providers/async.d.ts +12 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.walk/out/providers/async.js +30 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.walk/out/providers/index.d.ts +4 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.walk/out/providers/index.js +9 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.walk/out/providers/stream.d.ts +12 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.walk/out/providers/stream.js +34 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.walk/out/providers/sync.d.ts +10 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.walk/out/providers/sync.js +14 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.walk/out/readers/async.d.ts +30 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.walk/out/readers/async.js +97 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.walk/out/readers/common.d.ts +7 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.walk/out/readers/common.js +31 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.walk/out/readers/reader.d.ts +6 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.walk/out/readers/reader.js +11 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.walk/out/readers/sync.d.ts +15 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.walk/out/readers/sync.js +59 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.walk/out/settings.d.ts +30 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.walk/out/settings.js +26 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.walk/out/types/index.d.ts +8 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.walk/out/types/index.js +2 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@nodelib/fs.walk/package.json +44 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@simple-git/args-pathspec/dist/index.cjs +2 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@simple-git/args-pathspec/dist/index.d.ts +1 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@simple-git/args-pathspec/dist/index.mjs +17 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@simple-git/args-pathspec/dist/src/pathspec.d.ts +8 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@simple-git/args-pathspec/package.json +32 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@simple-git/argv-parser/dist/index.cjs +2 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@simple-git/argv-parser/dist/index.d.ts +5 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@simple-git/argv-parser/dist/index.mjs +463 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@simple-git/argv-parser/dist/src/args/parse-argv.d.ts +6 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@simple-git/argv-parser/dist/src/args/parse-argv.types.d.ts +59 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@simple-git/argv-parser/dist/src/config/analyse-config.d.ts +3 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@simple-git/argv-parser/dist/src/config/config-operands.d.ts +4 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@simple-git/argv-parser/dist/src/config/config.types.d.ts +6 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@simple-git/argv-parser/dist/src/config/detect-config-action.d.ts +13 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@simple-git/argv-parser/dist/src/env/parse-env.d.ts +6 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@simple-git/argv-parser/dist/src/flags/flags.helpers.d.ts +9 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@simple-git/argv-parser/dist/src/flags/parse-global-flags.d.ts +6 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@simple-git/argv-parser/dist/src/flags/parse-task-flags.d.ts +8 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@simple-git/argv-parser/dist/src/tokens/flag-specs.d.ts +9 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@simple-git/argv-parser/dist/src/tokens/token-expander.d.ts +7 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@simple-git/argv-parser/dist/src/vulnerabilities/detect-vulnerable-config-writes.d.ts +3 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@simple-git/argv-parser/dist/src/vulnerabilities/detect-vulnerable-flags.d.ts +3 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@simple-git/argv-parser/dist/src/vulnerabilities/vulnerability-analysis.d.ts +4 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@simple-git/argv-parser/dist/src/vulnerabilities/vulnerability-check.d.ts +5 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@simple-git/argv-parser/dist/src/vulnerabilities/vulnerability.types.d.ts +104 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/@simple-git/argv-parser/package.json +36 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/ansi-regex/index.d.ts +33 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/ansi-regex/index.js +14 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/ansi-regex/license +9 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/ansi-regex/package.json +61 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/ansi-regex/readme.md +66 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/anynum/LICENSE +21 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/anynum/README.md +142 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/anynum/anynum.js +135 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/anynum/digitTable.js +116 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/anynum/package.json +42 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/braces/LICENSE +21 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/braces/README.md +586 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/braces/index.js +170 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/braces/lib/compile.js +60 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/braces/lib/constants.js +57 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/braces/lib/expand.js +113 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/braces/lib/parse.js +331 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/braces/lib/stringify.js +32 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/braces/lib/utils.js +122 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/braces/package.json +77 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/chalk/license +9 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/chalk/package.json +83 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/chalk/readme.md +297 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/chalk/source/index.d.ts +325 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/chalk/source/index.js +225 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/chalk/source/utilities.js +33 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/chalk/source/vendor/ansi-styles/index.d.ts +236 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/chalk/source/vendor/ansi-styles/index.js +223 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/chalk/source/vendor/supports-color/browser.d.ts +1 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/chalk/source/vendor/supports-color/browser.js +34 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/chalk/source/vendor/supports-color/index.d.ts +55 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/chalk/source/vendor/supports-color/index.js +190 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/cli-cursor/index.d.ts +47 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/cli-cursor/index.js +39 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/cli-cursor/license +9 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/cli-cursor/package.json +56 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/cli-cursor/readme.md +39 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/cli-spinners/index.d.ts +128 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/cli-spinners/index.js +15 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/cli-spinners/license +9 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/cli-spinners/package.json +50 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/cli-spinners/readme.md +54 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/cli-spinners/spinners.json +1622 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/commander/LICENSE +22 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/commander/Readme.md +1157 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/commander/esm.mjs +16 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/commander/index.js +24 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/commander/lib/argument.js +149 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/commander/lib/command.js +2509 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/commander/lib/error.js +39 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/commander/lib/help.js +520 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/commander/lib/option.js +330 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/commander/lib/suggestSimilar.js +101 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/commander/package-support.json +16 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/commander/package.json +84 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/commander/typings/esm.d.mts +3 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/commander/typings/index.d.ts +969 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/debug/LICENSE +20 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/debug/README.md +481 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/debug/package.json +64 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/debug/src/browser.js +272 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/debug/src/common.js +292 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/debug/src/index.js +10 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/debug/src/node.js +263 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/emoji-regex/LICENSE-MIT.txt +20 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/emoji-regex/README.md +107 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/emoji-regex/index.d.ts +3 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/emoji-regex/index.js +4 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/emoji-regex/index.mjs +4 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/emoji-regex/package.json +45 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-glob/LICENSE +21 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-glob/README.md +830 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-glob/out/index.d.ts +40 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-glob/out/index.js +102 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-glob/out/managers/tasks.d.ts +22 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-glob/out/managers/tasks.js +110 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-glob/out/providers/async.d.ts +9 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-glob/out/providers/async.js +23 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-glob/out/providers/filters/deep.d.ts +16 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-glob/out/providers/filters/deep.js +62 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-glob/out/providers/filters/entry.d.ts +17 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-glob/out/providers/filters/entry.js +85 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-glob/out/providers/filters/error.d.ts +8 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-glob/out/providers/filters/error.js +15 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-glob/out/providers/matchers/matcher.d.ts +33 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-glob/out/providers/matchers/matcher.js +45 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-glob/out/providers/matchers/partial.d.ts +4 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-glob/out/providers/matchers/partial.js +38 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-glob/out/providers/provider.d.ts +19 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-glob/out/providers/provider.js +48 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-glob/out/providers/stream.d.ts +11 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-glob/out/providers/stream.js +31 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-glob/out/providers/sync.d.ts +9 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-glob/out/providers/sync.js +23 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-glob/out/providers/transformers/entry.d.ts +8 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-glob/out/providers/transformers/entry.js +26 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-glob/out/readers/async.d.ts +10 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-glob/out/readers/async.js +35 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-glob/out/readers/reader.d.ts +15 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-glob/out/readers/reader.js +33 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-glob/out/readers/stream.d.ts +14 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-glob/out/readers/stream.js +55 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-glob/out/readers/sync.d.ts +12 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-glob/out/readers/sync.js +43 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-glob/out/settings.d.ts +164 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-glob/out/settings.js +59 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-glob/out/types/index.d.ts +31 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-glob/out/types/index.js +2 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-glob/out/utils/array.d.ts +2 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-glob/out/utils/array.js +22 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-glob/out/utils/errno.d.ts +2 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-glob/out/utils/errno.js +7 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-glob/out/utils/fs.d.ts +4 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-glob/out/utils/fs.js +19 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-glob/out/utils/index.d.ts +8 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-glob/out/utils/index.js +17 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-glob/out/utils/path.d.ts +13 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-glob/out/utils/path.js +68 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-glob/out/utils/pattern.d.ts +49 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-glob/out/utils/pattern.js +206 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-glob/out/utils/stream.d.ts +4 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-glob/out/utils/stream.js +17 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-glob/out/utils/string.d.ts +2 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-glob/out/utils/string.js +11 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-glob/package.json +81 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-builder/CHANGELOG.md +40 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-builder/LICENSE +21 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-builder/README.md +74 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-builder/lib/fxb.cjs +1 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-builder/lib/fxb.d.cts +270 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-builder/lib/fxb.min.js +2 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-builder/package.json +81 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-builder/src/fxb.d.ts +270 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-builder/src/fxb.js +599 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-builder/src/ignoreAttributes.js +18 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-builder/src/orderedJs2Xml.js +359 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-builder/src/prettifyJs2Xml.js +0 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-builder/src/util.js +16 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-parser/CHANGELOG.md +852 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-parser/LICENSE +21 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-parser/README.md +200 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-parser/lib/fxbuilder.min.js +2 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-parser/lib/fxp.cjs +1 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-parser/lib/fxp.d.cts +772 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-parser/lib/fxp.min.js +2 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-parser/lib/fxparser.min.js +2 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-parser/lib/fxvalidator.min.js +2 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-parser/package.json +93 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-parser/src/cli/cli.js +97 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-parser/src/cli/man.js +17 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-parser/src/cli/read.js +43 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-parser/src/fxp.d.ts +752 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-parser/src/fxp.js +14 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-parser/src/ignoreAttributes.js +18 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-parser/src/util.js +61 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-parser/src/v6/CharsSymbol.js +16 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-parser/src/v6/EntitiesParser.js +106 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-parser/src/v6/OptionsBuilder.js +61 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-parser/src/v6/OutputBuilders/BaseOutputBuilder.js +69 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-parser/src/v6/OutputBuilders/JsArrBuilder.js +103 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-parser/src/v6/OutputBuilders/JsMinArrBuilder.js +100 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-parser/src/v6/OutputBuilders/JsObjBuilder.js +154 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-parser/src/v6/OutputBuilders/ParserOptionsBuilder.js +94 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-parser/src/v6/Report.js +0 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-parser/src/v6/TagPath.js +81 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-parser/src/v6/TagPathMatcher.js +13 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-parser/src/v6/XMLParser.js +83 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-parser/src/v6/Xml2JsParser.js +235 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-parser/src/v6/XmlPartReader.js +210 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-parser/src/v6/XmlSpecialTagsReader.js +111 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-parser/src/v6/inputSource/BufferSource.js +116 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-parser/src/v6/inputSource/StringSource.js +121 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-parser/src/v6/valueParsers/EntitiesParser.js +105 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-parser/src/v6/valueParsers/booleanParser.js +22 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-parser/src/v6/valueParsers/booleanParserExt.js +19 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-parser/src/v6/valueParsers/currency.js +38 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-parser/src/v6/valueParsers/join.js +13 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-parser/src/v6/valueParsers/number.js +14 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-parser/src/v6/valueParsers/trim.js +6 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-parser/src/validator.js +425 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-parser/src/xmlbuilder/json2xml.js +6 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js +411 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-parser/src/xmlparser/OptionsBuilder.js +164 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js +846 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-parser/src/xmlparser/XMLParser.js +71 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-parser/src/xmlparser/node2json.js +177 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fast-xml-parser/src/xmlparser/xmlNode.js +40 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fastq/LICENSE +13 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fastq/README.md +310 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fastq/SECURITY.md +15 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fastq/bench.js +66 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fastq/eslint.config.js +11 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fastq/example.js +14 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fastq/example.mjs +9 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fastq/index.d.ts +59 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fastq/package.json +49 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fastq/queue.js +346 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fastq/test/example.ts +83 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fastq/test/promise.js +325 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fastq/test/test.js +733 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fastq/test/tsconfig.json +11 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fill-range/LICENSE +21 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fill-range/README.md +237 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fill-range/index.js +248 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/fill-range/package.json +74 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/get-east-asian-width/index.d.ts +60 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/get-east-asian-width/index.js +30 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/get-east-asian-width/license +9 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/get-east-asian-width/lookup-data.js +21 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/get-east-asian-width/lookup.js +138 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/get-east-asian-width/package.json +71 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/get-east-asian-width/readme.md +65 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/get-east-asian-width/utilities.js +24 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/glob-parent/CHANGELOG.md +110 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/glob-parent/LICENSE +15 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/glob-parent/README.md +137 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/glob-parent/index.js +42 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/glob-parent/package.json +48 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/is-extglob/LICENSE +21 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/is-extglob/README.md +107 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/is-extglob/index.js +20 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/is-extglob/package.json +69 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/is-glob/LICENSE +21 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/is-glob/README.md +206 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/is-glob/index.js +150 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/is-glob/package.json +81 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/is-interactive/index.d.ts +25 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/is-interactive/index.js +7 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/is-interactive/license +9 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/is-interactive/package.json +41 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/is-interactive/readme.md +52 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/is-number/LICENSE +21 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/is-number/README.md +187 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/is-number/index.js +18 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/is-number/package.json +82 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/is-unicode-supported/index.d.ts +12 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/is-unicode-supported/index.js +21 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/is-unicode-supported/license +9 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/is-unicode-supported/package.json +47 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/is-unicode-supported/readme.md +35 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/is-unsafe/LICENSE +21 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/is-unsafe/README.md +528 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/is-unsafe/package.json +48 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/is-unsafe/src/contexts/html.js +102 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/is-unsafe/src/contexts/log.js +98 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/is-unsafe/src/contexts/nosql.js +114 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/is-unsafe/src/contexts/redos.js +60 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/is-unsafe/src/contexts/shell.js +105 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/is-unsafe/src/contexts/sql-strict.js +47 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/is-unsafe/src/contexts/sql.js +95 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/is-unsafe/src/contexts/svg.js +81 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/is-unsafe/src/contexts/xml.js +78 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/is-unsafe/src/index.cjs +27 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/is-unsafe/src/index.d.ts +28 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/is-unsafe/src/index.js +204 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/is-unsafe/src/registry.js +45 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/log-symbols/browser.js +8 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/log-symbols/index.d.ts +22 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/log-symbols/index.js +20 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/log-symbols/license +9 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/log-symbols/node_modules/is-unicode-supported/index.d.ts +12 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/log-symbols/node_modules/is-unicode-supported/index.js +17 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/log-symbols/node_modules/is-unicode-supported/license +9 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/log-symbols/node_modules/is-unicode-supported/package.json +43 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/log-symbols/node_modules/is-unicode-supported/readme.md +35 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/log-symbols/package.json +57 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/log-symbols/readme.md +39 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/merge2/LICENSE +21 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/merge2/README.md +144 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/merge2/index.js +144 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/merge2/package.json +43 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/micromatch/LICENSE +21 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/micromatch/README.md +1024 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/micromatch/index.js +474 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/micromatch/package.json +119 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/mimic-function/index.d.ts +52 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/mimic-function/index.js +72 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/mimic-function/license +9 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/mimic-function/package.json +49 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/mimic-function/readme.md +80 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/ms/index.js +162 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/ms/license.md +21 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/ms/package.json +38 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/ms/readme.md +59 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/onetime/index.d.ts +59 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/onetime/index.js +41 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/onetime/license +9 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/onetime/package.json +49 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/onetime/readme.md +88 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/ora/index.d.ts +332 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/ora/index.js +424 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/ora/license +9 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/ora/package.json +64 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/ora/readme.md +329 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/path-expression-matcher/LICENSE +21 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/path-expression-matcher/README.md +947 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/path-expression-matcher/lib/pem.cjs +1 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/path-expression-matcher/lib/pem.d.cts +725 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/path-expression-matcher/lib/pem.min.js +2 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/path-expression-matcher/package.json +79 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/path-expression-matcher/src/Expression.js +232 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/path-expression-matcher/src/ExpressionSet.js +225 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/path-expression-matcher/src/Matcher.js +660 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/path-expression-matcher/src/index.d.ts +589 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/path-expression-matcher/src/index.js +30 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/picomatch/LICENSE +21 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/picomatch/README.md +716 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/picomatch/index.js +3 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/picomatch/lib/constants.js +184 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/picomatch/lib/parse.js +1392 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/picomatch/lib/picomatch.js +342 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/picomatch/lib/scan.js +391 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/picomatch/lib/utils.js +64 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/picomatch/package.json +81 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/queue-microtask/LICENSE +20 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/queue-microtask/README.md +90 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/queue-microtask/index.d.ts +2 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/queue-microtask/index.js +9 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/queue-microtask/package.json +55 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/restore-cursor/index.d.ts +15 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/restore-cursor/index.js +15 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/restore-cursor/license +9 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/restore-cursor/package.json +57 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/restore-cursor/readme.md +21 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/reusify/.github/dependabot.yml +7 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/reusify/.github/workflows/ci.yml +96 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/reusify/LICENSE +22 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/reusify/README.md +139 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/reusify/SECURITY.md +15 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/reusify/benchmarks/createNoCodeFunction.js +30 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/reusify/benchmarks/fib.js +13 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/reusify/benchmarks/reuseNoCodeFunction.js +38 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/reusify/eslint.config.js +14 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/reusify/package.json +50 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/reusify/reusify.d.ts +14 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/reusify/reusify.js +33 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/reusify/test.js +66 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/reusify/tsconfig.json +11 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/run-parallel/LICENSE +20 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/run-parallel/README.md +85 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/run-parallel/index.js +51 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/run-parallel/package.json +58 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/signal-exit/LICENSE.txt +16 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/signal-exit/README.md +74 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/signal-exit/dist/cjs/browser.d.ts +12 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/signal-exit/dist/cjs/browser.js +10 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/signal-exit/dist/cjs/index.d.ts +48 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/signal-exit/dist/cjs/index.js +279 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/signal-exit/dist/cjs/package.json +3 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/signal-exit/dist/cjs/signals.d.ts +29 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/signal-exit/dist/cjs/signals.js +42 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/signal-exit/dist/mjs/browser.d.ts +12 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/signal-exit/dist/mjs/browser.js +4 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/signal-exit/dist/mjs/index.d.ts +48 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/signal-exit/dist/mjs/index.js +275 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/signal-exit/dist/mjs/package.json +3 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/signal-exit/dist/mjs/signals.d.ts +29 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/signal-exit/dist/mjs/signals.js +39 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/signal-exit/package.json +106 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/cjs/index.js +4898 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/esm/index.js +4745 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/esm/package.json +3 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/api.d.ts +13 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/args/log-format.d.ts +9 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/errors/git-construct-error.d.ts +15 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/errors/git-error.d.ts +30 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/errors/git-plugin-error.d.ts +7 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/errors/git-response-error.d.ts +32 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/errors/task-configuration-error.d.ts +12 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/git-factory.d.ts +15 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/git-logger.d.ts +21 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/parsers/parse-branch-delete.d.ts +5 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/parsers/parse-branch.d.ts +2 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/parsers/parse-commit.d.ts +2 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/parsers/parse-diff-summary.d.ts +3 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/parsers/parse-fetch.d.ts +2 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/parsers/parse-list-log-summary.d.ts +6 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/parsers/parse-merge.d.ts +11 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/parsers/parse-move.d.ts +2 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/parsers/parse-pull.d.ts +6 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/parsers/parse-push.d.ts +4 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/parsers/parse-remote-messages.d.ts +5 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/parsers/parse-remote-objects.d.ts +3 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/plugins/abort-plugin.d.ts +3 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/plugins/block-unsafe-operations-plugin.d.ts +3 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/plugins/command-config-prefixing-plugin.d.ts +2 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/plugins/completion-detection.plugin.d.ts +3 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/plugins/custom-binary.plugin.d.ts +3 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/plugins/error-detection.plugin.d.ts +7 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/plugins/index.d.ts +11 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/plugins/plugin-store.d.ts +11 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/plugins/progress-monitor-plugin.d.ts +3 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/plugins/simple-git-plugin.d.ts +48 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/plugins/spawn-options-plugin.d.ts +3 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/plugins/suffix-paths.plugin.d.ts +2 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/plugins/timout-plugin.d.ts +3 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/responses/BranchDeleteSummary.d.ts +12 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/responses/BranchSummary.d.ts +14 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/responses/CheckIgnore.d.ts +4 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/responses/CleanSummary.d.ts +9 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/responses/ConfigList.d.ts +13 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/responses/DiffSummary.d.ts +10 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/responses/FileStatusSummary.d.ts +9 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/responses/GetRemoteSummary.d.ts +11 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/responses/InitSummary.d.ts +9 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/responses/MergeSummary.d.ts +16 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/responses/PullSummary.d.ts +25 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/responses/StatusSummary.d.ts +19 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/responses/TagList.d.ts +7 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/runners/git-executor-chain.d.ts +25 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/runners/git-executor.d.ts +14 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/runners/promise-wrapped.d.ts +2 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/runners/scheduler.d.ts +11 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/runners/tasks-pending-queue.d.ts +23 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/simple-git-api.d.ts +20 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/task-callback.d.ts +2 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/tasks/apply-patch.d.ts +3 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/tasks/branch.d.ts +7 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/tasks/change-working-directory.d.ts +2 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/tasks/check-ignore.d.ts +2 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/tasks/check-is-repo.d.ts +9 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/tasks/checkout.d.ts +2 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/tasks/clean.d.ts +25 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/tasks/clone.d.ts +9 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/tasks/commit.d.ts +4 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/tasks/config.d.ts +8 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/tasks/count-objects.d.ts +12 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/tasks/diff-name-status.d.ts +12 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/tasks/diff.d.ts +5 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/tasks/fetch.d.ts +4 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/tasks/first-commit.d.ts +2 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/tasks/grep.d.ts +12 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/tasks/hash-object.d.ts +5 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/tasks/init.d.ts +3 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/tasks/log.d.ts +32 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/tasks/merge.d.ts +4 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/tasks/move.d.ts +3 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/tasks/pull.d.ts +3 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/tasks/push.d.ts +9 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/tasks/remote.d.ts +8 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/tasks/reset.d.ts +11 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/tasks/show.d.ts +2 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/tasks/stash-list.d.ts +4 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/tasks/status.d.ts +3 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/tasks/sub-module.d.ts +5 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/tasks/tag.d.ts +18 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/tasks/task.d.ts +14 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/tasks/version.d.ts +9 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/types/handlers.d.ts +21 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/types/index.d.ts +136 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/types/tasks.d.ts +19 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/utils/argument-filters.d.ts +14 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/utils/exit-codes.d.ts +10 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/utils/git-output-streams.d.ts +7 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/utils/index.d.ts +8 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/utils/line-parser.d.ts +15 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/utils/simple-git-options.d.ts +2 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/utils/task-options.d.ts +13 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/utils/task-parser.d.ts +5 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/src/lib/utils/util.d.ts +47 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/typings/errors.d.ts +5 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/typings/index.d.ts +14 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/typings/response.d.ts +556 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/typings/simple-git.d.ts +1033 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/dist/typings/types.d.ts +22 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/package.json +51 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/promise.js +17 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/simple-git/readme.md +851 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/stdin-discarder/index.d.ts +13 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/stdin-discarder/index.js +59 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/stdin-discarder/license +9 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/stdin-discarder/package.json +42 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/stdin-discarder/readme.md +37 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/string-width/index.d.ts +39 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/string-width/index.js +82 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/string-width/license +9 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/string-width/package.json +64 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/string-width/readme.md +66 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/strip-ansi/index.d.ts +15 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/strip-ansi/index.js +19 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/strip-ansi/license +9 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/strip-ansi/package.json +59 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/strip-ansi/readme.md +37 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/strnum/CHANGELOG.md +51 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/strnum/LICENSE +21 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/strnum/README.md +113 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/strnum/package.json +36 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/strnum/strnum.js +171 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/to-regex-range/LICENSE +21 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/to-regex-range/README.md +305 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/to-regex-range/index.js +288 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/to-regex-range/package.json +88 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/xml-naming/README.md +189 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/xml-naming/package.json +54 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/xml-naming/src/index.d.ts +74 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/xml-naming/src/index.js +270 -0
- package/dist/temp-prefix/node_modules/devbrain-cli/package.json +66 -0
- package/node_modules/@devbrain/core/dist/analysis/analyzers/source-code.analyzer.d.ts +24 -0
- package/node_modules/@devbrain/core/dist/analysis/analyzers/source-code.analyzer.js +126 -0
- package/node_modules/@devbrain/core/dist/context/context.service.d.ts +6 -7
- package/node_modules/@devbrain/core/dist/context/context.service.js +102 -16
- package/node_modules/@devbrain/core/dist/embeddings/EmbeddingProvider.d.ts +4 -0
- package/node_modules/@devbrain/core/dist/embeddings/EmbeddingProvider.js +2 -0
- package/node_modules/@devbrain/core/dist/embeddings/TransformersProvider.d.ts +9 -0
- package/node_modules/@devbrain/core/dist/embeddings/TransformersProvider.js +70 -0
- package/node_modules/@devbrain/core/dist/engine/dependency.resolver.d.ts +12 -0
- package/node_modules/@devbrain/core/dist/engine/dependency.resolver.js +101 -0
- package/node_modules/@devbrain/core/dist/engine/history.manager.d.ts +24 -0
- package/node_modules/@devbrain/core/dist/engine/history.manager.js +64 -0
- package/node_modules/@devbrain/core/dist/engine/lock.manager.d.ts +21 -0
- package/node_modules/@devbrain/core/dist/engine/lock.manager.js +89 -0
- package/node_modules/@devbrain/core/dist/engine/logger.service.d.ts +16 -0
- package/node_modules/@devbrain/core/dist/engine/logger.service.js +49 -0
- package/node_modules/@devbrain/core/dist/engine/memory.engine.d.ts +30 -0
- package/node_modules/@devbrain/core/dist/engine/memory.engine.js +200 -0
- package/node_modules/@devbrain/core/dist/git/git.service.d.ts +42 -0
- package/node_modules/@devbrain/core/dist/git/git.service.js +192 -0
- package/node_modules/@devbrain/core/dist/index/SQLiteVectorStore.d.ts +19 -0
- package/node_modules/@devbrain/core/dist/index/SQLiteVectorStore.js +189 -0
- package/node_modules/@devbrain/core/dist/index/VectorIndexer.d.ts +20 -0
- package/node_modules/@devbrain/core/dist/index/VectorIndexer.js +169 -0
- package/node_modules/@devbrain/core/dist/index/VectorStore.d.ts +26 -0
- package/node_modules/@devbrain/core/dist/index/VectorStore.js +2 -0
- package/node_modules/@devbrain/core/dist/index.d.ts +15 -0
- package/node_modules/@devbrain/core/dist/index.js +13 -0
- package/node_modules/@devbrain/core/dist/memory/memory.service.d.ts +6 -3
- package/node_modules/@devbrain/core/dist/memory/memory.service.js +186 -6
- package/node_modules/@devbrain/core/dist/retrieval/ContextBuilder.d.ts +4 -0
- package/node_modules/@devbrain/core/dist/retrieval/ContextBuilder.js +107 -0
- package/node_modules/@devbrain/core/dist/retrieval/RankingEngine.d.ts +13 -0
- package/node_modules/@devbrain/core/dist/retrieval/RankingEngine.js +124 -0
- package/node_modules/@devbrain/core/dist/retrieval/SemanticRetriever.d.ts +17 -0
- package/node_modules/@devbrain/core/dist/retrieval/SemanticRetriever.js +48 -0
- package/node_modules/@devbrain/core/package.json +23 -22
- package/node_modules/@devbrain/shared/dist/constants.d.ts +10 -2
- package/node_modules/@devbrain/shared/dist/constants.js +11 -2
- package/node_modules/@devbrain/shared/dist/types.d.ts +45 -0
- package/node_modules/@devbrain/shared/package.json +14 -14
- package/package.json +66 -65
|
@@ -0,0 +1,644 @@
|
|
|
1
|
+
// ---------------------------------------------------------------------------
|
|
2
|
+
// Built-in named entity map (name → replacement string)
|
|
3
|
+
// No regex, no {regex,val} objects — just flat key/value pairs.
|
|
4
|
+
// ---------------------------------------------------------------------------
|
|
5
|
+
|
|
6
|
+
import { XML as DEFAULT_XML_ENTITIES } from "./entities.js"
|
|
7
|
+
|
|
8
|
+
// ---------------------------------------------------------------------------
|
|
9
|
+
// Entity hook action constants
|
|
10
|
+
// ---------------------------------------------------------------------------
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Action constants for `onExternalEntity` and `onInputEntity` hooks.
|
|
14
|
+
*
|
|
15
|
+
* Use these instead of raw strings to avoid typos:
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* import EntityDecoder, { ENTITY_ACTION } from './EntityDecoder.js';
|
|
19
|
+
* const dec = new EntityDecoder({
|
|
20
|
+
* onInputEntity: (name, value) => ENTITY_ACTION.BLOCK,
|
|
21
|
+
* });
|
|
22
|
+
*/
|
|
23
|
+
export const ENTITY_ACTION = Object.freeze({
|
|
24
|
+
/** Resolve and expand the entity normally. */
|
|
25
|
+
ALLOW: 'allow',
|
|
26
|
+
/** Silently skip this entity — it will not be registered. */
|
|
27
|
+
BLOCK: 'block',
|
|
28
|
+
/** Throw an error, aborting entity registration entirely. */
|
|
29
|
+
THROW: 'throw',
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
// ---------------------------------------------------------------------------
|
|
33
|
+
// Helpers
|
|
34
|
+
// ---------------------------------------------------------------------------
|
|
35
|
+
|
|
36
|
+
const SPECIAL_CHARS = new Set('!?\\\\/[]$%{}^&*()<>|+');
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Validate that an entity name contains no dangerous characters.
|
|
40
|
+
* @param {string} name
|
|
41
|
+
* @returns {string} the name, unchanged
|
|
42
|
+
* @throws {Error} on invalid characters
|
|
43
|
+
*/
|
|
44
|
+
function validateEntityName(name) {
|
|
45
|
+
if (name[0] === '#') {
|
|
46
|
+
throw new Error(`[EntityReplacer] Invalid character '#' in entity name: "${name}"`);
|
|
47
|
+
}
|
|
48
|
+
for (const ch of name) {
|
|
49
|
+
if (SPECIAL_CHARS.has(ch)) {
|
|
50
|
+
throw new Error(`[EntityReplacer] Invalid character '${ch}' in entity name: "${name}"`);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return name;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Merge one or more entity maps into a flat name→string map.
|
|
58
|
+
* Accepts either:
|
|
59
|
+
* - plain string values: { amp: '&' }
|
|
60
|
+
* - legacy {regex,val} / {regx,val}: { lt: { regex: /.../, val: '<' } }
|
|
61
|
+
*
|
|
62
|
+
* Values containing '&' are skipped (recursive expansion risk).
|
|
63
|
+
*
|
|
64
|
+
* @param {...object} maps
|
|
65
|
+
* @returns {Record<string, string>}
|
|
66
|
+
*/
|
|
67
|
+
function mergeEntityMaps(...maps) {
|
|
68
|
+
const out = Object.create(null);
|
|
69
|
+
for (const map of maps) {
|
|
70
|
+
if (!map) continue;
|
|
71
|
+
for (const key of Object.keys(map)) {
|
|
72
|
+
const raw = map[key];
|
|
73
|
+
if (typeof raw === 'string') {
|
|
74
|
+
out[key] = raw;
|
|
75
|
+
} else if (raw && typeof raw === 'object' && raw.val !== undefined) {
|
|
76
|
+
// Legacy {regex,val} or {regx,val} — extract the string val only
|
|
77
|
+
const val = raw.val;
|
|
78
|
+
if (typeof val === 'string') {
|
|
79
|
+
out[key] = val;
|
|
80
|
+
}
|
|
81
|
+
// function vals are not supported in the scanner — skip
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
return out;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
// ---------------------------------------------------------------------------
|
|
89
|
+
// applyLimitsTo helpers
|
|
90
|
+
// ---------------------------------------------------------------------------
|
|
91
|
+
|
|
92
|
+
const LIMIT_TIER_EXTERNAL = 'external'; // input/runtime + persistent external maps
|
|
93
|
+
const LIMIT_TIER_BASE = 'base'; // DEFAULT_XML_ENTITIES + namedEntities (system) maps
|
|
94
|
+
const LIMIT_TIER_ALL = 'all'; // every entity regardless of tier
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Resolve `applyLimitsTo` option into a normalised Set of tier strings.
|
|
98
|
+
* Accepted values: 'external' | 'base' | 'all' | string[]
|
|
99
|
+
* Default: 'external' (only untrusted injected entities are counted).
|
|
100
|
+
* @param {string|string[]|undefined} raw
|
|
101
|
+
* @returns {Set<string>}
|
|
102
|
+
*/
|
|
103
|
+
function parseLimitTiers(raw) {
|
|
104
|
+
if (!raw || raw === LIMIT_TIER_EXTERNAL) return new Set([LIMIT_TIER_EXTERNAL]);
|
|
105
|
+
if (raw === LIMIT_TIER_ALL) return new Set([LIMIT_TIER_ALL]);
|
|
106
|
+
if (raw === LIMIT_TIER_BASE) return new Set([LIMIT_TIER_BASE]);
|
|
107
|
+
if (Array.isArray(raw)) return new Set(raw);
|
|
108
|
+
return new Set([LIMIT_TIER_EXTERNAL]); // safe default for unrecognised values
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
// ---------------------------------------------------------------------------
|
|
112
|
+
// NCR (Numeric Character Reference) classification
|
|
113
|
+
// ---------------------------------------------------------------------------
|
|
114
|
+
|
|
115
|
+
// Severity order — higher number = stricter action.
|
|
116
|
+
// Used to enforce minimum action levels for specific codepoint ranges.
|
|
117
|
+
const NCR_LEVEL = Object.freeze({ allow: 0, leave: 1, remove: 2, throw: 3 });
|
|
118
|
+
|
|
119
|
+
// XML 1.0 §2.2: allowed chars are #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF]
|
|
120
|
+
// Restricted C0: U+0001–U+001F excluding U+0009, U+000A, U+000D
|
|
121
|
+
const XML10_ALLOWED_C0 = new Set([0x09, 0x0A, 0x0D]);
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* Parse the `ncr` constructor option into flat, hot-path-friendly fields.
|
|
125
|
+
* @param {object|undefined} ncr
|
|
126
|
+
* @returns {{ xmlVersion: number, onLevel: number, nullLevel: number }}
|
|
127
|
+
*/
|
|
128
|
+
function parseNCRConfig(ncr) {
|
|
129
|
+
if (!ncr) {
|
|
130
|
+
return { xmlVersion: 1.0, onLevel: NCR_LEVEL.allow, nullLevel: NCR_LEVEL.remove };
|
|
131
|
+
}
|
|
132
|
+
const xmlVersion = ncr.xmlVersion === 1.1 ? 1.1 : 1.0;
|
|
133
|
+
const onLevel = NCR_LEVEL[ncr.onNCR] ?? NCR_LEVEL.allow;
|
|
134
|
+
const nullLevel = NCR_LEVEL[ncr.nullNCR] ?? NCR_LEVEL.remove;
|
|
135
|
+
// 'allow' is not meaningful for null — clamp to at least 'remove'
|
|
136
|
+
const clampedNull = Math.max(nullLevel, NCR_LEVEL.remove);
|
|
137
|
+
return { xmlVersion, onLevel, nullLevel: clampedNull };
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
// ---------------------------------------------------------------------------
|
|
141
|
+
// EntityReplacer
|
|
142
|
+
// ---------------------------------------------------------------------------
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* Single-pass, zero-regex entity replacer for XML/HTML content.
|
|
146
|
+
*
|
|
147
|
+
* Algorithm: scan the string once for '&', read to ';', resolve via map
|
|
148
|
+
* or direct codepoint conversion, build output chunks, join once at the end.
|
|
149
|
+
*
|
|
150
|
+
* Entity lookup priority (highest → lowest):
|
|
151
|
+
* 1. input / runtime (DOCTYPE entities for current document)
|
|
152
|
+
* 2. persistent external (survive across documents)
|
|
153
|
+
* 3. base named map (DEFAULT_XML_ENTITIES + user-supplied namedEntities)
|
|
154
|
+
*
|
|
155
|
+
* Both input and external resolve as the 'external' tier for limit purposes.
|
|
156
|
+
* Base map entities resolve as the 'base' tier.
|
|
157
|
+
*
|
|
158
|
+
* Numeric / hex references (&#NNN; / &#xHH;) are resolved directly via
|
|
159
|
+
* String.fromCodePoint() — no map needed. They count as 'base' tier.
|
|
160
|
+
*
|
|
161
|
+
* @example
|
|
162
|
+
* const replacer = new EntityReplacer({ namedEntities: COMMON_HTML });
|
|
163
|
+
* replacer.setExternalEntities({ brand: 'Acme' });
|
|
164
|
+
*
|
|
165
|
+
* const instance = replacer.reset();
|
|
166
|
+
* instance.addInputEntities({ version: '1.0' });
|
|
167
|
+
* instance.encode('&brand; v&version; <'); // 'Acme v1.0 <'
|
|
168
|
+
*/
|
|
169
|
+
export default class EntityDecoder {
|
|
170
|
+
/**
|
|
171
|
+
* @param {object} [options]
|
|
172
|
+
* @param {object|null} [options.namedEntities] — extra named entities merged into base map
|
|
173
|
+
* @param {object} [options.limit] — security limits
|
|
174
|
+
* @param {number} [options.limit.maxTotalExpansions=0] — 0 = unlimited
|
|
175
|
+
* @param {number} [options.limit.maxExpandedLength=0] — 0 = unlimited
|
|
176
|
+
* @param {'external'|'base'|'all'|string[]} [options.limit.applyLimitsTo='external']
|
|
177
|
+
* Which entity tiers count against the security limits:
|
|
178
|
+
* - 'external' (default) — only input/runtime + persistent external entities
|
|
179
|
+
* - 'base' — only DEFAULT_XML_ENTITIES + namedEntities
|
|
180
|
+
* - 'all' — every entity regardless of tier
|
|
181
|
+
* - string[] — explicit combination, e.g. ['external', 'base']
|
|
182
|
+
* @param {((resolved: string, original: string) => string)|null} [options.postCheck=null]
|
|
183
|
+
* @param {string[]} [options.remove=[]] — entity names (e.g. ['nbsp', '#13']) to delete (replace with empty string)
|
|
184
|
+
* @param {string[]} [options.leave=[]] — entity names to keep as literal (unchanged in output)
|
|
185
|
+
* @param {object} [options.ncr] — Numeric Character Reference controls
|
|
186
|
+
* @param {1.0|1.1} [options.ncr.xmlVersion=1.0]
|
|
187
|
+
* XML version governing which codepoint ranges are restricted:
|
|
188
|
+
* - 1.0 — C0 controls U+0001–U+001F (except U+0009/000A/000D) are prohibited
|
|
189
|
+
* - 1.1 — C0 controls are allowed when written as NCRs; C1 (U+007F–U+009F) decoded as-is
|
|
190
|
+
* @param {'allow'|'leave'|'remove'|'throw'} [options.ncr.onNCR='allow']
|
|
191
|
+
* Base action for numeric references. Severity order: allow < leave < remove < throw.
|
|
192
|
+
* For codepoint ranges that carry a minimum level (surrogates → remove, XML 1.0 C0 → remove),
|
|
193
|
+
* the effective action is max(onNCR, rangeMinimum).
|
|
194
|
+
* @param {'remove'|'throw'} [options.ncr.nullNCR='remove']
|
|
195
|
+
* Action for U+0000 (null). 'allow' and 'leave' are clamped to 'remove' since null is never safe.
|
|
196
|
+
* @param {((name: string, value: string) => 'allow'|'block'|'throw')|null} [options.onExternalEntity=null]
|
|
197
|
+
* Hook called when an external entity is registered via `setExternalEntities()` or
|
|
198
|
+
* `addExternalEntity()`. Return `ENTITY_ACTION.ALLOW` to accept the entity,
|
|
199
|
+
* `ENTITY_ACTION.BLOCK` to silently skip it, or `ENTITY_ACTION.THROW` to abort with an error.
|
|
200
|
+
* @param {((name: string, value: string) => 'allow'|'block'|'throw')|null} [options.onInputEntity=null]
|
|
201
|
+
* Hook called when an input entity is registered via `addInputEntities()`. Return
|
|
202
|
+
* `ENTITY_ACTION.ALLOW` to accept, `ENTITY_ACTION.BLOCK` to silently skip, or
|
|
203
|
+
* `ENTITY_ACTION.THROW` to abort with an error.
|
|
204
|
+
*/
|
|
205
|
+
constructor(options = {}) {
|
|
206
|
+
this._limit = options.limit || {};
|
|
207
|
+
this._maxTotalExpansions = this._limit.maxTotalExpansions || 0;
|
|
208
|
+
this._maxExpandedLength = this._limit.maxExpandedLength || 0;
|
|
209
|
+
this._postCheck = typeof options.postCheck === 'function' ? options.postCheck : r => r;
|
|
210
|
+
this._limitTiers = parseLimitTiers(this._limit.applyLimitsTo ?? LIMIT_TIER_EXTERNAL);
|
|
211
|
+
this._numericAllowed = options.numericAllowed ?? true;
|
|
212
|
+
// Base map: DEFAULT_XML_ENTITIES + user-supplied extras. Immutable after construction.
|
|
213
|
+
this._baseMap = mergeEntityMaps(DEFAULT_XML_ENTITIES, options.namedEntities || null);
|
|
214
|
+
|
|
215
|
+
// Persistent external entities — survive across documents.
|
|
216
|
+
// Stored as a separate map so reset() never touches them.
|
|
217
|
+
/** @type {Record<string, string>} */
|
|
218
|
+
this._externalMap = Object.create(null);
|
|
219
|
+
|
|
220
|
+
// Input / runtime entities — current document only, wiped on reset().
|
|
221
|
+
/** @type {Record<string, string>} */
|
|
222
|
+
this._inputMap = Object.create(null);
|
|
223
|
+
|
|
224
|
+
// Per-document counters
|
|
225
|
+
this._totalExpansions = 0;
|
|
226
|
+
this._expandedLength = 0;
|
|
227
|
+
|
|
228
|
+
// --- New: remove / leave sets ---
|
|
229
|
+
/** @type {Set<string>} */
|
|
230
|
+
this._removeSet = new Set(options.remove && Array.isArray(options.remove) ? options.remove : []);
|
|
231
|
+
/** @type {Set<string>} */
|
|
232
|
+
this._leaveSet = new Set(options.leave && Array.isArray(options.leave) ? options.leave : []);
|
|
233
|
+
|
|
234
|
+
// --- NCR config (parsed into flat fields for hot-path speed) ---
|
|
235
|
+
const ncrCfg = parseNCRConfig(options.ncr);
|
|
236
|
+
this._ncrXmlVersion = ncrCfg.xmlVersion;
|
|
237
|
+
this._ncrOnLevel = ncrCfg.onLevel;
|
|
238
|
+
this._ncrNullLevel = ncrCfg.nullLevel;
|
|
239
|
+
|
|
240
|
+
// --- Registration hooks ---
|
|
241
|
+
/** @type {((name: string, value: string) => 'allow'|'block'|'throw')|null} */
|
|
242
|
+
this._onExternalEntity = typeof options.onExternalEntity === 'function'
|
|
243
|
+
? options.onExternalEntity
|
|
244
|
+
: null;
|
|
245
|
+
/** @type {((name: string, value: string) => 'allow'|'block'|'throw')|null} */
|
|
246
|
+
this._onInputEntity = typeof options.onInputEntity === 'function'
|
|
247
|
+
? options.onInputEntity
|
|
248
|
+
: null;
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
// -------------------------------------------------------------------------
|
|
252
|
+
// Private: registration hook dispatch
|
|
253
|
+
// -------------------------------------------------------------------------
|
|
254
|
+
|
|
255
|
+
/**
|
|
256
|
+
* Invoke a registration hook for a single entity name/value pair.
|
|
257
|
+
* Returns true when the entity should be accepted, false when it should be
|
|
258
|
+
* silently skipped (BLOCK), and throws when the hook returns THROW.
|
|
259
|
+
*
|
|
260
|
+
* @param {((name: string, value: string) => 'allow'|'block'|'throw')|null} hook
|
|
261
|
+
* @param {string} name
|
|
262
|
+
* @param {string} value
|
|
263
|
+
* @param {string} context — used in error messages ('external' | 'input')
|
|
264
|
+
* @returns {boolean} true = accept, false = skip
|
|
265
|
+
*/
|
|
266
|
+
_applyRegistrationHook(hook, name, value, context) {
|
|
267
|
+
if (!hook) return true; // no hook → always accept
|
|
268
|
+
const action = hook(name, value);
|
|
269
|
+
if (action === ENTITY_ACTION.BLOCK) return false;
|
|
270
|
+
if (action === ENTITY_ACTION.THROW) {
|
|
271
|
+
throw new Error(
|
|
272
|
+
`[EntityDecoder] Registration of ${context} entity "&${name};" was rejected by hook`
|
|
273
|
+
);
|
|
274
|
+
}
|
|
275
|
+
return true; // ALLOW or any unknown return value → accept
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
// -------------------------------------------------------------------------
|
|
279
|
+
// Persistent external entity registration
|
|
280
|
+
// -------------------------------------------------------------------------
|
|
281
|
+
|
|
282
|
+
/**
|
|
283
|
+
* Replace the full set of persistent external entities.
|
|
284
|
+
* All keys are validated — throws on invalid characters.
|
|
285
|
+
* If `onExternalEntity` is set, it is called once per entry; entries that
|
|
286
|
+
* return `ENTITY_ACTION.BLOCK` are silently omitted, `ENTITY_ACTION.THROW`
|
|
287
|
+
* aborts the whole call.
|
|
288
|
+
* @param {Record<string, string | { regex?: RegExp, val: string }>} map
|
|
289
|
+
*/
|
|
290
|
+
setExternalEntities(map) {
|
|
291
|
+
if (map) {
|
|
292
|
+
for (const key of Object.keys(map)) {
|
|
293
|
+
validateEntityName(key);
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
if (!this._onExternalEntity) {
|
|
297
|
+
this._externalMap = mergeEntityMaps(map);
|
|
298
|
+
return;
|
|
299
|
+
}
|
|
300
|
+
// Hook present — resolve values first, then filter
|
|
301
|
+
const flat = mergeEntityMaps(map);
|
|
302
|
+
const filtered = Object.create(null);
|
|
303
|
+
for (const [name, value] of Object.entries(flat)) {
|
|
304
|
+
if (this._applyRegistrationHook(this._onExternalEntity, name, value, 'external')) {
|
|
305
|
+
filtered[name] = value;
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
this._externalMap = filtered;
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
/**
|
|
312
|
+
* Add a single persistent external entity.
|
|
313
|
+
* If `onExternalEntity` is set it is called before the entity is stored;
|
|
314
|
+
* `ENTITY_ACTION.BLOCK` silently skips storage, `ENTITY_ACTION.THROW` raises.
|
|
315
|
+
* @param {string} key
|
|
316
|
+
* @param {string} value
|
|
317
|
+
*/
|
|
318
|
+
addExternalEntity(key, value) {
|
|
319
|
+
validateEntityName(key);
|
|
320
|
+
if (typeof value === 'string' && value.indexOf('&') === -1) {
|
|
321
|
+
if (this._applyRegistrationHook(this._onExternalEntity, key, value, 'external')) {
|
|
322
|
+
this._externalMap[key] = value;
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
// -------------------------------------------------------------------------
|
|
328
|
+
// Input / runtime entity registration (per document)
|
|
329
|
+
// -------------------------------------------------------------------------
|
|
330
|
+
|
|
331
|
+
/**
|
|
332
|
+
* Inject DOCTYPE entities for the current document.
|
|
333
|
+
* Also resets per-document expansion counters.
|
|
334
|
+
* If `onInputEntity` is set it is called once per entry; entries returning
|
|
335
|
+
* `ENTITY_ACTION.BLOCK` are silently omitted, `ENTITY_ACTION.THROW` aborts.
|
|
336
|
+
* @param {Record<string, string | { regx?: RegExp, regex?: RegExp, val: string }>} map
|
|
337
|
+
*/
|
|
338
|
+
addInputEntities(map) {
|
|
339
|
+
this._totalExpansions = 0;
|
|
340
|
+
this._expandedLength = 0;
|
|
341
|
+
if (!this._onInputEntity) {
|
|
342
|
+
this._inputMap = mergeEntityMaps(map);
|
|
343
|
+
return;
|
|
344
|
+
}
|
|
345
|
+
const flat = mergeEntityMaps(map);
|
|
346
|
+
const filtered = Object.create(null);
|
|
347
|
+
for (const [name, value] of Object.entries(flat)) {
|
|
348
|
+
if (this._applyRegistrationHook(this._onInputEntity, name, value, 'input')) {
|
|
349
|
+
filtered[name] = value;
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
this._inputMap = filtered;
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
// -------------------------------------------------------------------------
|
|
356
|
+
// Per-document reset
|
|
357
|
+
// -------------------------------------------------------------------------
|
|
358
|
+
|
|
359
|
+
/**
|
|
360
|
+
* Wipe input/runtime entities and reset counters.
|
|
361
|
+
* Call this before processing each new document.
|
|
362
|
+
* @returns {this}
|
|
363
|
+
*/
|
|
364
|
+
reset() {
|
|
365
|
+
this._inputMap = Object.create(null);
|
|
366
|
+
this._totalExpansions = 0;
|
|
367
|
+
this._expandedLength = 0;
|
|
368
|
+
return this;
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
// -------------------------------------------------------------------------
|
|
372
|
+
// XML version (can be set after construction, e.g. once parser reads <?xml?>)
|
|
373
|
+
// -------------------------------------------------------------------------
|
|
374
|
+
|
|
375
|
+
/**
|
|
376
|
+
* Update the XML version used for NCR classification.
|
|
377
|
+
* Call this as soon as the document's `<?xml version="...">` declaration is parsed.
|
|
378
|
+
* @param {1.0|1.1|number} version
|
|
379
|
+
*/
|
|
380
|
+
setXmlVersion(version) {
|
|
381
|
+
this._ncrXmlVersion = version === 1.1 ? 1.1 : 1.0;
|
|
382
|
+
}
|
|
383
|
+
|
|
384
|
+
// -------------------------------------------------------------------------
|
|
385
|
+
// Primary API
|
|
386
|
+
// -------------------------------------------------------------------------
|
|
387
|
+
|
|
388
|
+
/**
|
|
389
|
+
* Replace all entity references in `str` in a single pass.
|
|
390
|
+
*
|
|
391
|
+
* @param {string} str
|
|
392
|
+
* @returns {string}
|
|
393
|
+
*/
|
|
394
|
+
decode(str) {
|
|
395
|
+
if (typeof str !== 'string' || str.length === 0) return str;
|
|
396
|
+
//TODO: check if needed
|
|
397
|
+
if (str.indexOf('&') === -1) return str; // fast path — no entities at all
|
|
398
|
+
|
|
399
|
+
const original = str;
|
|
400
|
+
const chunks = [];
|
|
401
|
+
const len = str.length;
|
|
402
|
+
let last = 0; // start of next unprocessed literal chunk
|
|
403
|
+
let i = 0;
|
|
404
|
+
|
|
405
|
+
const limitExpansions = this._maxTotalExpansions > 0;
|
|
406
|
+
const limitLength = this._maxExpandedLength > 0;
|
|
407
|
+
const checkLimits = limitExpansions || limitLength;
|
|
408
|
+
|
|
409
|
+
while (i < len) {
|
|
410
|
+
// Scan forward to next '&'
|
|
411
|
+
if (str.charCodeAt(i) !== 38 /* '&' */) { i++; continue; }
|
|
412
|
+
|
|
413
|
+
// --- Found '&' at position i ---
|
|
414
|
+
|
|
415
|
+
// Scan forward to ';'
|
|
416
|
+
let j = i + 1;
|
|
417
|
+
while (j < len && str.charCodeAt(j) !== 59 /* ';' */ && (j - i) <= 32) j++;
|
|
418
|
+
|
|
419
|
+
if (j >= len || str.charCodeAt(j) !== 59) {
|
|
420
|
+
// No closing ';' within window — treat '&' as literal
|
|
421
|
+
i++;
|
|
422
|
+
continue;
|
|
423
|
+
}
|
|
424
|
+
|
|
425
|
+
// Raw token between '&' and ';' (exclusive)
|
|
426
|
+
const token = str.slice(i + 1, j);
|
|
427
|
+
if (token.length === 0) { i++; continue; }
|
|
428
|
+
|
|
429
|
+
let replacement;
|
|
430
|
+
let tier; // which limit tier this entity belongs to
|
|
431
|
+
|
|
432
|
+
if (this._removeSet.has(token)) {
|
|
433
|
+
// Remove entity: replace with empty string
|
|
434
|
+
replacement = '';
|
|
435
|
+
// If entity was unknown (replacement undefined), we still need a tier for limits.
|
|
436
|
+
// Treat as external tier because it's user-directed removal of an unknown reference.
|
|
437
|
+
if (tier === undefined) {
|
|
438
|
+
tier = LIMIT_TIER_EXTERNAL;
|
|
439
|
+
}
|
|
440
|
+
} else if (this._leaveSet.has(token)) {
|
|
441
|
+
// Do not replace — keep original &token; as literal
|
|
442
|
+
i++;
|
|
443
|
+
continue;
|
|
444
|
+
} else if (token.charCodeAt(0) === 35 /* '#' */) {
|
|
445
|
+
// ---- Numeric / NCR reference ----
|
|
446
|
+
// NCR classification always runs first — prohibited codepoints must be
|
|
447
|
+
// caught regardless of numericAllowed.
|
|
448
|
+
const ncrResult = this._resolveNCR(token);
|
|
449
|
+
if (ncrResult === undefined) {
|
|
450
|
+
// 'leave' action — keep original &token; as-is
|
|
451
|
+
i++;
|
|
452
|
+
continue;
|
|
453
|
+
}
|
|
454
|
+
replacement = ncrResult; // '' for remove, char string for allow
|
|
455
|
+
tier = LIMIT_TIER_BASE;
|
|
456
|
+
} else {
|
|
457
|
+
// ---- Named reference ----
|
|
458
|
+
const resolved = this._resolveName(token);
|
|
459
|
+
replacement = resolved?.value;
|
|
460
|
+
tier = resolved?.tier;
|
|
461
|
+
}
|
|
462
|
+
|
|
463
|
+
if (replacement === undefined) {
|
|
464
|
+
// Unknown entity — leave as-is, advance past '&' only
|
|
465
|
+
i++;
|
|
466
|
+
continue;
|
|
467
|
+
}
|
|
468
|
+
|
|
469
|
+
// Flush literal chunk before this entity
|
|
470
|
+
if (i > last) chunks.push(str.slice(last, i));
|
|
471
|
+
chunks.push(replacement);
|
|
472
|
+
last = j + 1; // skip past ';'
|
|
473
|
+
i = last;
|
|
474
|
+
|
|
475
|
+
// Apply expansion limits only if this tier is being tracked
|
|
476
|
+
if (checkLimits && this._tierCounts(tier)) {
|
|
477
|
+
if (limitExpansions) {
|
|
478
|
+
this._totalExpansions++;
|
|
479
|
+
if (this._totalExpansions > this._maxTotalExpansions) {
|
|
480
|
+
throw new Error(
|
|
481
|
+
`[EntityReplacer] Entity expansion count limit exceeded: ` +
|
|
482
|
+
`${this._totalExpansions} > ${this._maxTotalExpansions}`
|
|
483
|
+
);
|
|
484
|
+
}
|
|
485
|
+
}
|
|
486
|
+
if (limitLength) {
|
|
487
|
+
// delta: replacement.length minus the raw &token; length (token.length + 2 for '&' and ';')
|
|
488
|
+
const delta = replacement.length - (token.length + 2);
|
|
489
|
+
if (delta > 0) {
|
|
490
|
+
this._expandedLength += delta;
|
|
491
|
+
if (this._expandedLength > this._maxExpandedLength) {
|
|
492
|
+
throw new Error(
|
|
493
|
+
`[EntityReplacer] Expanded content length limit exceeded: ` +
|
|
494
|
+
`${this._expandedLength} > ${this._maxExpandedLength}`
|
|
495
|
+
);
|
|
496
|
+
}
|
|
497
|
+
}
|
|
498
|
+
}
|
|
499
|
+
}
|
|
500
|
+
}
|
|
501
|
+
|
|
502
|
+
// Flush trailing literal
|
|
503
|
+
if (last < len) chunks.push(str.slice(last));
|
|
504
|
+
|
|
505
|
+
// If nothing was replaced, chunks is empty — return original
|
|
506
|
+
const result = chunks.length === 0 ? str : chunks.join('');
|
|
507
|
+
|
|
508
|
+
return this._postCheck(result, original);
|
|
509
|
+
}
|
|
510
|
+
|
|
511
|
+
// -------------------------------------------------------------------------
|
|
512
|
+
// Private: limit tier check
|
|
513
|
+
// -------------------------------------------------------------------------
|
|
514
|
+
|
|
515
|
+
/**
|
|
516
|
+
* Returns true if a resolved entity of the given tier should count
|
|
517
|
+
* against the expansion/length limits.
|
|
518
|
+
* @param {string} tier — LIMIT_TIER_EXTERNAL | LIMIT_TIER_BASE
|
|
519
|
+
* @returns {boolean}
|
|
520
|
+
*/
|
|
521
|
+
_tierCounts(tier) {
|
|
522
|
+
if (this._limitTiers.has(LIMIT_TIER_ALL)) return true;
|
|
523
|
+
return this._limitTiers.has(tier);
|
|
524
|
+
}
|
|
525
|
+
|
|
526
|
+
// -------------------------------------------------------------------------
|
|
527
|
+
// Private: entity resolution
|
|
528
|
+
// -------------------------------------------------------------------------
|
|
529
|
+
|
|
530
|
+
/**
|
|
531
|
+
* Resolve a named entity token (without & and ;).
|
|
532
|
+
* Priority: inputMap > externalMap > baseMap
|
|
533
|
+
* Returns the resolved value tagged with its limit tier.
|
|
534
|
+
*
|
|
535
|
+
* @param {string} name
|
|
536
|
+
* @returns {{ value: string, tier: string }|undefined}
|
|
537
|
+
*/
|
|
538
|
+
_resolveName(name) {
|
|
539
|
+
// input and external both count as 'external' tier for limit purposes —
|
|
540
|
+
// they are injected at runtime and are the untrusted surface.
|
|
541
|
+
if (name in this._inputMap) return { value: this._inputMap[name], tier: LIMIT_TIER_EXTERNAL };
|
|
542
|
+
if (name in this._externalMap) return { value: this._externalMap[name], tier: LIMIT_TIER_EXTERNAL };
|
|
543
|
+
if (name in this._baseMap) return { value: this._baseMap[name], tier: LIMIT_TIER_BASE };
|
|
544
|
+
return undefined;
|
|
545
|
+
}
|
|
546
|
+
|
|
547
|
+
/**
|
|
548
|
+
* Classify a codepoint and return the minimum action level that must be applied.
|
|
549
|
+
* Returns -1 when no minimum is imposed (normal allow path).
|
|
550
|
+
*
|
|
551
|
+
* Ranges checked (in priority order):
|
|
552
|
+
* 1. U+0000 — null, governed by nullNCR (always ≥ remove)
|
|
553
|
+
* 2. U+D800–U+DFFF — surrogates, always prohibited (min: remove)
|
|
554
|
+
* 3. U+0001–U+001F \ {0x09,0x0A,0x0D} — XML 1.0 restricted C0 (min: remove)
|
|
555
|
+
* (skipped in XML 1.1 — C0 controls are allowed when written as NCRs)
|
|
556
|
+
*
|
|
557
|
+
* @param {number} cp — codepoint
|
|
558
|
+
* @returns {number} — minimum NCR_LEVEL value, or -1 for no restriction
|
|
559
|
+
*/
|
|
560
|
+
_classifyNCR(cp) {
|
|
561
|
+
// 1. Null
|
|
562
|
+
if (cp === 0) return this._ncrNullLevel;
|
|
563
|
+
|
|
564
|
+
// 2. Surrogates — always prohibited, minimum 'remove'
|
|
565
|
+
if (cp >= 0xD800 && cp <= 0xDFFF) return NCR_LEVEL.remove;
|
|
566
|
+
|
|
567
|
+
// 3. XML 1.0 restricted C0 controls
|
|
568
|
+
if (this._ncrXmlVersion === 1.0) {
|
|
569
|
+
if (cp >= 0x01 && cp <= 0x1F && !XML10_ALLOWED_C0.has(cp)) return NCR_LEVEL.remove;
|
|
570
|
+
}
|
|
571
|
+
|
|
572
|
+
return -1; // no restriction
|
|
573
|
+
}
|
|
574
|
+
|
|
575
|
+
/**
|
|
576
|
+
* Execute a resolved NCR action.
|
|
577
|
+
*
|
|
578
|
+
* @param {number} action — NCR_LEVEL value
|
|
579
|
+
* @param {string} token — raw token (e.g. '#38') for error messages
|
|
580
|
+
* @param {number} cp — codepoint, used only for error messages
|
|
581
|
+
* @returns {string|undefined}
|
|
582
|
+
* - decoded character string → 'allow'
|
|
583
|
+
* - '' → 'remove'
|
|
584
|
+
* - undefined → 'leave' (caller must skip past '&' only)
|
|
585
|
+
* - throws Error → 'throw'
|
|
586
|
+
*/
|
|
587
|
+
_applyNCRAction(action, token, cp) {
|
|
588
|
+
switch (action) {
|
|
589
|
+
case NCR_LEVEL.allow: return String.fromCodePoint(cp);
|
|
590
|
+
case NCR_LEVEL.remove: return '';
|
|
591
|
+
case NCR_LEVEL.leave: return undefined; // signal: keep literal
|
|
592
|
+
case NCR_LEVEL.throw:
|
|
593
|
+
throw new Error(
|
|
594
|
+
`[EntityDecoder] Prohibited numeric character reference ` +
|
|
595
|
+
`&${token}; (U+${cp.toString(16).toUpperCase().padStart(4, '0')})`
|
|
596
|
+
);
|
|
597
|
+
default: return String.fromCodePoint(cp);
|
|
598
|
+
}
|
|
599
|
+
}
|
|
600
|
+
|
|
601
|
+
/**
|
|
602
|
+
* Full NCR resolution pipeline for a numeric token.
|
|
603
|
+
*
|
|
604
|
+
* Steps:
|
|
605
|
+
* 1. Parse the codepoint (decimal or hex).
|
|
606
|
+
* 2. Validate the raw codepoint range (NaN, <0, >0x10FFFF).
|
|
607
|
+
* 3. If numericAllowed is false and no minimum restriction applies → leave as-is.
|
|
608
|
+
* 4. Classify the codepoint to find the minimum required action level.
|
|
609
|
+
* 5. Resolve effective action = max(onNCR, minimum).
|
|
610
|
+
* 6. Apply and return.
|
|
611
|
+
*
|
|
612
|
+
* @param {string} token — e.g. '#38', '#x26', '#X26'
|
|
613
|
+
* @returns {string|undefined}
|
|
614
|
+
* - string (incl. '') — replacement ('' = remove)
|
|
615
|
+
* - undefined — leave original &token; as-is
|
|
616
|
+
*/
|
|
617
|
+
_resolveNCR(token) {
|
|
618
|
+
// Step 1: parse codepoint
|
|
619
|
+
const second = token.charCodeAt(1);
|
|
620
|
+
let cp;
|
|
621
|
+
if (second === 120 /* x */ || second === 88 /* X */) {
|
|
622
|
+
cp = parseInt(token.slice(2), 16);
|
|
623
|
+
} else {
|
|
624
|
+
cp = parseInt(token.slice(1), 10);
|
|
625
|
+
}
|
|
626
|
+
|
|
627
|
+
// Step 2: out-of-range → leave as-is unconditionally
|
|
628
|
+
if (Number.isNaN(cp) || cp < 0 || cp > 0x10FFFF) return undefined;
|
|
629
|
+
|
|
630
|
+
// Step 3: classify to get minimum action level
|
|
631
|
+
const minimum = this._classifyNCR(cp);
|
|
632
|
+
|
|
633
|
+
// Step 4: if numericAllowed is false and no hard minimum → leave
|
|
634
|
+
if (!this._numericAllowed && minimum < NCR_LEVEL.remove) return undefined;
|
|
635
|
+
|
|
636
|
+
// Step 5: effective action = max(configured onNCR, range minimum)
|
|
637
|
+
const effective = minimum === -1
|
|
638
|
+
? this._ncrOnLevel
|
|
639
|
+
: Math.max(this._ncrOnLevel, minimum);
|
|
640
|
+
|
|
641
|
+
// Step 6: apply
|
|
642
|
+
return this._applyNCRAction(effective, token, cp);
|
|
643
|
+
}
|
|
644
|
+
}
|