cgraphx 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +243 -0
- package/dist/.claude-template/commands/my-commit.md +9 -0
- package/dist/.claude-template/commands/my-query.md +4 -0
- package/dist/.claude-template/hooks/context-monitor/context-monitor.cjs +216 -0
- package/dist/.claude-template/plugins/claude-hud/dist/claude-config-dir.d.ts +4 -0
- package/dist/.claude-template/plugins/claude-hud/dist/claude-config-dir.d.ts.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/claude-config-dir.js +24 -0
- package/dist/.claude-template/plugins/claude-hud/dist/claude-config-dir.js.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/config-reader.d.ts +8 -0
- package/dist/.claude-template/plugins/claude-hud/dist/config-reader.d.ts.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/config-reader.js +204 -0
- package/dist/.claude-template/plugins/claude-hud/dist/config-reader.js.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/config.d.ts +46 -0
- package/dist/.claude-template/plugins/claude-hud/dist/config.d.ts.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/config.js +220 -0
- package/dist/.claude-template/plugins/claude-hud/dist/config.js.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/constants.d.ts +10 -0
- package/dist/.claude-template/plugins/claude-hud/dist/constants.d.ts.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/constants.js +10 -0
- package/dist/.claude-template/plugins/claude-hud/dist/constants.js.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/debug.d.ts +6 -0
- package/dist/.claude-template/plugins/claude-hud/dist/debug.d.ts.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/debug.js +15 -0
- package/dist/.claude-template/plugins/claude-hud/dist/debug.js.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/extra-cmd.d.ts +23 -0
- package/dist/.claude-template/plugins/claude-hud/dist/extra-cmd.d.ts.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/extra-cmd.js +103 -0
- package/dist/.claude-template/plugins/claude-hud/dist/extra-cmd.js.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/git.d.ts +16 -0
- package/dist/.claude-template/plugins/claude-hud/dist/git.d.ts.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/git.js +86 -0
- package/dist/.claude-template/plugins/claude-hud/dist/git.js.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/index.d.ts +24 -0
- package/dist/.claude-template/plugins/claude-hud/dist/index.d.ts.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/index.js +97 -0
- package/dist/.claude-template/plugins/claude-hud/dist/index.js.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/agents-line.d.ts +3 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/agents-line.d.ts.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/agents-line.js +44 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/agents-line.js.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/colors.d.ts +12 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/colors.d.ts.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/colors.js +58 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/colors.js.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/index.d.ts +3 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/index.d.ts.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/index.js +379 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/index.js.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/lines/environment.d.ts +3 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/lines/environment.d.ts.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/lines/environment.js +30 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/lines/environment.js.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/lines/identity.d.ts +3 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/lines/identity.d.ts.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/lines/identity.js +52 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/lines/identity.js.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/lines/index.d.ts +5 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/lines/index.d.ts.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/lines/index.js +5 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/lines/index.js.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/lines/project.d.ts +3 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/lines/project.d.ts.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/lines/project.js +74 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/lines/project.js.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/lines/usage.d.ts +3 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/lines/usage.d.ts.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/lines/usage.js +92 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/lines/usage.js.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/session-line.d.ts +7 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/session-line.d.ts.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/session-line.js +247 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/session-line.js.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/todos-line.d.ts +3 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/todos-line.d.ts.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/todos-line.js +25 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/todos-line.js.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/tools-line.d.ts +3 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/tools-line.d.ts.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/tools-line.js +43 -0
- package/dist/.claude-template/plugins/claude-hud/dist/render/tools-line.js.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/speed-tracker.d.ts +7 -0
- package/dist/.claude-template/plugins/claude-hud/dist/speed-tracker.d.ts.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/speed-tracker.js +62 -0
- package/dist/.claude-template/plugins/claude-hud/dist/speed-tracker.js.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/stdin.d.ts +9 -0
- package/dist/.claude-template/plugins/claude-hud/dist/stdin.d.ts.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/stdin.js +136 -0
- package/dist/.claude-template/plugins/claude-hud/dist/stdin.js.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/transcript.d.ts +3 -0
- package/dist/.claude-template/plugins/claude-hud/dist/transcript.d.ts.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/transcript.js +189 -0
- package/dist/.claude-template/plugins/claude-hud/dist/transcript.js.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/types.d.ts +79 -0
- package/dist/.claude-template/plugins/claude-hud/dist/types.d.ts.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/types.js +5 -0
- package/dist/.claude-template/plugins/claude-hud/dist/types.js.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/usage-api.d.ts +59 -0
- package/dist/.claude-template/plugins/claude-hud/dist/usage-api.d.ts.map +1 -0
- package/dist/.claude-template/plugins/claude-hud/dist/usage-api.js +733 -0
- package/dist/.claude-template/plugins/claude-hud/dist/usage-api.js.map +1 -0
- package/dist/.claude-template/skills/cgraphx/SKILL.md +143 -0
- package/dist/.claude-template/skills/cgraphx/agent-prompt.md +56 -0
- package/dist/.claude-template/skills/clarify-requirements/SKILL.md +425 -0
- package/dist/.claude-template/skills/code-impact-api/SKILL.md +143 -0
- package/dist/.claude-template/skills/code-impact-api/agent-prompt.md +51 -0
- package/dist/.claude-template/skills/code-impact-docgen/SKILL.md +366 -0
- package/dist/.claude-template/skills/code-impact-docgen/template-business-html.md +242 -0
- package/dist/.claude-template/skills/code-impact-docgen/template-business-md.md +107 -0
- package/dist/.claude-template/skills/code-impact-docgen/template-technical-html.md +205 -0
- package/dist/.claude-template/skills/code-impact-docgen/template-technical-md.md +155 -0
- package/dist/.claude-template/skills/code-impact-init/SKILL.md +800 -0
- package/dist/.claude-template/skills/code-impact-markdown/SKILL.md +345 -0
- package/dist/.claude-template/skills/code-impact-markdown/template-guide.md +68 -0
- package/dist/.claude-template/skills/code-impact-markdown/template-memory.md +82 -0
- package/dist/.claude-template/skills/code-impact-markdown/template-runbook.md +58 -0
- package/dist/.claude-template/skills/db-query/SKILL.md +166 -0
- package/dist/.claude-template/skills/db-query/agent-prompt.md +55 -0
- package/dist/.claude-template/skills/developer-timeline/SKILL.md +302 -0
- package/dist/.claude-template/skills/developer-timeline/demo-single-page-report.html +657 -0
- package/dist/.claude-template/skills/implementation/SKILL.md +136 -0
- package/dist/.claude-template/skills/subagent-implement/SKILL.md +225 -0
- package/dist/.claude-template/skills/subagent-implement/implementer-prompt.md +127 -0
- package/dist/.claude-template/skills/subagent-implement/quality-reviewer-prompt.md +130 -0
- package/dist/.claude-template/skills/subagent-implement/spec-reviewer-prompt.md +112 -0
- package/dist/.claude-template/skills/write-plan/SKILL.md +322 -0
- package/dist/.claude-template/skills/write-plan/plan-document-reviewer-prompt.md +134 -0
- package/dist/.claude-template/skills/write-prd/SKILL.md +242 -0
- package/dist/.claude-template/skills/write-spec/SKILL.md +278 -0
- package/dist/bin/codegraph.d.ts +26 -0
- package/dist/bin/codegraph.d.ts.map +1 -0
- package/dist/bin/codegraph.js +2014 -0
- package/dist/bin/codegraph.js.map +1 -0
- package/dist/bin/fatal-handler.d.ts +20 -0
- package/dist/bin/fatal-handler.d.ts.map +1 -0
- package/dist/bin/fatal-handler.js +118 -0
- package/dist/bin/fatal-handler.js.map +1 -0
- package/dist/bin/node-version-check.d.ts +51 -0
- package/dist/bin/node-version-check.d.ts.map +1 -0
- package/dist/bin/node-version-check.js +114 -0
- package/dist/bin/node-version-check.js.map +1 -0
- package/dist/bin/uninstall.d.ts +14 -0
- package/dist/bin/uninstall.d.ts.map +1 -0
- package/dist/bin/uninstall.js +36 -0
- package/dist/bin/uninstall.js.map +1 -0
- package/dist/context/formatter.d.ts +30 -0
- package/dist/context/formatter.d.ts.map +1 -0
- package/dist/context/formatter.js +263 -0
- package/dist/context/formatter.js.map +1 -0
- package/dist/context/index.d.ts +119 -0
- package/dist/context/index.d.ts.map +1 -0
- package/dist/context/index.js +1296 -0
- package/dist/context/index.js.map +1 -0
- package/dist/context/markers.d.ts +19 -0
- package/dist/context/markers.d.ts.map +1 -0
- package/dist/context/markers.js +22 -0
- package/dist/context/markers.js.map +1 -0
- package/dist/db/index.d.ts +122 -0
- package/dist/db/index.d.ts.map +1 -0
- package/dist/db/index.js +296 -0
- package/dist/db/index.js.map +1 -0
- package/dist/db/migrations.d.ts +44 -0
- package/dist/db/migrations.d.ts.map +1 -0
- package/dist/db/migrations.js +140 -0
- package/dist/db/migrations.js.map +1 -0
- package/dist/db/queries.d.ts +401 -0
- package/dist/db/queries.d.ts.map +1 -0
- package/dist/db/queries.js +1591 -0
- package/dist/db/queries.js.map +1 -0
- package/dist/db/schema.sql +152 -0
- package/dist/db/sqlite-adapter.d.ts +53 -0
- package/dist/db/sqlite-adapter.d.ts.map +1 -0
- package/dist/db/sqlite-adapter.js +117 -0
- package/dist/db/sqlite-adapter.js.map +1 -0
- package/dist/dbquery/cli.d.ts +17 -0
- package/dist/dbquery/cli.d.ts.map +1 -0
- package/dist/dbquery/cli.js +229 -0
- package/dist/dbquery/cli.js.map +1 -0
- package/dist/dbquery/config.d.ts +38 -0
- package/dist/dbquery/config.d.ts.map +1 -0
- package/dist/dbquery/config.js +244 -0
- package/dist/dbquery/config.js.map +1 -0
- package/dist/dbquery/constants.d.ts +40 -0
- package/dist/dbquery/constants.d.ts.map +1 -0
- package/dist/dbquery/constants.js +65 -0
- package/dist/dbquery/constants.js.map +1 -0
- package/dist/dbquery/drivers/mysql.d.ts +15 -0
- package/dist/dbquery/drivers/mysql.d.ts.map +1 -0
- package/dist/dbquery/drivers/mysql.js +102 -0
- package/dist/dbquery/drivers/mysql.js.map +1 -0
- package/dist/dbquery/drivers/postgres.d.ts +16 -0
- package/dist/dbquery/drivers/postgres.d.ts.map +1 -0
- package/dist/dbquery/drivers/postgres.js +105 -0
- package/dist/dbquery/drivers/postgres.js.map +1 -0
- package/dist/dbquery/errors.d.ts +40 -0
- package/dist/dbquery/errors.d.ts.map +1 -0
- package/dist/dbquery/errors.js +85 -0
- package/dist/dbquery/errors.js.map +1 -0
- package/dist/dbquery/executor.d.ts +30 -0
- package/dist/dbquery/executor.d.ts.map +1 -0
- package/dist/dbquery/executor.js +243 -0
- package/dist/dbquery/executor.js.map +1 -0
- package/dist/dbquery/format.d.ts +18 -0
- package/dist/dbquery/format.d.ts.map +1 -0
- package/dist/dbquery/format.js +174 -0
- package/dist/dbquery/format.js.map +1 -0
- package/dist/dbquery/index.d.ts +10 -0
- package/dist/dbquery/index.d.ts.map +1 -0
- package/dist/dbquery/index.js +23 -0
- package/dist/dbquery/index.js.map +1 -0
- package/dist/dbquery/init.d.ts +33 -0
- package/dist/dbquery/init.d.ts.map +1 -0
- package/dist/dbquery/init.js +125 -0
- package/dist/dbquery/init.js.map +1 -0
- package/dist/dbquery/logging.d.ts +22 -0
- package/dist/dbquery/logging.d.ts.map +1 -0
- package/dist/dbquery/logging.js +140 -0
- package/dist/dbquery/logging.js.map +1 -0
- package/dist/dbquery/mcp-tools.d.ts +29 -0
- package/dist/dbquery/mcp-tools.d.ts.map +1 -0
- package/dist/dbquery/mcp-tools.js +206 -0
- package/dist/dbquery/mcp-tools.js.map +1 -0
- package/dist/dbquery/queries.d.ts +31 -0
- package/dist/dbquery/queries.d.ts.map +1 -0
- package/dist/dbquery/queries.js +160 -0
- package/dist/dbquery/queries.js.map +1 -0
- package/dist/dbquery/safety.d.ts +35 -0
- package/dist/dbquery/safety.d.ts.map +1 -0
- package/dist/dbquery/safety.js +306 -0
- package/dist/dbquery/safety.js.map +1 -0
- package/dist/dbquery/types.d.ts +152 -0
- package/dist/dbquery/types.d.ts.map +1 -0
- package/dist/dbquery/types.js +10 -0
- package/dist/dbquery/types.js.map +1 -0
- package/dist/directory.d.ts +147 -0
- package/dist/directory.d.ts.map +1 -0
- package/dist/directory.js +523 -0
- package/dist/directory.js.map +1 -0
- package/dist/errors.d.ts +136 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +219 -0
- package/dist/errors.js.map +1 -0
- package/dist/extraction/astro-extractor.d.ts +79 -0
- package/dist/extraction/astro-extractor.d.ts.map +1 -0
- package/dist/extraction/astro-extractor.js +320 -0
- package/dist/extraction/astro-extractor.js.map +1 -0
- package/dist/extraction/dfm-extractor.d.ts +31 -0
- package/dist/extraction/dfm-extractor.d.ts.map +1 -0
- package/dist/extraction/dfm-extractor.js +151 -0
- package/dist/extraction/dfm-extractor.js.map +1 -0
- package/dist/extraction/extraction-version.d.ts +25 -0
- package/dist/extraction/extraction-version.d.ts.map +1 -0
- package/dist/extraction/extraction-version.js +28 -0
- package/dist/extraction/extraction-version.js.map +1 -0
- package/dist/extraction/function-ref.d.ts +118 -0
- package/dist/extraction/function-ref.d.ts.map +1 -0
- package/dist/extraction/function-ref.js +727 -0
- package/dist/extraction/function-ref.js.map +1 -0
- package/dist/extraction/generated-detection.d.ts +30 -0
- package/dist/extraction/generated-detection.d.ts.map +1 -0
- package/dist/extraction/generated-detection.js +83 -0
- package/dist/extraction/generated-detection.js.map +1 -0
- package/dist/extraction/grammars.d.ts +114 -0
- package/dist/extraction/grammars.d.ts.map +1 -0
- package/dist/extraction/grammars.js +477 -0
- package/dist/extraction/grammars.js.map +1 -0
- package/dist/extraction/index.d.ts +175 -0
- package/dist/extraction/index.d.ts.map +1 -0
- package/dist/extraction/index.js +1887 -0
- package/dist/extraction/index.js.map +1 -0
- package/dist/extraction/languages/c-cpp.d.ts +12 -0
- package/dist/extraction/languages/c-cpp.d.ts.map +1 -0
- package/dist/extraction/languages/c-cpp.js +275 -0
- package/dist/extraction/languages/c-cpp.js.map +1 -0
- package/dist/extraction/languages/csharp.d.ts +25 -0
- package/dist/extraction/languages/csharp.d.ts.map +1 -0
- package/dist/extraction/languages/csharp.js +175 -0
- package/dist/extraction/languages/csharp.js.map +1 -0
- package/dist/extraction/languages/dart.d.ts +3 -0
- package/dist/extraction/languages/dart.d.ts.map +1 -0
- package/dist/extraction/languages/dart.js +374 -0
- package/dist/extraction/languages/dart.js.map +1 -0
- package/dist/extraction/languages/go.d.ts +3 -0
- package/dist/extraction/languages/go.d.ts.map +1 -0
- package/dist/extraction/languages/go.js +111 -0
- package/dist/extraction/languages/go.js.map +1 -0
- package/dist/extraction/languages/index.d.ts +10 -0
- package/dist/extraction/languages/index.d.ts.map +1 -0
- package/dist/extraction/languages/index.js +53 -0
- package/dist/extraction/languages/index.js.map +1 -0
- package/dist/extraction/languages/java.d.ts +3 -0
- package/dist/extraction/languages/java.d.ts.map +1 -0
- package/dist/extraction/languages/java.js +315 -0
- package/dist/extraction/languages/java.js.map +1 -0
- package/dist/extraction/languages/javascript.d.ts +3 -0
- package/dist/extraction/languages/javascript.d.ts.map +1 -0
- package/dist/extraction/languages/javascript.js +106 -0
- package/dist/extraction/languages/javascript.js.map +1 -0
- package/dist/extraction/languages/kotlin.d.ts +3 -0
- package/dist/extraction/languages/kotlin.d.ts.map +1 -0
- package/dist/extraction/languages/kotlin.js +379 -0
- package/dist/extraction/languages/kotlin.js.map +1 -0
- package/dist/extraction/languages/lua.d.ts +3 -0
- package/dist/extraction/languages/lua.d.ts.map +1 -0
- package/dist/extraction/languages/lua.js +150 -0
- package/dist/extraction/languages/lua.js.map +1 -0
- package/dist/extraction/languages/luau.d.ts +3 -0
- package/dist/extraction/languages/luau.d.ts.map +1 -0
- package/dist/extraction/languages/luau.js +37 -0
- package/dist/extraction/languages/luau.js.map +1 -0
- package/dist/extraction/languages/objc.d.ts +3 -0
- package/dist/extraction/languages/objc.d.ts.map +1 -0
- package/dist/extraction/languages/objc.js +175 -0
- package/dist/extraction/languages/objc.js.map +1 -0
- package/dist/extraction/languages/pascal.d.ts +3 -0
- package/dist/extraction/languages/pascal.d.ts.map +1 -0
- package/dist/extraction/languages/pascal.js +77 -0
- package/dist/extraction/languages/pascal.js.map +1 -0
- package/dist/extraction/languages/php.d.ts +3 -0
- package/dist/extraction/languages/php.d.ts.map +1 -0
- package/dist/extraction/languages/php.js +196 -0
- package/dist/extraction/languages/php.js.map +1 -0
- package/dist/extraction/languages/python.d.ts +3 -0
- package/dist/extraction/languages/python.d.ts.map +1 -0
- package/dist/extraction/languages/python.js +56 -0
- package/dist/extraction/languages/python.js.map +1 -0
- package/dist/extraction/languages/r.d.ts +3 -0
- package/dist/extraction/languages/r.d.ts.map +1 -0
- package/dist/extraction/languages/r.js +314 -0
- package/dist/extraction/languages/r.js.map +1 -0
- package/dist/extraction/languages/ruby.d.ts +3 -0
- package/dist/extraction/languages/ruby.d.ts.map +1 -0
- package/dist/extraction/languages/ruby.js +149 -0
- package/dist/extraction/languages/ruby.js.map +1 -0
- package/dist/extraction/languages/rust.d.ts +3 -0
- package/dist/extraction/languages/rust.d.ts.map +1 -0
- package/dist/extraction/languages/rust.js +142 -0
- package/dist/extraction/languages/rust.js.map +1 -0
- package/dist/extraction/languages/scala.d.ts +3 -0
- package/dist/extraction/languages/scala.d.ts.map +1 -0
- package/dist/extraction/languages/scala.js +209 -0
- package/dist/extraction/languages/scala.js.map +1 -0
- package/dist/extraction/languages/swift.d.ts +3 -0
- package/dist/extraction/languages/swift.d.ts.map +1 -0
- package/dist/extraction/languages/swift.js +152 -0
- package/dist/extraction/languages/swift.js.map +1 -0
- package/dist/extraction/languages/typescript.d.ts +16 -0
- package/dist/extraction/languages/typescript.d.ts.map +1 -0
- package/dist/extraction/languages/typescript.js +167 -0
- package/dist/extraction/languages/typescript.js.map +1 -0
- package/dist/extraction/liquid-extractor.d.ts +59 -0
- package/dist/extraction/liquid-extractor.d.ts.map +1 -0
- package/dist/extraction/liquid-extractor.js +357 -0
- package/dist/extraction/liquid-extractor.js.map +1 -0
- package/dist/extraction/mybatis-extractor.d.ts +48 -0
- package/dist/extraction/mybatis-extractor.d.ts.map +1 -0
- package/dist/extraction/mybatis-extractor.js +198 -0
- package/dist/extraction/mybatis-extractor.js.map +1 -0
- package/dist/extraction/parse-worker.d.ts +8 -0
- package/dist/extraction/parse-worker.d.ts.map +1 -0
- package/dist/extraction/parse-worker.js +97 -0
- package/dist/extraction/parse-worker.js.map +1 -0
- package/dist/extraction/razor-extractor.d.ts +42 -0
- package/dist/extraction/razor-extractor.d.ts.map +1 -0
- package/dist/extraction/razor-extractor.js +285 -0
- package/dist/extraction/razor-extractor.js.map +1 -0
- package/dist/extraction/svelte-extractor.d.ts +56 -0
- package/dist/extraction/svelte-extractor.d.ts.map +1 -0
- package/dist/extraction/svelte-extractor.js +275 -0
- package/dist/extraction/svelte-extractor.js.map +1 -0
- package/dist/extraction/tree-sitter-helpers.d.ts +28 -0
- package/dist/extraction/tree-sitter-helpers.d.ts.map +1 -0
- package/dist/extraction/tree-sitter-helpers.js +152 -0
- package/dist/extraction/tree-sitter-helpers.js.map +1 -0
- package/dist/extraction/tree-sitter-types.d.ts +239 -0
- package/dist/extraction/tree-sitter-types.d.ts.map +1 -0
- package/dist/extraction/tree-sitter-types.js +10 -0
- package/dist/extraction/tree-sitter-types.js.map +1 -0
- package/dist/extraction/tree-sitter.d.ts +647 -0
- package/dist/extraction/tree-sitter.d.ts.map +1 -0
- package/dist/extraction/tree-sitter.js +5592 -0
- package/dist/extraction/tree-sitter.js.map +1 -0
- package/dist/extraction/vue-extractor.d.ts +51 -0
- package/dist/extraction/vue-extractor.d.ts.map +1 -0
- package/dist/extraction/vue-extractor.js +254 -0
- package/dist/extraction/vue-extractor.js.map +1 -0
- package/dist/extraction/wasm/tree-sitter-c_sharp.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-lua.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-luau.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-pascal.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-r.wasm +0 -0
- package/dist/extraction/wasm/tree-sitter-scala.wasm +0 -0
- package/dist/extraction/wasm-runtime-flags.d.ts +38 -0
- package/dist/extraction/wasm-runtime-flags.d.ts.map +1 -0
- package/dist/extraction/wasm-runtime-flags.js +106 -0
- package/dist/extraction/wasm-runtime-flags.js.map +1 -0
- package/dist/graph/index.d.ts +8 -0
- package/dist/graph/index.d.ts.map +1 -0
- package/dist/graph/index.js +13 -0
- package/dist/graph/index.js.map +1 -0
- package/dist/graph/queries.d.ts +106 -0
- package/dist/graph/queries.d.ts.map +1 -0
- package/dist/graph/queries.js +339 -0
- package/dist/graph/queries.js.map +1 -0
- package/dist/graph/traversal.d.ts +127 -0
- package/dist/graph/traversal.d.ts.map +1 -0
- package/dist/graph/traversal.js +540 -0
- package/dist/graph/traversal.js.map +1 -0
- package/dist/index.d.ts +563 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1041 -0
- package/dist/index.js.map +1 -0
- package/dist/installer/claude-assets.d.ts +45 -0
- package/dist/installer/claude-assets.d.ts.map +1 -0
- package/dist/installer/claude-assets.js +144 -0
- package/dist/installer/claude-assets.js.map +1 -0
- package/dist/installer/config-writer.d.ts +28 -0
- package/dist/installer/config-writer.d.ts.map +1 -0
- package/dist/installer/config-writer.js +91 -0
- package/dist/installer/config-writer.js.map +1 -0
- package/dist/installer/index.d.ts +101 -0
- package/dist/installer/index.d.ts.map +1 -0
- package/dist/installer/index.js +692 -0
- package/dist/installer/index.js.map +1 -0
- package/dist/installer/instructions-template.d.ts +41 -0
- package/dist/installer/instructions-template.d.ts.map +1 -0
- package/dist/installer/instructions-template.js +53 -0
- package/dist/installer/instructions-template.js.map +1 -0
- package/dist/installer/targets/antigravity.d.ts +57 -0
- package/dist/installer/targets/antigravity.d.ts.map +1 -0
- package/dist/installer/targets/antigravity.js +308 -0
- package/dist/installer/targets/antigravity.js.map +1 -0
- package/dist/installer/targets/claude.d.ts +66 -0
- package/dist/installer/targets/claude.d.ts.map +1 -0
- package/dist/installer/targets/claude.js +564 -0
- package/dist/installer/targets/claude.js.map +1 -0
- package/dist/installer/targets/codex.d.ts +18 -0
- package/dist/installer/targets/codex.d.ts.map +1 -0
- package/dist/installer/targets/codex.js +185 -0
- package/dist/installer/targets/codex.js.map +1 -0
- package/dist/installer/targets/cursor.d.ts +35 -0
- package/dist/installer/targets/cursor.d.ts.map +1 -0
- package/dist/installer/targets/cursor.js +254 -0
- package/dist/installer/targets/cursor.js.map +1 -0
- package/dist/installer/targets/gemini.d.ts +26 -0
- package/dist/installer/targets/gemini.d.ts.map +1 -0
- package/dist/installer/targets/gemini.js +165 -0
- package/dist/installer/targets/gemini.js.map +1 -0
- package/dist/installer/targets/hermes.d.ts +18 -0
- package/dist/installer/targets/hermes.d.ts.map +1 -0
- package/dist/installer/targets/hermes.js +359 -0
- package/dist/installer/targets/hermes.js.map +1 -0
- package/dist/installer/targets/kiro.d.ts +27 -0
- package/dist/installer/targets/kiro.d.ts.map +1 -0
- package/dist/installer/targets/kiro.js +178 -0
- package/dist/installer/targets/kiro.js.map +1 -0
- package/dist/installer/targets/opencode.d.ts +38 -0
- package/dist/installer/targets/opencode.d.ts.map +1 -0
- package/dist/installer/targets/opencode.js +288 -0
- package/dist/installer/targets/opencode.js.map +1 -0
- package/dist/installer/targets/registry.d.ts +35 -0
- package/dist/installer/targets/registry.d.ts.map +1 -0
- package/dist/installer/targets/registry.js +91 -0
- package/dist/installer/targets/registry.js.map +1 -0
- package/dist/installer/targets/shared.d.ts +101 -0
- package/dist/installer/targets/shared.d.ts.map +1 -0
- package/dist/installer/targets/shared.js +264 -0
- package/dist/installer/targets/shared.js.map +1 -0
- package/dist/installer/targets/toml.d.ts +52 -0
- package/dist/installer/targets/toml.d.ts.map +1 -0
- package/dist/installer/targets/toml.js +147 -0
- package/dist/installer/targets/toml.js.map +1 -0
- package/dist/installer/targets/types.d.ts +108 -0
- package/dist/installer/targets/types.d.ts.map +1 -0
- package/dist/installer/targets/types.js +16 -0
- package/dist/installer/targets/types.js.map +1 -0
- package/dist/markdown/cli.d.ts +16 -0
- package/dist/markdown/cli.d.ts.map +1 -0
- package/dist/markdown/cli.js +533 -0
- package/dist/markdown/cli.js.map +1 -0
- package/dist/markdown/constants.d.ts +22 -0
- package/dist/markdown/constants.d.ts.map +1 -0
- package/dist/markdown/constants.js +71 -0
- package/dist/markdown/constants.js.map +1 -0
- package/dist/markdown/dedup.d.ts +20 -0
- package/dist/markdown/dedup.d.ts.map +1 -0
- package/dist/markdown/dedup.js +64 -0
- package/dist/markdown/dedup.js.map +1 -0
- package/dist/markdown/errors.d.ts +22 -0
- package/dist/markdown/errors.d.ts.map +1 -0
- package/dist/markdown/errors.js +45 -0
- package/dist/markdown/errors.js.map +1 -0
- package/dist/markdown/extractor.d.ts +43 -0
- package/dist/markdown/extractor.d.ts.map +1 -0
- package/dist/markdown/extractor.js +152 -0
- package/dist/markdown/extractor.js.map +1 -0
- package/dist/markdown/frontmatter-parser.d.ts +47 -0
- package/dist/markdown/frontmatter-parser.d.ts.map +1 -0
- package/dist/markdown/frontmatter-parser.js +199 -0
- package/dist/markdown/frontmatter-parser.js.map +1 -0
- package/dist/markdown/indexer.d.ts +34 -0
- package/dist/markdown/indexer.d.ts.map +1 -0
- package/dist/markdown/indexer.js +256 -0
- package/dist/markdown/indexer.js.map +1 -0
- package/dist/markdown/mcp-tools.d.ts +33 -0
- package/dist/markdown/mcp-tools.d.ts.map +1 -0
- package/dist/markdown/mcp-tools.js +300 -0
- package/dist/markdown/mcp-tools.js.map +1 -0
- package/dist/markdown/query.d.ts +108 -0
- package/dist/markdown/query.d.ts.map +1 -0
- package/dist/markdown/query.js +570 -0
- package/dist/markdown/query.js.map +1 -0
- package/dist/markdown/schema-bootstrap.d.ts +40 -0
- package/dist/markdown/schema-bootstrap.d.ts.map +1 -0
- package/dist/markdown/schema-bootstrap.js +85 -0
- package/dist/markdown/schema-bootstrap.js.map +1 -0
- package/dist/markdown/schema.sql +124 -0
- package/dist/markdown/store.d.ts +77 -0
- package/dist/markdown/store.d.ts.map +1 -0
- package/dist/markdown/store.js +194 -0
- package/dist/markdown/store.js.map +1 -0
- package/dist/markdown/summary-extractor.d.ts +22 -0
- package/dist/markdown/summary-extractor.d.ts.map +1 -0
- package/dist/markdown/summary-extractor.js +66 -0
- package/dist/markdown/summary-extractor.js.map +1 -0
- package/dist/markdown/types.d.ts +159 -0
- package/dist/markdown/types.d.ts.map +1 -0
- package/dist/markdown/types.js +9 -0
- package/dist/markdown/types.js.map +1 -0
- package/dist/markdown/validator.d.ts +44 -0
- package/dist/markdown/validator.d.ts.map +1 -0
- package/dist/markdown/validator.js +95 -0
- package/dist/markdown/validator.js.map +1 -0
- package/dist/mcp/daemon-manager.d.ts +42 -0
- package/dist/mcp/daemon-manager.d.ts.map +1 -0
- package/dist/mcp/daemon-manager.js +129 -0
- package/dist/mcp/daemon-manager.js.map +1 -0
- package/dist/mcp/daemon-paths.d.ts +46 -0
- package/dist/mcp/daemon-paths.d.ts.map +1 -0
- package/dist/mcp/daemon-paths.js +125 -0
- package/dist/mcp/daemon-paths.js.map +1 -0
- package/dist/mcp/daemon-registry.d.ts +47 -0
- package/dist/mcp/daemon-registry.d.ts.map +1 -0
- package/dist/mcp/daemon-registry.js +229 -0
- package/dist/mcp/daemon-registry.js.map +1 -0
- package/dist/mcp/daemon.d.ts +220 -0
- package/dist/mcp/daemon.d.ts.map +1 -0
- package/dist/mcp/daemon.js +637 -0
- package/dist/mcp/daemon.js.map +1 -0
- package/dist/mcp/dynamic-boundaries.d.ts +41 -0
- package/dist/mcp/dynamic-boundaries.d.ts.map +1 -0
- package/dist/mcp/dynamic-boundaries.js +359 -0
- package/dist/mcp/dynamic-boundaries.js.map +1 -0
- package/dist/mcp/engine.d.ts +105 -0
- package/dist/mcp/engine.d.ts.map +1 -0
- package/dist/mcp/engine.js +278 -0
- package/dist/mcp/engine.js.map +1 -0
- package/dist/mcp/index.d.ts +113 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +499 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/liveness-watchdog.d.ts +18 -0
- package/dist/mcp/liveness-watchdog.d.ts.map +1 -0
- package/dist/mcp/liveness-watchdog.js +207 -0
- package/dist/mcp/liveness-watchdog.js.map +1 -0
- package/dist/mcp/ppid-watchdog.d.ts +44 -0
- package/dist/mcp/ppid-watchdog.d.ts.map +1 -0
- package/dist/mcp/ppid-watchdog.js +27 -0
- package/dist/mcp/ppid-watchdog.js.map +1 -0
- package/dist/mcp/proxy.d.ts +87 -0
- package/dist/mcp/proxy.d.ts.map +1 -0
- package/dist/mcp/proxy.js +641 -0
- package/dist/mcp/proxy.js.map +1 -0
- package/dist/mcp/server-instructions.d.ts +34 -0
- package/dist/mcp/server-instructions.d.ts.map +1 -0
- package/dist/mcp/server-instructions.js +106 -0
- package/dist/mcp/server-instructions.js.map +1 -0
- package/dist/mcp/session.d.ts +79 -0
- package/dist/mcp/session.d.ts.map +1 -0
- package/dist/mcp/session.js +330 -0
- package/dist/mcp/session.js.map +1 -0
- package/dist/mcp/stdin-teardown.d.ts +27 -0
- package/dist/mcp/stdin-teardown.d.ts.map +1 -0
- package/dist/mcp/stdin-teardown.js +49 -0
- package/dist/mcp/stdin-teardown.js.map +1 -0
- package/dist/mcp/tools.d.ts +547 -0
- package/dist/mcp/tools.d.ts.map +1 -0
- package/dist/mcp/tools.js +4122 -0
- package/dist/mcp/tools.js.map +1 -0
- package/dist/mcp/transport.d.ts +188 -0
- package/dist/mcp/transport.d.ts.map +1 -0
- package/dist/mcp/transport.js +359 -0
- package/dist/mcp/transport.js.map +1 -0
- package/dist/mcp/version.d.ts +19 -0
- package/dist/mcp/version.d.ts.map +1 -0
- package/dist/mcp/version.js +71 -0
- package/dist/mcp/version.js.map +1 -0
- package/dist/project-config.d.ts +36 -0
- package/dist/project-config.d.ts.map +1 -0
- package/dist/project-config.js +235 -0
- package/dist/project-config.js.map +1 -0
- package/dist/reasoning/config.d.ts +45 -0
- package/dist/reasoning/config.d.ts.map +1 -0
- package/dist/reasoning/config.js +171 -0
- package/dist/reasoning/config.js.map +1 -0
- package/dist/reasoning/credentials.d.ts +5 -0
- package/dist/reasoning/credentials.d.ts.map +1 -0
- package/dist/reasoning/credentials.js +83 -0
- package/dist/reasoning/credentials.js.map +1 -0
- package/dist/reasoning/login.d.ts +21 -0
- package/dist/reasoning/login.d.ts.map +1 -0
- package/dist/reasoning/login.js +85 -0
- package/dist/reasoning/login.js.map +1 -0
- package/dist/reasoning/reasoner.d.ts +43 -0
- package/dist/reasoning/reasoner.d.ts.map +1 -0
- package/dist/reasoning/reasoner.js +308 -0
- package/dist/reasoning/reasoner.js.map +1 -0
- package/dist/resolution/c-fnptr-synthesizer.d.ts +33 -0
- package/dist/resolution/c-fnptr-synthesizer.d.ts.map +1 -0
- package/dist/resolution/c-fnptr-synthesizer.js +352 -0
- package/dist/resolution/c-fnptr-synthesizer.js.map +1 -0
- package/dist/resolution/callback-synthesizer.d.ts +15 -0
- package/dist/resolution/callback-synthesizer.d.ts.map +1 -0
- package/dist/resolution/callback-synthesizer.js +2926 -0
- package/dist/resolution/callback-synthesizer.js.map +1 -0
- package/dist/resolution/frameworks/astro.d.ts +9 -0
- package/dist/resolution/frameworks/astro.d.ts.map +1 -0
- package/dist/resolution/frameworks/astro.js +169 -0
- package/dist/resolution/frameworks/astro.js.map +1 -0
- package/dist/resolution/frameworks/cargo-workspace.d.ts +18 -0
- package/dist/resolution/frameworks/cargo-workspace.d.ts.map +1 -0
- package/dist/resolution/frameworks/cargo-workspace.js +225 -0
- package/dist/resolution/frameworks/cargo-workspace.js.map +1 -0
- package/dist/resolution/frameworks/csharp.d.ts +8 -0
- package/dist/resolution/frameworks/csharp.d.ts.map +1 -0
- package/dist/resolution/frameworks/csharp.js +241 -0
- package/dist/resolution/frameworks/csharp.js.map +1 -0
- package/dist/resolution/frameworks/drupal.d.ts +51 -0
- package/dist/resolution/frameworks/drupal.d.ts.map +1 -0
- package/dist/resolution/frameworks/drupal.js +367 -0
- package/dist/resolution/frameworks/drupal.js.map +1 -0
- package/dist/resolution/frameworks/expo-modules.d.ts +3 -0
- package/dist/resolution/frameworks/expo-modules.d.ts.map +1 -0
- package/dist/resolution/frameworks/expo-modules.js +148 -0
- package/dist/resolution/frameworks/expo-modules.js.map +1 -0
- package/dist/resolution/frameworks/express.d.ts +8 -0
- package/dist/resolution/frameworks/express.d.ts.map +1 -0
- package/dist/resolution/frameworks/express.js +308 -0
- package/dist/resolution/frameworks/express.js.map +1 -0
- package/dist/resolution/frameworks/fabric.d.ts +3 -0
- package/dist/resolution/frameworks/fabric.d.ts.map +1 -0
- package/dist/resolution/frameworks/fabric.js +354 -0
- package/dist/resolution/frameworks/fabric.js.map +1 -0
- package/dist/resolution/frameworks/go.d.ts +8 -0
- package/dist/resolution/frameworks/go.d.ts.map +1 -0
- package/dist/resolution/frameworks/go.js +161 -0
- package/dist/resolution/frameworks/go.js.map +1 -0
- package/dist/resolution/frameworks/goframe.d.ts +41 -0
- package/dist/resolution/frameworks/goframe.d.ts.map +1 -0
- package/dist/resolution/frameworks/goframe.js +112 -0
- package/dist/resolution/frameworks/goframe.js.map +1 -0
- package/dist/resolution/frameworks/index.d.ts +50 -0
- package/dist/resolution/frameworks/index.d.ts.map +1 -0
- package/dist/resolution/frameworks/index.js +169 -0
- package/dist/resolution/frameworks/index.js.map +1 -0
- package/dist/resolution/frameworks/java.d.ts +8 -0
- package/dist/resolution/frameworks/java.d.ts.map +1 -0
- package/dist/resolution/frameworks/java.js +509 -0
- package/dist/resolution/frameworks/java.js.map +1 -0
- package/dist/resolution/frameworks/laravel.d.ts +13 -0
- package/dist/resolution/frameworks/laravel.d.ts.map +1 -0
- package/dist/resolution/frameworks/laravel.js +257 -0
- package/dist/resolution/frameworks/laravel.js.map +1 -0
- package/dist/resolution/frameworks/nestjs.d.ts +26 -0
- package/dist/resolution/frameworks/nestjs.d.ts.map +1 -0
- package/dist/resolution/frameworks/nestjs.js +698 -0
- package/dist/resolution/frameworks/nestjs.js.map +1 -0
- package/dist/resolution/frameworks/play.d.ts +19 -0
- package/dist/resolution/frameworks/play.d.ts.map +1 -0
- package/dist/resolution/frameworks/play.js +111 -0
- package/dist/resolution/frameworks/play.js.map +1 -0
- package/dist/resolution/frameworks/python.d.ts +10 -0
- package/dist/resolution/frameworks/python.d.ts.map +1 -0
- package/dist/resolution/frameworks/python.js +400 -0
- package/dist/resolution/frameworks/python.js.map +1 -0
- package/dist/resolution/frameworks/react-native.d.ts +3 -0
- package/dist/resolution/frameworks/react-native.d.ts.map +1 -0
- package/dist/resolution/frameworks/react-native.js +410 -0
- package/dist/resolution/frameworks/react-native.js.map +1 -0
- package/dist/resolution/frameworks/react.d.ts +8 -0
- package/dist/resolution/frameworks/react.d.ts.map +1 -0
- package/dist/resolution/frameworks/react.js +334 -0
- package/dist/resolution/frameworks/react.js.map +1 -0
- package/dist/resolution/frameworks/ruby.d.ts +8 -0
- package/dist/resolution/frameworks/ruby.d.ts.map +1 -0
- package/dist/resolution/frameworks/ruby.js +302 -0
- package/dist/resolution/frameworks/ruby.js.map +1 -0
- package/dist/resolution/frameworks/rust.d.ts +8 -0
- package/dist/resolution/frameworks/rust.d.ts.map +1 -0
- package/dist/resolution/frameworks/rust.js +304 -0
- package/dist/resolution/frameworks/rust.js.map +1 -0
- package/dist/resolution/frameworks/svelte.d.ts +9 -0
- package/dist/resolution/frameworks/svelte.d.ts.map +1 -0
- package/dist/resolution/frameworks/svelte.js +253 -0
- package/dist/resolution/frameworks/svelte.js.map +1 -0
- package/dist/resolution/frameworks/swift-objc.d.ts +37 -0
- package/dist/resolution/frameworks/swift-objc.d.ts.map +1 -0
- package/dist/resolution/frameworks/swift-objc.js +252 -0
- package/dist/resolution/frameworks/swift-objc.js.map +1 -0
- package/dist/resolution/frameworks/swift.d.ts +10 -0
- package/dist/resolution/frameworks/swift.d.ts.map +1 -0
- package/dist/resolution/frameworks/swift.js +400 -0
- package/dist/resolution/frameworks/swift.js.map +1 -0
- package/dist/resolution/frameworks/vue.d.ts +9 -0
- package/dist/resolution/frameworks/vue.d.ts.map +1 -0
- package/dist/resolution/frameworks/vue.js +303 -0
- package/dist/resolution/frameworks/vue.js.map +1 -0
- package/dist/resolution/go-module.d.ts +26 -0
- package/dist/resolution/go-module.d.ts.map +1 -0
- package/dist/resolution/go-module.js +78 -0
- package/dist/resolution/go-module.js.map +1 -0
- package/dist/resolution/goframe-synthesizer.d.ts +28 -0
- package/dist/resolution/goframe-synthesizer.d.ts.map +1 -0
- package/dist/resolution/goframe-synthesizer.js +158 -0
- package/dist/resolution/goframe-synthesizer.js.map +1 -0
- package/dist/resolution/import-resolver.d.ts +78 -0
- package/dist/resolution/import-resolver.d.ts.map +1 -0
- package/dist/resolution/import-resolver.js +1849 -0
- package/dist/resolution/import-resolver.js.map +1 -0
- package/dist/resolution/index.d.ts +196 -0
- package/dist/resolution/index.d.ts.map +1 -0
- package/dist/resolution/index.js +1328 -0
- package/dist/resolution/index.js.map +1 -0
- package/dist/resolution/lru-cache.d.ts +24 -0
- package/dist/resolution/lru-cache.d.ts.map +1 -0
- package/dist/resolution/lru-cache.js +62 -0
- package/dist/resolution/lru-cache.js.map +1 -0
- package/dist/resolution/name-matcher.d.ts +93 -0
- package/dist/resolution/name-matcher.d.ts.map +1 -0
- package/dist/resolution/name-matcher.js +1212 -0
- package/dist/resolution/name-matcher.js.map +1 -0
- package/dist/resolution/path-aliases.d.ts +68 -0
- package/dist/resolution/path-aliases.d.ts.map +1 -0
- package/dist/resolution/path-aliases.js +238 -0
- package/dist/resolution/path-aliases.js.map +1 -0
- package/dist/resolution/strip-comments.d.ts +27 -0
- package/dist/resolution/strip-comments.d.ts.map +1 -0
- package/dist/resolution/strip-comments.js +443 -0
- package/dist/resolution/strip-comments.js.map +1 -0
- package/dist/resolution/swift-objc-bridge.d.ts +134 -0
- package/dist/resolution/swift-objc-bridge.d.ts.map +1 -0
- package/dist/resolution/swift-objc-bridge.js +256 -0
- package/dist/resolution/swift-objc-bridge.js.map +1 -0
- package/dist/resolution/types.d.ts +233 -0
- package/dist/resolution/types.d.ts.map +1 -0
- package/dist/resolution/types.js +8 -0
- package/dist/resolution/types.js.map +1 -0
- package/dist/resolution/workspace-packages.d.ts +48 -0
- package/dist/resolution/workspace-packages.d.ts.map +1 -0
- package/dist/resolution/workspace-packages.js +208 -0
- package/dist/resolution/workspace-packages.js.map +1 -0
- package/dist/search/query-parser.d.ts +57 -0
- package/dist/search/query-parser.d.ts.map +1 -0
- package/dist/search/query-parser.js +177 -0
- package/dist/search/query-parser.js.map +1 -0
- package/dist/search/query-utils.d.ts +87 -0
- package/dist/search/query-utils.d.ts.map +1 -0
- package/dist/search/query-utils.js +449 -0
- package/dist/search/query-utils.js.map +1 -0
- package/dist/sync/git-hooks.d.ts +45 -0
- package/dist/sync/git-hooks.d.ts.map +1 -0
- package/dist/sync/git-hooks.js +225 -0
- package/dist/sync/git-hooks.js.map +1 -0
- package/dist/sync/index.d.ts +19 -0
- package/dist/sync/index.d.ts.map +1 -0
- package/dist/sync/index.js +35 -0
- package/dist/sync/index.js.map +1 -0
- package/dist/sync/watch-policy.d.ts +48 -0
- package/dist/sync/watch-policy.d.ts.map +1 -0
- package/dist/sync/watch-policy.js +124 -0
- package/dist/sync/watch-policy.js.map +1 -0
- package/dist/sync/watcher.d.ts +350 -0
- package/dist/sync/watcher.d.ts.map +1 -0
- package/dist/sync/watcher.js +811 -0
- package/dist/sync/watcher.js.map +1 -0
- package/dist/sync/worktree.d.ts +54 -0
- package/dist/sync/worktree.d.ts.map +1 -0
- package/dist/sync/worktree.js +137 -0
- package/dist/sync/worktree.js.map +1 -0
- package/dist/telemetry/index.d.ts +143 -0
- package/dist/telemetry/index.d.ts.map +1 -0
- package/dist/telemetry/index.js +541 -0
- package/dist/telemetry/index.js.map +1 -0
- package/dist/timeline/bash-semantics.d.ts +52 -0
- package/dist/timeline/bash-semantics.d.ts.map +1 -0
- package/dist/timeline/bash-semantics.js +376 -0
- package/dist/timeline/bash-semantics.js.map +1 -0
- package/dist/timeline/cli.d.ts +50 -0
- package/dist/timeline/cli.d.ts.map +1 -0
- package/dist/timeline/cli.js +367 -0
- package/dist/timeline/cli.js.map +1 -0
- package/dist/timeline/constants.d.ts +62 -0
- package/dist/timeline/constants.d.ts.map +1 -0
- package/dist/timeline/constants.js +73 -0
- package/dist/timeline/constants.js.map +1 -0
- package/dist/timeline/errors.d.ts +27 -0
- package/dist/timeline/errors.d.ts.map +1 -0
- package/dist/timeline/errors.js +51 -0
- package/dist/timeline/errors.js.map +1 -0
- package/dist/timeline/hook-runner.d.ts +36 -0
- package/dist/timeline/hook-runner.d.ts.map +1 -0
- package/dist/timeline/hook-runner.js +61 -0
- package/dist/timeline/hook-runner.js.map +1 -0
- package/dist/timeline/hooks.d.ts +45 -0
- package/dist/timeline/hooks.d.ts.map +1 -0
- package/dist/timeline/hooks.js +364 -0
- package/dist/timeline/hooks.js.map +1 -0
- package/dist/timeline/index.d.ts +12 -0
- package/dist/timeline/index.d.ts.map +1 -0
- package/dist/timeline/index.js +28 -0
- package/dist/timeline/index.js.map +1 -0
- package/dist/timeline/indexer.d.ts +37 -0
- package/dist/timeline/indexer.d.ts.map +1 -0
- package/dist/timeline/indexer.js +76 -0
- package/dist/timeline/indexer.js.map +1 -0
- package/dist/timeline/installer.d.ts +33 -0
- package/dist/timeline/installer.d.ts.map +1 -0
- package/dist/timeline/installer.js +255 -0
- package/dist/timeline/installer.js.map +1 -0
- package/dist/timeline/payload.d.ts +31 -0
- package/dist/timeline/payload.d.ts.map +1 -0
- package/dist/timeline/payload.js +58 -0
- package/dist/timeline/payload.js.map +1 -0
- package/dist/timeline/post-tool-summary.d.ts +29 -0
- package/dist/timeline/post-tool-summary.d.ts.map +1 -0
- package/dist/timeline/post-tool-summary.js +190 -0
- package/dist/timeline/post-tool-summary.js.map +1 -0
- package/dist/timeline/recorder.d.ts +36 -0
- package/dist/timeline/recorder.d.ts.map +1 -0
- package/dist/timeline/recorder.js +42 -0
- package/dist/timeline/recorder.js.map +1 -0
- package/dist/timeline/schema-bootstrap.d.ts +42 -0
- package/dist/timeline/schema-bootstrap.d.ts.map +1 -0
- package/dist/timeline/schema-bootstrap.js +81 -0
- package/dist/timeline/schema-bootstrap.js.map +1 -0
- package/dist/timeline/schema.sql +37 -0
- package/dist/timeline/store.d.ts +69 -0
- package/dist/timeline/store.d.ts.map +1 -0
- package/dist/timeline/store.js +429 -0
- package/dist/timeline/store.js.map +1 -0
- package/dist/timeline/types.d.ts +78 -0
- package/dist/timeline/types.d.ts.map +1 -0
- package/dist/timeline/types.js +9 -0
- package/dist/timeline/types.js.map +1 -0
- package/dist/types.d.ts +392 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +81 -0
- package/dist/types.js.map +1 -0
- package/dist/ui/glyphs.d.ts +42 -0
- package/dist/ui/glyphs.d.ts.map +1 -0
- package/dist/ui/glyphs.js +78 -0
- package/dist/ui/glyphs.js.map +1 -0
- package/dist/ui/shimmer-progress.d.ts +11 -0
- package/dist/ui/shimmer-progress.d.ts.map +1 -0
- package/dist/ui/shimmer-progress.js +90 -0
- package/dist/ui/shimmer-progress.js.map +1 -0
- package/dist/ui/shimmer-worker.d.ts +2 -0
- package/dist/ui/shimmer-worker.d.ts.map +1 -0
- package/dist/ui/shimmer-worker.js +118 -0
- package/dist/ui/shimmer-worker.js.map +1 -0
- package/dist/ui/types.d.ts +17 -0
- package/dist/ui/types.d.ts.map +1 -0
- package/dist/ui/types.js +3 -0
- package/dist/ui/types.js.map +1 -0
- package/dist/upgrade/index.d.ts +132 -0
- package/dist/upgrade/index.d.ts.map +1 -0
- package/dist/upgrade/index.js +498 -0
- package/dist/upgrade/index.js.map +1 -0
- package/dist/utils.d.ts +224 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +583 -0
- package/dist/utils.js.map +1 -0
- package/package.json +60 -0
- package/scripts/add-lang/bench.sh +60 -0
- package/scripts/add-lang/check-grammar.mjs +75 -0
- package/scripts/add-lang/dump-ast.mjs +103 -0
- package/scripts/add-lang/verify-extraction.mjs +70 -0
- package/scripts/agent-eval/ab-adoption.sh +91 -0
- package/scripts/agent-eval/ab-hook.sh +86 -0
- package/scripts/agent-eval/ab-impl.sh +78 -0
- package/scripts/agent-eval/ab-new-vs-baseline.sh +102 -0
- package/scripts/agent-eval/ab-sufficiency.sh +78 -0
- package/scripts/agent-eval/arms-F.sh +21 -0
- package/scripts/agent-eval/arms-matrix.sh +37 -0
- package/scripts/agent-eval/audit.sh +68 -0
- package/scripts/agent-eval/bench-readme.sh +28 -0
- package/scripts/agent-eval/bench-why-repo.sh +22 -0
- package/scripts/agent-eval/block-read-hook.sh +19 -0
- package/scripts/agent-eval/hook-settings.json +15 -0
- package/scripts/agent-eval/itrun.sh +120 -0
- package/scripts/agent-eval/offload-eval-3arm.sh +72 -0
- package/scripts/agent-eval/offload-eval-cost.mjs +133 -0
- package/scripts/agent-eval/offload-eval-effort.mjs +108 -0
- package/scripts/agent-eval/offload-eval-frontload-matrix.sh +25 -0
- package/scripts/agent-eval/offload-eval-frontload.sh +47 -0
- package/scripts/agent-eval/offload-eval-ground-truth.json +18 -0
- package/scripts/agent-eval/offload-eval-hook.mjs +84 -0
- package/scripts/agent-eval/offload-eval-judge.mjs +103 -0
- package/scripts/agent-eval/offload-eval-matrix.sh +20 -0
- package/scripts/agent-eval/offload-eval-metrics.mjs +94 -0
- package/scripts/agent-eval/offload-eval-refs1.sh +50 -0
- package/scripts/agent-eval/offload-eval-setup.sh +24 -0
- package/scripts/agent-eval/offload-eval-styles.sh +72 -0
- package/scripts/agent-eval/offload-eval-summarize.mjs +68 -0
- package/scripts/agent-eval/offload-eval.md +76 -0
- package/scripts/agent-eval/parse-arms.mjs +116 -0
- package/scripts/agent-eval/parse-bench-readme.mjs +84 -0
- package/scripts/agent-eval/parse-run.mjs +45 -0
- package/scripts/agent-eval/parse-session.mjs +93 -0
- package/scripts/agent-eval/probe-context.mjs +21 -0
- package/scripts/agent-eval/probe-explore.mjs +40 -0
- package/scripts/agent-eval/probe-node.mjs +20 -0
- package/scripts/agent-eval/probe-sweep.mjs +119 -0
- package/scripts/agent-eval/probe-trace.mjs +20 -0
- package/scripts/agent-eval/redirect-read-hook.sh +38 -0
- package/scripts/agent-eval/run-agent.sh +34 -0
- package/scripts/agent-eval/run-all.sh +69 -0
- package/scripts/agent-eval/run-arms.sh +56 -0
- package/scripts/agent-eval/seq-matrix.mjs +137 -0
- package/scripts/build-bundle.sh +118 -0
- package/scripts/extract-release-notes.mjs +130 -0
- package/scripts/local-install.sh +41 -0
- package/scripts/npm-sdk.js +75 -0
- package/scripts/npm-shim.js +246 -0
- package/scripts/pack-npm.sh +118 -0
- package/scripts/prepare-release.mjs +270 -0
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* SQL query templates for the schema-introspection modes (spec §4.2).
|
|
4
|
+
*
|
|
5
|
+
* Each function returns either a SQL string (for parameterless queries) or
|
|
6
|
+
* an object `{ sql, params }` for parameterized queries. Parameter binding
|
|
7
|
+
* is mandatory — never string-concat user-supplied identifiers.
|
|
8
|
+
*
|
|
9
|
+
* Parameter style:
|
|
10
|
+
* - MySQL: uses `?` placeholders (mysql2)
|
|
11
|
+
* - PG: uses `$1, $2, ...` placeholders (pg)
|
|
12
|
+
*/
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.mysqlTablesSql = mysqlTablesSql;
|
|
15
|
+
exports.mysqlDdlSql = mysqlDdlSql;
|
|
16
|
+
exports.mysqlPrimaryKeySql = mysqlPrimaryKeySql;
|
|
17
|
+
exports.mysqlConstraintsSql = mysqlConstraintsSql;
|
|
18
|
+
exports.mysqlIndexesSql = mysqlIndexesSql;
|
|
19
|
+
exports.mysqlTableCommentSql = mysqlTableCommentSql;
|
|
20
|
+
exports.postgresTablesSql = postgresTablesSql;
|
|
21
|
+
exports.postgresDdlSql = postgresDdlSql;
|
|
22
|
+
exports.postgresPrimaryKeySql = postgresPrimaryKeySql;
|
|
23
|
+
exports.postgresConstraintsSql = postgresConstraintsSql;
|
|
24
|
+
exports.postgresIndexesSql = postgresIndexesSql;
|
|
25
|
+
exports.postgresTableCommentSql = postgresTableCommentSql;
|
|
26
|
+
exports.mysqlSchemaQuery = mysqlSchemaQuery;
|
|
27
|
+
exports.postgresSchemaQuery = postgresSchemaQuery;
|
|
28
|
+
// ─── MySQL (information_schema) ───
|
|
29
|
+
function mysqlTablesSql(database) {
|
|
30
|
+
return {
|
|
31
|
+
sql: 'SELECT TABLE_NAME AS name, TABLE_COMMENT AS comment ' +
|
|
32
|
+
'FROM information_schema.TABLES WHERE TABLE_SCHEMA = ? ORDER BY TABLE_NAME',
|
|
33
|
+
params: [database],
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
function mysqlDdlSql(table, database) {
|
|
37
|
+
return {
|
|
38
|
+
sql: 'SELECT COLUMN_NAME AS name, COLUMN_TYPE AS data_type, IS_NULLABLE AS nullable, ' +
|
|
39
|
+
'COLUMN_DEFAULT AS default_value, COLUMN_COMMENT AS comment ' +
|
|
40
|
+
'FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = ? AND TABLE_NAME = ? ' +
|
|
41
|
+
'ORDER BY ORDINAL_POSITION',
|
|
42
|
+
params: [database, table],
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
function mysqlPrimaryKeySql(table, database) {
|
|
46
|
+
return {
|
|
47
|
+
sql: 'SELECT COLUMN_NAME AS column_name ' +
|
|
48
|
+
'FROM information_schema.KEY_COLUMN_USAGE ' +
|
|
49
|
+
'WHERE TABLE_SCHEMA = ? AND TABLE_NAME = ? AND CONSTRAINT_NAME = \'PRIMARY\' ' +
|
|
50
|
+
'ORDER BY ORDINAL_POSITION',
|
|
51
|
+
params: [database, table],
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
function mysqlConstraintsSql(table, database) {
|
|
55
|
+
return {
|
|
56
|
+
sql: 'SELECT CONSTRAINT_NAME AS name, CONSTRAINT_TYPE AS type ' +
|
|
57
|
+
'FROM information_schema.TABLE_CONSTRAINTS ' +
|
|
58
|
+
'WHERE TABLE_SCHEMA = ? AND TABLE_NAME = ?',
|
|
59
|
+
params: [database, table],
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
function mysqlIndexesSql(table, database) {
|
|
63
|
+
return {
|
|
64
|
+
sql: 'SELECT INDEX_NAME AS name, COLUMN_NAME AS column_name, NON_UNIQUE = 0 AS is_unique, ' +
|
|
65
|
+
'INDEX_TYPE AS type, SEQ_IN_INDEX AS seq ' +
|
|
66
|
+
'FROM information_schema.STATISTICS WHERE TABLE_SCHEMA = ? AND TABLE_NAME = ? ' +
|
|
67
|
+
'ORDER BY INDEX_NAME, SEQ_IN_INDEX',
|
|
68
|
+
params: [database, table],
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
function mysqlTableCommentSql(table, database) {
|
|
72
|
+
return {
|
|
73
|
+
sql: 'SELECT TABLE_COMMENT AS comment FROM information_schema.TABLES ' +
|
|
74
|
+
'WHERE TABLE_SCHEMA = ? AND TABLE_NAME = ?',
|
|
75
|
+
params: [database, table],
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
// ─── PostgreSQL (pg_catalog) ───
|
|
79
|
+
function postgresTablesSql(schema) {
|
|
80
|
+
return {
|
|
81
|
+
sql: 'SELECT c.relname AS name, ' +
|
|
82
|
+
'COALESCE(obj_description(c.oid), \'\') AS comment ' +
|
|
83
|
+
'FROM pg_class c ' +
|
|
84
|
+
'JOIN pg_namespace n ON n.oid = c.relnamespace ' +
|
|
85
|
+
'WHERE c.relkind IN (\'r\', \'p\') AND n.nspname = $1 ' +
|
|
86
|
+
'ORDER BY c.relname',
|
|
87
|
+
params: [schema],
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
function postgresDdlSql(table, schema) {
|
|
91
|
+
return {
|
|
92
|
+
sql: 'SELECT a.attname AS name, pg_catalog.format_type(a.atttypid, a.atttypmod) AS data_type, ' +
|
|
93
|
+
'NOT a.attnotnull AS nullable, pg_get_expr(d.adbin, d.adrelid) AS default_value, ' +
|
|
94
|
+
'COALESCE(col_description(a.attrelid, a.attnum), \'\') AS comment ' +
|
|
95
|
+
'FROM pg_attribute a ' +
|
|
96
|
+
'LEFT JOIN pg_attrdef d ON d.adrelid = a.attrelid AND d.adnum = a.attnum ' +
|
|
97
|
+
'WHERE a.attrelid = $1::regclass AND a.attnum > 0 AND NOT a.attisdropped ' +
|
|
98
|
+
'ORDER BY a.attnum',
|
|
99
|
+
params: [`${schema}.${table}`],
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
function postgresPrimaryKeySql(table, schema) {
|
|
103
|
+
return {
|
|
104
|
+
sql: 'SELECT a.attname AS column_name ' +
|
|
105
|
+
'FROM pg_index i ' +
|
|
106
|
+
'JOIN pg_attribute a ON a.attrelid = i.indrelid AND a.attnum = ANY(i.indkey) ' +
|
|
107
|
+
'WHERE i.indrelid = $1::regclass AND i.indisprimary ' +
|
|
108
|
+
'ORDER BY array_position(i.indkey, a.attnum)',
|
|
109
|
+
params: [`${schema}.${table}`],
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
function postgresConstraintsSql(table, schema) {
|
|
113
|
+
return {
|
|
114
|
+
sql: 'SELECT c.conname AS name, ' +
|
|
115
|
+
'CASE WHEN c.contype = \'p\' THEN \'PRIMARY KEY\' ' +
|
|
116
|
+
'WHEN c.contype = \'u\' THEN \'UNIQUE\' ' +
|
|
117
|
+
'WHEN c.contype = \'f\' THEN \'FOREIGN KEY\' ' +
|
|
118
|
+
'WHEN c.contype = \'c\' THEN \'CHECK\' ELSE c.contype::text END AS type ' +
|
|
119
|
+
'FROM pg_constraint c ' +
|
|
120
|
+
'WHERE c.conrelid = $1::regclass ORDER BY c.conname',
|
|
121
|
+
params: [`${schema}.${table}`],
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
function postgresIndexesSql(table, schema) {
|
|
125
|
+
return {
|
|
126
|
+
sql: 'SELECT i.relname AS name, ' +
|
|
127
|
+
'array_to_string(ARRAY(SELECT pg_get_indexdef(ix.indexrelid, k + 1, true) ' +
|
|
128
|
+
'FROM generate_subscripts(ix.indkey, 1) AS k), \',\') AS columns_csv, ' +
|
|
129
|
+
'ix.indisunique AS is_unique, am.amname AS type ' +
|
|
130
|
+
'FROM pg_index ix ' +
|
|
131
|
+
'JOIN pg_class i ON i.oid = ix.indexrelid ' +
|
|
132
|
+
'JOIN pg_class t ON t.oid = ix.indrelid ' +
|
|
133
|
+
'JOIN pg_am am ON am.oid = i.relam ' +
|
|
134
|
+
'WHERE ix.indrelid = $1::regclass ORDER BY i.relname',
|
|
135
|
+
params: [`${schema}.${table}`],
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
function postgresTableCommentSql(table, schema) {
|
|
139
|
+
return {
|
|
140
|
+
sql: 'SELECT COALESCE(obj_description($1::regclass), \'\') AS comment',
|
|
141
|
+
params: [`${schema}.${table}`],
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
function mysqlSchemaQuery(mode, table, database) {
|
|
145
|
+
switch (mode) {
|
|
146
|
+
case 'tables': return mysqlTablesSql(database);
|
|
147
|
+
case 'ddl': return mysqlDdlSql(table, database);
|
|
148
|
+
case 'indexes': return mysqlIndexesSql(table, database);
|
|
149
|
+
case 'table-comment': return mysqlTableCommentSql(table, database);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
function postgresSchemaQuery(mode, table, schema) {
|
|
153
|
+
switch (mode) {
|
|
154
|
+
case 'tables': return postgresTablesSql(schema);
|
|
155
|
+
case 'ddl': return postgresDdlSql(table, schema);
|
|
156
|
+
case 'indexes': return postgresIndexesSql(table, schema);
|
|
157
|
+
case 'table-comment': return postgresTableCommentSql(table, schema);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
//# sourceMappingURL=queries.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/dbquery/queries.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SQL safety checks for the db-query subsystem.
|
|
3
|
+
*
|
|
4
|
+
* Single responsibility: take a raw SQL string and either (a) approve it with
|
|
5
|
+
* a normalized form and a final LIMIT, or (b) reject it with a structured
|
|
6
|
+
* SafetyRejectionError. All write operations must be blocked — see spec §3.
|
|
7
|
+
*
|
|
8
|
+
* Layering:
|
|
9
|
+
* 1. strip comments (block comments with nesting, plus -- and # line comments)
|
|
10
|
+
* while preserving string literals (so 'INSERT' still trips detection)
|
|
11
|
+
* 2. multi-statement check (any `;` after stripping → reject)
|
|
12
|
+
* 3. forbidden keyword scan (case-insensitive, word-boundary)
|
|
13
|
+
* 4. LIMIT enforcement (SELECT only; schema queries pass through)
|
|
14
|
+
*/
|
|
15
|
+
import { SafetyRejectionError } from './errors';
|
|
16
|
+
export interface SafetyOk {
|
|
17
|
+
ok: true;
|
|
18
|
+
normalizedSql: string;
|
|
19
|
+
effectiveLimit: number;
|
|
20
|
+
modified: boolean;
|
|
21
|
+
}
|
|
22
|
+
export interface SafetyFail {
|
|
23
|
+
ok: false;
|
|
24
|
+
normalizedSql: string;
|
|
25
|
+
error: SafetyRejectionError;
|
|
26
|
+
}
|
|
27
|
+
export type SafetyResult = SafetyOk | SafetyFail;
|
|
28
|
+
/**
|
|
29
|
+
* Main entry point. Performs all safety checks.
|
|
30
|
+
*
|
|
31
|
+
* Returns SafetyOk if the query is approved, SafetyFail otherwise. Never
|
|
32
|
+
* throws — callers branching on `.ok` get full type narrowing.
|
|
33
|
+
*/
|
|
34
|
+
export declare function checkSafety(rawSql: string, requestedLimit?: number): SafetyResult;
|
|
35
|
+
//# sourceMappingURL=safety.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"safety.d.ts","sourceRoot":"","sources":["../../src/dbquery/safety.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAEhD,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,IAAI,CAAC;IACT,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,KAAK,CAAC;IACV,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,oBAAoB,CAAC;CAC7B;AAED,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,UAAU,CAAC;AA6PjD;;;;;GAKG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,EACd,cAAc,CAAC,EAAE,MAAM,GACtB,YAAY,CA4Cd"}
|
|
@@ -0,0 +1,306 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* SQL safety checks for the db-query subsystem.
|
|
4
|
+
*
|
|
5
|
+
* Single responsibility: take a raw SQL string and either (a) approve it with
|
|
6
|
+
* a normalized form and a final LIMIT, or (b) reject it with a structured
|
|
7
|
+
* SafetyRejectionError. All write operations must be blocked — see spec §3.
|
|
8
|
+
*
|
|
9
|
+
* Layering:
|
|
10
|
+
* 1. strip comments (block comments with nesting, plus -- and # line comments)
|
|
11
|
+
* while preserving string literals (so 'INSERT' still trips detection)
|
|
12
|
+
* 2. multi-statement check (any `;` after stripping → reject)
|
|
13
|
+
* 3. forbidden keyword scan (case-insensitive, word-boundary)
|
|
14
|
+
* 4. LIMIT enforcement (SELECT only; schema queries pass through)
|
|
15
|
+
*/
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.checkSafety = checkSafety;
|
|
18
|
+
const constants_1 = require("./constants");
|
|
19
|
+
const errors_1 = require("./errors");
|
|
20
|
+
/**
|
|
21
|
+
* Strip SQL comments while preserving string literals (so a keyword like
|
|
22
|
+
* 'INSERT' inside a string still trips the keyword scan — defense in depth,
|
|
23
|
+
* spec §3.2 铁律).
|
|
24
|
+
*
|
|
25
|
+
* Comment forms handled:
|
|
26
|
+
* - block: `/* ... *\/` with nesting (MySQL syntax; PG doesn't nest but we
|
|
27
|
+
* handle it conservatively)
|
|
28
|
+
* - line: `-- ...` and `# ...` (MySQL) up to end of line
|
|
29
|
+
*
|
|
30
|
+
* Comments are replaced with single spaces (line/column preservation for
|
|
31
|
+
* error reporting).
|
|
32
|
+
*/
|
|
33
|
+
function stripComments(sql) {
|
|
34
|
+
let out = '';
|
|
35
|
+
let i = 0;
|
|
36
|
+
const n = sql.length;
|
|
37
|
+
let state = 'normal';
|
|
38
|
+
let blockDepth = 0;
|
|
39
|
+
while (i < n) {
|
|
40
|
+
const ch = sql[i];
|
|
41
|
+
const next = sql[i + 1];
|
|
42
|
+
switch (state) {
|
|
43
|
+
case 'normal': {
|
|
44
|
+
if (ch === "'") {
|
|
45
|
+
out += ch;
|
|
46
|
+
state = 'single';
|
|
47
|
+
i++;
|
|
48
|
+
}
|
|
49
|
+
else if (ch === '"') {
|
|
50
|
+
out += ch;
|
|
51
|
+
state = 'double';
|
|
52
|
+
i++;
|
|
53
|
+
}
|
|
54
|
+
else if (ch === '/' && next === '*') {
|
|
55
|
+
out += ' ';
|
|
56
|
+
i += 2;
|
|
57
|
+
state = 'block';
|
|
58
|
+
blockDepth = 1;
|
|
59
|
+
}
|
|
60
|
+
else if (ch === '-' && next === '-') {
|
|
61
|
+
out += ' ';
|
|
62
|
+
i += 2;
|
|
63
|
+
state = 'line';
|
|
64
|
+
}
|
|
65
|
+
else if (ch === '#') {
|
|
66
|
+
out += ' ';
|
|
67
|
+
i++;
|
|
68
|
+
state = 'line';
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
out += ch;
|
|
72
|
+
i++;
|
|
73
|
+
}
|
|
74
|
+
break;
|
|
75
|
+
}
|
|
76
|
+
case 'single': {
|
|
77
|
+
if (ch === "'") {
|
|
78
|
+
// MySQL/PG both escape ' as ''
|
|
79
|
+
if (next === "'") {
|
|
80
|
+
out += "''";
|
|
81
|
+
i += 2;
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
out += ch;
|
|
85
|
+
state = 'normal';
|
|
86
|
+
i++;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
out += ch;
|
|
91
|
+
i++;
|
|
92
|
+
}
|
|
93
|
+
break;
|
|
94
|
+
}
|
|
95
|
+
case 'double': {
|
|
96
|
+
if (ch === '"') {
|
|
97
|
+
out += ch;
|
|
98
|
+
state = 'normal';
|
|
99
|
+
i++;
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
out += ch;
|
|
103
|
+
i++;
|
|
104
|
+
}
|
|
105
|
+
break;
|
|
106
|
+
}
|
|
107
|
+
case 'block': {
|
|
108
|
+
if (ch === '/' && next === '*') {
|
|
109
|
+
// nested — MySQL allows; we count depth
|
|
110
|
+
blockDepth++;
|
|
111
|
+
i += 2;
|
|
112
|
+
}
|
|
113
|
+
else if (ch === '*' && next === '/') {
|
|
114
|
+
blockDepth--;
|
|
115
|
+
i += 2;
|
|
116
|
+
if (blockDepth === 0) {
|
|
117
|
+
state = 'normal';
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
else if (ch === '\n') {
|
|
121
|
+
// preserve newlines so multi-line comments don't collapse lines
|
|
122
|
+
out += '\n';
|
|
123
|
+
i++;
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
i++;
|
|
127
|
+
}
|
|
128
|
+
break;
|
|
129
|
+
}
|
|
130
|
+
case 'line': {
|
|
131
|
+
if (ch === '\n') {
|
|
132
|
+
out += '\n';
|
|
133
|
+
state = 'normal';
|
|
134
|
+
i++;
|
|
135
|
+
}
|
|
136
|
+
else {
|
|
137
|
+
i++;
|
|
138
|
+
}
|
|
139
|
+
break;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
return out;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Find forbidden keywords in the (already comment-stripped) SQL.
|
|
147
|
+
* Case-insensitive, word-boundary matched. Returns matched keywords (deduped).
|
|
148
|
+
*/
|
|
149
|
+
function findForbiddenKeywords(sql) {
|
|
150
|
+
const matched = new Set();
|
|
151
|
+
for (const kw of constants_1.FORBIDDEN_KEYWORDS) {
|
|
152
|
+
// \b boundary handles word edges; case-insensitive.
|
|
153
|
+
// MySQL backtick-quoted identifiers: `INSERT` is a table name, but we
|
|
154
|
+
// still reject it defensively (spec §3.1 last bullet).
|
|
155
|
+
const re = new RegExp(`(^|[^A-Za-z0-9_])${escapeRegex(kw)}(?![A-Za-z0-9_])`, 'i');
|
|
156
|
+
if (re.test(sql)) {
|
|
157
|
+
matched.add(kw);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
return Array.from(matched);
|
|
161
|
+
}
|
|
162
|
+
function escapeRegex(s) {
|
|
163
|
+
return s.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Multi-statement check: any semicolon in the comment-stripped SQL rejects.
|
|
167
|
+
* Single-statement-only is the contract (spec §3.3).
|
|
168
|
+
*
|
|
169
|
+
* Trailing `;` or `; ` also rejected (spec §3.3).
|
|
170
|
+
*/
|
|
171
|
+
function hasMultipleStatements(sql) {
|
|
172
|
+
// Semicolons inside string literals are preserved by stripComments, so they
|
|
173
|
+
// still trigger this — which is correct (a string literal with `;` is rare
|
|
174
|
+
// and the defensive choice is to reject).
|
|
175
|
+
return sql.includes(';');
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Detect whether this query should bypass LIMIT enforcement.
|
|
179
|
+
* Spec §3.4: SHOW / DESCRIBE / EXPLAIN / information_schema.* / pg_catalog.*
|
|
180
|
+
* are schema queries — they return small fixed result sets.
|
|
181
|
+
*
|
|
182
|
+
* Anything that's not a `SELECT` (USE / SET / etc.) also bypasses — drivers
|
|
183
|
+
* will reject most non-SELECT statements anyway, and our keyword blacklist
|
|
184
|
+
* already blocks writes.
|
|
185
|
+
*/
|
|
186
|
+
function isSchemaQuery(sql) {
|
|
187
|
+
const trimmed = sql.trimStart().toUpperCase();
|
|
188
|
+
if (!trimmed.startsWith('SELECT')) {
|
|
189
|
+
return true;
|
|
190
|
+
}
|
|
191
|
+
return informationSchemaQuery(sql);
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* True if this SELECT queries information_schema or pg_catalog — those return
|
|
195
|
+
* small fixed result sets and never need LIMIT forced.
|
|
196
|
+
*/
|
|
197
|
+
function informationSchemaQuery(sql) {
|
|
198
|
+
const lower = sql.toLowerCase();
|
|
199
|
+
return (lower.includes('information_schema') ||
|
|
200
|
+
lower.includes('pg_catalog') ||
|
|
201
|
+
lower.includes('pg_attribute') ||
|
|
202
|
+
lower.includes('pg_class') ||
|
|
203
|
+
lower.includes('pg_index') ||
|
|
204
|
+
lower.includes('pg_indexes') ||
|
|
205
|
+
lower.includes('pg_description') ||
|
|
206
|
+
lower.includes('pg_namespace'));
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Detect and parse existing LIMIT clause. Returns the limit value if present.
|
|
210
|
+
*/
|
|
211
|
+
function detectExistingLimit(sql) {
|
|
212
|
+
// Match `LIMIT <number>` or `limit <number>` near end of query.
|
|
213
|
+
// We don't try to handle OFFSET or subqueries — just a top-level LIMIT.
|
|
214
|
+
const m = sql.match(/\blimit\s+(\d+)\b/i);
|
|
215
|
+
return m && m[1] ? parseInt(m[1], 10) : null;
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Normalize whitespace: collapse runs of whitespace into single spaces,
|
|
219
|
+
* preserving newlines as-is. The output is what's logged + returned in errors.
|
|
220
|
+
*/
|
|
221
|
+
function normalizeWhitespace(sql) {
|
|
222
|
+
return sql
|
|
223
|
+
.split('\n')
|
|
224
|
+
.map(line => line.replace(/[ \t]+/g, ' ').trim())
|
|
225
|
+
.join('\n')
|
|
226
|
+
.trim();
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Wrap or rewrite the SELECT with the final LIMIT.
|
|
230
|
+
*
|
|
231
|
+
* Spec §3.4 matrix:
|
|
232
|
+
* - no LIMIT → append ` LIMIT N` (default 100, or requestedLimit)
|
|
233
|
+
* - LIMIT ≤ cap → unchanged
|
|
234
|
+
* - LIMIT > cap → rewrite down to cap (1000)
|
|
235
|
+
*
|
|
236
|
+
* For schema queries, returns SQL unchanged (no LIMIT added).
|
|
237
|
+
*/
|
|
238
|
+
function enforceLimit(sql, requestedLimit) {
|
|
239
|
+
if (informationSchemaQuery(sql)) {
|
|
240
|
+
return { sql, effectiveLimit: 0, modified: false };
|
|
241
|
+
}
|
|
242
|
+
const existing = detectExistingLimit(sql);
|
|
243
|
+
if (existing !== null) {
|
|
244
|
+
if (existing > constants_1.MAX_LIMIT) {
|
|
245
|
+
const rewritten = sql.replace(new RegExp(`\\blimit\\s+\\d+`, 'i'), `LIMIT ${constants_1.MAX_LIMIT}`);
|
|
246
|
+
return { sql: rewritten, effectiveLimit: constants_1.MAX_LIMIT, modified: true };
|
|
247
|
+
}
|
|
248
|
+
return { sql, effectiveLimit: existing, modified: false };
|
|
249
|
+
}
|
|
250
|
+
// No existing LIMIT — append.
|
|
251
|
+
const finalLimit = requestedLimit !== undefined
|
|
252
|
+
? Math.min(requestedLimit, constants_1.MAX_LIMIT)
|
|
253
|
+
: constants_1.DEFAULT_LIMIT;
|
|
254
|
+
return {
|
|
255
|
+
sql: `${sql.replace(/;\s*$/, '')} LIMIT ${finalLimit}`,
|
|
256
|
+
effectiveLimit: finalLimit,
|
|
257
|
+
modified: true,
|
|
258
|
+
};
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Main entry point. Performs all safety checks.
|
|
262
|
+
*
|
|
263
|
+
* Returns SafetyOk if the query is approved, SafetyFail otherwise. Never
|
|
264
|
+
* throws — callers branching on `.ok` get full type narrowing.
|
|
265
|
+
*/
|
|
266
|
+
function checkSafety(rawSql, requestedLimit) {
|
|
267
|
+
const stripped = stripComments(rawSql);
|
|
268
|
+
const normalizedSql = normalizeWhitespace(stripped);
|
|
269
|
+
// 1. Empty SQL
|
|
270
|
+
if (normalizedSql.length === 0) {
|
|
271
|
+
return {
|
|
272
|
+
ok: false,
|
|
273
|
+
normalizedSql,
|
|
274
|
+
error: new errors_1.SafetyRejectionError(['(empty)'], normalizedSql),
|
|
275
|
+
};
|
|
276
|
+
}
|
|
277
|
+
// 2. Multi-statement
|
|
278
|
+
if (hasMultipleStatements(normalizedSql)) {
|
|
279
|
+
return {
|
|
280
|
+
ok: false,
|
|
281
|
+
normalizedSql,
|
|
282
|
+
error: new errors_1.SafetyRejectionError([';'], normalizedSql),
|
|
283
|
+
};
|
|
284
|
+
}
|
|
285
|
+
// 3. Forbidden keyword scan
|
|
286
|
+
const matched = findForbiddenKeywords(normalizedSql);
|
|
287
|
+
if (matched.length > 0) {
|
|
288
|
+
return {
|
|
289
|
+
ok: false,
|
|
290
|
+
normalizedSql,
|
|
291
|
+
error: new errors_1.SafetyRejectionError(matched, normalizedSql),
|
|
292
|
+
};
|
|
293
|
+
}
|
|
294
|
+
// 4. LIMIT enforcement (skipped for schema queries)
|
|
295
|
+
if (isSchemaQuery(normalizedSql)) {
|
|
296
|
+
return { ok: true, normalizedSql, effectiveLimit: 0, modified: false };
|
|
297
|
+
}
|
|
298
|
+
const limited = enforceLimit(normalizedSql, requestedLimit);
|
|
299
|
+
return {
|
|
300
|
+
ok: true,
|
|
301
|
+
normalizedSql: limited.sql,
|
|
302
|
+
effectiveLimit: limited.effectiveLimit,
|
|
303
|
+
modified: limited.modified,
|
|
304
|
+
};
|
|
305
|
+
}
|
|
306
|
+
//# sourceMappingURL=safety.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"safety.js","sourceRoot":"","sources":["../../src/dbquery/safety.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type definitions for the db-query subsystem.
|
|
3
|
+
*
|
|
4
|
+
* Isolated from codegraph's main `src/types.ts` (NodeKind / EdgeKind) — the
|
|
5
|
+
* db-query subsystem never touches the code graph. See
|
|
6
|
+
* `docs/features/2026-06-26-db-query-integration/spec.md` §0.1.
|
|
7
|
+
*/
|
|
8
|
+
export type DriverKind = 'mysql' | 'postgres';
|
|
9
|
+
export type QueryMode = 'query' | 'tables' | 'ddl' | 'indexes' | 'table-comment' | 'profiles';
|
|
10
|
+
export type QueryStatus = 'ok' | 'safety-rejected' | 'config-error' | 'connection-failed' | 'timeout' | 'driver-error' | 'disabled';
|
|
11
|
+
export interface DBProfile {
|
|
12
|
+
name: string;
|
|
13
|
+
description?: string;
|
|
14
|
+
type: DriverKind;
|
|
15
|
+
host: string;
|
|
16
|
+
port: number;
|
|
17
|
+
user: string;
|
|
18
|
+
password: string;
|
|
19
|
+
database: string;
|
|
20
|
+
/** PostgreSQL only; defaults to 'public'. */
|
|
21
|
+
schema?: string;
|
|
22
|
+
}
|
|
23
|
+
export type ConfigSource = 'env' | 'project-local' | 'user-global';
|
|
24
|
+
export interface ProfilesConfig {
|
|
25
|
+
profiles: DBProfile[];
|
|
26
|
+
defaultProfile: string | null;
|
|
27
|
+
sources: ConfigSource[];
|
|
28
|
+
enabled: boolean;
|
|
29
|
+
}
|
|
30
|
+
export interface ProfileEntry {
|
|
31
|
+
description?: string;
|
|
32
|
+
type: DriverKind;
|
|
33
|
+
host: string;
|
|
34
|
+
port?: number;
|
|
35
|
+
user: string;
|
|
36
|
+
password: string;
|
|
37
|
+
database: string;
|
|
38
|
+
schema?: string;
|
|
39
|
+
}
|
|
40
|
+
export type ProfilesFile = {
|
|
41
|
+
default?: string;
|
|
42
|
+
enabled?: boolean;
|
|
43
|
+
[profile: string]: ProfileEntry | string | boolean | undefined;
|
|
44
|
+
};
|
|
45
|
+
export interface QueryInput {
|
|
46
|
+
sql: string;
|
|
47
|
+
profile?: string;
|
|
48
|
+
limit?: number;
|
|
49
|
+
}
|
|
50
|
+
export interface QueryColumn {
|
|
51
|
+
name: string;
|
|
52
|
+
dataType?: string;
|
|
53
|
+
}
|
|
54
|
+
export interface QueryResult {
|
|
55
|
+
columns: QueryColumn[];
|
|
56
|
+
rows: Record<string, unknown>[];
|
|
57
|
+
rowCount: number;
|
|
58
|
+
truncated: boolean;
|
|
59
|
+
profile: string;
|
|
60
|
+
durationMs: number;
|
|
61
|
+
}
|
|
62
|
+
export interface SchemaInput {
|
|
63
|
+
mode: 'tables' | 'ddl' | 'indexes' | 'table-comment';
|
|
64
|
+
table?: string;
|
|
65
|
+
profile?: string;
|
|
66
|
+
}
|
|
67
|
+
export interface TableSummary {
|
|
68
|
+
name: string;
|
|
69
|
+
comment?: string;
|
|
70
|
+
}
|
|
71
|
+
export interface ColumnDefinition {
|
|
72
|
+
name: string;
|
|
73
|
+
dataType: string;
|
|
74
|
+
nullable: boolean;
|
|
75
|
+
defaultValue?: string;
|
|
76
|
+
comment?: string;
|
|
77
|
+
}
|
|
78
|
+
export interface ConstraintDefinition {
|
|
79
|
+
name: string;
|
|
80
|
+
type: string;
|
|
81
|
+
columns: string[];
|
|
82
|
+
}
|
|
83
|
+
export interface DdlResult {
|
|
84
|
+
table: string;
|
|
85
|
+
columns: ColumnDefinition[];
|
|
86
|
+
primaryKey: string[];
|
|
87
|
+
constraints: ConstraintDefinition[];
|
|
88
|
+
profile: string;
|
|
89
|
+
durationMs: number;
|
|
90
|
+
}
|
|
91
|
+
export interface IndexDefinition {
|
|
92
|
+
name: string;
|
|
93
|
+
columns: string[];
|
|
94
|
+
unique: boolean;
|
|
95
|
+
type?: string;
|
|
96
|
+
}
|
|
97
|
+
export interface IndexesResult {
|
|
98
|
+
table: string;
|
|
99
|
+
indexes: IndexDefinition[];
|
|
100
|
+
profile: string;
|
|
101
|
+
durationMs: number;
|
|
102
|
+
}
|
|
103
|
+
export interface TableCommentResult {
|
|
104
|
+
table: string;
|
|
105
|
+
comment: string | null;
|
|
106
|
+
profile: string;
|
|
107
|
+
durationMs: number;
|
|
108
|
+
}
|
|
109
|
+
export interface TablesResult {
|
|
110
|
+
tables: TableSummary[];
|
|
111
|
+
profile: string;
|
|
112
|
+
durationMs: number;
|
|
113
|
+
}
|
|
114
|
+
export type SchemaResult = TablesResult | DdlResult | IndexesResult | TableCommentResult;
|
|
115
|
+
export interface ProfilesResult {
|
|
116
|
+
profiles: Array<{
|
|
117
|
+
name: string;
|
|
118
|
+
description?: string;
|
|
119
|
+
type: DriverKind;
|
|
120
|
+
host: string;
|
|
121
|
+
port: number;
|
|
122
|
+
database: string;
|
|
123
|
+
hasCredentials: boolean;
|
|
124
|
+
}>;
|
|
125
|
+
defaultProfile: string | null;
|
|
126
|
+
configSources: ConfigSource[];
|
|
127
|
+
enabled: boolean;
|
|
128
|
+
}
|
|
129
|
+
export interface ProfilesInput {
|
|
130
|
+
/** Force a specific project root; otherwise resolved by config layer. */
|
|
131
|
+
projectRoot?: string;
|
|
132
|
+
}
|
|
133
|
+
export interface QueryLogRecord {
|
|
134
|
+
timestamp: string;
|
|
135
|
+
profile: string;
|
|
136
|
+
mode: QueryMode;
|
|
137
|
+
sql?: string;
|
|
138
|
+
durationMs: number;
|
|
139
|
+
rowCount?: number;
|
|
140
|
+
truncated?: boolean;
|
|
141
|
+
status: QueryStatus;
|
|
142
|
+
errorMessage?: string;
|
|
143
|
+
}
|
|
144
|
+
export interface RawResult {
|
|
145
|
+
columns: QueryColumn[];
|
|
146
|
+
rows: Record<string, unknown>[];
|
|
147
|
+
}
|
|
148
|
+
export interface DriverConnection {
|
|
149
|
+
execute(sql: string, timeoutMs: number, params?: unknown[]): Promise<RawResult>;
|
|
150
|
+
close(): Promise<void>;
|
|
151
|
+
}
|
|
152
|
+
//# sourceMappingURL=types.d.ts.map
|