codesift-mcp 0.9.5 → 0.9.10
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 +39 -23
- package/dist/cli/commands.d.ts.map +1 -1
- package/dist/cli/commands.js +88 -2
- package/dist/cli/commands.js.map +1 -1
- package/dist/cli/help.d.ts +1 -1
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +18 -0
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/hooks/input.d.ts +11 -0
- package/dist/cli/hooks/input.d.ts.map +1 -0
- package/dist/cli/hooks/input.js +111 -0
- package/dist/cli/hooks/input.js.map +1 -0
- package/dist/cli/hooks/post-tool-use.d.ts +2 -0
- package/dist/cli/hooks/post-tool-use.d.ts.map +1 -0
- package/dist/cli/hooks/post-tool-use.js +339 -0
- package/dist/cli/hooks/post-tool-use.js.map +1 -0
- package/dist/cli/hooks/pre-compact.d.ts +2 -0
- package/dist/cli/hooks/pre-compact.d.ts.map +1 -0
- package/dist/cli/hooks/pre-compact.js +41 -0
- package/dist/cli/hooks/pre-compact.js.map +1 -0
- package/dist/cli/hooks/pre-tool-use.d.ts +5 -0
- package/dist/cli/hooks/pre-tool-use.d.ts.map +1 -0
- package/dist/cli/hooks/pre-tool-use.js +215 -0
- package/dist/cli/hooks/pre-tool-use.js.map +1 -0
- package/dist/cli/hooks/session.d.ts +5 -0
- package/dist/cli/hooks/session.d.ts.map +1 -0
- package/dist/cli/hooks/session.js +188 -0
- package/dist/cli/hooks/session.js.map +1 -0
- package/dist/cli/hooks/shared.d.ts +6 -0
- package/dist/cli/hooks/shared.d.ts.map +1 -0
- package/dist/cli/hooks/shared.js +70 -0
- package/dist/cli/hooks/shared.js.map +1 -0
- package/dist/cli/hooks/wiki.d.ts +10 -0
- package/dist/cli/hooks/wiki.d.ts.map +1 -0
- package/dist/cli/hooks/wiki.js +202 -0
- package/dist/cli/hooks/wiki.js.map +1 -0
- package/dist/cli/hooks.d.ts +5 -16
- package/dist/cli/hooks.d.ts.map +1 -1
- package/dist/cli/hooks.js +5 -1132
- package/dist/cli/hooks.js.map +1 -1
- package/dist/cli/setup/claude.d.ts +4 -0
- package/dist/cli/setup/claude.d.ts.map +1 -0
- package/dist/cli/setup/claude.js +123 -0
- package/dist/cli/setup/claude.js.map +1 -0
- package/dist/cli/setup/codex.d.ts +12 -0
- package/dist/cli/setup/codex.d.ts.map +1 -0
- package/dist/cli/setup/codex.js +182 -0
- package/dist/cli/setup/codex.js.map +1 -0
- package/dist/cli/setup/cursor.d.ts +3 -0
- package/dist/cli/setup/cursor.d.ts.map +1 -0
- package/dist/cli/setup/cursor.js +6 -0
- package/dist/cli/setup/cursor.js.map +1 -0
- package/dist/cli/setup/fs.d.ts +6 -0
- package/dist/cli/setup/fs.d.ts.map +1 -0
- package/dist/cli/setup/fs.js +44 -0
- package/dist/cli/setup/fs.js.map +1 -0
- package/dist/cli/setup/gemini.d.ts +5 -0
- package/dist/cli/setup/gemini.d.ts.map +1 -0
- package/dist/cli/setup/gemini.js +46 -0
- package/dist/cli/setup/gemini.js.map +1 -0
- package/dist/cli/setup/hooks.d.ts +12 -0
- package/dist/cli/setup/hooks.d.ts.map +1 -0
- package/dist/cli/setup/hooks.js +29 -0
- package/dist/cli/setup/hooks.js.map +1 -0
- package/dist/cli/setup/mcp.d.ts +13 -0
- package/dist/cli/setup/mcp.d.ts.map +1 -0
- package/dist/cli/setup/mcp.js +104 -0
- package/dist/cli/setup/mcp.js.map +1 -0
- package/dist/cli/setup/rules.d.ts +4 -0
- package/dist/cli/setup/rules.d.ts.map +1 -0
- package/dist/cli/setup/rules.js +157 -0
- package/dist/cli/setup/rules.js.map +1 -0
- package/dist/cli/setup/types.d.ts +24 -0
- package/dist/cli/setup/types.d.ts.map +1 -0
- package/dist/cli/setup/types.js +2 -0
- package/dist/cli/setup/types.js.map +1 -0
- package/dist/cli/setup.d.ts +8 -48
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +49 -705
- package/dist/cli/setup.js.map +1 -1
- package/dist/config.d.ts +15 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +56 -2
- package/dist/config.js.map +1 -1
- package/dist/formatter-dispatch.d.ts +53 -0
- package/dist/formatter-dispatch.d.ts.map +1 -0
- package/dist/formatter-dispatch.js +54 -0
- package/dist/formatter-dispatch.js.map +1 -0
- package/dist/formatters-analysis.d.ts +9 -0
- package/dist/formatters-analysis.d.ts.map +1 -0
- package/dist/formatters-analysis.js +166 -0
- package/dist/formatters-analysis.js.map +1 -0
- package/dist/formatters-core.d.ts +200 -0
- package/dist/formatters-core.d.ts.map +1 -0
- package/dist/formatters-core.js +206 -0
- package/dist/formatters-core.js.map +1 -0
- package/dist/formatters-graph.d.ts +124 -0
- package/dist/formatters-graph.d.ts.map +1 -0
- package/dist/formatters-graph.js +175 -0
- package/dist/formatters-graph.js.map +1 -0
- package/dist/formatters-nextjs.d.ts +22 -0
- package/dist/formatters-nextjs.d.ts.map +1 -0
- package/dist/formatters-nextjs.js +394 -0
- package/dist/formatters-nextjs.js.map +1 -0
- package/dist/formatters.d.ts +8 -349
- package/dist/formatters.d.ts.map +1 -1
- package/dist/formatters.js +10 -929
- package/dist/formatters.js.map +1 -1
- package/dist/parser/astro-template/preprocess.d.ts +12 -0
- package/dist/parser/astro-template/preprocess.d.ts.map +1 -0
- package/dist/parser/astro-template/preprocess.js +34 -0
- package/dist/parser/astro-template/preprocess.js.map +1 -0
- package/dist/parser/astro-template/resolution.d.ts +16 -0
- package/dist/parser/astro-template/resolution.d.ts.map +1 -0
- package/dist/parser/astro-template/resolution.js +58 -0
- package/dist/parser/astro-template/resolution.js.map +1 -0
- package/dist/parser/astro-template/scanner.d.ts +4 -0
- package/dist/parser/astro-template/scanner.d.ts.map +1 -0
- package/dist/parser/astro-template/scanner.js +71 -0
- package/dist/parser/astro-template/scanner.js.map +1 -0
- package/dist/parser/astro-template/state.d.ts +22 -0
- package/dist/parser/astro-template/state.d.ts.map +1 -0
- package/dist/parser/astro-template/state.js +48 -0
- package/dist/parser/astro-template/state.js.map +1 -0
- package/dist/parser/astro-template/tag-processor.d.ts +3 -0
- package/dist/parser/astro-template/tag-processor.d.ts.map +1 -0
- package/dist/parser/astro-template/tag-processor.js +63 -0
- package/dist/parser/astro-template/tag-processor.js.map +1 -0
- package/dist/parser/astro-template/types.d.ts +42 -0
- package/dist/parser/astro-template/types.d.ts.map +1 -0
- package/dist/parser/astro-template/types.js +2 -0
- package/dist/parser/astro-template/types.js.map +1 -0
- package/dist/parser/astro-template.d.ts +2 -45
- package/dist/parser/astro-template.d.ts.map +1 -1
- package/dist/parser/astro-template.js +7 -168
- package/dist/parser/astro-template.js.map +1 -1
- package/dist/parser/extractors/_shared.js +1 -1
- package/dist/parser/extractors/_shared.js.map +1 -1
- package/dist/parser/extractors/astro.js +1 -1
- package/dist/parser/extractors/astro.js.map +1 -1
- package/dist/parser/extractors/conversation.js +1 -1
- package/dist/parser/extractors/conversation.js.map +1 -1
- package/dist/parser/extractors/hono-app-discovery.d.ts +4 -0
- package/dist/parser/extractors/hono-app-discovery.d.ts.map +1 -0
- package/dist/parser/extractors/hono-app-discovery.js +169 -0
- package/dist/parser/extractors/hono-app-discovery.js.map +1 -0
- package/dist/parser/extractors/hono-ast-utils.d.ts +6 -0
- package/dist/parser/extractors/hono-ast-utils.d.ts.map +1 -0
- package/dist/parser/extractors/hono-ast-utils.js +77 -0
- package/dist/parser/extractors/hono-ast-utils.js.map +1 -0
- package/dist/parser/extractors/hono-context-extractor.d.ts +15 -0
- package/dist/parser/extractors/hono-context-extractor.d.ts.map +1 -0
- package/dist/parser/extractors/hono-context-extractor.js +191 -0
- package/dist/parser/extractors/hono-context-extractor.js.map +1 -0
- package/dist/parser/extractors/hono-middleware-extractor.d.ts +38 -0
- package/dist/parser/extractors/hono-middleware-extractor.d.ts.map +1 -0
- package/dist/parser/extractors/hono-middleware-extractor.js +480 -0
- package/dist/parser/extractors/hono-middleware-extractor.js.map +1 -0
- package/dist/parser/extractors/hono-openapi-extractor.d.ts +11 -0
- package/dist/parser/extractors/hono-openapi-extractor.d.ts.map +1 -0
- package/dist/parser/extractors/hono-openapi-extractor.js +119 -0
- package/dist/parser/extractors/hono-openapi-extractor.js.map +1 -0
- package/dist/parser/extractors/hono-route-extractor.d.ts +11 -0
- package/dist/parser/extractors/hono-route-extractor.d.ts.map +1 -0
- package/dist/parser/extractors/hono-route-extractor.js +128 -0
- package/dist/parser/extractors/hono-route-extractor.js.map +1 -0
- package/dist/parser/extractors/hono-route-utils.d.ts +11 -0
- package/dist/parser/extractors/hono-route-utils.d.ts.map +1 -0
- package/dist/parser/extractors/hono-route-utils.js +40 -0
- package/dist/parser/extractors/hono-route-utils.js.map +1 -0
- package/dist/parser/extractors/hono-runtime-extractor.d.ts +17 -0
- package/dist/parser/extractors/hono-runtime-extractor.d.ts.map +1 -0
- package/dist/parser/extractors/hono-runtime-extractor.js +141 -0
- package/dist/parser/extractors/hono-runtime-extractor.js.map +1 -0
- package/dist/parser/extractors/hono.d.ts +5 -79
- package/dist/parser/extractors/hono.d.ts.map +1 -1
- package/dist/parser/extractors/hono.js +32 -1159
- package/dist/parser/extractors/hono.js.map +1 -1
- package/dist/parser/extractors/kotlin-ast-helpers.d.ts +43 -0
- package/dist/parser/extractors/kotlin-ast-helpers.d.ts.map +1 -0
- package/dist/parser/extractors/kotlin-ast-helpers.js +187 -0
- package/dist/parser/extractors/kotlin-ast-helpers.js.map +1 -0
- package/dist/parser/extractors/kotlin-test-symbols.d.ts +21 -0
- package/dist/parser/extractors/kotlin-test-symbols.d.ts.map +1 -0
- package/dist/parser/extractors/kotlin-test-symbols.js +162 -0
- package/dist/parser/extractors/kotlin-test-symbols.js.map +1 -0
- package/dist/parser/extractors/kotlin.d.ts.map +1 -1
- package/dist/parser/extractors/kotlin.js +3 -334
- package/dist/parser/extractors/kotlin.js.map +1 -1
- package/dist/parser/extractors/markdown.js +1 -1
- package/dist/parser/extractors/markdown.js.map +1 -1
- package/dist/parser/extractors/prisma.js +1 -1
- package/dist/parser/extractors/prisma.js.map +1 -1
- package/dist/parser/extractors/sql-boundaries.d.ts +3 -0
- package/dist/parser/extractors/sql-boundaries.d.ts.map +1 -0
- package/dist/parser/extractors/sql-boundaries.js +19 -0
- package/dist/parser/extractors/sql-boundaries.js.map +1 -0
- package/dist/parser/extractors/sql-columns.d.ts +14 -0
- package/dist/parser/extractors/sql-columns.d.ts.map +1 -0
- package/dist/parser/extractors/sql-columns.js +59 -0
- package/dist/parser/extractors/sql-columns.js.map +1 -0
- package/dist/parser/extractors/sql-docstrings.d.ts +2 -0
- package/dist/parser/extractors/sql-docstrings.d.ts.map +1 -0
- package/dist/parser/extractors/sql-docstrings.js +45 -0
- package/dist/parser/extractors/sql-docstrings.js.map +1 -0
- package/dist/parser/extractors/sql-end-scanner.d.ts +5 -0
- package/dist/parser/extractors/sql-end-scanner.d.ts.map +1 -0
- package/dist/parser/extractors/sql-end-scanner.js +84 -0
- package/dist/parser/extractors/sql-end-scanner.js.map +1 -0
- package/dist/parser/extractors/sql-jinja.d.ts +2 -0
- package/dist/parser/extractors/sql-jinja.d.ts.map +1 -0
- package/dist/parser/extractors/sql-jinja.js +8 -0
- package/dist/parser/extractors/sql-jinja.js.map +1 -0
- package/dist/parser/extractors/sql-matcher-catalog.d.ts +9 -0
- package/dist/parser/extractors/sql-matcher-catalog.d.ts.map +1 -0
- package/dist/parser/extractors/sql-matcher-catalog.js +15 -0
- package/dist/parser/extractors/sql-matcher-catalog.js.map +1 -0
- package/dist/parser/extractors/sql-matchers.d.ts +9 -0
- package/dist/parser/extractors/sql-matchers.d.ts.map +1 -0
- package/dist/parser/extractors/sql-matchers.js +20 -0
- package/dist/parser/extractors/sql-matchers.js.map +1 -0
- package/dist/parser/extractors/sql-offsets.d.ts +2 -0
- package/dist/parser/extractors/sql-offsets.d.ts.map +1 -0
- package/dist/parser/extractors/sql-offsets.js +25 -0
- package/dist/parser/extractors/sql-offsets.js.map +1 -0
- package/dist/parser/extractors/sql-parens.d.ts +4 -0
- package/dist/parser/extractors/sql-parens.d.ts.map +1 -0
- package/dist/parser/extractors/sql-parens.js +70 -0
- package/dist/parser/extractors/sql-parens.js.map +1 -0
- package/dist/parser/extractors/sql-symbols.d.ts +11 -0
- package/dist/parser/extractors/sql-symbols.d.ts.map +1 -0
- package/dist/parser/extractors/sql-symbols.js +23 -0
- package/dist/parser/extractors/sql-symbols.js.map +1 -0
- package/dist/parser/extractors/sql.d.ts +2 -30
- package/dist/parser/extractors/sql.d.ts.map +1 -1
- package/dist/parser/extractors/sql.js +23 -496
- package/dist/parser/extractors/sql.js.map +1 -1
- package/dist/parser/extractors/typescript-cjs-nodes.d.ts +5 -0
- package/dist/parser/extractors/typescript-cjs-nodes.d.ts.map +1 -0
- package/dist/parser/extractors/typescript-cjs-nodes.js +148 -0
- package/dist/parser/extractors/typescript-cjs-nodes.js.map +1 -0
- package/dist/parser/extractors/typescript-class-nodes.d.ts +8 -0
- package/dist/parser/extractors/typescript-class-nodes.d.ts.map +1 -0
- package/dist/parser/extractors/typescript-class-nodes.js +183 -0
- package/dist/parser/extractors/typescript-class-nodes.js.map +1 -0
- package/dist/parser/extractors/typescript-declaration-nodes.d.ts +5 -0
- package/dist/parser/extractors/typescript-declaration-nodes.d.ts.map +1 -0
- package/dist/parser/extractors/typescript-declaration-nodes.js +105 -0
- package/dist/parser/extractors/typescript-declaration-nodes.js.map +1 -0
- package/dist/parser/extractors/typescript-module-nodes.d.ts +6 -0
- package/dist/parser/extractors/typescript-module-nodes.d.ts.map +1 -0
- package/dist/parser/extractors/typescript-module-nodes.js +151 -0
- package/dist/parser/extractors/typescript-module-nodes.js.map +1 -0
- package/dist/parser/extractors/typescript-react.d.ts +11 -0
- package/dist/parser/extractors/typescript-react.d.ts.map +1 -0
- package/dist/parser/extractors/typescript-react.js +101 -0
- package/dist/parser/extractors/typescript-react.js.map +1 -0
- package/dist/parser/extractors/typescript-shared.d.ts +26 -0
- package/dist/parser/extractors/typescript-shared.d.ts.map +1 -0
- package/dist/parser/extractors/typescript-shared.js +101 -0
- package/dist/parser/extractors/typescript-shared.js.map +1 -0
- package/dist/parser/extractors/typescript-test-nodes.d.ts +4 -0
- package/dist/parser/extractors/typescript-test-nodes.d.ts.map +1 -0
- package/dist/parser/extractors/typescript-test-nodes.js +112 -0
- package/dist/parser/extractors/typescript-test-nodes.js.map +1 -0
- package/dist/parser/extractors/typescript-type-nodes.d.ts +6 -0
- package/dist/parser/extractors/typescript-type-nodes.d.ts.map +1 -0
- package/dist/parser/extractors/typescript-type-nodes.js +48 -0
- package/dist/parser/extractors/typescript-type-nodes.js.map +1 -0
- package/dist/parser/extractors/typescript.d.ts.map +1 -1
- package/dist/parser/extractors/typescript.js +68 -1127
- package/dist/parser/extractors/typescript.js.map +1 -1
- package/dist/parser/parser-manager.d.ts.map +1 -1
- package/dist/parser/parser-manager.js +5 -0
- package/dist/parser/parser-manager.js.map +1 -1
- package/dist/parser/symbol-extractor.d.ts +1 -12
- package/dist/parser/symbol-extractor.d.ts.map +1 -1
- package/dist/parser/symbol-extractor.js +2 -24
- package/dist/parser/symbol-extractor.js.map +1 -1
- package/dist/parser/symbol-utils.d.ts +4 -0
- package/dist/parser/symbol-utils.d.ts.map +1 -0
- package/dist/parser/symbol-utils.js +20 -0
- package/dist/parser/symbol-utils.js.map +1 -0
- package/dist/register-tool-groups/analysis/cross-repo.d.ts +4 -0
- package/dist/register-tool-groups/analysis/cross-repo.d.ts.map +1 -0
- package/dist/register-tool-groups/analysis/cross-repo.js +108 -0
- package/dist/register-tool-groups/analysis/cross-repo.js.map +1 -0
- package/dist/register-tool-groups/analysis/review.d.ts +3 -0
- package/dist/register-tool-groups/analysis/review.d.ts.map +1 -0
- package/dist/register-tool-groups/analysis/review.js +96 -0
- package/dist/register-tool-groups/analysis/review.js.map +1 -0
- package/dist/register-tool-groups/analysis/workspace.d.ts +3 -0
- package/dist/register-tool-groups/analysis/workspace.d.ts.map +1 -0
- package/dist/register-tool-groups/analysis/workspace.js +82 -0
- package/dist/register-tool-groups/analysis/workspace.js.map +1 -0
- package/dist/register-tool-groups/analysis.d.ts +3 -0
- package/dist/register-tool-groups/analysis.d.ts.map +1 -0
- package/dist/register-tool-groups/analysis.js +541 -0
- package/dist/register-tool-groups/analysis.js.map +1 -0
- package/dist/register-tool-groups/astro.d.ts +3 -0
- package/dist/register-tool-groups/astro.d.ts.map +1 -0
- package/dist/register-tool-groups/astro.js +302 -0
- package/dist/register-tool-groups/astro.js.map +1 -0
- package/dist/register-tool-groups/core/index.d.ts +3 -0
- package/dist/register-tool-groups/core/index.d.ts.map +1 -0
- package/dist/register-tool-groups/core/index.js +96 -0
- package/dist/register-tool-groups/core/index.js.map +1 -0
- package/dist/register-tool-groups/core/meta.d.ts +3 -0
- package/dist/register-tool-groups/core/meta.d.ts.map +1 -0
- package/dist/register-tool-groups/core/meta.js +180 -0
- package/dist/register-tool-groups/core/meta.js.map +1 -0
- package/dist/register-tool-groups/core/schema.d.ts +3 -0
- package/dist/register-tool-groups/core/schema.d.ts.map +1 -0
- package/dist/register-tool-groups/core/schema.js +16 -0
- package/dist/register-tool-groups/core/schema.js.map +1 -0
- package/dist/register-tool-groups/core/search.d.ts +4 -0
- package/dist/register-tool-groups/core/search.d.ts.map +1 -0
- package/dist/register-tool-groups/core/search.js +262 -0
- package/dist/register-tool-groups/core/search.js.map +1 -0
- package/dist/register-tool-groups/core/symbols.d.ts +3 -0
- package/dist/register-tool-groups/core/symbols.d.ts.map +1 -0
- package/dist/register-tool-groups/core/symbols.js +338 -0
- package/dist/register-tool-groups/core/symbols.js.map +1 -0
- package/dist/register-tool-groups/core.d.ts +3 -0
- package/dist/register-tool-groups/core.d.ts.map +1 -0
- package/dist/register-tool-groups/core.js +12 -0
- package/dist/register-tool-groups/core.js.map +1 -0
- package/dist/register-tool-groups/deps.d.ts +10 -0
- package/dist/register-tool-groups/deps.d.ts.map +1 -0
- package/dist/register-tool-groups/deps.js +6 -0
- package/dist/register-tool-groups/deps.js.map +1 -0
- package/dist/register-tool-groups/handler-wrappers.d.ts +63 -0
- package/dist/register-tool-groups/handler-wrappers.d.ts.map +1 -0
- package/dist/register-tool-groups/handler-wrappers.js +106 -0
- package/dist/register-tool-groups/handler-wrappers.js.map +1 -0
- package/dist/register-tool-groups/hono.d.ts +3 -0
- package/dist/register-tool-groups/hono.d.ts.map +1 -0
- package/dist/register-tool-groups/hono.js +179 -0
- package/dist/register-tool-groups/hono.js.map +1 -0
- package/dist/register-tool-groups/index.d.ts +3 -0
- package/dist/register-tool-groups/index.d.ts.map +1 -0
- package/dist/register-tool-groups/index.js +28 -0
- package/dist/register-tool-groups/index.js.map +1 -0
- package/dist/register-tool-groups/kotlin.d.ts +3 -0
- package/dist/register-tool-groups/kotlin.d.ts.map +1 -0
- package/dist/register-tool-groups/kotlin.js +162 -0
- package/dist/register-tool-groups/kotlin.js.map +1 -0
- package/dist/register-tool-groups/meta.d.ts +3 -0
- package/dist/register-tool-groups/meta.d.ts.map +1 -0
- package/dist/register-tool-groups/meta.js +563 -0
- package/dist/register-tool-groups/meta.js.map +1 -0
- package/dist/register-tool-groups/nextjs.d.ts +3 -0
- package/dist/register-tool-groups/nextjs.d.ts.map +1 -0
- package/dist/register-tool-groups/nextjs.js +78 -0
- package/dist/register-tool-groups/nextjs.js.map +1 -0
- package/dist/register-tool-groups/php.d.ts +3 -0
- package/dist/register-tool-groups/php.d.ts.map +1 -0
- package/dist/register-tool-groups/php.js +312 -0
- package/dist/register-tool-groups/php.js.map +1 -0
- package/dist/register-tool-groups/python.d.ts +3 -0
- package/dist/register-tool-groups/python.d.ts.map +1 -0
- package/dist/register-tool-groups/python.js +366 -0
- package/dist/register-tool-groups/python.js.map +1 -0
- package/dist/register-tool-groups/react.d.ts +3 -0
- package/dist/register-tool-groups/react.d.ts.map +1 -0
- package/dist/register-tool-groups/react.js +119 -0
- package/dist/register-tool-groups/react.js.map +1 -0
- package/dist/register-tool-groups/shared.d.ts +156 -0
- package/dist/register-tool-groups/shared.d.ts.map +1 -0
- package/dist/register-tool-groups/shared.js +182 -0
- package/dist/register-tool-groups/shared.js.map +1 -0
- package/dist/register-tool-groups/sql.d.ts +3 -0
- package/dist/register-tool-groups/sql.d.ts.map +1 -0
- package/dist/register-tool-groups/sql.js +260 -0
- package/dist/register-tool-groups/sql.js.map +1 -0
- package/dist/register-tool-loaders.d.ts +22 -22
- package/dist/register-tool-loaders.d.ts.map +1 -1
- package/dist/register-tools/autoload.d.ts +8 -0
- package/dist/register-tools/autoload.d.ts.map +1 -0
- package/dist/register-tools/autoload.js +517 -0
- package/dist/register-tools/autoload.js.map +1 -0
- package/dist/register-tools/discovery.d.ts +55 -0
- package/dist/register-tools/discovery.d.ts.map +1 -0
- package/dist/register-tools/discovery.js +206 -0
- package/dist/register-tools/discovery.js.map +1 -0
- package/dist/register-tools/runtime.d.ts +89 -0
- package/dist/register-tools/runtime.d.ts.map +1 -0
- package/dist/register-tools/runtime.js +491 -0
- package/dist/register-tools/runtime.js.map +1 -0
- package/dist/register-tools.d.ts +5 -172
- package/dist/register-tools.d.ts.map +1 -1
- package/dist/register-tools.js +27 -4878
- package/dist/register-tools.js.map +1 -1
- package/dist/search/bm25.js +1 -1
- package/dist/search/bm25.js.map +1 -1
- package/dist/search/tool-embedding-cache.d.ts +4 -0
- package/dist/search/tool-embedding-cache.d.ts.map +1 -0
- package/dist/search/tool-embedding-cache.js +44 -0
- package/dist/search/tool-embedding-cache.js.map +1 -0
- package/dist/search/tool-embedding-storage.d.ts +8 -0
- package/dist/search/tool-embedding-storage.d.ts.map +1 -0
- package/dist/search/tool-embedding-storage.js +56 -0
- package/dist/search/tool-embedding-storage.js.map +1 -0
- package/dist/search/tool-ranker-bm25.d.ts +6 -0
- package/dist/search/tool-ranker-bm25.d.ts.map +1 -0
- package/dist/search/tool-ranker-bm25.js +40 -0
- package/dist/search/tool-ranker-bm25.js.map +1 -0
- package/dist/search/tool-ranker-orchestrator.d.ts +3 -0
- package/dist/search/tool-ranker-orchestrator.d.ts.map +1 -0
- package/dist/search/tool-ranker-orchestrator.js +49 -0
- package/dist/search/tool-ranker-orchestrator.js.map +1 -0
- package/dist/search/tool-ranker-reasoning.d.ts +4 -0
- package/dist/search/tool-ranker-reasoning.d.ts.map +1 -0
- package/dist/search/tool-ranker-reasoning.js +35 -0
- package/dist/search/tool-ranker-reasoning.js.map +1 -0
- package/dist/search/tool-ranker-signal-math.d.ts +6 -0
- package/dist/search/tool-ranker-signal-math.d.ts.map +1 -0
- package/dist/search/tool-ranker-signal-math.js +51 -0
- package/dist/search/tool-ranker-signal-math.js.map +1 -0
- package/dist/search/tool-ranker-signals.d.ts +20 -0
- package/dist/search/tool-ranker-signals.d.ts.map +1 -0
- package/dist/search/tool-ranker-signals.js +50 -0
- package/dist/search/tool-ranker-signals.js.map +1 -0
- package/dist/search/tool-ranker-types.d.ts +26 -0
- package/dist/search/tool-ranker-types.d.ts.map +1 -0
- package/dist/search/tool-ranker-types.js +2 -0
- package/dist/search/tool-ranker-types.js.map +1 -0
- package/dist/search/tool-ranker.d.ts +6 -89
- package/dist/search/tool-ranker.d.ts.map +1 -1
- package/dist/search/tool-ranker.js +5 -419
- package/dist/search/tool-ranker.js.map +1 -1
- package/dist/server-helpers/repo-resolution.d.ts +45 -0
- package/dist/server-helpers/repo-resolution.d.ts.map +1 -0
- package/dist/server-helpers/repo-resolution.js +113 -0
- package/dist/server-helpers/repo-resolution.js.map +1 -0
- package/dist/server-helpers/response-hints.d.ts +9 -0
- package/dist/server-helpers/response-hints.d.ts.map +1 -0
- package/dist/server-helpers/response-hints.js +225 -0
- package/dist/server-helpers/response-hints.js.map +1 -0
- package/dist/server-helpers.d.ts +14 -35
- package/dist/server-helpers.d.ts.map +1 -1
- package/dist/server-helpers.js +53 -320
- package/dist/server-helpers.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +39 -0
- package/dist/server.js.map +1 -1
- package/dist/storage/usage-tracker.d.ts.map +1 -1
- package/dist/storage/usage-tracker.js +12 -0
- package/dist/storage/usage-tracker.js.map +1 -1
- package/dist/tools/astro-actions/ast.d.ts +14 -0
- package/dist/tools/astro-actions/ast.d.ts.map +1 -0
- package/dist/tools/astro-actions/ast.js +75 -0
- package/dist/tools/astro-actions/ast.js.map +1 -0
- package/dist/tools/astro-actions/audit.d.ts +5 -0
- package/dist/tools/astro-actions/audit.d.ts.map +1 -0
- package/dist/tools/astro-actions/audit.js +102 -0
- package/dist/tools/astro-actions/audit.js.map +1 -0
- package/dist/tools/astro-actions/callers.d.ts +9 -0
- package/dist/tools/astro-actions/callers.d.ts.map +1 -0
- package/dist/tools/astro-actions/callers.js +84 -0
- package/dist/tools/astro-actions/callers.js.map +1 -0
- package/dist/tools/astro-actions/parser.d.ts +3 -0
- package/dist/tools/astro-actions/parser.d.ts.map +1 -0
- package/dist/tools/astro-actions/parser.js +156 -0
- package/dist/tools/astro-actions/parser.js.map +1 -0
- package/dist/tools/astro-actions/types.d.ts +58 -0
- package/dist/tools/astro-actions/types.d.ts.map +1 -0
- package/dist/tools/astro-actions/types.js +2 -0
- package/dist/tools/astro-actions/types.js.map +1 -0
- package/dist/tools/astro-actions/zod-ast.d.ts +7 -0
- package/dist/tools/astro-actions/zod-ast.d.ts.map +1 -0
- package/dist/tools/astro-actions/zod-ast.js +51 -0
- package/dist/tools/astro-actions/zod-ast.js.map +1 -0
- package/dist/tools/astro-actions.d.ts +6 -46
- package/dist/tools/astro-actions.d.ts.map +1 -1
- package/dist/tools/astro-actions.js +6 -545
- package/dist/tools/astro-actions.js.map +1 -1
- package/dist/tools/astro-content-collections/diagnostics.d.ts +3 -0
- package/dist/tools/astro-content-collections/diagnostics.d.ts.map +1 -0
- package/dist/tools/astro-content-collections/diagnostics.js +277 -0
- package/dist/tools/astro-content-collections/diagnostics.js.map +1 -0
- package/dist/tools/astro-content-collections/discovery.d.ts +6 -0
- package/dist/tools/astro-content-collections/discovery.d.ts.map +1 -0
- package/dist/tools/astro-content-collections/discovery.js +152 -0
- package/dist/tools/astro-content-collections/discovery.js.map +1 -0
- package/dist/tools/astro-content-collections/schema.d.ts +15 -0
- package/dist/tools/astro-content-collections/schema.d.ts.map +1 -0
- package/dist/tools/astro-content-collections/schema.js +119 -0
- package/dist/tools/astro-content-collections/schema.js.map +1 -0
- package/dist/tools/astro-content-collections/types.d.ts +61 -0
- package/dist/tools/astro-content-collections/types.d.ts.map +1 -0
- package/dist/tools/astro-content-collections/types.js +2 -0
- package/dist/tools/astro-content-collections/types.js.map +1 -0
- package/dist/tools/astro-content-collections.d.ts +5 -40
- package/dist/tools/astro-content-collections.d.ts.map +1 -1
- package/dist/tools/astro-content-collections.js +42 -449
- package/dist/tools/astro-content-collections.js.map +1 -1
- package/dist/tools/astro-routes.js +1 -1
- package/dist/tools/astro-routes.js.map +1 -1
- package/dist/tools/complexity-tools.d.ts +6 -0
- package/dist/tools/complexity-tools.d.ts.map +1 -1
- package/dist/tools/complexity-tools.js +26 -0
- package/dist/tools/complexity-tools.js.map +1 -1
- package/dist/tools/context-levels/l0.d.ts +4 -0
- package/dist/tools/context-levels/l0.d.ts.map +1 -0
- package/dist/tools/context-levels/l0.js +17 -0
- package/dist/tools/context-levels/l0.js.map +1 -0
- package/dist/tools/context-levels/l1.d.ts +4 -0
- package/dist/tools/context-levels/l1.d.ts.map +1 -0
- package/dist/tools/context-levels/l1.js +26 -0
- package/dist/tools/context-levels/l1.js.map +1 -0
- package/dist/tools/context-levels/l2.d.ts +4 -0
- package/dist/tools/context-levels/l2.d.ts.map +1 -0
- package/dist/tools/context-levels/l2.js +36 -0
- package/dist/tools/context-levels/l2.js.map +1 -0
- package/dist/tools/context-levels/l3.d.ts +4 -0
- package/dist/tools/context-levels/l3.d.ts.map +1 -0
- package/dist/tools/context-levels/l3.js +30 -0
- package/dist/tools/context-levels/l3.js.map +1 -0
- package/dist/tools/context-levels/shared.d.ts +2 -0
- package/dist/tools/context-levels/shared.d.ts.map +1 -0
- package/dist/tools/context-levels/shared.js +4 -0
- package/dist/tools/context-levels/shared.js.map +1 -0
- package/dist/tools/context-levels/types.d.ts +34 -0
- package/dist/tools/context-levels/types.d.ts.map +1 -0
- package/dist/tools/context-levels/types.js +2 -0
- package/dist/tools/context-levels/types.js.map +1 -0
- package/dist/tools/context-tools.d.ts +2 -34
- package/dist/tools/context-tools.d.ts.map +1 -1
- package/dist/tools/context-tools.js +11 -127
- package/dist/tools/context-tools.js.map +1 -1
- package/dist/tools/conversation-cache.d.ts +6 -0
- package/dist/tools/conversation-cache.d.ts.map +1 -0
- package/dist/tools/conversation-cache.js +29 -0
- package/dist/tools/conversation-cache.js.map +1 -0
- package/dist/tools/conversation-index-tools.d.ts +39 -0
- package/dist/tools/conversation-index-tools.d.ts.map +1 -0
- package/dist/tools/conversation-index-tools.js +136 -0
- package/dist/tools/conversation-index-tools.js.map +1 -0
- package/dist/tools/conversation-paths.d.ts +4 -0
- package/dist/tools/conversation-paths.d.ts.map +1 -0
- package/dist/tools/conversation-paths.js +15 -0
- package/dist/tools/conversation-paths.js.map +1 -0
- package/dist/tools/conversation-search-tools.d.ts +52 -0
- package/dist/tools/conversation-search-tools.d.ts.map +1 -0
- package/dist/tools/conversation-search-tools.js +229 -0
- package/dist/tools/conversation-search-tools.js.map +1 -0
- package/dist/tools/conversation-tools.d.ts +6 -112
- package/dist/tools/conversation-tools.d.ts.map +1 -1
- package/dist/tools/conversation-tools.js +4 -425
- package/dist/tools/conversation-tools.js.map +1 -1
- package/dist/tools/cross-repo-outbound-lexer/call-detectors.d.ts +5 -0
- package/dist/tools/cross-repo-outbound-lexer/call-detectors.d.ts.map +1 -0
- package/dist/tools/cross-repo-outbound-lexer/call-detectors.js +76 -0
- package/dist/tools/cross-repo-outbound-lexer/call-detectors.js.map +1 -0
- package/dist/tools/cross-repo-outbound-lexer/context.d.ts +18 -0
- package/dist/tools/cross-repo-outbound-lexer/context.d.ts.map +1 -0
- package/dist/tools/cross-repo-outbound-lexer/context.js +33 -0
- package/dist/tools/cross-repo-outbound-lexer/context.js.map +1 -0
- package/dist/tools/cross-repo-outbound-lexer/literal-readers.d.ts +6 -0
- package/dist/tools/cross-repo-outbound-lexer/literal-readers.d.ts.map +1 -0
- package/dist/tools/cross-repo-outbound-lexer/literal-readers.js +65 -0
- package/dist/tools/cross-repo-outbound-lexer/literal-readers.js.map +1 -0
- package/dist/tools/cross-repo-outbound-lexer/non-code-states.d.ts +3 -0
- package/dist/tools/cross-repo-outbound-lexer/non-code-states.d.ts.map +1 -0
- package/dist/tools/cross-repo-outbound-lexer/non-code-states.js +103 -0
- package/dist/tools/cross-repo-outbound-lexer/non-code-states.js.map +1 -0
- package/dist/tools/cross-repo-outbound-lexer/template-reader.d.ts +3 -0
- package/dist/tools/cross-repo-outbound-lexer/template-reader.d.ts.map +1 -0
- package/dist/tools/cross-repo-outbound-lexer/template-reader.js +82 -0
- package/dist/tools/cross-repo-outbound-lexer/template-reader.js.map +1 -0
- package/dist/tools/cross-repo-outbound-lexer/types.d.ts +18 -0
- package/dist/tools/cross-repo-outbound-lexer/types.d.ts.map +1 -0
- package/dist/tools/cross-repo-outbound-lexer/types.js +2 -0
- package/dist/tools/cross-repo-outbound-lexer/types.js.map +1 -0
- package/dist/tools/cross-repo-outbound-lexer.d.ts +5 -31
- package/dist/tools/cross-repo-outbound-lexer.d.ts.map +1 -1
- package/dist/tools/cross-repo-outbound-lexer.js +75 -575
- package/dist/tools/cross-repo-outbound-lexer.js.map +1 -1
- package/dist/tools/dependency-audit-freshness-tools.d.ts +3 -0
- package/dist/tools/dependency-audit-freshness-tools.d.ts.map +1 -0
- package/dist/tools/dependency-audit-freshness-tools.js +62 -0
- package/dist/tools/dependency-audit-freshness-tools.js.map +1 -0
- package/dist/tools/dependency-audit-license-tools.d.ts +5 -0
- package/dist/tools/dependency-audit-license-tools.d.ts.map +1 -0
- package/dist/tools/dependency-audit-license-tools.js +75 -0
- package/dist/tools/dependency-audit-license-tools.js.map +1 -0
- package/dist/tools/dependency-audit-lockfile-tools.d.ts +3 -0
- package/dist/tools/dependency-audit-lockfile-tools.d.ts.map +1 -0
- package/dist/tools/dependency-audit-lockfile-tools.js +147 -0
- package/dist/tools/dependency-audit-lockfile-tools.js.map +1 -0
- package/dist/tools/dependency-audit-tools.d.ts +2 -54
- package/dist/tools/dependency-audit-tools.d.ts.map +1 -1
- package/dist/tools/dependency-audit-tools.js +69 -484
- package/dist/tools/dependency-audit-tools.js.map +1 -1
- package/dist/tools/dependency-audit-types.d.ts +65 -0
- package/dist/tools/dependency-audit-types.d.ts.map +1 -0
- package/dist/tools/dependency-audit-types.js +19 -0
- package/dist/tools/dependency-audit-types.js.map +1 -0
- package/dist/tools/dependency-audit-vulnerability-tools.d.ts +4 -0
- package/dist/tools/dependency-audit-vulnerability-tools.d.ts.map +1 -0
- package/dist/tools/dependency-audit-vulnerability-tools.js +103 -0
- package/dist/tools/dependency-audit-vulnerability-tools.js.map +1 -0
- package/dist/tools/diff-tools.d.ts.map +1 -1
- package/dist/tools/diff-tools.js +5 -7
- package/dist/tools/diff-tools.js.map +1 -1
- package/dist/tools/impact-tools.d.ts.map +1 -1
- package/dist/tools/impact-tools.js +5 -4
- package/dist/tools/impact-tools.js.map +1 -1
- package/dist/tools/index-shared.d.ts +17 -0
- package/dist/tools/index-shared.d.ts.map +1 -0
- package/dist/tools/index-shared.js +18 -0
- package/dist/tools/index-shared.js.map +1 -0
- package/dist/tools/index-tools/file-indexer.d.ts +27 -0
- package/dist/tools/index-tools/file-indexer.d.ts.map +1 -0
- package/dist/tools/index-tools/file-indexer.js +223 -0
- package/dist/tools/index-tools/file-indexer.js.map +1 -0
- package/dist/tools/index-tools/folder-indexer.d.ts +21 -0
- package/dist/tools/index-tools/folder-indexer.d.ts.map +1 -0
- package/dist/tools/index-tools/folder-indexer.js +399 -0
- package/dist/tools/index-tools/folder-indexer.js.map +1 -0
- package/dist/tools/index-tools/folder-merge.d.ts +23 -0
- package/dist/tools/index-tools/folder-merge.d.ts.map +1 -0
- package/dist/tools/index-tools/folder-merge.js +205 -0
- package/dist/tools/index-tools/folder-merge.js.map +1 -0
- package/dist/tools/index-tools/parse.d.ts +35 -0
- package/dist/tools/index-tools/parse.d.ts.map +1 -0
- package/dist/tools/index-tools/parse.js +262 -0
- package/dist/tools/index-tools/parse.js.map +1 -0
- package/dist/tools/index-tools/registry.d.ts +40 -0
- package/dist/tools/index-tools/registry.d.ts.map +1 -0
- package/dist/tools/index-tools/registry.js +258 -0
- package/dist/tools/index-tools/registry.js.map +1 -0
- package/dist/tools/index-tools/snapshots.d.ts +51 -0
- package/dist/tools/index-tools/snapshots.d.ts.map +1 -0
- package/dist/tools/index-tools/snapshots.js +223 -0
- package/dist/tools/index-tools/snapshots.js.map +1 -0
- package/dist/tools/index-tools/state.d.ts +8 -0
- package/dist/tools/index-tools/state.d.ts.map +1 -0
- package/dist/tools/index-tools/state.js +6 -0
- package/dist/tools/index-tools/state.js.map +1 -0
- package/dist/tools/index-tools/types.d.ts +20 -0
- package/dist/tools/index-tools/types.d.ts.map +1 -0
- package/dist/tools/index-tools/types.js +2 -0
- package/dist/tools/index-tools/types.js.map +1 -0
- package/dist/tools/index-tools/watcher.d.ts +10 -0
- package/dist/tools/index-tools/watcher.d.ts.map +1 -0
- package/dist/tools/index-tools/watcher.js +130 -0
- package/dist/tools/index-tools/watcher.js.map +1 -0
- package/dist/tools/index-tools.d.ts +16 -152
- package/dist/tools/index-tools.d.ts.map +1 -1
- package/dist/tools/index-tools.js +12 -1674
- package/dist/tools/index-tools.js.map +1 -1
- package/dist/tools/kotlin-extension-tools.d.ts +16 -0
- package/dist/tools/kotlin-extension-tools.d.ts.map +1 -0
- package/dist/tools/kotlin-extension-tools.js +31 -0
- package/dist/tools/kotlin-extension-tools.js.map +1 -0
- package/dist/tools/kotlin-flow-tools.d.ts +12 -0
- package/dist/tools/kotlin-flow-tools.d.ts.map +1 -0
- package/dist/tools/kotlin-flow-tools.js +72 -0
- package/dist/tools/kotlin-flow-tools.js.map +1 -0
- package/dist/tools/kotlin-kmp-tools.d.ts +29 -0
- package/dist/tools/kotlin-kmp-tools.d.ts.map +1 -0
- package/dist/tools/kotlin-kmp-tools.js +87 -0
- package/dist/tools/kotlin-kmp-tools.js.map +1 -0
- package/dist/tools/kotlin-sealed-tools.d.ts +27 -0
- package/dist/tools/kotlin-sealed-tools.d.ts.map +1 -0
- package/dist/tools/kotlin-sealed-tools.js +130 -0
- package/dist/tools/kotlin-sealed-tools.js.map +1 -0
- package/dist/tools/kotlin-suspend-tools.d.ts +24 -0
- package/dist/tools/kotlin-suspend-tools.d.ts.map +1 -0
- package/dist/tools/kotlin-suspend-tools.js +161 -0
- package/dist/tools/kotlin-suspend-tools.js.map +1 -0
- package/dist/tools/kotlin-tools.d.ts +6 -141
- package/dist/tools/kotlin-tools.d.ts.map +1 -1
- package/dist/tools/kotlin-tools.js +6 -571
- package/dist/tools/kotlin-tools.js.map +1 -1
- package/dist/tools/nest-audit-tools.d.ts +43 -0
- package/dist/tools/nest-audit-tools.d.ts.map +1 -0
- package/dist/tools/nest-audit-tools.js +232 -0
- package/dist/tools/nest-audit-tools.js.map +1 -0
- package/dist/tools/nest-di-tools.d.ts +32 -0
- package/dist/tools/nest-di-tools.d.ts.map +1 -0
- package/dist/tools/nest-di-tools.js +161 -0
- package/dist/tools/nest-di-tools.js.map +1 -0
- package/dist/tools/nest-guard-tools.d.ts +34 -0
- package/dist/tools/nest-guard-tools.d.ts.map +1 -0
- package/dist/tools/nest-guard-tools.js +240 -0
- package/dist/tools/nest-guard-tools.js.map +1 -0
- package/dist/tools/nest-lifecycle-tools.d.ts +16 -0
- package/dist/tools/nest-lifecycle-tools.d.ts.map +1 -0
- package/dist/tools/nest-lifecycle-tools.js +54 -0
- package/dist/tools/nest-lifecycle-tools.js.map +1 -0
- package/dist/tools/nest-module-tools.d.ts +28 -0
- package/dist/tools/nest-module-tools.d.ts.map +1 -0
- package/dist/tools/nest-module-tools.js +86 -0
- package/dist/tools/nest-module-tools.js.map +1 -0
- package/dist/tools/nest-pipeline-tools.d.ts +32 -0
- package/dist/tools/nest-pipeline-tools.d.ts.map +1 -0
- package/dist/tools/nest-pipeline-tools.js +122 -0
- package/dist/tools/nest-pipeline-tools.js.map +1 -0
- package/dist/tools/nest-route-tools.d.ts +43 -0
- package/dist/tools/nest-route-tools.d.ts.map +1 -0
- package/dist/tools/nest-route-tools.js +261 -0
- package/dist/tools/nest-route-tools.js.map +1 -0
- package/dist/tools/nest-shared-tools.d.ts +13 -0
- package/dist/tools/nest-shared-tools.d.ts.map +1 -0
- package/dist/tools/nest-shared-tools.js +36 -0
- package/dist/tools/nest-shared-tools.js.map +1 -0
- package/dist/tools/nest-tools.d.ts +18 -195
- package/dist/tools/nest-tools.d.ts.map +1 -1
- package/dist/tools/nest-tools.js +11 -1140
- package/dist/tools/nest-tools.js.map +1 -1
- package/dist/tools/pattern-registry.d.ts +4 -0
- package/dist/tools/pattern-registry.d.ts.map +1 -0
- package/dist/tools/pattern-registry.js +3 -0
- package/dist/tools/pattern-registry.js.map +1 -0
- package/dist/tools/pattern-tools.d.ts +5 -46
- package/dist/tools/pattern-tools.d.ts.map +1 -1
- package/dist/tools/pattern-tools.js +4 -1102
- package/dist/tools/pattern-tools.js.map +1 -1
- package/dist/tools/patterns/adapters/astro.d.ts +3 -0
- package/dist/tools/patterns/adapters/astro.d.ts.map +1 -0
- package/dist/tools/patterns/adapters/astro.js +56 -0
- package/dist/tools/patterns/adapters/astro.js.map +1 -0
- package/dist/tools/patterns/adapters/common.d.ts +3 -0
- package/dist/tools/patterns/adapters/common.d.ts.map +1 -0
- package/dist/tools/patterns/adapters/common.js +38 -0
- package/dist/tools/patterns/adapters/common.js.map +1 -0
- package/dist/tools/patterns/adapters/database.d.ts +3 -0
- package/dist/tools/patterns/adapters/database.d.ts.map +1 -0
- package/dist/tools/patterns/adapters/database.js +32 -0
- package/dist/tools/patterns/adapters/database.js.map +1 -0
- package/dist/tools/patterns/adapters/hono.d.ts +3 -0
- package/dist/tools/patterns/adapters/hono.d.ts.map +1 -0
- package/dist/tools/patterns/adapters/hono.js +32 -0
- package/dist/tools/patterns/adapters/hono.js.map +1 -0
- package/dist/tools/patterns/adapters/kotlin.d.ts +3 -0
- package/dist/tools/patterns/adapters/kotlin.d.ts.map +1 -0
- package/dist/tools/patterns/adapters/kotlin.js +50 -0
- package/dist/tools/patterns/adapters/kotlin.js.map +1 -0
- package/dist/tools/patterns/adapters/nest.d.ts +3 -0
- package/dist/tools/patterns/adapters/nest.d.ts.map +1 -0
- package/dist/tools/patterns/adapters/nest.js +122 -0
- package/dist/tools/patterns/adapters/nest.js.map +1 -0
- package/dist/tools/patterns/adapters/nextjs.d.ts +4 -0
- package/dist/tools/patterns/adapters/nextjs.d.ts.map +1 -0
- package/dist/tools/patterns/adapters/nextjs.js +59 -0
- package/dist/tools/patterns/adapters/nextjs.js.map +1 -0
- package/dist/tools/patterns/adapters/php.d.ts +3 -0
- package/dist/tools/patterns/adapters/php.d.ts.map +1 -0
- package/dist/tools/patterns/adapters/php.js +157 -0
- package/dist/tools/patterns/adapters/php.js.map +1 -0
- package/dist/tools/patterns/adapters/python.d.ts +3 -0
- package/dist/tools/patterns/adapters/python.d.ts.map +1 -0
- package/dist/tools/patterns/adapters/python.js +72 -0
- package/dist/tools/patterns/adapters/python.js.map +1 -0
- package/dist/tools/patterns/adapters/react.d.ts +4 -0
- package/dist/tools/patterns/adapters/react.d.ts.map +1 -0
- package/dist/tools/patterns/adapters/react.js +345 -0
- package/dist/tools/patterns/adapters/react.js.map +1 -0
- package/dist/tools/patterns/catalog.d.ts +8 -0
- package/dist/tools/patterns/catalog.d.ts.map +1 -0
- package/dist/tools/patterns/catalog.js +30 -0
- package/dist/tools/patterns/catalog.js.map +1 -0
- package/dist/tools/patterns/execution.d.ts +38 -0
- package/dist/tools/patterns/execution.d.ts.map +1 -0
- package/dist/tools/patterns/execution.js +298 -0
- package/dist/tools/patterns/execution.js.map +1 -0
- package/dist/tools/patterns/types.d.ts +13 -0
- package/dist/tools/patterns/types.d.ts.map +1 -0
- package/dist/tools/patterns/types.js +2 -0
- package/dist/tools/patterns/types.js.map +1 -0
- package/dist/tools/pg-drift-compare.d.ts +3 -0
- package/dist/tools/pg-drift-compare.d.ts.map +1 -0
- package/dist/tools/pg-drift-compare.js +30 -0
- package/dist/tools/pg-drift-compare.js.map +1 -0
- package/dist/tools/pg-drift-schema.d.ts +5 -0
- package/dist/tools/pg-drift-schema.d.ts.map +1 -0
- package/dist/tools/pg-drift-schema.js +28 -0
- package/dist/tools/pg-drift-schema.js.map +1 -0
- package/dist/tools/pg-drift-types.d.ts +25 -0
- package/dist/tools/pg-drift-types.d.ts.map +1 -0
- package/dist/tools/pg-drift-types.js +2 -0
- package/dist/tools/pg-drift-types.js.map +1 -0
- package/dist/tools/pg-drift.d.ts +5 -0
- package/dist/tools/pg-drift.d.ts.map +1 -0
- package/dist/tools/pg-drift.js +30 -0
- package/dist/tools/pg-drift.js.map +1 -0
- package/dist/tools/pg-introspect-formatters.d.ts +7 -0
- package/dist/tools/pg-introspect-formatters.d.ts.map +1 -0
- package/dist/tools/pg-introspect-formatters.js +66 -0
- package/dist/tools/pg-introspect-formatters.js.map +1 -0
- package/dist/tools/pg-introspect-tools.d.ts +5 -146
- package/dist/tools/pg-introspect-tools.d.ts.map +1 -1
- package/dist/tools/pg-introspect-tools.js +3 -395
- package/dist/tools/pg-introspect-tools.js.map +1 -1
- package/dist/tools/pg-introspection.d.ts +90 -0
- package/dist/tools/pg-introspection.d.ts.map +1 -0
- package/dist/tools/pg-introspection.js +288 -0
- package/dist/tools/pg-introspection.js.map +1 -0
- package/dist/tools/php-active-record-tools.d.ts +22 -0
- package/dist/tools/php-active-record-tools.d.ts.map +1 -0
- package/dist/tools/php-active-record-tools.js +165 -0
- package/dist/tools/php-active-record-tools.js.map +1 -0
- package/dist/tools/php-event-tools.d.ts +21 -0
- package/dist/tools/php-event-tools.d.ts.map +1 -0
- package/dist/tools/php-event-tools.js +205 -0
- package/dist/tools/php-event-tools.js.map +1 -0
- package/dist/tools/php-god-model-tools.d.ts +34 -0
- package/dist/tools/php-god-model-tools.d.ts.map +1 -0
- package/dist/tools/php-god-model-tools.js +88 -0
- package/dist/tools/php-god-model-tools.js.map +1 -0
- package/dist/tools/php-import-utils.d.ts +10 -0
- package/dist/tools/php-import-utils.d.ts.map +1 -0
- package/dist/tools/php-import-utils.js +71 -0
- package/dist/tools/php-import-utils.js.map +1 -0
- package/dist/tools/php-namespace-tools.d.ts +10 -0
- package/dist/tools/php-namespace-tools.d.ts.map +1 -0
- package/dist/tools/php-namespace-tools.js +98 -0
- package/dist/tools/php-namespace-tools.js.map +1 -0
- package/dist/tools/php-nplus1-tools.d.ts +27 -0
- package/dist/tools/php-nplus1-tools.d.ts.map +1 -0
- package/dist/tools/php-nplus1-tools.js +191 -0
- package/dist/tools/php-nplus1-tools.js.map +1 -0
- package/dist/tools/php-project-audit-tools.d.ts +31 -0
- package/dist/tools/php-project-audit-tools.d.ts.map +1 -0
- package/dist/tools/php-project-audit-tools.js +173 -0
- package/dist/tools/php-project-audit-tools.js.map +1 -0
- package/dist/tools/php-security-tools.d.ts +24 -0
- package/dist/tools/php-security-tools.d.ts.map +1 -0
- package/dist/tools/php-security-tools.js +172 -0
- package/dist/tools/php-security-tools.js.map +1 -0
- package/dist/tools/php-service-tools.d.ts +25 -0
- package/dist/tools/php-service-tools.d.ts.map +1 -0
- package/dist/tools/php-service-tools.js +326 -0
- package/dist/tools/php-service-tools.js.map +1 -0
- package/dist/tools/php-tools.d.ts +21 -255
- package/dist/tools/php-tools.d.ts.map +1 -1
- package/dist/tools/php-tools.js +12 -1423
- package/dist/tools/php-tools.js.map +1 -1
- package/dist/tools/php-view-tools.d.ts +76 -0
- package/dist/tools/php-view-tools.d.ts.map +1 -0
- package/dist/tools/php-view-tools.js +413 -0
- package/dist/tools/php-view-tools.js.map +1 -0
- package/dist/tools/plan-turn/formatter.d.ts +3 -0
- package/dist/tools/plan-turn/formatter.d.ts.map +1 -0
- package/dist/tools/plan-turn/formatter.js +88 -0
- package/dist/tools/plan-turn/formatter.js.map +1 -0
- package/dist/tools/plan-turn/framework-context.d.ts +5 -0
- package/dist/tools/plan-turn/framework-context.d.ts.map +1 -0
- package/dist/tools/plan-turn/framework-context.js +68 -0
- package/dist/tools/plan-turn/framework-context.js.map +1 -0
- package/dist/tools/plan-turn/framework-data.d.ts +5 -0
- package/dist/tools/plan-turn/framework-data.d.ts.map +1 -0
- package/dist/tools/plan-turn/framework-data.js +48 -0
- package/dist/tools/plan-turn/framework-data.js.map +1 -0
- package/dist/tools/plan-turn/orchestrator.d.ts +4 -0
- package/dist/tools/plan-turn/orchestrator.d.ts.map +1 -0
- package/dist/tools/plan-turn/orchestrator.js +262 -0
- package/dist/tools/plan-turn/orchestrator.js.map +1 -0
- package/dist/tools/plan-turn/query-parser.d.ts +6 -0
- package/dist/tools/plan-turn/query-parser.d.ts.map +1 -0
- package/dist/tools/plan-turn/query-parser.js +60 -0
- package/dist/tools/plan-turn/query-parser.js.map +1 -0
- package/dist/tools/plan-turn/recommendations.d.ts +11 -0
- package/dist/tools/plan-turn/recommendations.d.ts.map +1 -0
- package/dist/tools/plan-turn/recommendations.js +93 -0
- package/dist/tools/plan-turn/recommendations.js.map +1 -0
- package/dist/tools/plan-turn/stale-index.d.ts +4 -0
- package/dist/tools/plan-turn/stale-index.d.ts.map +1 -0
- package/dist/tools/plan-turn/stale-index.js +17 -0
- package/dist/tools/plan-turn/stale-index.js.map +1 -0
- package/dist/tools/plan-turn/types.d.ts +61 -0
- package/dist/tools/plan-turn/types.d.ts.map +1 -0
- package/dist/tools/plan-turn/types.js +2 -0
- package/dist/tools/plan-turn/types.js.map +1 -0
- package/dist/tools/plan-turn-tools.d.ts +8 -111
- package/dist/tools/plan-turn-tools.d.ts.map +1 -1
- package/dist/tools/plan-turn-tools.js +6 -696
- package/dist/tools/plan-turn-tools.js.map +1 -1
- package/dist/tools/project-profile-express.d.ts +3 -0
- package/dist/tools/project-profile-express.d.ts.map +1 -0
- package/dist/tools/project-profile-express.js +46 -0
- package/dist/tools/project-profile-express.js.map +1 -0
- package/dist/tools/project-profile-extractors.d.ts +9 -0
- package/dist/tools/project-profile-extractors.d.ts.map +1 -0
- package/dist/tools/project-profile-extractors.js +312 -0
- package/dist/tools/project-profile-extractors.js.map +1 -0
- package/dist/tools/project-profile-fs.d.ts +3 -0
- package/dist/tools/project-profile-fs.d.ts.map +1 -0
- package/dist/tools/project-profile-fs.js +19 -0
- package/dist/tools/project-profile-fs.js.map +1 -0
- package/dist/tools/project-profile-hono.d.ts +13 -0
- package/dist/tools/project-profile-hono.d.ts.map +1 -0
- package/dist/tools/project-profile-hono.js +110 -0
- package/dist/tools/project-profile-hono.js.map +1 -0
- package/dist/tools/project-profile-imports.d.ts +6 -0
- package/dist/tools/project-profile-imports.d.ts.map +1 -0
- package/dist/tools/project-profile-imports.js +95 -0
- package/dist/tools/project-profile-imports.js.map +1 -0
- package/dist/tools/project-profile-nest.d.ts +8 -0
- package/dist/tools/project-profile-nest.d.ts.map +1 -0
- package/dist/tools/project-profile-nest.js +352 -0
- package/dist/tools/project-profile-nest.js.map +1 -0
- package/dist/tools/project-profile-next.d.ts +5 -0
- package/dist/tools/project-profile-next.d.ts.map +1 -0
- package/dist/tools/project-profile-next.js +92 -0
- package/dist/tools/project-profile-next.js.map +1 -0
- package/dist/tools/project-profile-persistence.d.ts +3 -0
- package/dist/tools/project-profile-persistence.d.ts.map +1 -0
- package/dist/tools/project-profile-persistence.js +19 -0
- package/dist/tools/project-profile-persistence.js.map +1 -0
- package/dist/tools/project-profile-php.d.ts +8 -0
- package/dist/tools/project-profile-php.d.ts.map +1 -0
- package/dist/tools/project-profile-php.js +76 -0
- package/dist/tools/project-profile-php.js.map +1 -0
- package/dist/tools/project-profile-python.d.ts +5 -0
- package/dist/tools/project-profile-python.d.ts.map +1 -0
- package/dist/tools/project-profile-python.js +51 -0
- package/dist/tools/project-profile-python.js.map +1 -0
- package/dist/tools/project-profile-react.d.ts +6 -0
- package/dist/tools/project-profile-react.d.ts.map +1 -0
- package/dist/tools/project-profile-react.js +106 -0
- package/dist/tools/project-profile-react.js.map +1 -0
- package/dist/tools/project-profile-stack.d.ts +3 -0
- package/dist/tools/project-profile-stack.d.ts.map +1 -0
- package/dist/tools/project-profile-stack.js +354 -0
- package/dist/tools/project-profile-stack.js.map +1 -0
- package/dist/tools/project-profile-summary.d.ts +30 -0
- package/dist/tools/project-profile-summary.d.ts.map +1 -0
- package/dist/tools/project-profile-summary.js +112 -0
- package/dist/tools/project-profile-summary.js.map +1 -0
- package/dist/tools/project-profile-types.d.ts +315 -0
- package/dist/tools/project-profile-types.d.ts.map +1 -0
- package/dist/tools/project-profile-types.js +2 -0
- package/dist/tools/project-profile-types.js.map +1 -0
- package/dist/tools/project-tools.d.ts +17 -383
- package/dist/tools/project-tools.d.ts.map +1 -1
- package/dist/tools/project-tools.js +35 -1621
- package/dist/tools/project-tools.js.map +1 -1
- package/dist/tools/python-audit/aggregate.d.ts +3 -0
- package/dist/tools/python-audit/aggregate.d.ts.map +1 -0
- package/dist/tools/python-audit/aggregate.js +103 -0
- package/dist/tools/python-audit/aggregate.js.map +1 -0
- package/dist/tools/python-audit/checks/anti-patterns.d.ts +6 -0
- package/dist/tools/python-audit/checks/anti-patterns.d.ts.map +1 -0
- package/dist/tools/python-audit/checks/anti-patterns.js +14 -0
- package/dist/tools/python-audit/checks/anti-patterns.js.map +1 -0
- package/dist/tools/python-audit/checks/celery.d.ts +2 -0
- package/dist/tools/python-audit/checks/celery.d.ts.map +1 -0
- package/dist/tools/python-audit/checks/celery.js +5 -0
- package/dist/tools/python-audit/checks/celery.js.map +1 -0
- package/dist/tools/python-audit/checks/circular-imports.d.ts +2 -0
- package/dist/tools/python-audit/checks/circular-imports.d.ts.map +1 -0
- package/dist/tools/python-audit/checks/circular-imports.js +5 -0
- package/dist/tools/python-audit/checks/circular-imports.js.map +1 -0
- package/dist/tools/python-audit/checks/dead-code.d.ts +2 -0
- package/dist/tools/python-audit/checks/dead-code.d.ts.map +1 -0
- package/dist/tools/python-audit/checks/dead-code.js +5 -0
- package/dist/tools/python-audit/checks/dead-code.js.map +1 -0
- package/dist/tools/python-audit/checks/dependencies.d.ts +2 -0
- package/dist/tools/python-audit/checks/dependencies.d.ts.map +1 -0
- package/dist/tools/python-audit/checks/dependencies.js +5 -0
- package/dist/tools/python-audit/checks/dependencies.js.map +1 -0
- package/dist/tools/python-audit/checks/django-settings.d.ts +2 -0
- package/dist/tools/python-audit/checks/django-settings.d.ts.map +1 -0
- package/dist/tools/python-audit/checks/django-settings.js +5 -0
- package/dist/tools/python-audit/checks/django-settings.js.map +1 -0
- package/dist/tools/python-audit/checks/framework-wiring.d.ts +2 -0
- package/dist/tools/python-audit/checks/framework-wiring.d.ts.map +1 -0
- package/dist/tools/python-audit/checks/framework-wiring.js +5 -0
- package/dist/tools/python-audit/checks/framework-wiring.js.map +1 -0
- package/dist/tools/python-audit/checks/pytest-fixtures.d.ts +2 -0
- package/dist/tools/python-audit/checks/pytest-fixtures.d.ts.map +1 -0
- package/dist/tools/python-audit/checks/pytest-fixtures.js +5 -0
- package/dist/tools/python-audit/checks/pytest-fixtures.js.map +1 -0
- package/dist/tools/python-audit/runner.d.ts +5 -0
- package/dist/tools/python-audit/runner.d.ts.map +1 -0
- package/dist/tools/python-audit/runner.js +18 -0
- package/dist/tools/python-audit/runner.js.map +1 -0
- package/dist/tools/python-audit/types.d.ts +43 -0
- package/dist/tools/python-audit/types.d.ts.map +1 -0
- package/dist/tools/python-audit/types.js +2 -0
- package/dist/tools/python-audit/types.js.map +1 -0
- package/dist/tools/python-audit.d.ts +3 -39
- package/dist/tools/python-audit.d.ts.map +1 -1
- package/dist/tools/python-audit.js +34 -233
- package/dist/tools/python-audit.js.map +1 -1
- package/dist/tools/react-compiler-tools.d.ts +37 -0
- package/dist/tools/react-compiler-tools.d.ts.map +1 -0
- package/dist/tools/react-compiler-tools.js +104 -0
- package/dist/tools/react-compiler-tools.js.map +1 -0
- package/dist/tools/react-component-tree-tools.d.ts +58 -0
- package/dist/tools/react-component-tree-tools.d.ts.map +1 -0
- package/dist/tools/react-component-tree-tools.js +292 -0
- package/dist/tools/react-component-tree-tools.js.map +1 -0
- package/dist/tools/react-context-tools.d.ts +41 -0
- package/dist/tools/react-context-tools.d.ts.map +1 -0
- package/dist/tools/react-context-tools.js +76 -0
- package/dist/tools/react-context-tools.js.map +1 -0
- package/dist/tools/react-hooks-tools.d.ts +58 -0
- package/dist/tools/react-hooks-tools.d.ts.map +1 -0
- package/dist/tools/react-hooks-tools.js +144 -0
- package/dist/tools/react-hooks-tools.js.map +1 -0
- package/dist/tools/react-quickstart-tools.d.ts +59 -0
- package/dist/tools/react-quickstart-tools.d.ts.map +1 -0
- package/dist/tools/react-quickstart-tools.js +164 -0
- package/dist/tools/react-quickstart-tools.js.map +1 -0
- package/dist/tools/react-render-tools.d.ts +75 -0
- package/dist/tools/react-render-tools.d.ts.map +1 -0
- package/dist/tools/react-render-tools.js +234 -0
- package/dist/tools/react-render-tools.js.map +1 -0
- package/dist/tools/react-shared-tools.d.ts +5 -0
- package/dist/tools/react-shared-tools.d.ts.map +1 -0
- package/dist/tools/react-shared-tools.js +12 -0
- package/dist/tools/react-shared-tools.js.map +1 -0
- package/dist/tools/react-suspense-tools.d.ts +29 -0
- package/dist/tools/react-suspense-tools.d.ts.map +1 -0
- package/dist/tools/react-suspense-tools.js +269 -0
- package/dist/tools/react-suspense-tools.js.map +1 -0
- package/dist/tools/react-tools.d.ts +19 -340
- package/dist/tools/react-tools.d.ts.map +1 -1
- package/dist/tools/react-tools.js +10 -1263
- package/dist/tools/react-tools.js.map +1 -1
- package/dist/tools/review-diff/check-runner.d.ts +5 -0
- package/dist/tools/review-diff/check-runner.d.ts.map +1 -0
- package/dist/tools/review-diff/check-runner.js +26 -0
- package/dist/tools/review-diff/check-runner.js.map +1 -0
- package/dist/tools/review-diff/checks/astro-hydration.d.ts +8 -0
- package/dist/tools/review-diff/checks/astro-hydration.d.ts.map +1 -0
- package/dist/tools/review-diff/checks/astro-hydration.js +54 -0
- package/dist/tools/review-diff/checks/astro-hydration.js.map +1 -0
- package/dist/tools/review-diff/checks/blast-radius.d.ts +7 -0
- package/dist/tools/review-diff/checks/blast-radius.d.ts.map +1 -0
- package/dist/tools/review-diff/checks/blast-radius.js +39 -0
- package/dist/tools/review-diff/checks/blast-radius.js.map +1 -0
- package/dist/tools/review-diff/checks/breaking.d.ts +13 -0
- package/dist/tools/review-diff/checks/breaking.d.ts.map +1 -0
- package/dist/tools/review-diff/checks/breaking.js +115 -0
- package/dist/tools/review-diff/checks/breaking.js.map +1 -0
- package/dist/tools/review-diff/checks/bug-patterns.d.ts +8 -0
- package/dist/tools/review-diff/checks/bug-patterns.d.ts.map +1 -0
- package/dist/tools/review-diff/checks/bug-patterns.js +130 -0
- package/dist/tools/review-diff/checks/bug-patterns.js.map +1 -0
- package/dist/tools/review-diff/checks/complexity.d.ts +8 -0
- package/dist/tools/review-diff/checks/complexity.d.ts.map +1 -0
- package/dist/tools/review-diff/checks/complexity.js +41 -0
- package/dist/tools/review-diff/checks/complexity.js.map +1 -0
- package/dist/tools/review-diff/checks/coupling.d.ts +7 -0
- package/dist/tools/review-diff/checks/coupling.d.ts.map +1 -0
- package/dist/tools/review-diff/checks/coupling.js +52 -0
- package/dist/tools/review-diff/checks/coupling.js.map +1 -0
- package/dist/tools/review-diff/checks/dead-code.d.ts +7 -0
- package/dist/tools/review-diff/checks/dead-code.d.ts.map +1 -0
- package/dist/tools/review-diff/checks/dead-code.js +39 -0
- package/dist/tools/review-diff/checks/dead-code.js.map +1 -0
- package/dist/tools/review-diff/checks/hotspots.d.ts +8 -0
- package/dist/tools/review-diff/checks/hotspots.d.ts.map +1 -0
- package/dist/tools/review-diff/checks/hotspots.js +39 -0
- package/dist/tools/review-diff/checks/hotspots.js.map +1 -0
- package/dist/tools/review-diff/checks/secrets.d.ts +7 -0
- package/dist/tools/review-diff/checks/secrets.d.ts.map +1 -0
- package/dist/tools/review-diff/checks/secrets.js +38 -0
- package/dist/tools/review-diff/checks/secrets.js.map +1 -0
- package/dist/tools/review-diff/checks/test-gaps.d.ts +16 -0
- package/dist/tools/review-diff/checks/test-gaps.d.ts.map +1 -0
- package/dist/tools/review-diff/checks/test-gaps.js +77 -0
- package/dist/tools/review-diff/checks/test-gaps.js.map +1 -0
- package/dist/tools/review-diff/constants.d.ts +6 -0
- package/dist/tools/review-diff/constants.d.ts.map +1 -0
- package/dist/tools/review-diff/constants.js +16 -0
- package/dist/tools/review-diff/constants.js.map +1 -0
- package/dist/tools/review-diff/file-pattern.d.ts +2 -0
- package/dist/tools/review-diff/file-pattern.d.ts.map +1 -0
- package/dist/tools/review-diff/file-pattern.js +9 -0
- package/dist/tools/review-diff/file-pattern.js.map +1 -0
- package/dist/tools/review-diff/orchestrator.d.ts +3 -0
- package/dist/tools/review-diff/orchestrator.d.ts.map +1 -0
- package/dist/tools/review-diff/orchestrator.js +173 -0
- package/dist/tools/review-diff/orchestrator.js.map +1 -0
- package/dist/tools/review-diff/scoring.d.ts +31 -0
- package/dist/tools/review-diff/scoring.d.ts.map +1 -0
- package/dist/tools/review-diff/scoring.js +82 -0
- package/dist/tools/review-diff/scoring.js.map +1 -0
- package/dist/tools/review-diff/timeout.d.ts +5 -0
- package/dist/tools/review-diff/timeout.d.ts.map +1 -0
- package/dist/tools/review-diff/timeout.js +14 -0
- package/dist/tools/review-diff/timeout.js.map +1 -0
- package/dist/tools/review-diff/types.d.ts +56 -0
- package/dist/tools/review-diff/types.d.ts.map +1 -0
- package/dist/tools/review-diff/types.js +2 -0
- package/dist/tools/review-diff/types.js.map +1 -0
- package/dist/tools/review-diff-tools.d.ts +19 -147
- package/dist/tools/review-diff-tools.d.ts.map +1 -1
- package/dist/tools/review-diff-tools.js +18 -941
- package/dist/tools/review-diff-tools.js.map +1 -1
- package/dist/tools/route-shared.d.ts +6 -0
- package/dist/tools/route-shared.d.ts.map +1 -0
- package/dist/tools/route-shared.js +37 -0
- package/dist/tools/route-shared.js.map +1 -0
- package/dist/tools/route-tools.d.ts +1 -7
- package/dist/tools/route-tools.d.ts.map +1 -1
- package/dist/tools/route-tools.js +2 -22
- package/dist/tools/route-tools.js.map +1 -1
- package/dist/tools/search-tools/constants.d.ts +33 -0
- package/dist/tools/search-tools/constants.d.ts.map +1 -0
- package/dist/tools/search-tools/constants.js +54 -0
- package/dist/tools/search-tools/constants.js.map +1 -0
- package/dist/tools/search-tools/ripgrep.d.ts +13 -0
- package/dist/tools/search-tools/ripgrep.d.ts.map +1 -0
- package/dist/tools/search-tools/ripgrep.js +138 -0
- package/dist/tools/search-tools/ripgrep.js.map +1 -0
- package/dist/tools/search-tools/semantic-search.d.ts +9 -0
- package/dist/tools/search-tools/semantic-search.d.ts.map +1 -0
- package/dist/tools/search-tools/semantic-search.js +19 -0
- package/dist/tools/search-tools/semantic-search.js.map +1 -0
- package/dist/tools/search-tools/symbol-search.d.ts +4 -0
- package/dist/tools/search-tools/symbol-search.d.ts.map +1 -0
- package/dist/tools/search-tools/symbol-search.js +146 -0
- package/dist/tools/search-tools/symbol-search.js.map +1 -0
- package/dist/tools/search-tools/text-search.d.ts +10 -0
- package/dist/tools/search-tools/text-search.d.ts.map +1 -0
- package/dist/tools/search-tools/text-search.js +260 -0
- package/dist/tools/search-tools/text-search.js.map +1 -0
- package/dist/tools/search-tools/types.d.ts +28 -0
- package/dist/tools/search-tools/types.d.ts.map +1 -0
- package/dist/tools/search-tools/types.js +2 -0
- package/dist/tools/search-tools/types.js.map +1 -0
- package/dist/tools/search-tools/zero-hit.d.ts +3 -0
- package/dist/tools/search-tools/zero-hit.d.ts.map +1 -0
- package/dist/tools/search-tools/zero-hit.js +92 -0
- package/dist/tools/search-tools/zero-hit.js.map +1 -0
- package/dist/tools/search-tools.d.ts +5 -64
- package/dist/tools/search-tools.d.ts.map +1 -1
- package/dist/tools/search-tools.js +4 -770
- package/dist/tools/search-tools.js.map +1 -1
- package/dist/tools/secret-detectors.d.ts +12 -0
- package/dist/tools/secret-detectors.d.ts.map +1 -0
- package/dist/tools/secret-detectors.js +86 -0
- package/dist/tools/secret-detectors.js.map +1 -0
- package/dist/tools/secret-file-scanner.d.ts +7 -0
- package/dist/tools/secret-file-scanner.d.ts.map +1 -0
- package/dist/tools/secret-file-scanner.js +52 -0
- package/dist/tools/secret-file-scanner.js.map +1 -0
- package/dist/tools/secret-scan-cache.d.ts +6 -0
- package/dist/tools/secret-scan-cache.d.ts.map +1 -0
- package/dist/tools/secret-scan-cache.js +14 -0
- package/dist/tools/secret-scan-cache.js.map +1 -0
- package/dist/tools/secret-scan-shared.d.ts +5 -0
- package/dist/tools/secret-scan-shared.d.ts.map +1 -0
- package/dist/tools/secret-scan-shared.js +4 -0
- package/dist/tools/secret-scan-shared.js.map +1 -0
- package/dist/tools/secret-scan-types.d.ts +21 -0
- package/dist/tools/secret-scan-types.d.ts.map +1 -0
- package/dist/tools/secret-scan-types.js +2 -0
- package/dist/tools/secret-scan-types.js.map +1 -0
- package/dist/tools/secret-tools.d.ts +3 -75
- package/dist/tools/secret-tools.d.ts.map +1 -1
- package/dist/tools/secret-tools.js +4 -316
- package/dist/tools/secret-tools.js.map +1 -1
- package/dist/tools/sql-audit-tools.d.ts +42 -0
- package/dist/tools/sql-audit-tools.d.ts.map +1 -0
- package/dist/tools/sql-audit-tools.js +130 -0
- package/dist/tools/sql-audit-tools.js.map +1 -0
- package/dist/tools/sql-column-tools.d.ts +28 -0
- package/dist/tools/sql-column-tools.d.ts.map +1 -0
- package/dist/tools/sql-column-tools.js +58 -0
- package/dist/tools/sql-column-tools.js.map +1 -0
- package/dist/tools/sql-complexity-tools.d.ts +22 -0
- package/dist/tools/sql-complexity-tools.d.ts.map +1 -0
- package/dist/tools/sql-complexity-tools.js +60 -0
- package/dist/tools/sql-complexity-tools.js.map +1 -0
- package/dist/tools/sql-dml-safety-tools.d.ts +26 -0
- package/dist/tools/sql-dml-safety-tools.d.ts.map +1 -0
- package/dist/tools/sql-dml-safety-tools.js +104 -0
- package/dist/tools/sql-dml-safety-tools.js.map +1 -0
- package/dist/tools/sql-drift-tools.d.ts +39 -0
- package/dist/tools/sql-drift-tools.d.ts.map +1 -0
- package/dist/tools/sql-drift-tools.js +238 -0
- package/dist/tools/sql-drift-tools.js.map +1 -0
- package/dist/tools/sql-lint-schema-tools.d.ts +28 -0
- package/dist/tools/sql-lint-schema-tools.d.ts.map +1 -0
- package/dist/tools/sql-lint-schema-tools.js +96 -0
- package/dist/tools/sql-lint-schema-tools.js.map +1 -0
- package/dist/tools/sql-migration-diff-tools.d.ts +24 -0
- package/dist/tools/sql-migration-diff-tools.d.ts.map +1 -0
- package/dist/tools/sql-migration-diff-tools.js +120 -0
- package/dist/tools/sql-migration-diff-tools.js.map +1 -0
- package/dist/tools/sql-orphan-table-tools.d.ts +20 -0
- package/dist/tools/sql-orphan-table-tools.d.ts.map +1 -0
- package/dist/tools/sql-orphan-table-tools.js +70 -0
- package/dist/tools/sql-orphan-table-tools.js.map +1 -0
- package/dist/tools/sql-query-tools.d.ts +32 -0
- package/dist/tools/sql-query-tools.d.ts.map +1 -0
- package/dist/tools/sql-query-tools.js +130 -0
- package/dist/tools/sql-query-tools.js.map +1 -0
- package/dist/tools/sql-schema-tools.d.ts +47 -0
- package/dist/tools/sql-schema-tools.d.ts.map +1 -0
- package/dist/tools/sql-schema-tools.js +202 -0
- package/dist/tools/sql-schema-tools.js.map +1 -0
- package/dist/tools/sql-shared-tools.d.ts +6 -0
- package/dist/tools/sql-shared-tools.d.ts.map +1 -0
- package/dist/tools/sql-shared-tools.js +59 -0
- package/dist/tools/sql-shared-tools.js.map +1 -0
- package/dist/tools/sql-tools.d.ts +25 -296
- package/dist/tools/sql-tools.d.ts.map +1 -1
- package/dist/tools/sql-tools.js +15 -1232
- package/dist/tools/sql-tools.js.map +1 -1
- package/dist/tools/status-tools.js +1 -1
- package/dist/tools/status-tools.js.map +1 -1
- package/dist/tools/workspace-tools.d.ts +1 -1
- package/dist/tools/yii3-migration-categories-application.d.ts +4 -0
- package/dist/tools/yii3-migration-categories-application.d.ts.map +1 -0
- package/dist/tools/yii3-migration-categories-application.js +56 -0
- package/dist/tools/yii3-migration-categories-application.js.map +1 -0
- package/dist/tools/yii3-migration-categories-infrastructure.d.ts +4 -0
- package/dist/tools/yii3-migration-categories-infrastructure.d.ts.map +1 -0
- package/dist/tools/yii3-migration-categories-infrastructure.js +67 -0
- package/dist/tools/yii3-migration-categories-infrastructure.js.map +1 -0
- package/dist/tools/yii3-migration-categories-model-view.d.ts +4 -0
- package/dist/tools/yii3-migration-categories-model-view.d.ts.map +1 -0
- package/dist/tools/yii3-migration-categories-model-view.js +59 -0
- package/dist/tools/yii3-migration-categories-model-view.js.map +1 -0
- package/dist/tools/yii3-migration-categories-runtime.d.ts +4 -0
- package/dist/tools/yii3-migration-categories-runtime.d.ts.map +1 -0
- package/dist/tools/yii3-migration-categories-runtime.js +49 -0
- package/dist/tools/yii3-migration-categories-runtime.js.map +1 -0
- package/dist/tools/yii3-migration-categories.d.ts +5 -0
- package/dist/tools/yii3-migration-categories.d.ts.map +1 -0
- package/dist/tools/yii3-migration-categories.js +18 -0
- package/dist/tools/yii3-migration-categories.js.map +1 -0
- package/dist/tools/yii3-migration-report.d.ts +4 -0
- package/dist/tools/yii3-migration-report.d.ts.map +1 -0
- package/dist/tools/yii3-migration-report.js +88 -0
- package/dist/tools/yii3-migration-report.js.map +1 -0
- package/dist/tools/yii3-migration-scanner.d.ts +28 -0
- package/dist/tools/yii3-migration-scanner.d.ts.map +1 -0
- package/dist/tools/yii3-migration-scanner.js +87 -0
- package/dist/tools/yii3-migration-scanner.js.map +1 -0
- package/dist/tools/yii3-migration-tools.d.ts +4 -73
- package/dist/tools/yii3-migration-tools.d.ts.map +1 -1
- package/dist/tools/yii3-migration-tools.js +5 -433
- package/dist/tools/yii3-migration-tools.js.map +1 -1
- package/dist/tools/yii3-migration-types.d.ts +50 -0
- package/dist/tools/yii3-migration-types.d.ts.map +1 -0
- package/dist/tools/yii3-migration-types.js +3 -0
- package/dist/tools/yii3-migration-types.js.map +1 -0
- package/dist/utils/git-validation.d.ts +24 -0
- package/dist/utils/git-validation.d.ts.map +1 -1
- package/dist/utils/git-validation.js +30 -0
- package/dist/utils/git-validation.js.map +1 -1
- package/dist/utils/source-stripper/code-handler.d.ts +3 -0
- package/dist/utils/source-stripper/code-handler.d.ts.map +1 -0
- package/dist/utils/source-stripper/code-handler.js +79 -0
- package/dist/utils/source-stripper/code-handler.js.map +1 -0
- package/dist/utils/source-stripper/comment-handler.d.ts +4 -0
- package/dist/utils/source-stripper/comment-handler.d.ts.map +1 -0
- package/dist/utils/source-stripper/comment-handler.js +24 -0
- package/dist/utils/source-stripper/comment-handler.js.map +1 -0
- package/dist/utils/source-stripper/machine.d.ts +2 -0
- package/dist/utils/source-stripper/machine.d.ts.map +1 -0
- package/dist/utils/source-stripper/machine.js +34 -0
- package/dist/utils/source-stripper/machine.js.map +1 -0
- package/dist/utils/source-stripper/regex-handler.d.ts +3 -0
- package/dist/utils/source-stripper/regex-handler.d.ts.map +1 -0
- package/dist/utils/source-stripper/regex-handler.js +44 -0
- package/dist/utils/source-stripper/regex-handler.js.map +1 -0
- package/dist/utils/source-stripper/state.d.ts +4 -0
- package/dist/utils/source-stripper/state.d.ts.map +1 -0
- package/dist/utils/source-stripper/state.js +20 -0
- package/dist/utils/source-stripper/state.js.map +1 -0
- package/dist/utils/source-stripper/string-handler.d.ts +3 -0
- package/dist/utils/source-stripper/string-handler.d.ts.map +1 -0
- package/dist/utils/source-stripper/string-handler.js +19 -0
- package/dist/utils/source-stripper/string-handler.js.map +1 -0
- package/dist/utils/source-stripper/template-handler.d.ts +4 -0
- package/dist/utils/source-stripper/template-handler.d.ts.map +1 -0
- package/dist/utils/source-stripper/template-handler.js +40 -0
- package/dist/utils/source-stripper/template-handler.js.map +1 -0
- package/dist/utils/source-stripper/types.d.ts +17 -0
- package/dist/utils/source-stripper/types.d.ts.map +1 -0
- package/dist/utils/source-stripper/types.js +4 -0
- package/dist/utils/source-stripper/types.js.map +1 -0
- package/dist/utils/source-stripper.d.ts +0 -21
- package/dist/utils/source-stripper.d.ts.map +1 -1
- package/dist/utils/source-stripper.js +6 -234
- package/dist/utils/source-stripper.js.map +1 -1
- package/dist/utils/walk/errors.d.ts +4 -0
- package/dist/utils/walk/errors.d.ts.map +1 -0
- package/dist/utils/walk/errors.js +18 -0
- package/dist/utils/walk/errors.js.map +1 -0
- package/dist/utils/walk/filters.d.ts +11 -0
- package/dist/utils/walk/filters.d.ts.map +1 -0
- package/dist/utils/walk/filters.js +53 -0
- package/dist/utils/walk/filters.js.map +1 -0
- package/dist/utils/walk/limits.d.ts +10 -0
- package/dist/utils/walk/limits.d.ts.map +1 -0
- package/dist/utils/walk/limits.js +22 -0
- package/dist/utils/walk/limits.js.map +1 -0
- package/dist/utils/walk/traversal.d.ts +9 -0
- package/dist/utils/walk/traversal.d.ts.map +1 -0
- package/dist/utils/walk/traversal.js +38 -0
- package/dist/utils/walk/traversal.js.map +1 -0
- package/dist/utils/walk/types.d.ts +18 -0
- package/dist/utils/walk/types.d.ts.map +1 -0
- package/dist/utils/walk/types.js +2 -0
- package/dist/utils/walk/types.js.map +1 -0
- package/dist/utils/walk.d.ts +4 -65
- package/dist/utils/walk.d.ts.map +1 -1
- package/dist/utils/walk.js +23 -151
- package/dist/utils/walk.js.map +1 -1
- package/package.json +6 -5
|
@@ -0,0 +1,480 @@
|
|
|
1
|
+
import { stringLiteralValue, walk } from "./hono-ast-utils.js";
|
|
2
|
+
/**
|
|
3
|
+
* Extracts app.use(...) middleware chains from a Hono AST.
|
|
4
|
+
*
|
|
5
|
+
* HonoExtractor owns file parsing and app-variable discovery; this module owns
|
|
6
|
+
* the middleware-specific call shapes, combine expansion, spread arrays, and
|
|
7
|
+
* conditional inline middleware detection.
|
|
8
|
+
*/
|
|
9
|
+
export class HonoMiddlewareExtractor {
|
|
10
|
+
/**
|
|
11
|
+
* Walk for app.use(scope, mw1, mw2, ...) calls.
|
|
12
|
+
* Handles: identifiers, inline arrows, some()/every() from hono/combine,
|
|
13
|
+
* spread arrays, call expressions like cors().
|
|
14
|
+
*/
|
|
15
|
+
walkMiddleware(root, file, appVars, model) {
|
|
16
|
+
const arrayVars = this.collectArrayVars(root);
|
|
17
|
+
const stringVars = this.collectStringVars(root);
|
|
18
|
+
const importSources = this.collectImportSources(root);
|
|
19
|
+
const cursor = root.walk();
|
|
20
|
+
walk(cursor, (node) => {
|
|
21
|
+
const useCall = this.readUseCall(node, appVars);
|
|
22
|
+
if (!useCall)
|
|
23
|
+
return;
|
|
24
|
+
const { scopes, middlewareStartIndex } = this.readScope(useCall.argList, stringVars);
|
|
25
|
+
const entries = this.buildMiddlewareEntries(useCall.argList, middlewareStartIndex, file, useCall.line, arrayVars, importSources);
|
|
26
|
+
for (const scope of scopes) {
|
|
27
|
+
this.mergeMiddlewareChain(model, scope, useCall.ownerVar, entries);
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
readUseCall(node, appVars) {
|
|
32
|
+
if (node.type !== "call_expression")
|
|
33
|
+
return null;
|
|
34
|
+
const fnNode = node.childForFieldName("function");
|
|
35
|
+
const argsNode = node.childForFieldName("arguments");
|
|
36
|
+
if (!fnNode || !argsNode || fnNode.type !== "member_expression")
|
|
37
|
+
return null;
|
|
38
|
+
const objectNode = fnNode.childForFieldName("object");
|
|
39
|
+
const propertyNode = fnNode.childForFieldName("property");
|
|
40
|
+
if (!objectNode || !propertyNode)
|
|
41
|
+
return null;
|
|
42
|
+
if (propertyNode.text !== "use")
|
|
43
|
+
return null;
|
|
44
|
+
const ownerVar = extractOwnerIdentifier(objectNode);
|
|
45
|
+
if (!ownerVar || !appVars[ownerVar])
|
|
46
|
+
return null;
|
|
47
|
+
const argList = argsNode.namedChildren;
|
|
48
|
+
if (argList.length === 0)
|
|
49
|
+
return null;
|
|
50
|
+
return {
|
|
51
|
+
ownerVar,
|
|
52
|
+
argList,
|
|
53
|
+
line: node.startPosition.row + 1,
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
readScope(argList, stringVars) {
|
|
57
|
+
const firstArg = argList[0];
|
|
58
|
+
if (!firstArg)
|
|
59
|
+
return { scopes: ["*"], middlewareStartIndex: 0 };
|
|
60
|
+
if (firstArg.type === "array") {
|
|
61
|
+
const scopes = firstArg.namedChildren
|
|
62
|
+
.map((child) => stringLiteralValue(child))
|
|
63
|
+
.filter((scope) => scope != null);
|
|
64
|
+
return {
|
|
65
|
+
scopes: scopes.length > 0 ? scopes : ["*"],
|
|
66
|
+
middlewareStartIndex: 1,
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
const maybeScope = stringLiteralValue(firstArg);
|
|
70
|
+
if (maybeScope == null) {
|
|
71
|
+
if (firstArg.type === "identifier") {
|
|
72
|
+
const dynamicScope = stringVars.get(firstArg.text);
|
|
73
|
+
if (dynamicScope) {
|
|
74
|
+
return { scopes: [dynamicScope], middlewareStartIndex: 1 };
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
return { scopes: ["*"], middlewareStartIndex: 0 };
|
|
78
|
+
}
|
|
79
|
+
return { scopes: [maybeScope], middlewareStartIndex: 1 };
|
|
80
|
+
}
|
|
81
|
+
buildMiddlewareEntries(argList, startIndex, file, useLine, arrayVars, importSources) {
|
|
82
|
+
const entries = [];
|
|
83
|
+
let order = 0;
|
|
84
|
+
for (let i = startIndex; i < argList.length; i++) {
|
|
85
|
+
const arg = argList[i];
|
|
86
|
+
if (!arg)
|
|
87
|
+
continue;
|
|
88
|
+
order++;
|
|
89
|
+
const spreadEntries = this.expandSpreadMiddleware(arg, file, useLine, order, arrayVars, importSources);
|
|
90
|
+
if (spreadEntries) {
|
|
91
|
+
entries.push(...spreadEntries.entries);
|
|
92
|
+
order = spreadEntries.nextOrder;
|
|
93
|
+
continue;
|
|
94
|
+
}
|
|
95
|
+
const combineEntries = this.expandCombineMiddleware(arg, file, order, importSources);
|
|
96
|
+
if (combineEntries) {
|
|
97
|
+
entries.push(...combineEntries.entries);
|
|
98
|
+
order = combineEntries.nextOrder;
|
|
99
|
+
continue;
|
|
100
|
+
}
|
|
101
|
+
const middlewareName = this.extractMiddlewareName(arg);
|
|
102
|
+
entries.push(this.buildMiddlewareEntry(middlewareName, file, arg.startPosition.row + 1, order, importSources, undefined));
|
|
103
|
+
order = this.appendConditionalEntries(arg, file, order, importSources, entries);
|
|
104
|
+
}
|
|
105
|
+
return entries;
|
|
106
|
+
}
|
|
107
|
+
expandSpreadMiddleware(arg, file, useLine, order, arrayVars, importSources) {
|
|
108
|
+
if (arg.type !== "spread_element")
|
|
109
|
+
return null;
|
|
110
|
+
const inner = arg.namedChildren[0];
|
|
111
|
+
if (inner?.type !== "identifier")
|
|
112
|
+
return { entries: [], nextOrder: order };
|
|
113
|
+
const arrayItems = arrayVars.get(inner.text);
|
|
114
|
+
if (!arrayItems) {
|
|
115
|
+
const entry = this.buildMiddlewareEntry(`...${inner.text}`, file, useLine, order, importSources, undefined);
|
|
116
|
+
const importedFrom = importSources.get(inner.text);
|
|
117
|
+
if (importedFrom) {
|
|
118
|
+
entry.imported_from = importedFrom;
|
|
119
|
+
entry.is_third_party = isThirdPartyImport(importedFrom);
|
|
120
|
+
}
|
|
121
|
+
return { entries: [entry], nextOrder: order + 1 };
|
|
122
|
+
}
|
|
123
|
+
const entries = [];
|
|
124
|
+
let nextOrder = order;
|
|
125
|
+
for (const item of arrayItems) {
|
|
126
|
+
entries.push(this.buildMiddlewareEntry(item, file, useLine, nextOrder++, importSources, undefined));
|
|
127
|
+
}
|
|
128
|
+
return { entries, nextOrder };
|
|
129
|
+
}
|
|
130
|
+
expandCombineMiddleware(arg, file, order, importSources) {
|
|
131
|
+
if (arg.type !== "call_expression")
|
|
132
|
+
return null;
|
|
133
|
+
const callFunction = arg.childForFieldName("function");
|
|
134
|
+
const callArguments = arg.childForFieldName("arguments");
|
|
135
|
+
const combineType = extractCombineType(callFunction);
|
|
136
|
+
if (!combineType || !callArguments)
|
|
137
|
+
return null;
|
|
138
|
+
const entries = [];
|
|
139
|
+
let nextOrder = order;
|
|
140
|
+
for (const innerArg of callArguments.namedChildren) {
|
|
141
|
+
entries.push(this.buildMiddlewareEntry(innerArg.type === "identifier" ? innerArg.text : "<inline>", file, innerArg.startPosition.row + 1, nextOrder++, importSources, combineType));
|
|
142
|
+
}
|
|
143
|
+
return { entries, nextOrder };
|
|
144
|
+
}
|
|
145
|
+
appendConditionalEntries(arg, file, order, importSources, entries) {
|
|
146
|
+
if (arg.type !== "arrow_function" &&
|
|
147
|
+
arg.type !== "function_expression") {
|
|
148
|
+
return order;
|
|
149
|
+
}
|
|
150
|
+
let nextOrder = order;
|
|
151
|
+
for (const found of this.detectConditionalMiddlewareCalls(arg)) {
|
|
152
|
+
nextOrder++;
|
|
153
|
+
const extra = this.buildMiddlewareEntry(found.name, file, found.line, nextOrder, importSources, undefined);
|
|
154
|
+
extra.conditional = true;
|
|
155
|
+
extra.applied_when = found.applied_when;
|
|
156
|
+
entries.push(extra);
|
|
157
|
+
}
|
|
158
|
+
return nextOrder;
|
|
159
|
+
}
|
|
160
|
+
mergeMiddlewareChain(model, scope, ownerVar, entries) {
|
|
161
|
+
if (entries.length === 0)
|
|
162
|
+
return;
|
|
163
|
+
const existing = model.middleware_chains.find((chain) => chain.scope === scope && chain.owner_var === ownerVar);
|
|
164
|
+
if (existing) {
|
|
165
|
+
existing.entries.push(...entries);
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
168
|
+
model.middleware_chains.push({
|
|
169
|
+
scope,
|
|
170
|
+
scope_pattern: scope,
|
|
171
|
+
owner_var: ownerVar,
|
|
172
|
+
entries,
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Walk an inline middleware arrow body and surface conditional calls of the
|
|
177
|
+
* form `if (cond) return mw(c, next)` or `if (cond) await mw(c, next)`.
|
|
178
|
+
*/
|
|
179
|
+
detectConditionalMiddlewareCalls(fnNode) {
|
|
180
|
+
const results = [];
|
|
181
|
+
const block = fnNode.childForFieldName("body");
|
|
182
|
+
if (!block)
|
|
183
|
+
return results;
|
|
184
|
+
if (block.type !== "statement_block")
|
|
185
|
+
return results;
|
|
186
|
+
const cursor = block.walk();
|
|
187
|
+
walk(cursor, (stmt) => {
|
|
188
|
+
if (stmt.type !== "if_statement")
|
|
189
|
+
return;
|
|
190
|
+
const condition = stmt.childForFieldName("condition");
|
|
191
|
+
const consequence = stmt.childForFieldName("consequence");
|
|
192
|
+
if (!condition || !consequence)
|
|
193
|
+
return;
|
|
194
|
+
const localAliases = collectLocalAliases(consequence);
|
|
195
|
+
const middlewareCall = findMiddlewareCallInBlock(consequence);
|
|
196
|
+
if (!middlewareCall)
|
|
197
|
+
return;
|
|
198
|
+
const rawName = extractCallCalleeName(middlewareCall);
|
|
199
|
+
if (!rawName)
|
|
200
|
+
return;
|
|
201
|
+
const name = localAliases.get(rawName) ?? rawName;
|
|
202
|
+
results.push({
|
|
203
|
+
name,
|
|
204
|
+
line: middlewareCall.startPosition.row + 1,
|
|
205
|
+
applied_when: {
|
|
206
|
+
condition_type: classifyConditionType(condition),
|
|
207
|
+
condition_text: condition.text.slice(0, 200),
|
|
208
|
+
},
|
|
209
|
+
});
|
|
210
|
+
});
|
|
211
|
+
return results;
|
|
212
|
+
}
|
|
213
|
+
extractMiddlewareName(node) {
|
|
214
|
+
if (node.type === "identifier")
|
|
215
|
+
return node.text;
|
|
216
|
+
if (node.type === "arrow_function" || node.type === "function_expression") {
|
|
217
|
+
return "<inline>";
|
|
218
|
+
}
|
|
219
|
+
if (node.type === "call_expression") {
|
|
220
|
+
const fn = node.childForFieldName("function");
|
|
221
|
+
if (fn?.type === "identifier")
|
|
222
|
+
return fn.text;
|
|
223
|
+
if (fn?.type === "member_expression") {
|
|
224
|
+
const prop = fn.childForFieldName("property");
|
|
225
|
+
return prop?.text ?? "<inline>";
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
return "<inline>";
|
|
229
|
+
}
|
|
230
|
+
buildMiddlewareEntry(name, file, line, order, importSources, expandedFrom) {
|
|
231
|
+
const importedFrom = importSources.get(name);
|
|
232
|
+
const isThirdParty = !!importedFrom && isThirdPartyImport(importedFrom);
|
|
233
|
+
const entry = {
|
|
234
|
+
name,
|
|
235
|
+
order,
|
|
236
|
+
line,
|
|
237
|
+
file,
|
|
238
|
+
inline: name === "<inline>",
|
|
239
|
+
is_third_party: isThirdParty,
|
|
240
|
+
conditional: expandedFrom === "some",
|
|
241
|
+
};
|
|
242
|
+
if (importedFrom)
|
|
243
|
+
entry.imported_from = importedFrom;
|
|
244
|
+
if (expandedFrom)
|
|
245
|
+
entry.expanded_from = expandedFrom;
|
|
246
|
+
return entry;
|
|
247
|
+
}
|
|
248
|
+
/** Collect local array variable declarations: const chain = [authMw, tenantMw] */
|
|
249
|
+
collectArrayVars(root) {
|
|
250
|
+
const result = new Map();
|
|
251
|
+
const cursor = root.walk();
|
|
252
|
+
walk(cursor, (node) => {
|
|
253
|
+
if (node.type !== "variable_declarator")
|
|
254
|
+
return;
|
|
255
|
+
const nameNode = node.childForFieldName("name");
|
|
256
|
+
const valueNode = node.childForFieldName("value");
|
|
257
|
+
if (!nameNode || !valueNode || nameNode.type !== "identifier")
|
|
258
|
+
return;
|
|
259
|
+
const arrayNode = unwrapArrayExpression(valueNode);
|
|
260
|
+
if (!arrayNode)
|
|
261
|
+
return;
|
|
262
|
+
const items = [];
|
|
263
|
+
for (const element of arrayNode.namedChildren) {
|
|
264
|
+
if (element.type === "spread_element") {
|
|
265
|
+
const inner = element.namedChildren[0];
|
|
266
|
+
const spreadItems = inner?.type === "identifier"
|
|
267
|
+
? result.get(inner.text)
|
|
268
|
+
: undefined;
|
|
269
|
+
if (spreadItems) {
|
|
270
|
+
items.push(...spreadItems);
|
|
271
|
+
continue;
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
items.push(this.extractMiddlewareName(element));
|
|
275
|
+
}
|
|
276
|
+
if (items.length > 0)
|
|
277
|
+
result.set(nameNode.text, items);
|
|
278
|
+
});
|
|
279
|
+
return result;
|
|
280
|
+
}
|
|
281
|
+
/** Collect const scope values: const API_PREFIX = "/api/*" */
|
|
282
|
+
collectStringVars(root) {
|
|
283
|
+
const result = new Map();
|
|
284
|
+
const cursor = root.walk();
|
|
285
|
+
walk(cursor, (node) => {
|
|
286
|
+
if (node.type !== "variable_declarator")
|
|
287
|
+
return;
|
|
288
|
+
const nameNode = node.childForFieldName("name");
|
|
289
|
+
const valueNode = node.childForFieldName("value");
|
|
290
|
+
if (!nameNode || !valueNode || nameNode.type !== "identifier")
|
|
291
|
+
return;
|
|
292
|
+
const value = stringLiteralValue(valueNode);
|
|
293
|
+
if (value != null)
|
|
294
|
+
result.set(nameNode.text, value);
|
|
295
|
+
});
|
|
296
|
+
return result;
|
|
297
|
+
}
|
|
298
|
+
/** Collect import source mapping: variableName -> packageSpecifier */
|
|
299
|
+
collectImportSources(root) {
|
|
300
|
+
const result = new Map();
|
|
301
|
+
const cursor = root.walk();
|
|
302
|
+
walk(cursor, (node) => {
|
|
303
|
+
if (node.type !== "import_statement")
|
|
304
|
+
return;
|
|
305
|
+
const sourceNode = node.childForFieldName("source");
|
|
306
|
+
if (!sourceNode)
|
|
307
|
+
return;
|
|
308
|
+
const specifier = stringLiteralValue(sourceNode);
|
|
309
|
+
if (!specifier)
|
|
310
|
+
return;
|
|
311
|
+
const importClause = node.children.find((child) => child.type === "import_clause");
|
|
312
|
+
if (!importClause)
|
|
313
|
+
return;
|
|
314
|
+
for (const child of importClause.namedChildren) {
|
|
315
|
+
if (child.type === "identifier") {
|
|
316
|
+
result.set(child.text, specifier);
|
|
317
|
+
}
|
|
318
|
+
if (child.type === "named_imports") {
|
|
319
|
+
for (const spec of child.namedChildren) {
|
|
320
|
+
if (spec.type !== "import_specifier")
|
|
321
|
+
continue;
|
|
322
|
+
const alias = spec.childForFieldName("alias");
|
|
323
|
+
const name = spec.childForFieldName("name");
|
|
324
|
+
const varName = alias?.text ?? name?.text;
|
|
325
|
+
if (varName)
|
|
326
|
+
result.set(varName, specifier);
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
});
|
|
331
|
+
return result;
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
function isThirdPartyImport(importedFrom) {
|
|
335
|
+
if (importedFrom.startsWith(".") || importedFrom.startsWith("@/") ||
|
|
336
|
+
importedFrom.startsWith("~/") || importedFrom.startsWith("src/") ||
|
|
337
|
+
/^@(app|src|lib|core|shared|server|client)\//.test(importedFrom)) {
|
|
338
|
+
return false;
|
|
339
|
+
}
|
|
340
|
+
return importedFrom.startsWith("hono/") || !importedFrom.startsWith(".");
|
|
341
|
+
}
|
|
342
|
+
function unwrapArrayExpression(node) {
|
|
343
|
+
let current = node;
|
|
344
|
+
while (current) {
|
|
345
|
+
if (current.type === "array")
|
|
346
|
+
return current;
|
|
347
|
+
if (current.type !== "as_expression" &&
|
|
348
|
+
current.type !== "satisfies_expression" &&
|
|
349
|
+
current.type !== "type_assertion" &&
|
|
350
|
+
current.type !== "parenthesized_expression") {
|
|
351
|
+
return null;
|
|
352
|
+
}
|
|
353
|
+
current = current.namedChildren[0] ?? null;
|
|
354
|
+
}
|
|
355
|
+
return null;
|
|
356
|
+
}
|
|
357
|
+
function extractOwnerIdentifier(node) {
|
|
358
|
+
if (node.type === "identifier")
|
|
359
|
+
return node.text;
|
|
360
|
+
if (node.type === "member_expression") {
|
|
361
|
+
const objectNode = node.childForFieldName("object");
|
|
362
|
+
return objectNode ? extractOwnerIdentifier(objectNode) : null;
|
|
363
|
+
}
|
|
364
|
+
if (node.type === "call_expression") {
|
|
365
|
+
const fnNode = node.childForFieldName("function");
|
|
366
|
+
return fnNode ? extractOwnerIdentifier(fnNode) : null;
|
|
367
|
+
}
|
|
368
|
+
return null;
|
|
369
|
+
}
|
|
370
|
+
function extractCombineType(callFunction) {
|
|
371
|
+
if (callFunction?.type === "identifier" &&
|
|
372
|
+
(callFunction.text === "some" || callFunction.text === "every")) {
|
|
373
|
+
return callFunction.text;
|
|
374
|
+
}
|
|
375
|
+
if (callFunction?.type === "member_expression") {
|
|
376
|
+
const property = callFunction.childForFieldName("property");
|
|
377
|
+
if (property?.text === "some" || property?.text === "every") {
|
|
378
|
+
return property.text;
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
return null;
|
|
382
|
+
}
|
|
383
|
+
function findMiddlewareCallInBlock(consequence) {
|
|
384
|
+
const statements = consequence.type === "statement_block"
|
|
385
|
+
? consequence.namedChildren
|
|
386
|
+
: [consequence];
|
|
387
|
+
for (const stmt of statements) {
|
|
388
|
+
let call = null;
|
|
389
|
+
if (stmt.type === "return_statement") {
|
|
390
|
+
const expr = stmt.namedChildren[0];
|
|
391
|
+
if (expr)
|
|
392
|
+
call = unwrapCallExpression(expr);
|
|
393
|
+
}
|
|
394
|
+
else if (stmt.type === "expression_statement") {
|
|
395
|
+
const expr = stmt.namedChildren[0];
|
|
396
|
+
if (expr)
|
|
397
|
+
call = unwrapCallExpression(expr);
|
|
398
|
+
}
|
|
399
|
+
if (call && callHasAtLeastNArgs(call, 2))
|
|
400
|
+
return call;
|
|
401
|
+
}
|
|
402
|
+
return null;
|
|
403
|
+
}
|
|
404
|
+
function callHasAtLeastNArgs(call, n) {
|
|
405
|
+
const args = call.childForFieldName("arguments");
|
|
406
|
+
return (args?.namedChildren.length ?? 0) >= n;
|
|
407
|
+
}
|
|
408
|
+
function collectLocalAliases(consequence) {
|
|
409
|
+
const map = new Map();
|
|
410
|
+
const statements = consequence.type === "statement_block"
|
|
411
|
+
? consequence.namedChildren
|
|
412
|
+
: [consequence];
|
|
413
|
+
for (const stmt of statements) {
|
|
414
|
+
if (stmt.type !== "lexical_declaration" && stmt.type !== "variable_declaration")
|
|
415
|
+
continue;
|
|
416
|
+
for (const declarator of stmt.namedChildren) {
|
|
417
|
+
if (declarator.type !== "variable_declarator")
|
|
418
|
+
continue;
|
|
419
|
+
const nameNode = declarator.childForFieldName("name");
|
|
420
|
+
const valueNode = declarator.childForFieldName("value");
|
|
421
|
+
if (nameNode?.type !== "identifier" || !valueNode)
|
|
422
|
+
continue;
|
|
423
|
+
if (valueNode.type !== "call_expression")
|
|
424
|
+
continue;
|
|
425
|
+
const calleeName = extractCallCalleeName(valueNode);
|
|
426
|
+
if (calleeName)
|
|
427
|
+
map.set(nameNode.text, calleeName);
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
return map;
|
|
431
|
+
}
|
|
432
|
+
function unwrapCallExpression(node) {
|
|
433
|
+
let current = node;
|
|
434
|
+
while (current.type === "await_expression") {
|
|
435
|
+
const inner = current.namedChildren[0];
|
|
436
|
+
if (!inner)
|
|
437
|
+
return null;
|
|
438
|
+
current = inner;
|
|
439
|
+
}
|
|
440
|
+
if (current.type === "call_expression")
|
|
441
|
+
return current;
|
|
442
|
+
return null;
|
|
443
|
+
}
|
|
444
|
+
function extractCallCalleeName(callNode) {
|
|
445
|
+
const fn = callNode.childForFieldName("function");
|
|
446
|
+
if (!fn)
|
|
447
|
+
return null;
|
|
448
|
+
if (fn.type === "identifier")
|
|
449
|
+
return fn.text;
|
|
450
|
+
if (fn.type === "member_expression") {
|
|
451
|
+
const prop = fn.childForFieldName("property");
|
|
452
|
+
return prop?.text ?? null;
|
|
453
|
+
}
|
|
454
|
+
if (fn.type === "call_expression") {
|
|
455
|
+
const innerFn = fn.childForFieldName("function");
|
|
456
|
+
if (innerFn?.type === "identifier")
|
|
457
|
+
return innerFn.text;
|
|
458
|
+
if (innerFn?.type === "member_expression") {
|
|
459
|
+
const prop = innerFn.childForFieldName("property");
|
|
460
|
+
return prop?.text ?? null;
|
|
461
|
+
}
|
|
462
|
+
}
|
|
463
|
+
return null;
|
|
464
|
+
}
|
|
465
|
+
function classifyConditionType(condition) {
|
|
466
|
+
const text = condition.text;
|
|
467
|
+
const contextRef = String.raw `(?:c|ctx|context)\.req`;
|
|
468
|
+
if (new RegExp(`${contextRef}\\.method\\b`).test(text))
|
|
469
|
+
return "method";
|
|
470
|
+
if (new RegExp(`${contextRef}\\.header\\s*\\(`).test(text) ||
|
|
471
|
+
new RegExp(`${contextRef}\\.headers\\b`).test(text)) {
|
|
472
|
+
return "header";
|
|
473
|
+
}
|
|
474
|
+
if (new RegExp(`${contextRef}\\.path\\b`).test(text) ||
|
|
475
|
+
new RegExp(`${contextRef}\\.url\\b`).test(text)) {
|
|
476
|
+
return "path";
|
|
477
|
+
}
|
|
478
|
+
return "custom";
|
|
479
|
+
}
|
|
480
|
+
//# sourceMappingURL=hono-middleware-extractor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hono-middleware-extractor.js","sourceRoot":"","sources":["../../../src/parser/extractors/hono-middleware-extractor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type Parser from "web-tree-sitter";
|
|
2
|
+
import type { HonoApp, HonoAppModel } from "./hono-model.js";
|
|
3
|
+
export declare class HonoOpenAPIExtractor {
|
|
4
|
+
/**
|
|
5
|
+
* Walk for createRoute() definitions and app.openapi() registrations.
|
|
6
|
+
* createRoute({method, path}) definitions are tracked locally by variable
|
|
7
|
+
* name, then app.openapi(routeVar, handler) emits both OpenAPI and Hono routes.
|
|
8
|
+
*/
|
|
9
|
+
walkOpenAPI(root: Parser.SyntaxNode, file: string, appVars: Record<string, HonoApp>, prefix: string, model: HonoAppModel): void;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=hono-openapi-extractor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hono-openapi-extractor.d.ts","sourceRoot":"","sources":["../../../src/parser/extractors/hono-openapi-extractor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAC;AAC1C,OAAO,KAAK,EACV,OAAO,EACP,YAAY,EAGb,MAAM,iBAAiB,CAAC;AAIzB,qBAAa,oBAAoB;IAC/B;;;;OAIG;IACH,WAAW,CACT,IAAI,EAAE,MAAM,CAAC,UAAU,EACvB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,YAAY,GAClB,IAAI;CAqCR"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { stringLiteralValue, walk } from "./hono-ast-utils.js";
|
|
2
|
+
import { buildHandler, joinPaths } from "./hono-route-utils.js";
|
|
3
|
+
export class HonoOpenAPIExtractor {
|
|
4
|
+
/**
|
|
5
|
+
* Walk for createRoute() definitions and app.openapi() registrations.
|
|
6
|
+
* createRoute({method, path}) definitions are tracked locally by variable
|
|
7
|
+
* name, then app.openapi(routeVar, handler) emits both OpenAPI and Hono routes.
|
|
8
|
+
*/
|
|
9
|
+
walkOpenAPI(root, file, appVars, prefix, model) {
|
|
10
|
+
const routeDefs = collectCreateRouteDefinitions(root);
|
|
11
|
+
const cursor = root.walk();
|
|
12
|
+
walk(cursor, (node) => {
|
|
13
|
+
const registration = readOpenAPIRegistration(node, appVars, routeDefs);
|
|
14
|
+
if (!registration)
|
|
15
|
+
return;
|
|
16
|
+
const { appVar, routeRef, routeDef, handlerArg } = registration;
|
|
17
|
+
const honoPath = routeDef.path.replace(/\{([^}]+)\}/g, ":$1");
|
|
18
|
+
const openapiRoute = {
|
|
19
|
+
id: `openapi_${routeRef}`,
|
|
20
|
+
method: routeDef.method,
|
|
21
|
+
path: routeDef.path,
|
|
22
|
+
hono_path: honoPath,
|
|
23
|
+
request_schemas: {},
|
|
24
|
+
response_schemas: {},
|
|
25
|
+
middleware: [],
|
|
26
|
+
hidden: false,
|
|
27
|
+
file,
|
|
28
|
+
line: routeDef.line,
|
|
29
|
+
};
|
|
30
|
+
model.openapi_routes.push(openapiRoute);
|
|
31
|
+
model.routes.push({
|
|
32
|
+
method: routeDef.method.toUpperCase(),
|
|
33
|
+
path: joinPaths(prefix, honoPath),
|
|
34
|
+
raw_path: honoPath,
|
|
35
|
+
file,
|
|
36
|
+
line: node.startPosition.row + 1,
|
|
37
|
+
owner_var: appVar,
|
|
38
|
+
handler: buildHandler(handlerArg, file),
|
|
39
|
+
inline_middleware: [],
|
|
40
|
+
validators: [],
|
|
41
|
+
openapi_route_id: openapiRoute.id,
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
function collectCreateRouteDefinitions(root) {
|
|
47
|
+
const routeDefs = new Map();
|
|
48
|
+
const cursor = root.walk();
|
|
49
|
+
walk(cursor, (node) => {
|
|
50
|
+
if (node.type !== "variable_declarator")
|
|
51
|
+
return;
|
|
52
|
+
const nameNode = node.childForFieldName("name");
|
|
53
|
+
const valueNode = node.childForFieldName("value");
|
|
54
|
+
if (!nameNode || !valueNode || nameNode.type !== "identifier")
|
|
55
|
+
return;
|
|
56
|
+
if (valueNode.type !== "call_expression")
|
|
57
|
+
return;
|
|
58
|
+
const fn = valueNode.childForFieldName("function");
|
|
59
|
+
if (!fn || fn.text !== "createRoute")
|
|
60
|
+
return;
|
|
61
|
+
const objArg = valueNode.childForFieldName("arguments")?.namedChildren[0];
|
|
62
|
+
if (!objArg || objArg.type !== "object")
|
|
63
|
+
return;
|
|
64
|
+
const routeDef = readRouteDefinitionObject(objArg, node.startPosition.row + 1);
|
|
65
|
+
if (routeDef)
|
|
66
|
+
routeDefs.set(nameNode.text, routeDef);
|
|
67
|
+
});
|
|
68
|
+
return routeDefs;
|
|
69
|
+
}
|
|
70
|
+
function readRouteDefinitionObject(objArg, line) {
|
|
71
|
+
let method = "";
|
|
72
|
+
let routePath = "";
|
|
73
|
+
for (const prop of objArg.namedChildren) {
|
|
74
|
+
if (prop.type !== "pair")
|
|
75
|
+
continue;
|
|
76
|
+
const key = prop.childForFieldName("key");
|
|
77
|
+
const val = prop.childForFieldName("value");
|
|
78
|
+
if (!key || !val)
|
|
79
|
+
continue;
|
|
80
|
+
if (key.text === "method")
|
|
81
|
+
method = stringLiteralValue(val) ?? "";
|
|
82
|
+
if (key.text === "path")
|
|
83
|
+
routePath = stringLiteralValue(val) ?? "";
|
|
84
|
+
}
|
|
85
|
+
return method && routePath ? { method, path: routePath, line } : null;
|
|
86
|
+
}
|
|
87
|
+
function readOpenAPIRegistration(node, appVars, routeDefs) {
|
|
88
|
+
if (node.type !== "call_expression")
|
|
89
|
+
return null;
|
|
90
|
+
const fnNode = node.childForFieldName("function");
|
|
91
|
+
const argsNode = node.childForFieldName("arguments");
|
|
92
|
+
if (!fnNode || !argsNode || fnNode.type !== "member_expression")
|
|
93
|
+
return null;
|
|
94
|
+
const obj = fnNode.childForFieldName("object");
|
|
95
|
+
const prop = fnNode.childForFieldName("property");
|
|
96
|
+
if (!obj || !prop || obj.type !== "identifier")
|
|
97
|
+
return null;
|
|
98
|
+
if (!appVars[obj.text])
|
|
99
|
+
return null;
|
|
100
|
+
if (prop.text !== "openapi")
|
|
101
|
+
return null;
|
|
102
|
+
const argList = argsNode.namedChildren;
|
|
103
|
+
if (argList.length < 2)
|
|
104
|
+
return null;
|
|
105
|
+
const routeRef = argList[0];
|
|
106
|
+
const handlerArg = argList[1];
|
|
107
|
+
if (!routeRef || !handlerArg || routeRef.type !== "identifier")
|
|
108
|
+
return null;
|
|
109
|
+
const routeDef = routeDefs.get(routeRef.text);
|
|
110
|
+
if (!routeDef)
|
|
111
|
+
return null;
|
|
112
|
+
return {
|
|
113
|
+
appVar: obj.text,
|
|
114
|
+
routeRef: routeRef.text,
|
|
115
|
+
routeDef,
|
|
116
|
+
handlerArg,
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=hono-openapi-extractor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hono-openapi-extractor.js","sourceRoot":"","sources":["../../../src/parser/extractors/hono-openapi-extractor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type Parser from "web-tree-sitter";
|
|
2
|
+
import type { HonoApp, HonoRoute } from "./hono-model.js";
|
|
3
|
+
import { HonoInlineAnalyzer } from "./hono-inline-analyzer.js";
|
|
4
|
+
export declare class HonoRouteExtractor {
|
|
5
|
+
private readonly inlineAnalyzer;
|
|
6
|
+
constructor(inlineAnalyzer?: HonoInlineAnalyzer);
|
|
7
|
+
walkHttpRoutes(root: Parser.SyntaxNode, file: string, appVars: Record<string, HonoApp>, routes: HonoRoute[]): void;
|
|
8
|
+
private analyzeHandlerIfInline;
|
|
9
|
+
private handleOnMethod;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=hono-route-extractor.d.ts.map
|