@feiyoug/skill-lab 0.0.1 → 0.0.2
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 +20 -21
- package/esm/analyzer/astgrep/client.d.ts +20 -8
- package/esm/analyzer/astgrep/client.d.ts.map +1 -1
- package/esm/analyzer/astgrep/client.js +58 -31
- package/esm/analyzer/config/default.d.ts +8 -0
- package/esm/analyzer/config/default.d.ts.map +1 -0
- package/esm/analyzer/config/default.js +91 -0
- package/esm/analyzer/config/helpers.d.ts +8 -0
- package/esm/analyzer/config/helpers.d.ts.map +1 -0
- package/esm/analyzer/config/helpers.js +72 -0
- package/esm/analyzer/config/mod.d.ts +4 -0
- package/esm/analyzer/config/mod.d.ts.map +1 -0
- package/esm/analyzer/config/mod.js +3 -0
- package/esm/analyzer/config/types.d.ts +58 -0
- package/esm/analyzer/config/types.d.ts.map +1 -0
- package/esm/analyzer/{config.js → config/types.js} +0 -28
- package/esm/analyzer/logging.d.ts +3 -0
- package/esm/analyzer/logging.d.ts.map +1 -0
- package/esm/analyzer/logging.js +6 -0
- package/esm/analyzer/mod.d.ts +12 -5
- package/esm/analyzer/mod.d.ts.map +1 -1
- package/esm/analyzer/mod.js +25 -12
- package/esm/analyzer/result.d.ts +35 -0
- package/esm/analyzer/result.d.ts.map +1 -0
- package/esm/analyzer/result.js +311 -0
- package/esm/analyzer/rules/bash/commands/mod.d.ts +1 -0
- package/esm/analyzer/rules/bash/commands/mod.d.ts.map +1 -1
- package/esm/analyzer/rules/bash/commands/mod.js +3 -0
- package/esm/analyzer/rules/bash/commands/pip.d.ts +3 -0
- package/esm/analyzer/rules/bash/commands/pip.d.ts.map +1 -0
- package/esm/analyzer/rules/bash/commands/pip.js +14 -0
- package/esm/analyzer/rules/bash/extractFileRefs.d.ts +1 -1
- package/esm/analyzer/rules/bash/extractFileRefs.d.ts.map +1 -1
- package/esm/analyzer/rules/bash/extractFileRefs.js +2 -2
- package/esm/analyzer/rules/bash/inline-command-classifier.d.ts +1 -1
- package/esm/analyzer/rules/bash/inline-command-classifier.d.ts.map +1 -1
- package/esm/analyzer/rules/bash/inline-command-classifier.js +4 -4
- package/esm/analyzer/rules/javascript/extractFileRefs.d.ts +3 -4
- package/esm/analyzer/rules/javascript/extractFileRefs.d.ts.map +1 -1
- package/esm/analyzer/rules/javascript/extractFileRefs.js +3 -4
- package/esm/analyzer/rules/markdown/extractCodeBlocks.d.ts.map +1 -1
- package/esm/analyzer/rules/markdown/extractCodeBlocks.js +6 -3
- package/esm/analyzer/rules/markdown/extractFileRefs.d.ts.map +1 -1
- package/esm/analyzer/rules/markdown/extractFileRefs.js +2 -0
- package/esm/analyzer/rules/python/extractFileRefs.d.ts +1 -1
- package/esm/analyzer/rules/python/extractFileRefs.d.ts.map +1 -1
- package/esm/analyzer/rules/python/extractFileRefs.js +2 -2
- package/esm/analyzer/steps/001-discovery/discover-files.d.ts +4 -0
- package/esm/analyzer/steps/001-discovery/discover-files.d.ts.map +1 -1
- package/esm/analyzer/steps/001-discovery/discover-files.js +18 -2
- package/esm/analyzer/steps/001-discovery/mod.d.ts.map +1 -1
- package/esm/analyzer/steps/001-discovery/mod.js +39 -9
- package/esm/analyzer/steps/002-permissions/mod.d.ts.map +1 -1
- package/esm/analyzer/steps/002-permissions/mod.js +156 -73
- package/esm/analyzer/steps/002-permissions/scan-file.d.ts +1 -1
- package/esm/analyzer/steps/002-permissions/scan-file.d.ts.map +1 -1
- package/esm/analyzer/steps/002-permissions/scan-file.js +40 -5
- package/esm/analyzer/steps/002-permissions/seed-frontmatter.js +2 -2
- package/esm/analyzer/steps/003-risks/dep-risks.d.ts +3 -0
- package/esm/analyzer/steps/003-risks/dep-risks.d.ts.map +1 -0
- package/esm/analyzer/steps/003-risks/dep-risks.js +74 -0
- package/esm/analyzer/steps/003-risks/helpers.d.ts +1 -0
- package/esm/analyzer/steps/003-risks/helpers.d.ts.map +1 -1
- package/esm/analyzer/steps/003-risks/helpers.js +1 -0
- package/esm/analyzer/steps/003-risks/mod.d.ts +3 -2
- package/esm/analyzer/steps/003-risks/mod.d.ts.map +1 -1
- package/esm/analyzer/steps/003-risks/mod.js +41 -4
- package/esm/analyzer/steps/003-risks/policy.d.ts +7 -0
- package/esm/analyzer/steps/003-risks/policy.d.ts.map +1 -0
- package/esm/analyzer/steps/003-risks/policy.js +23 -0
- package/esm/analyzer/steps/003-risks/rule-mapped.d.ts +2 -2
- package/esm/analyzer/steps/003-risks/rule-mapped.d.ts.map +1 -1
- package/esm/analyzer/steps/003-risks/rule-mapped.js +83 -2
- package/esm/analyzer/steps/003-risks/scoring.d.ts +9 -1
- package/esm/analyzer/steps/003-risks/scoring.d.ts.map +1 -1
- package/esm/analyzer/steps/003-risks/scoring.js +55 -42
- package/esm/analyzer/treesitter/client.d.ts +31 -0
- package/esm/analyzer/treesitter/client.d.ts.map +1 -0
- package/esm/analyzer/{treesiter → treesitter}/client.js +43 -39
- package/esm/analyzer/treesitter/registry.d.ts +73 -0
- package/esm/analyzer/treesitter/registry.d.ts.map +1 -0
- package/esm/analyzer/treesitter/registry.js +165 -0
- package/esm/analyzer/types.d.ts +14 -28
- package/esm/analyzer/types.d.ts.map +1 -1
- package/esm/deps/jsr.io/@deno-library/progress/1.5.1/deps.d.ts +3 -0
- package/esm/deps/jsr.io/@deno-library/progress/1.5.1/deps.d.ts.map +1 -0
- package/esm/deps/jsr.io/@deno-library/progress/1.5.1/deps.js +3 -0
- package/esm/deps/jsr.io/@deno-library/progress/1.5.1/mod.d.ts +93 -0
- package/esm/deps/jsr.io/@deno-library/progress/1.5.1/mod.d.ts.map +1 -0
- package/esm/deps/jsr.io/@deno-library/progress/1.5.1/mod.js +297 -0
- package/esm/deps/jsr.io/@deno-library/progress/1.5.1/multi.d.ts +84 -0
- package/esm/deps/jsr.io/@deno-library/progress/1.5.1/multi.d.ts.map +1 -0
- package/esm/deps/jsr.io/@deno-library/progress/1.5.1/multi.js +268 -0
- package/esm/deps/jsr.io/@deno-library/progress/1.5.1/time.d.ts +18 -0
- package/esm/deps/jsr.io/@deno-library/progress/1.5.1/time.d.ts.map +1 -0
- package/esm/deps/jsr.io/@deno-library/progress/1.5.1/time.js +45 -0
- package/esm/deps/jsr.io/@std/fmt/1.0.3/colors.d.ts +700 -0
- package/esm/deps/jsr.io/@std/fmt/1.0.3/colors.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/fmt/1.0.3/colors.js +903 -0
- package/esm/deps/jsr.io/@std/io/0.225.0/types.d.ts +146 -0
- package/esm/deps/jsr.io/@std/io/0.225.0/types.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/io/0.225.0/types.js +15 -0
- package/esm/deps/jsr.io/@std/io/0.225.0/write_all.d.ts +51 -0
- package/esm/deps/jsr.io/@std/io/0.225.0/write_all.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/io/0.225.0/write_all.js +61 -0
- package/esm/shared/deep_merge.d.ts +12 -0
- package/esm/shared/deep_merge.d.ts.map +1 -0
- package/esm/shared/deep_merge.js +49 -0
- package/esm/shared/mod.d.ts +1 -0
- package/esm/shared/mod.d.ts.map +1 -1
- package/esm/shared/mod.js +1 -0
- package/esm/shared/types/filetypes.d.ts +2 -2
- package/esm/shared/types/filetypes.d.ts.map +1 -1
- package/esm/shared/types/permissions.d.ts +1 -1
- package/esm/shared/types/permissions.d.ts.map +1 -1
- package/esm/shared/types/risks.d.ts +4 -1
- package/esm/shared/types/risks.d.ts.map +1 -1
- package/esm/skillreader/types.d.ts +2 -2
- package/esm/skillreader/types.d.ts.map +1 -1
- package/esm/skillreader/types.js +2 -2
- package/package.json +1 -1
- package/script/analyzer/astgrep/client.d.ts +20 -8
- package/script/analyzer/astgrep/client.d.ts.map +1 -1
- package/script/analyzer/astgrep/client.js +58 -64
- package/script/analyzer/config/default.d.ts +8 -0
- package/script/analyzer/config/default.d.ts.map +1 -0
- package/script/analyzer/config/default.js +94 -0
- package/script/analyzer/config/helpers.d.ts +8 -0
- package/script/analyzer/config/helpers.d.ts.map +1 -0
- package/script/analyzer/config/helpers.js +76 -0
- package/script/analyzer/config/mod.d.ts +4 -0
- package/script/analyzer/config/mod.d.ts.map +1 -0
- package/script/analyzer/config/mod.js +21 -0
- package/script/analyzer/config/types.d.ts +58 -0
- package/script/analyzer/config/types.d.ts.map +1 -0
- package/script/analyzer/{config.js → config/types.js} +1 -29
- package/script/analyzer/logging.d.ts +3 -0
- package/script/analyzer/logging.d.ts.map +1 -0
- package/script/analyzer/logging.js +9 -0
- package/script/analyzer/mod.d.ts +12 -5
- package/script/analyzer/mod.d.ts.map +1 -1
- package/script/analyzer/mod.js +35 -20
- package/script/analyzer/result.d.ts +35 -0
- package/script/analyzer/result.d.ts.map +1 -0
- package/script/analyzer/result.js +315 -0
- package/script/analyzer/rules/bash/commands/mod.d.ts +1 -0
- package/script/analyzer/rules/bash/commands/mod.d.ts.map +1 -1
- package/script/analyzer/rules/bash/commands/mod.js +3 -0
- package/script/analyzer/rules/bash/commands/pip.d.ts +3 -0
- package/script/analyzer/rules/bash/commands/pip.d.ts.map +1 -0
- package/script/analyzer/rules/bash/commands/pip.js +17 -0
- package/script/analyzer/rules/bash/extractFileRefs.d.ts +1 -1
- package/script/analyzer/rules/bash/extractFileRefs.d.ts.map +1 -1
- package/script/analyzer/rules/bash/extractFileRefs.js +2 -2
- package/script/analyzer/rules/bash/inline-command-classifier.d.ts +1 -1
- package/script/analyzer/rules/bash/inline-command-classifier.d.ts.map +1 -1
- package/script/analyzer/rules/bash/inline-command-classifier.js +4 -4
- package/script/analyzer/rules/javascript/extractFileRefs.d.ts +3 -4
- package/script/analyzer/rules/javascript/extractFileRefs.d.ts.map +1 -1
- package/script/analyzer/rules/javascript/extractFileRefs.js +3 -4
- package/script/analyzer/rules/markdown/extractCodeBlocks.d.ts.map +1 -1
- package/script/analyzer/rules/markdown/extractCodeBlocks.js +6 -3
- package/script/analyzer/rules/markdown/extractFileRefs.d.ts.map +1 -1
- package/script/analyzer/rules/markdown/extractFileRefs.js +2 -0
- package/script/analyzer/rules/python/extractFileRefs.d.ts +1 -1
- package/script/analyzer/rules/python/extractFileRefs.d.ts.map +1 -1
- package/script/analyzer/rules/python/extractFileRefs.js +2 -2
- package/script/analyzer/steps/001-discovery/discover-files.d.ts +4 -0
- package/script/analyzer/steps/001-discovery/discover-files.d.ts.map +1 -1
- package/script/analyzer/steps/001-discovery/discover-files.js +18 -2
- package/script/analyzer/steps/001-discovery/mod.d.ts.map +1 -1
- package/script/analyzer/steps/001-discovery/mod.js +77 -11
- package/script/analyzer/steps/002-permissions/mod.d.ts.map +1 -1
- package/script/analyzer/steps/002-permissions/mod.js +194 -75
- package/script/analyzer/steps/002-permissions/scan-file.d.ts +1 -1
- package/script/analyzer/steps/002-permissions/scan-file.d.ts.map +1 -1
- package/script/analyzer/steps/002-permissions/scan-file.js +40 -5
- package/script/analyzer/steps/002-permissions/seed-frontmatter.js +3 -3
- package/script/analyzer/steps/003-risks/dep-risks.d.ts +3 -0
- package/script/analyzer/steps/003-risks/dep-risks.d.ts.map +1 -0
- package/script/analyzer/steps/003-risks/dep-risks.js +77 -0
- package/script/analyzer/steps/003-risks/helpers.d.ts +1 -0
- package/script/analyzer/steps/003-risks/helpers.d.ts.map +1 -1
- package/script/analyzer/steps/003-risks/helpers.js +1 -0
- package/script/analyzer/steps/003-risks/mod.d.ts +3 -2
- package/script/analyzer/steps/003-risks/mod.d.ts.map +1 -1
- package/script/analyzer/steps/003-risks/mod.js +77 -4
- package/script/analyzer/steps/003-risks/policy.d.ts +7 -0
- package/script/analyzer/steps/003-risks/policy.d.ts.map +1 -0
- package/script/analyzer/steps/003-risks/policy.js +29 -0
- package/script/analyzer/steps/003-risks/rule-mapped.d.ts +2 -2
- package/script/analyzer/steps/003-risks/rule-mapped.d.ts.map +1 -1
- package/script/analyzer/steps/003-risks/rule-mapped.js +83 -2
- package/script/analyzer/steps/003-risks/scoring.d.ts +9 -1
- package/script/analyzer/steps/003-risks/scoring.d.ts.map +1 -1
- package/script/analyzer/steps/003-risks/scoring.js +55 -42
- package/script/analyzer/treesitter/client.d.ts +31 -0
- package/script/analyzer/treesitter/client.d.ts.map +1 -0
- package/script/analyzer/treesitter/client.js +136 -0
- package/script/analyzer/treesitter/registry.d.ts +73 -0
- package/script/analyzer/treesitter/registry.d.ts.map +1 -0
- package/script/analyzer/treesitter/registry.js +206 -0
- package/script/analyzer/types.d.ts +14 -28
- package/script/analyzer/types.d.ts.map +1 -1
- package/script/deps/jsr.io/@deno-library/progress/1.5.1/deps.d.ts +3 -0
- package/script/deps/jsr.io/@deno-library/progress/1.5.1/deps.d.ts.map +1 -0
- package/script/deps/jsr.io/@deno-library/progress/1.5.1/deps.js +10 -0
- package/script/deps/jsr.io/@deno-library/progress/1.5.1/mod.d.ts +93 -0
- package/script/deps/jsr.io/@deno-library/progress/1.5.1/mod.d.ts.map +1 -0
- package/script/deps/jsr.io/@deno-library/progress/1.5.1/mod.js +334 -0
- package/script/deps/jsr.io/@deno-library/progress/1.5.1/multi.d.ts +84 -0
- package/script/deps/jsr.io/@deno-library/progress/1.5.1/multi.d.ts.map +1 -0
- package/script/deps/jsr.io/@deno-library/progress/1.5.1/multi.js +305 -0
- package/script/deps/jsr.io/@deno-library/progress/1.5.1/time.d.ts +18 -0
- package/script/deps/jsr.io/@deno-library/progress/1.5.1/time.d.ts.map +1 -0
- package/script/deps/jsr.io/@deno-library/progress/1.5.1/time.js +48 -0
- package/script/deps/jsr.io/@std/fmt/1.0.3/colors.d.ts +700 -0
- package/script/deps/jsr.io/@std/fmt/1.0.3/colors.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/fmt/1.0.3/colors.js +986 -0
- package/script/deps/jsr.io/@std/io/0.225.0/types.d.ts +146 -0
- package/script/deps/jsr.io/@std/io/0.225.0/types.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/io/0.225.0/types.js +18 -0
- package/script/deps/jsr.io/@std/io/0.225.0/write_all.d.ts +51 -0
- package/script/deps/jsr.io/@std/io/0.225.0/write_all.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/io/0.225.0/write_all.js +65 -0
- package/script/shared/deep_merge.d.ts +12 -0
- package/script/shared/deep_merge.d.ts.map +1 -0
- package/script/shared/deep_merge.js +53 -0
- package/script/shared/mod.d.ts +1 -0
- package/script/shared/mod.d.ts.map +1 -1
- package/script/shared/mod.js +1 -0
- package/script/shared/types/filetypes.d.ts +2 -2
- package/script/shared/types/filetypes.d.ts.map +1 -1
- package/script/shared/types/permissions.d.ts +1 -1
- package/script/shared/types/permissions.d.ts.map +1 -1
- package/script/shared/types/risks.d.ts +4 -1
- package/script/shared/types/risks.d.ts.map +1 -1
- package/script/skillreader/types.d.ts +2 -2
- package/script/skillreader/types.d.ts.map +1 -1
- package/script/skillreader/types.js +2 -2
- package/src/_dnt.polyfills.ts +27 -0
- package/src/_dnt.shims.ts +64 -0
- package/src/analyzer/astgrep/client.ts +184 -0
- package/src/analyzer/astgrep/mod.ts +2 -0
- package/src/analyzer/config/default.ts +98 -0
- package/src/analyzer/config/helpers.ts +107 -0
- package/src/analyzer/config/mod.ts +3 -0
- package/src/analyzer/config/types.ts +103 -0
- package/src/analyzer/logging.ts +8 -0
- package/src/analyzer/mod.ts +118 -0
- package/src/analyzer/result.ts +393 -0
- package/src/analyzer/rules/bash/astTypes.ts +5 -0
- package/src/analyzer/rules/bash/commands/bd.ts +23 -0
- package/src/analyzer/rules/bash/commands/cron.ts +21 -0
- package/src/analyzer/rules/bash/commands/docker.ts +37 -0
- package/src/analyzer/rules/bash/commands/eval.ts +52 -0
- package/src/analyzer/rules/bash/commands/generic.ts +16 -0
- package/src/analyzer/rules/bash/commands/gh.ts +21 -0
- package/src/analyzer/rules/bash/commands/git.ts +28 -0
- package/src/analyzer/rules/bash/commands/mod.ts +38 -0
- package/src/analyzer/rules/bash/commands/node.ts +64 -0
- package/src/analyzer/rules/bash/commands/openspec.ts +16 -0
- package/src/analyzer/rules/bash/commands/pip.ts +16 -0
- package/src/analyzer/rules/bash/commands/sudo.ts +21 -0
- package/src/analyzer/rules/bash/destructive.ts +28 -0
- package/src/analyzer/rules/bash/extractFileRefs.ts +101 -0
- package/src/analyzer/rules/bash/filesystem.ts +50 -0
- package/src/analyzer/rules/bash/injection.ts +21 -0
- package/src/analyzer/rules/bash/inline-command-classifier.ts +94 -0
- package/src/analyzer/rules/bash/mod.ts +23 -0
- package/src/analyzer/rules/bash/network.ts +64 -0
- package/src/analyzer/rules/bash/secret-detection.ts +43 -0
- package/src/analyzer/rules/javascript/astTypes.ts +8 -0
- package/src/analyzer/rules/javascript/extractFileRefs.ts +131 -0
- package/src/analyzer/rules/javascript/filesystem.ts +28 -0
- package/src/analyzer/rules/javascript/injection.ts +21 -0
- package/src/analyzer/rules/javascript/mod.ts +26 -0
- package/src/analyzer/rules/javascript/network.ts +27 -0
- package/src/analyzer/rules/javascript/secret-detection.ts +68 -0
- package/src/analyzer/rules/javascript/subprocess.ts +16 -0
- package/src/analyzer/rules/markdown/astTypes.ts +35 -0
- package/src/analyzer/rules/markdown/extractCodeBlocks.ts +101 -0
- package/src/analyzer/rules/markdown/extractFileRefs.ts +179 -0
- package/src/analyzer/rules/markdown/mod.ts +12 -0
- package/src/analyzer/rules/mod.ts +77 -0
- package/src/analyzer/rules/python/astTypes.ts +9 -0
- package/src/analyzer/rules/python/extractFileRefs.ts +92 -0
- package/src/analyzer/rules/python/mod.ts +15 -0
- package/src/analyzer/rules/python/network.ts +26 -0
- package/src/analyzer/rules/python/secret-detection.ts +30 -0
- package/src/analyzer/rules/shared/file-refs.ts +38 -0
- package/src/analyzer/rules/shared/network-evaluators.ts +107 -0
- package/src/analyzer/rules/shared/prompt-injection.ts +48 -0
- package/src/analyzer/rules/shared/secret-evaluators.ts +13 -0
- package/src/analyzer/rules/text/mod.ts +12 -0
- package/src/analyzer/rules/typescript/mod.ts +7 -0
- package/src/analyzer/steps/001-discovery/discover-files.ts +211 -0
- package/src/analyzer/steps/001-discovery/filter-files.ts +72 -0
- package/src/analyzer/steps/001-discovery/mod.ts +103 -0
- package/src/analyzer/steps/002-permissions/mod.ts +329 -0
- package/src/analyzer/steps/002-permissions/scan-file.ts +258 -0
- package/src/analyzer/steps/002-permissions/seed-frontmatter.ts +66 -0
- package/src/analyzer/steps/002-permissions/synthesize.ts +42 -0
- package/src/analyzer/steps/003-risks/dep-risks.ts +89 -0
- package/src/analyzer/steps/003-risks/helpers.ts +41 -0
- package/src/analyzer/steps/003-risks/mod.ts +86 -0
- package/src/analyzer/steps/003-risks/policy.ts +38 -0
- package/src/analyzer/steps/003-risks/rule-mapped.ts +206 -0
- package/src/analyzer/steps/003-risks/scoring.ts +117 -0
- package/src/analyzer/steps/mod.ts +3 -0
- package/src/analyzer/treesitter/client.ts +120 -0
- package/src/analyzer/treesitter/registry.ts +198 -0
- package/src/analyzer/types.ts +78 -0
- package/src/analyzer/utils/code-block-path.ts +33 -0
- package/src/analyzer/utils/id-generator.ts +59 -0
- package/src/analyzer/utils/secret-validator.ts +29 -0
- package/src/analyzer/utils/url-parser.ts +25 -0
- package/src/deps/jsr.io/@deno-library/progress/1.5.1/deps.ts +3 -0
- package/src/deps/jsr.io/@deno-library/progress/1.5.1/mod.ts +265 -0
- package/src/deps/jsr.io/@deno-library/progress/1.5.1/multi.ts +250 -0
- package/src/deps/jsr.io/@deno-library/progress/1.5.1/time.ts +69 -0
- package/src/deps/jsr.io/@std/fmt/1.0.3/colors.ts +1004 -0
- package/src/deps/jsr.io/@std/internal/1.0.12/_os.ts +15 -0
- package/src/deps/jsr.io/@std/internal/1.0.12/os.ts +7 -0
- package/src/deps/jsr.io/@std/io/0.225.0/types.ts +157 -0
- package/src/deps/jsr.io/@std/io/0.225.0/write_all.ts +65 -0
- package/src/deps/jsr.io/@std/path/1.1.4/_common/assert_path.ts +10 -0
- package/src/deps/jsr.io/@std/path/1.1.4/_common/basename.ts +53 -0
- package/src/deps/jsr.io/@std/path/1.1.4/_common/common.ts +26 -0
- package/src/deps/jsr.io/@std/path/1.1.4/_common/constants.ts +49 -0
- package/src/deps/jsr.io/@std/path/1.1.4/_common/dirname.ts +9 -0
- package/src/deps/jsr.io/@std/path/1.1.4/_common/format.ts +25 -0
- package/src/deps/jsr.io/@std/path/1.1.4/_common/from_file_url.ts +12 -0
- package/src/deps/jsr.io/@std/path/1.1.4/_common/glob_to_reg_exp.ts +295 -0
- package/src/deps/jsr.io/@std/path/1.1.4/_common/normalize.ts +9 -0
- package/src/deps/jsr.io/@std/path/1.1.4/_common/normalize_string.ts +74 -0
- package/src/deps/jsr.io/@std/path/1.1.4/_common/relative.ts +10 -0
- package/src/deps/jsr.io/@std/path/1.1.4/_common/strip_trailing_separators.ts +25 -0
- package/src/deps/jsr.io/@std/path/1.1.4/_common/to_file_url.ts +17 -0
- package/src/deps/jsr.io/@std/path/1.1.4/basename.ts +37 -0
- package/src/deps/jsr.io/@std/path/1.1.4/common.ts +35 -0
- package/src/deps/jsr.io/@std/path/1.1.4/constants.ts +18 -0
- package/src/deps/jsr.io/@std/path/1.1.4/dirname.ts +30 -0
- package/src/deps/jsr.io/@std/path/1.1.4/extname.ts +29 -0
- package/src/deps/jsr.io/@std/path/1.1.4/format.ts +30 -0
- package/src/deps/jsr.io/@std/path/1.1.4/from_file_url.ts +30 -0
- package/src/deps/jsr.io/@std/path/1.1.4/glob_to_regexp.ts +94 -0
- package/src/deps/jsr.io/@std/path/1.1.4/is_absolute.ts +30 -0
- package/src/deps/jsr.io/@std/path/1.1.4/is_glob.ts +49 -0
- package/src/deps/jsr.io/@std/path/1.1.4/join.ts +31 -0
- package/src/deps/jsr.io/@std/path/1.1.4/join_globs.ts +42 -0
- package/src/deps/jsr.io/@std/path/1.1.4/mod.ts +217 -0
- package/src/deps/jsr.io/@std/path/1.1.4/normalize.ts +33 -0
- package/src/deps/jsr.io/@std/path/1.1.4/normalize_glob.ts +45 -0
- package/src/deps/jsr.io/@std/path/1.1.4/parse.ts +44 -0
- package/src/deps/jsr.io/@std/path/1.1.4/posix/_util.ts +10 -0
- package/src/deps/jsr.io/@std/path/1.1.4/posix/basename.ts +62 -0
- package/src/deps/jsr.io/@std/path/1.1.4/posix/constants.ts +15 -0
- package/src/deps/jsr.io/@std/path/1.1.4/posix/dirname.ts +72 -0
- package/src/deps/jsr.io/@std/path/1.1.4/posix/extname.ts +96 -0
- package/src/deps/jsr.io/@std/path/1.1.4/posix/format.ts +31 -0
- package/src/deps/jsr.io/@std/path/1.1.4/posix/from_file_url.ts +25 -0
- package/src/deps/jsr.io/@std/path/1.1.4/posix/glob_to_regexp.ts +94 -0
- package/src/deps/jsr.io/@std/path/1.1.4/posix/is_absolute.ts +25 -0
- package/src/deps/jsr.io/@std/path/1.1.4/posix/join.ts +46 -0
- package/src/deps/jsr.io/@std/path/1.1.4/posix/join_globs.ts +45 -0
- package/src/deps/jsr.io/@std/path/1.1.4/posix/normalize.ts +63 -0
- package/src/deps/jsr.io/@std/path/1.1.4/posix/normalize_glob.ts +43 -0
- package/src/deps/jsr.io/@std/path/1.1.4/posix/parse.ts +121 -0
- package/src/deps/jsr.io/@std/path/1.1.4/posix/relative.ts +103 -0
- package/src/deps/jsr.io/@std/path/1.1.4/posix/resolve.ts +71 -0
- package/src/deps/jsr.io/@std/path/1.1.4/posix/to_file_url.ts +32 -0
- package/src/deps/jsr.io/@std/path/1.1.4/posix/to_namespaced_path.ts +21 -0
- package/src/deps/jsr.io/@std/path/1.1.4/relative.ts +32 -0
- package/src/deps/jsr.io/@std/path/1.1.4/resolve.ts +32 -0
- package/src/deps/jsr.io/@std/path/1.1.4/to_file_url.ts +30 -0
- package/src/deps/jsr.io/@std/path/1.1.4/to_namespaced_path.ts +31 -0
- package/src/deps/jsr.io/@std/path/1.1.4/types.ts +40 -0
- package/src/deps/jsr.io/@std/path/1.1.4/windows/_util.ts +28 -0
- package/src/deps/jsr.io/@std/path/1.1.4/windows/basename.ts +54 -0
- package/src/deps/jsr.io/@std/path/1.1.4/windows/constants.ts +15 -0
- package/src/deps/jsr.io/@std/path/1.1.4/windows/dirname.ts +118 -0
- package/src/deps/jsr.io/@std/path/1.1.4/windows/extname.ts +90 -0
- package/src/deps/jsr.io/@std/path/1.1.4/windows/format.ts +31 -0
- package/src/deps/jsr.io/@std/path/1.1.4/windows/from_file_url.ts +34 -0
- package/src/deps/jsr.io/@std/path/1.1.4/windows/glob_to_regexp.ts +92 -0
- package/src/deps/jsr.io/@std/path/1.1.4/windows/is_absolute.ts +40 -0
- package/src/deps/jsr.io/@std/path/1.1.4/windows/join.ts +78 -0
- package/src/deps/jsr.io/@std/path/1.1.4/windows/join_globs.ts +46 -0
- package/src/deps/jsr.io/@std/path/1.1.4/windows/normalize.ts +136 -0
- package/src/deps/jsr.io/@std/path/1.1.4/windows/normalize_glob.ts +43 -0
- package/src/deps/jsr.io/@std/path/1.1.4/windows/parse.ts +184 -0
- package/src/deps/jsr.io/@std/path/1.1.4/windows/relative.ts +128 -0
- package/src/deps/jsr.io/@std/path/1.1.4/windows/resolve.ts +178 -0
- package/src/deps/jsr.io/@std/path/1.1.4/windows/to_file_url.ts +38 -0
- package/src/deps/jsr.io/@std/path/1.1.4/windows/to_namespaced_path.ts +60 -0
- package/src/deps/jsr.io/@std/yaml/1.0.11/_chars.ts +55 -0
- package/src/deps/jsr.io/@std/yaml/1.0.11/_dumper_state.ts +841 -0
- package/src/deps/jsr.io/@std/yaml/1.0.11/_loader_state.ts +1780 -0
- package/src/deps/jsr.io/@std/yaml/1.0.11/_schema.ts +183 -0
- package/src/deps/jsr.io/@std/yaml/1.0.11/_type/binary.ts +127 -0
- package/src/deps/jsr.io/@std/yaml/1.0.11/_type/bool.ts +37 -0
- package/src/deps/jsr.io/@std/yaml/1.0.11/_type/float.ts +112 -0
- package/src/deps/jsr.io/@std/yaml/1.0.11/_type/int.ts +174 -0
- package/src/deps/jsr.io/@std/yaml/1.0.11/_type/map.ts +17 -0
- package/src/deps/jsr.io/@std/yaml/1.0.11/_type/merge.ts +13 -0
- package/src/deps/jsr.io/@std/yaml/1.0.11/_type/nil.ts +27 -0
- package/src/deps/jsr.io/@std/yaml/1.0.11/_type/omap.ts +30 -0
- package/src/deps/jsr.io/@std/yaml/1.0.11/_type/pairs.ts +22 -0
- package/src/deps/jsr.io/@std/yaml/1.0.11/_type/regexp.ts +33 -0
- package/src/deps/jsr.io/@std/yaml/1.0.11/_type/seq.ts +13 -0
- package/src/deps/jsr.io/@std/yaml/1.0.11/_type/set.ts +17 -0
- package/src/deps/jsr.io/@std/yaml/1.0.11/_type/str.ts +12 -0
- package/src/deps/jsr.io/@std/yaml/1.0.11/_type/timestamp.ts +101 -0
- package/src/deps/jsr.io/@std/yaml/1.0.11/_type/undefined.ts +23 -0
- package/src/deps/jsr.io/@std/yaml/1.0.11/_type.ts +49 -0
- package/src/deps/jsr.io/@std/yaml/1.0.11/_utils.ts +16 -0
- package/src/deps/jsr.io/@std/yaml/1.0.11/mod.ts +54 -0
- package/src/deps/jsr.io/@std/yaml/1.0.11/parse.ts +128 -0
- package/src/deps/jsr.io/@std/yaml/1.0.11/stringify.ts +118 -0
- package/src/shared/deep_merge.ts +73 -0
- package/src/shared/mod.ts +2 -0
- package/src/shared/types/filetypes.ts +101 -0
- package/src/shared/types/findings.ts +7 -0
- package/src/shared/types/mod.ts +6 -0
- package/src/shared/types/permissions.ts +17 -0
- package/src/shared/types/references.ts +62 -0
- package/src/shared/types/risks.ts +72 -0
- package/src/shared/types/syntaxNode.ts +7 -0
- package/src/skillreader/cloudStorage/mod.ts +170 -0
- package/src/skillreader/factory.ts +71 -0
- package/src/skillreader/fs/git.ts +153 -0
- package/src/skillreader/fs/mod.ts +84 -0
- package/src/skillreader/github/base.ts +162 -0
- package/src/skillreader/github/githubApi.ts +40 -0
- package/src/skillreader/github/githubRaw.ts +24 -0
- package/src/skillreader/github/mod.ts +45 -0
- package/src/skillreader/github/utils.ts +40 -0
- package/src/skillreader/manifest.ts +67 -0
- package/src/skillreader/mod.ts +26 -0
- package/src/skillreader/types.ts +150 -0
- package/src/skillreader/utils/frontmatter-parser.ts +72 -0
- package/src/skillreader/utils/http-range.ts +38 -0
- package/src/skillreader/utils/mod.ts +12 -0
- package/esm/analyzer/astgrep/registry.d.ts +0 -18
- package/esm/analyzer/astgrep/registry.d.ts.map +0 -1
- package/esm/analyzer/astgrep/registry.js +0 -71
- package/esm/analyzer/config.d.ts +0 -27
- package/esm/analyzer/config.d.ts.map +0 -1
- package/esm/analyzer/steps/003-risks/output.d.ts +0 -3
- package/esm/analyzer/steps/003-risks/output.d.ts.map +0 -1
- package/esm/analyzer/steps/003-risks/output.js +0 -16
- package/esm/analyzer/treesiter/client.d.ts +0 -26
- package/esm/analyzer/treesiter/client.d.ts.map +0 -1
- package/script/analyzer/astgrep/registry.d.ts +0 -18
- package/script/analyzer/astgrep/registry.d.ts.map +0 -1
- package/script/analyzer/astgrep/registry.js +0 -109
- package/script/analyzer/config.d.ts +0 -27
- package/script/analyzer/config.d.ts.map +0 -1
- package/script/analyzer/steps/003-risks/output.d.ts +0 -3
- package/script/analyzer/steps/003-risks/output.d.ts.map +0 -1
- package/script/analyzer/steps/003-risks/output.js +0 -19
- package/script/analyzer/treesiter/client.d.ts +0 -26
- package/script/analyzer/treesiter/client.d.ts.map +0 -1
- package/script/analyzer/treesiter/client.js +0 -165
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* An abstract interface which when implemented provides an interface to read
|
|
3
|
+
* bytes into an array buffer asynchronously.
|
|
4
|
+
*/
|
|
5
|
+
export interface Reader {
|
|
6
|
+
/** Reads up to `p.byteLength` bytes into `p`. It resolves to the number of
|
|
7
|
+
* bytes read (`0` < `n` <= `p.byteLength`) and rejects if any error
|
|
8
|
+
* encountered. Even if `read()` resolves to `n` < `p.byteLength`, it may
|
|
9
|
+
* use all of `p` as scratch space during the call. If some data is
|
|
10
|
+
* available but not `p.byteLength` bytes, `read()` conventionally resolves
|
|
11
|
+
* to what is available instead of waiting for more.
|
|
12
|
+
*
|
|
13
|
+
* When `read()` encounters end-of-file condition, it resolves to EOF
|
|
14
|
+
* (`null`).
|
|
15
|
+
*
|
|
16
|
+
* When `read()` encounters an error, it rejects with an error.
|
|
17
|
+
*
|
|
18
|
+
* Callers should always process the `n` > `0` bytes returned before
|
|
19
|
+
* considering the EOF (`null`). Doing so correctly handles I/O errors that
|
|
20
|
+
* happen after reading some bytes and also both of the allowed EOF
|
|
21
|
+
* behaviors.
|
|
22
|
+
*
|
|
23
|
+
* Implementations should not retain a reference to `p`.
|
|
24
|
+
*
|
|
25
|
+
* Use
|
|
26
|
+
* {@linkcode @std/io/to-iterator.ts?s=toIterator}
|
|
27
|
+
* to turn a {@linkcode Reader} into an {@linkcode AsyncIterableIterator}.
|
|
28
|
+
*/
|
|
29
|
+
read(p: Uint8Array): Promise<number | null>;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* An abstract interface which when implemented provides an interface to read
|
|
33
|
+
* bytes into an array buffer synchronously.
|
|
34
|
+
*/
|
|
35
|
+
export interface ReaderSync {
|
|
36
|
+
/** Reads up to `p.byteLength` bytes into `p`. It resolves to the number
|
|
37
|
+
* of bytes read (`0` < `n` <= `p.byteLength`) and rejects if any error
|
|
38
|
+
* encountered. Even if `read()` returns `n` < `p.byteLength`, it may use
|
|
39
|
+
* all of `p` as scratch space during the call. If some data is available
|
|
40
|
+
* but not `p.byteLength` bytes, `read()` conventionally returns what is
|
|
41
|
+
* available instead of waiting for more.
|
|
42
|
+
*
|
|
43
|
+
* When `readSync()` encounters end-of-file condition, it returns EOF
|
|
44
|
+
* (`null`).
|
|
45
|
+
*
|
|
46
|
+
* When `readSync()` encounters an error, it throws with an error.
|
|
47
|
+
*
|
|
48
|
+
* Callers should always process the `n` > `0` bytes returned before
|
|
49
|
+
* considering the EOF (`null`). Doing so correctly handles I/O errors that happen
|
|
50
|
+
* after reading some bytes and also both of the allowed EOF behaviors.
|
|
51
|
+
*
|
|
52
|
+
* Implementations should not retain a reference to `p`.
|
|
53
|
+
*
|
|
54
|
+
* Use
|
|
55
|
+
* {@linkcode @std/io/to-iterator.ts?s=toIteratorSync}
|
|
56
|
+
* to turn a {@linkcode ReaderSync} into an {@linkcode IterableIterator}.
|
|
57
|
+
*/
|
|
58
|
+
readSync(p: Uint8Array): number | null;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* An abstract interface which when implemented provides an interface to write
|
|
62
|
+
* bytes from an array buffer to a file/resource asynchronously.
|
|
63
|
+
*/
|
|
64
|
+
export interface Writer {
|
|
65
|
+
/** Writes `p.byteLength` bytes from `p` to the underlying data stream. It
|
|
66
|
+
* resolves to the number of bytes written from `p` (`0` <= `n` <=
|
|
67
|
+
* `p.byteLength`) or reject with the error encountered that caused the
|
|
68
|
+
* write to stop early. `write()` must reject with a non-null error if
|
|
69
|
+
* would resolve to `n` < `p.byteLength`. `write()` must not modify the
|
|
70
|
+
* slice data, even temporarily.
|
|
71
|
+
*
|
|
72
|
+
* Implementations should not retain a reference to `p`.
|
|
73
|
+
*/
|
|
74
|
+
write(p: Uint8Array): Promise<number>;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* An abstract interface which when implemented provides an interface to write
|
|
78
|
+
* bytes from an array buffer to a file/resource synchronously.
|
|
79
|
+
*/
|
|
80
|
+
export interface WriterSync {
|
|
81
|
+
/** Writes `p.byteLength` bytes from `p` to the underlying data
|
|
82
|
+
* stream. It returns the number of bytes written from `p` (`0` <= `n`
|
|
83
|
+
* <= `p.byteLength`) and any error encountered that caused the write to
|
|
84
|
+
* stop early. `writeSync()` must throw a non-null error if it returns `n` <
|
|
85
|
+
* `p.byteLength`. `writeSync()` must not modify the slice data, even
|
|
86
|
+
* temporarily.
|
|
87
|
+
*
|
|
88
|
+
* Implementations should not retain a reference to `p`.
|
|
89
|
+
*/
|
|
90
|
+
writeSync(p: Uint8Array): number;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* An abstract interface which when implemented provides an interface to close
|
|
94
|
+
* files/resources that were previously opened.
|
|
95
|
+
*/
|
|
96
|
+
export interface Closer {
|
|
97
|
+
/** Closes the resource, "freeing" the backing file/resource. */
|
|
98
|
+
close(): void;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* A enum which defines the seek mode for IO related APIs that support
|
|
102
|
+
* seeking.
|
|
103
|
+
*/
|
|
104
|
+
export declare enum SeekMode {
|
|
105
|
+
Start = 0,
|
|
106
|
+
Current = 1,
|
|
107
|
+
End = 2
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* An abstract interface which when implemented provides an interface to seek
|
|
111
|
+
* within an open file/resource asynchronously.
|
|
112
|
+
*/
|
|
113
|
+
export interface Seeker {
|
|
114
|
+
/** Seek sets the offset for the next `read()` or `write()` to offset,
|
|
115
|
+
* interpreted according to `whence`: `Start` means relative to the
|
|
116
|
+
* start of the file, `Current` means relative to the current offset,
|
|
117
|
+
* and `End` means relative to the end. Seek resolves to the new offset
|
|
118
|
+
* relative to the start of the file.
|
|
119
|
+
*
|
|
120
|
+
* Seeking to an offset before the start of the file is an error. Seeking to
|
|
121
|
+
* any positive offset is legal, but the behavior of subsequent I/O
|
|
122
|
+
* operations on the underlying object is implementation-dependent.
|
|
123
|
+
*
|
|
124
|
+
* It resolves with the updated offset.
|
|
125
|
+
*/
|
|
126
|
+
seek(offset: number | bigint, whence: SeekMode): Promise<number>;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* An abstract interface which when implemented provides an interface to seek
|
|
130
|
+
* within an open file/resource synchronously.
|
|
131
|
+
*/
|
|
132
|
+
export interface SeekerSync {
|
|
133
|
+
/** Seek sets the offset for the next `readSync()` or `writeSync()` to
|
|
134
|
+
* offset, interpreted according to `whence`: `Start` means relative
|
|
135
|
+
* to the start of the file, `Current` means relative to the current
|
|
136
|
+
* offset, and `End` means relative to the end.
|
|
137
|
+
*
|
|
138
|
+
* Seeking to an offset before the start of the file is an error. Seeking to
|
|
139
|
+
* any positive offset is legal, but the behavior of subsequent I/O
|
|
140
|
+
* operations on the underlying object is implementation-dependent.
|
|
141
|
+
*
|
|
142
|
+
* It returns the updated offset.
|
|
143
|
+
*/
|
|
144
|
+
seekSync(offset: number | bigint, whence: SeekMode): number;
|
|
145
|
+
}
|
|
146
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/io/0.225.0/types.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,IAAI,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAC7C;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,QAAQ,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAAC;CACxC;AAED;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB;;;;;;;;OAQG;IACH,KAAK,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACvC;AACD;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB;;;;;;;;OAQG;IACH,SAAS,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;CAClC;AAED;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB,gEAAgE;IAChE,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;;GAGG;AACH,oBAAY,QAAQ;IAElB,KAAK,IAAI;IAET,OAAO,IAAI;IAEX,GAAG,IAAI;CACR;AAED;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB;;;;;;;;;;;OAWG;IACH,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAClE;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,MAAM,CAAC;CAC7D"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
|
2
|
+
// This module is browser compatible.
|
|
3
|
+
/**
|
|
4
|
+
* A enum which defines the seek mode for IO related APIs that support
|
|
5
|
+
* seeking.
|
|
6
|
+
*/
|
|
7
|
+
export var SeekMode;
|
|
8
|
+
(function (SeekMode) {
|
|
9
|
+
/* Seek from the start of the file/resource. */
|
|
10
|
+
SeekMode[SeekMode["Start"] = 0] = "Start";
|
|
11
|
+
/* Seek from the current position within the file/resource. */
|
|
12
|
+
SeekMode[SeekMode["Current"] = 1] = "Current";
|
|
13
|
+
/* Seek from the end of the current file/resource. */
|
|
14
|
+
SeekMode[SeekMode["End"] = 2] = "End";
|
|
15
|
+
})(SeekMode || (SeekMode = {}));
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { Writer, WriterSync } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Write all the content of the array buffer (`arr`) to the writer (`w`).
|
|
4
|
+
*
|
|
5
|
+
* @example Writing to stdout
|
|
6
|
+
* ```ts no-assert
|
|
7
|
+
* import { writeAll } from "@std/io/write-all";
|
|
8
|
+
*
|
|
9
|
+
* const contentBytes = new TextEncoder().encode("Hello World");
|
|
10
|
+
* await writeAll(Deno.stdout, contentBytes);
|
|
11
|
+
* ```
|
|
12
|
+
*
|
|
13
|
+
* @example Writing to file
|
|
14
|
+
* ```ts ignore no-assert
|
|
15
|
+
* import { writeAll } from "@std/io/write-all";
|
|
16
|
+
*
|
|
17
|
+
* const contentBytes = new TextEncoder().encode("Hello World");
|
|
18
|
+
* using file = await Deno.open('test.file', { write: true });
|
|
19
|
+
* await writeAll(file, contentBytes);
|
|
20
|
+
* ```
|
|
21
|
+
*
|
|
22
|
+
* @param writer The writer to write to
|
|
23
|
+
* @param data The data to write
|
|
24
|
+
*/
|
|
25
|
+
export declare function writeAll(writer: Writer, data: Uint8Array): Promise<void>;
|
|
26
|
+
/**
|
|
27
|
+
* Synchronously write all the content of the array buffer (`arr`) to the
|
|
28
|
+
* writer (`w`).
|
|
29
|
+
*
|
|
30
|
+
* @example "riting to stdout
|
|
31
|
+
* ```ts no-assert
|
|
32
|
+
* import { writeAllSync } from "@std/io/write-all";
|
|
33
|
+
*
|
|
34
|
+
* const contentBytes = new TextEncoder().encode("Hello World");
|
|
35
|
+
* writeAllSync(Deno.stdout, contentBytes);
|
|
36
|
+
* ```
|
|
37
|
+
*
|
|
38
|
+
* @example Writing to file
|
|
39
|
+
* ```ts ignore no-assert
|
|
40
|
+
* import { writeAllSync } from "@std/io/write-all";
|
|
41
|
+
*
|
|
42
|
+
* const contentBytes = new TextEncoder().encode("Hello World");
|
|
43
|
+
* using file = Deno.openSync("test.file", { write: true });
|
|
44
|
+
* writeAllSync(file, contentBytes);
|
|
45
|
+
* ```
|
|
46
|
+
*
|
|
47
|
+
* @param writer The writer to write to
|
|
48
|
+
* @param data The data to write
|
|
49
|
+
*/
|
|
50
|
+
export declare function writeAllSync(writer: WriterSync, data: Uint8Array): void;
|
|
51
|
+
//# sourceMappingURL=write_all.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"write_all.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/io/0.225.0/write_all.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAErD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,iBAK9D;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,QAKhE"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
|
2
|
+
// This module is browser compatible.
|
|
3
|
+
/**
|
|
4
|
+
* Write all the content of the array buffer (`arr`) to the writer (`w`).
|
|
5
|
+
*
|
|
6
|
+
* @example Writing to stdout
|
|
7
|
+
* ```ts no-assert
|
|
8
|
+
* import { writeAll } from "@std/io/write-all";
|
|
9
|
+
*
|
|
10
|
+
* const contentBytes = new TextEncoder().encode("Hello World");
|
|
11
|
+
* await writeAll(Deno.stdout, contentBytes);
|
|
12
|
+
* ```
|
|
13
|
+
*
|
|
14
|
+
* @example Writing to file
|
|
15
|
+
* ```ts ignore no-assert
|
|
16
|
+
* import { writeAll } from "@std/io/write-all";
|
|
17
|
+
*
|
|
18
|
+
* const contentBytes = new TextEncoder().encode("Hello World");
|
|
19
|
+
* using file = await Deno.open('test.file', { write: true });
|
|
20
|
+
* await writeAll(file, contentBytes);
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
* @param writer The writer to write to
|
|
24
|
+
* @param data The data to write
|
|
25
|
+
*/
|
|
26
|
+
export async function writeAll(writer, data) {
|
|
27
|
+
let nwritten = 0;
|
|
28
|
+
while (nwritten < data.length) {
|
|
29
|
+
nwritten += await writer.write(data.subarray(nwritten));
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Synchronously write all the content of the array buffer (`arr`) to the
|
|
34
|
+
* writer (`w`).
|
|
35
|
+
*
|
|
36
|
+
* @example "riting to stdout
|
|
37
|
+
* ```ts no-assert
|
|
38
|
+
* import { writeAllSync } from "@std/io/write-all";
|
|
39
|
+
*
|
|
40
|
+
* const contentBytes = new TextEncoder().encode("Hello World");
|
|
41
|
+
* writeAllSync(Deno.stdout, contentBytes);
|
|
42
|
+
* ```
|
|
43
|
+
*
|
|
44
|
+
* @example Writing to file
|
|
45
|
+
* ```ts ignore no-assert
|
|
46
|
+
* import { writeAllSync } from "@std/io/write-all";
|
|
47
|
+
*
|
|
48
|
+
* const contentBytes = new TextEncoder().encode("Hello World");
|
|
49
|
+
* using file = Deno.openSync("test.file", { write: true });
|
|
50
|
+
* writeAllSync(file, contentBytes);
|
|
51
|
+
* ```
|
|
52
|
+
*
|
|
53
|
+
* @param writer The writer to write to
|
|
54
|
+
* @param data The data to write
|
|
55
|
+
*/
|
|
56
|
+
export function writeAllSync(writer, data) {
|
|
57
|
+
let nwritten = 0;
|
|
58
|
+
while (nwritten < data.length) {
|
|
59
|
+
nwritten += writer.writeSync(data.subarray(nwritten));
|
|
60
|
+
}
|
|
61
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export type JsonValue = null | boolean | number | string | JsonObject | JsonArray;
|
|
2
|
+
export type JsonObject = {
|
|
3
|
+
[key: string]: JsonValue;
|
|
4
|
+
};
|
|
5
|
+
export type JsonArray = JsonValue[];
|
|
6
|
+
export type ArrayMerge = (base: JsonArray, override: JsonArray) => JsonArray;
|
|
7
|
+
export type DeepMergeOptions = {
|
|
8
|
+
arrayMerge?: ArrayMerge;
|
|
9
|
+
};
|
|
10
|
+
export declare function deepMergeJson<T>(base: T, override: unknown, options?: DeepMergeOptions): T;
|
|
11
|
+
export declare function mergeArrayUnion(base: JsonArray, override: JsonArray): JsonArray;
|
|
12
|
+
//# sourceMappingURL=deep_merge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deep_merge.d.ts","sourceRoot":"","sources":["../../src/shared/deep_merge.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GACf,IAAI,GACJ,OAAO,GACP,MAAM,GACN,MAAM,GACN,UAAU,GACV,SAAS,CAAC;AAEhB,MAAM,MAAM,UAAU,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AACtD,MAAM,MAAM,SAAS,GAAG,SAAS,EAAE,CAAC;AAEpC,MAAM,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,KAAK,SAAS,CAAC;AAE7E,MAAM,MAAM,gBAAgB,GAAG;IAC3B,UAAU,CAAC,EAAE,UAAU,CAAC;CAC3B,CAAC;AAwCF,wBAAgB,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,CAAC,CAG1F;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,GAAG,SAAS,CAY/E"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
const DEFAULT_OPTIONS = {
|
|
2
|
+
arrayMerge: undefined,
|
|
3
|
+
};
|
|
4
|
+
function isPlainObject(value) {
|
|
5
|
+
if (!value || typeof value !== "object")
|
|
6
|
+
return false;
|
|
7
|
+
const proto = Object.getPrototypeOf(value);
|
|
8
|
+
return proto === Object.prototype || proto === null;
|
|
9
|
+
}
|
|
10
|
+
function mergeInternal(base, override, options) {
|
|
11
|
+
if (override === undefined)
|
|
12
|
+
return base;
|
|
13
|
+
if (Array.isArray(base) && Array.isArray(override)) {
|
|
14
|
+
return options.arrayMerge ? options.arrayMerge(base, override) : override;
|
|
15
|
+
}
|
|
16
|
+
if (isPlainObject(base) && isPlainObject(override)) {
|
|
17
|
+
const result = {};
|
|
18
|
+
const keys = new Set([...Object.keys(base), ...Object.keys(override)]);
|
|
19
|
+
for (const key of keys) {
|
|
20
|
+
if (key in override) {
|
|
21
|
+
const merged = mergeInternal(base[key], override[key], options);
|
|
22
|
+
if (merged !== undefined) {
|
|
23
|
+
result[key] = merged;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
result[key] = base[key];
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return result;
|
|
31
|
+
}
|
|
32
|
+
return override;
|
|
33
|
+
}
|
|
34
|
+
export function deepMergeJson(base, override, options) {
|
|
35
|
+
const resolvedOptions = options ? { ...DEFAULT_OPTIONS, ...options } : DEFAULT_OPTIONS;
|
|
36
|
+
return mergeInternal(base, override, resolvedOptions);
|
|
37
|
+
}
|
|
38
|
+
export function mergeArrayUnion(base, override) {
|
|
39
|
+
const merged = [...base, ...override];
|
|
40
|
+
const seen = new Set();
|
|
41
|
+
const result = [];
|
|
42
|
+
for (const item of merged) {
|
|
43
|
+
if (seen.has(item))
|
|
44
|
+
continue;
|
|
45
|
+
seen.add(item);
|
|
46
|
+
result.push(item);
|
|
47
|
+
}
|
|
48
|
+
return result;
|
|
49
|
+
}
|
package/esm/shared/mod.d.ts
CHANGED
package/esm/shared/mod.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../src/shared/mod.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../src/shared/mod.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC"}
|
package/esm/shared/mod.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filetypes.d.ts","sourceRoot":"","sources":["../../../src/shared/types/filetypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,MAAM,WAAW,GAAG;IACtB,
|
|
1
|
+
{"version":3,"file":"filetypes.d.ts","sourceRoot":"","sources":["../../../src/shared/types/filetypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,MAAM,WAAW,GAAG;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,QAAQ,GACd,UAAU,GACV,MAAM,GACN,MAAM,GACN,YAAY,GACZ,YAAY,GACZ,QAAQ,GACR,MAAM,GACN,MAAM,GACN,MAAM,GACN,QAAQ,GACR,KAAK,GACL,KAAK,GACL,KAAK,GACL,QAAQ,GACR,SAAS,CAAC;AAEhB,MAAM,MAAM,SAAS,GAAG;IACpB,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,aAAa,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAwBzD,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAmB3D,CAAC;AAEF,eAAO,MAAM,iBAAiB,aAAoE,CAAC;AAGnG,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAUlD;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAG5C"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FileRole, Reference } from "./references.js";
|
|
2
|
-
export type PermissionScope = "fs" | "sys" | "net" | "env" | "hooks" | "data";
|
|
2
|
+
export type PermissionScope = "fs" | "sys" | "net" | "env" | "hooks" | "data" | "dep";
|
|
3
3
|
export type Permission = {
|
|
4
4
|
id: string;
|
|
5
5
|
tool: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../../src/shared/types/permissions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEtD,MAAM,MAAM,eAAe,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../../src/shared/types/permissions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEtD,MAAM,MAAM,eAAe,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;AAEtF,MAAM,MAAM,UAAU,GAAG;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,eAAe,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,MAAM,EAAE,aAAa,GAAG,UAAU,GAAG,UAAU,CAAC;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC"}
|
|
@@ -9,7 +9,9 @@ type DESTRUCTIVE_RISK_CODES = "DESTRUCTIVE:destructive_behavior" | "DESTRUCTIVE:
|
|
|
9
9
|
type PRIVILEGE_RISK_CODES = "PRIVILEGE:privilege_escalation";
|
|
10
10
|
type PERSISTENCE_RISK_CODES = "PERSISTENCE:persistence";
|
|
11
11
|
type SECRETS_RISK_CODES = "SECRETS:secret_access";
|
|
12
|
-
|
|
12
|
+
type DEPENDENCY_RISK_CODES = "DEPENDENCY:external_import";
|
|
13
|
+
type REFERENCE_RISK_CODES = "REFERENCE:external_file";
|
|
14
|
+
export type RiskCode = NETWORK_RISK_CODES | INJECTION_RISK_CODES | PROMPT_RISK_CODES | DESTRUCTIVE_RISK_CODES | PRIVILEGE_RISK_CODES | PERSISTENCE_RISK_CODES | SECRETS_RISK_CODES | DEPENDENCY_RISK_CODES | REFERENCE_RISK_CODES;
|
|
13
15
|
export type RuleRiskResult = {
|
|
14
16
|
code: RiskCode;
|
|
15
17
|
severity: Severity;
|
|
@@ -23,6 +25,7 @@ export type RuleRiskInput = {
|
|
|
23
25
|
export type Risk = {
|
|
24
26
|
id: string;
|
|
25
27
|
type: RiskCode;
|
|
28
|
+
groupKey?: string;
|
|
26
29
|
severity: Severity;
|
|
27
30
|
message: string;
|
|
28
31
|
reference: Reference;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"risks.d.ts","sourceRoot":"","sources":["../../../src/shared/types/risks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;AAEvD,KAAK,kBAAkB,GACjB,2BAA2B,GAC3B,iCAAiC,GACjC,+BAA+B,GAC/B,yBAAyB,GACzB,mCAAmC,CAAC;AAE1C,KAAK,oBAAoB,GAAG,6BAA6B,CAAC;AAE1D,KAAK,iBAAiB,GAAG,wBAAwB,CAAC;AAElD,KAAK,sBAAsB,GACrB,kCAAkC,GAClC,kCAAkC,CAAC;AAEzC,KAAK,oBAAoB,GAAG,gCAAgC,CAAC;AAE7D,KAAK,sBAAsB,GAAG,yBAAyB,CAAC;AAExD,KAAK,kBAAkB,GAAG,uBAAuB,CAAC;AAElD,MAAM,MAAM,QAAQ,GACd,kBAAkB,GAClB,oBAAoB,GACpB,iBAAiB,GACjB,sBAAsB,GACtB,oBAAoB,GACpB,sBAAsB,GACtB,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"risks.d.ts","sourceRoot":"","sources":["../../../src/shared/types/risks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;AAEvD,KAAK,kBAAkB,GACjB,2BAA2B,GAC3B,iCAAiC,GACjC,+BAA+B,GAC/B,yBAAyB,GACzB,mCAAmC,CAAC;AAE1C,KAAK,oBAAoB,GAAG,6BAA6B,CAAC;AAE1D,KAAK,iBAAiB,GAAG,wBAAwB,CAAC;AAElD,KAAK,sBAAsB,GACrB,kCAAkC,GAClC,kCAAkC,CAAC;AAEzC,KAAK,oBAAoB,GAAG,gCAAgC,CAAC;AAE7D,KAAK,sBAAsB,GAAG,yBAAyB,CAAC;AAExD,KAAK,kBAAkB,GAAG,uBAAuB,CAAC;AAElD,KAAK,qBAAqB,GAAG,4BAA4B,CAAC;AAE1D,KAAK,oBAAoB,GAAG,yBAAyB,CAAC;AAEtD,MAAM,MAAM,QAAQ,GACd,kBAAkB,GAClB,oBAAoB,GACpB,iBAAiB,GACjB,sBAAsB,GACtB,oBAAoB,GACpB,sBAAsB,GACtB,kBAAkB,GAClB,qBAAqB,GACrB,oBAAoB,CAAC;AAE3B,MAAM,MAAM,cAAc,GAAG;IACzB,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IACxB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG;IACf,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,cAAc,CAAC;AAEnD,MAAM,MAAM,sBAAsB,GAAG,CACjC,KAAK,EAAE,aAAa,KACnB,cAAc,GAAG,cAAc,EAAE,GAAG,IAAI,CAAC;AAE9C,MAAM,MAAM,eAAe,GAAG,qBAAqB,GAAG,sBAAsB,CAAC"}
|
|
@@ -31,8 +31,8 @@ export type SkillZipManifest = {
|
|
|
31
31
|
};
|
|
32
32
|
export type SkillManifest = SkillFileManifest | SkillZipManifest;
|
|
33
33
|
export type SkillFrontmatter = {
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
startLineNumber?: number;
|
|
35
|
+
endLineNumber?: number;
|
|
36
36
|
name: string;
|
|
37
37
|
description: string;
|
|
38
38
|
license?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/skillreader/types.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,MAAM,MAAM,SAAS,GAAG;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,QAAQ,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC5B,OAAO,EAAE,CAAC,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,SAAS,EAAE,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC3B,OAAO,EAAE,CAAC,CAAC;IACX,cAAc,EAAE,KAAK,CAAC;IACtB,WAAW,EAAE,SAAS,GAAG,OAAO,CAAC;IACjC,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,eAAe,EAAE,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,iBAAiB,GAAG,gBAAgB,CAAC;AAEjE,MAAM,MAAM,gBAAgB,GAAG;IAC3B,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/skillreader/types.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,MAAM,MAAM,SAAS,GAAG;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,QAAQ,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC5B,OAAO,EAAE,CAAC,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,SAAS,EAAE,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC3B,OAAO,EAAE,CAAC,CAAC;IACX,cAAc,EAAE,KAAK,CAAC;IACtB,WAAW,EAAE,SAAS,GAAG,OAAO,CAAC;IACjC,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,eAAe,EAAE,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,iBAAiB,GAAG,gBAAgB,CAAC;AAEjE,MAAM,MAAM,gBAAgB,GAAG;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B,CAAC;AAEF,8BAAsB,WAAW;IAC7B;;OAEG;IACH,OAAO,CAAC,YAAY,CAAiC;IAErD;;OAEG;IACH,OAAO,CAAC,KAAK,CAAsC;IAEnD;;OAEG;IACH,OAAO,CAAC,gBAAgB,CAA2C;IAEnE,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAC1D,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAC3D,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;IAC3E,QAAQ,CAAC,YAAY,IAAI,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAEzC,SAAS,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAO9C;;OAEG;IACU,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IAc9C;;OAEG;IACU,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC;IASjD;;OAEG;IACU,qBAAqB,IAAI,OAAO,CAAC,gBAAgB,CAAC;IA2BlD,QAAQ,IAAI,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CASrE"}
|
package/esm/skillreader/types.js
CHANGED
|
@@ -84,8 +84,8 @@ export class SkillReader {
|
|
|
84
84
|
if (!parsed.name || !parsed.description) {
|
|
85
85
|
throw new Error("Invalid skill repository: frontmatter requires name and description");
|
|
86
86
|
}
|
|
87
|
-
parsed.
|
|
88
|
-
parsed.
|
|
87
|
+
parsed.startLineNumber = frontmatter.startLine;
|
|
88
|
+
parsed.endLineNumber = frontmatter.endLine;
|
|
89
89
|
this.skillFrontMatter = parsed;
|
|
90
90
|
return this.skillFrontMatter;
|
|
91
91
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import { parse } from "
|
|
1
|
+
import { parse } from "../../.npm-build-vendor/ast-grep-wasm/mod.js";
|
|
2
2
|
import type { Finding, PermissionScope, Reference, ReferenceType, RuleRiskMapping } from "../../shared/mod.js";
|
|
3
|
-
import {
|
|
3
|
+
import type { TreesitterGrammar } from "../treesitter/registry.js";
|
|
4
|
+
import type { AnalyzerLogger } from "../types.js";
|
|
5
|
+
export type AstGrepGrammar = Exclude<TreesitterGrammar, "markdown" | "markdown-inline" | "tsx">;
|
|
4
6
|
export type AstGrepRule = {
|
|
5
7
|
id: string;
|
|
6
8
|
description: string;
|
|
@@ -20,16 +22,26 @@ export type AstGrepMatch = {
|
|
|
20
22
|
lineEnd?: number;
|
|
21
23
|
extracted: Record<string, unknown>;
|
|
22
24
|
};
|
|
25
|
+
type SgRoot = ReturnType<typeof parse>;
|
|
23
26
|
export declare class AstGrepClient {
|
|
24
|
-
private
|
|
25
|
-
private
|
|
27
|
+
private readonly logger;
|
|
28
|
+
private readonly showProgressBar;
|
|
29
|
+
private REGISTERED_GRAMMARS;
|
|
30
|
+
private SG_ROOT_CACHE_BY_CONTENT;
|
|
31
|
+
/** Lazy runtime init promise — created on first use, shared across all calls. */
|
|
32
|
+
private parserInitialized;
|
|
33
|
+
constructor(logger?: AnalyzerLogger, showProgressBar?: boolean);
|
|
26
34
|
/** Parse content for direct AST traversal using kind/composite rules. */
|
|
27
|
-
parse(language:
|
|
28
|
-
scanWithRules(content: string, language:
|
|
35
|
+
parse(language: AstGrepGrammar, content: string): Promise<SgRoot>;
|
|
36
|
+
scanWithRules(content: string, language: AstGrepGrammar, rules: AstGrepRule[]): Promise<AstGrepMatch[]>;
|
|
29
37
|
matchesToFindings(file: string, type: ReferenceType, matches: AstGrepMatch[], referencedBy?: Reference): Finding[];
|
|
30
|
-
|
|
38
|
+
/** Initializes the ast-grep runtime once (without registering grammars yet). */
|
|
39
|
+
private ensureRuntimeInit;
|
|
40
|
+
/** Lazily register a single grammar the first time it is needed. */
|
|
41
|
+
private ensureLanguageRegistered;
|
|
31
42
|
private stripQuotes;
|
|
32
|
-
private
|
|
43
|
+
private getSgRootCache;
|
|
33
44
|
private hashContent;
|
|
34
45
|
}
|
|
46
|
+
export {};
|
|
35
47
|
//# sourceMappingURL=client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/analyzer/astgrep/client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/analyzer/astgrep/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,EAA2B,MAAM,8CAA8C,CAAC;AACpH,OAAO,KAAK,EACR,OAAO,EACP,eAAe,EACf,SAAS,EACT,aAAa,EACb,eAAe,EAClB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC,iBAAiB,EAAE,UAAU,GAAG,iBAAiB,GAAG,KAAK,CAAC,CAAC;AAEhG,MAAM,MAAM,WAAW,GAAG;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,cAAc,CAAC;IACxB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,eAAe,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAClC,WAAW,CAAC,EAAE,eAAe,EAAE,CAAC;KACnC,CAAC;CACL,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC,CAAC;AAEF,KAAK,MAAM,GAAG,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC;AAGvC,qBAAa,aAAa;IAQlB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,eAAe;IARpC,OAAO,CAAC,mBAAmB,CAA6B;IACxD,OAAO,CAAC,wBAAwB,CAAoD;IAEpF,iFAAiF;IACjF,OAAO,CAAC,iBAAiB,CAAkB;gBAGtB,MAAM,GAAE,cAA6B,EACrC,eAAe,GAAE,OAAe;IAGrD,yEAAyE;IAC5D,KAAK,CACd,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC;IAoBL,aAAa,CACtB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,WAAW,EAAE,GACrB,OAAO,CAAC,YAAY,EAAE,CAAC;IAyCnB,iBAAiB,CACpB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE,YAAY,EAAE,EACvB,YAAY,CAAC,EAAE,SAAS,GACzB,OAAO,EAAE;IAcZ,gFAAgF;YAClE,iBAAiB;IAM/B,oEAAoE;YACtD,wBAAwB;IAYtC,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,WAAW;CAStB"}
|