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,190 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* PostToolUse `tool_result_summary` algorithm (spec §4.2).
|
|
4
|
+
*
|
|
5
|
+
* PostToolUse payloads include `tool_response` which can be large (Read of a
|
|
6
|
+
* 5000-line file, Bash with 100KB stdout). We never store the full response —
|
|
7
|
+
* just a per-tool summary capped at RESULT_SUMMARY_MAX_BYTES.
|
|
8
|
+
*
|
|
9
|
+
* B-3 (timeline-data-quality) additions:
|
|
10
|
+
* - TaskUpdate / TaskCreate / TaskGet cases — extract subject/status/taskId
|
|
11
|
+
* so the post event carries usable content instead of an empty payload.
|
|
12
|
+
* - Bash case — detect semantic category (test/build/lint/git_write) and
|
|
13
|
+
* parse pass/fail counts from stdout; fall back to stdout_preview for
|
|
14
|
+
* non-semantic commands.
|
|
15
|
+
*/
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.summarizeToolResponse = summarizeToolResponse;
|
|
18
|
+
const constants_1 = require("./constants");
|
|
19
|
+
const bash_semantics_1 = require("./bash-semantics");
|
|
20
|
+
function looksLikeError(response) {
|
|
21
|
+
if (response === null || typeof response !== 'object')
|
|
22
|
+
return false;
|
|
23
|
+
const r = response;
|
|
24
|
+
if (r.error !== undefined && r.error !== null)
|
|
25
|
+
return true;
|
|
26
|
+
if (typeof r.stderr === 'string' && r.stderr.length > 0) {
|
|
27
|
+
// Bash responses include stderr on success too — only treat as error if
|
|
28
|
+
// there's also a non-zero exit_code or explicit error field.
|
|
29
|
+
if (typeof r.exit_code === 'number' && r.exit_code !== 0)
|
|
30
|
+
return true;
|
|
31
|
+
}
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
function truncate(s) {
|
|
35
|
+
if (s.length <= constants_1.RESULT_SUMMARY_MAX_BYTES)
|
|
36
|
+
return s;
|
|
37
|
+
return s.slice(0, constants_1.RESULT_SUMMARY_MAX_BYTES - constants_1.TRUNCATED_SUFFIX.length) + constants_1.TRUNCATED_SUFFIX;
|
|
38
|
+
}
|
|
39
|
+
/** Per-field cap for the task subject (B-3). */
|
|
40
|
+
const SUBJECT_MAX_CHARS = 200;
|
|
41
|
+
function truncateSubject(s) {
|
|
42
|
+
if (s.length <= SUBJECT_MAX_CHARS)
|
|
43
|
+
return s;
|
|
44
|
+
return s.slice(0, SUBJECT_MAX_CHARS - constants_1.TRUNCATED_SUFFIX.length) + constants_1.TRUNCATED_SUFFIX;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Try to pull a string field from a record at any of the given keys, returning
|
|
48
|
+
* the first string hit. Used when a field's path varies slightly across tool
|
|
49
|
+
* variants (taskId at root vs nested in task{}).
|
|
50
|
+
*/
|
|
51
|
+
function pickString(rec, keys) {
|
|
52
|
+
for (const k of keys) {
|
|
53
|
+
const v = rec[k];
|
|
54
|
+
if (typeof v === 'string' && v.length > 0)
|
|
55
|
+
return v;
|
|
56
|
+
}
|
|
57
|
+
return undefined;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Best-effort extract the Bash command string from the tool_args (preferred)
|
|
61
|
+
* or fall back to a command-shaped field on the tool_response itself.
|
|
62
|
+
*
|
|
63
|
+
* Claude Code's Bash tool_args carries the command at `command`. The tool_response
|
|
64
|
+
* carries stdout / stderr / exit_code but NOT the command, so we prefer toolArgs
|
|
65
|
+
* when the caller passes it; otherwise we scan tool_response for a command-like
|
|
66
|
+
* field (some tool variants echo it back) and return '' when nothing is found.
|
|
67
|
+
*/
|
|
68
|
+
function extractBashCommand(toolResponse, toolArgs) {
|
|
69
|
+
if (toolArgs && typeof toolArgs === 'object') {
|
|
70
|
+
const a = toolArgs;
|
|
71
|
+
if (typeof a.command === 'string')
|
|
72
|
+
return a.command;
|
|
73
|
+
}
|
|
74
|
+
// tool_response sometimes echoes the command (varies by Claude Code version).
|
|
75
|
+
if (typeof toolResponse.command === 'string')
|
|
76
|
+
return toolResponse.command;
|
|
77
|
+
return '';
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Build a per-tool summary object, JSON-stringified by the store.
|
|
81
|
+
* Unknown tools get a generic shape with a small response_preview.
|
|
82
|
+
*
|
|
83
|
+
* @param toolName Claude Code tool name (Read/Write/Bash/TaskUpdate/...)
|
|
84
|
+
* @param toolResponse The `tool_response` payload from Claude Code.
|
|
85
|
+
* @param toolArgs Optional `tool_input` payload — passed by callers that have
|
|
86
|
+
* it (B-3 uses it to find the Bash command string). When omitted, Bash
|
|
87
|
+
* semantic detection degrades gracefully (no command → null → stdout_preview
|
|
88
|
+
* fallback), and Task* tools still work because taskId/subject/status are
|
|
89
|
+
* mirrored onto tool_response by Claude Code. Backwards-compatible: the old
|
|
90
|
+
* two-arg signature still works.
|
|
91
|
+
*/
|
|
92
|
+
function summarizeToolResponse(toolName, toolResponse, toolArgs) {
|
|
93
|
+
const summary = {
|
|
94
|
+
success: !looksLikeError(toolResponse),
|
|
95
|
+
payload: {},
|
|
96
|
+
};
|
|
97
|
+
if (toolResponse === null || typeof toolResponse !== 'object') {
|
|
98
|
+
if (typeof toolResponse === 'string') {
|
|
99
|
+
summary.payload.response_preview = truncate(toolResponse);
|
|
100
|
+
}
|
|
101
|
+
return JSON.stringify(summary);
|
|
102
|
+
}
|
|
103
|
+
const r = toolResponse;
|
|
104
|
+
switch (toolName) {
|
|
105
|
+
case 'Read':
|
|
106
|
+
case 'Write':
|
|
107
|
+
case 'Edit':
|
|
108
|
+
case 'MultiEdit':
|
|
109
|
+
case 'NotebookEdit':
|
|
110
|
+
summary.payload.file = typeof r.file_path === 'string' ? r.file_path : undefined;
|
|
111
|
+
summary.payload.lines_changed = typeof r.lines_changed === 'number' ? r.lines_changed : undefined;
|
|
112
|
+
break;
|
|
113
|
+
case 'TaskUpdate':
|
|
114
|
+
case 'TaskCreate':
|
|
115
|
+
case 'TaskGet': {
|
|
116
|
+
// Field paths verified against real Claude Code events (B-3):
|
|
117
|
+
// TaskUpdate tool_response: { taskId, statusChange:{to}, updatedFields }
|
|
118
|
+
// TaskCreate tool_response: { task:{ id, subject } }
|
|
119
|
+
// TaskGet tool_response: { task:{ id, subject, status } }
|
|
120
|
+
// taskId is at root for TaskUpdate; nested under task{} for Create/Get.
|
|
121
|
+
const nestedTask = r.task && typeof r.task === 'object'
|
|
122
|
+
? r.task
|
|
123
|
+
: null;
|
|
124
|
+
const taskId = pickString(r, ['taskId', 'task_id', 'id'])
|
|
125
|
+
?? (nestedTask ? pickString(nestedTask, ['id', 'taskId', 'task_id']) : undefined);
|
|
126
|
+
const subject = pickString(r, ['subject'])
|
|
127
|
+
?? (nestedTask ? pickString(nestedTask, ['subject']) : undefined);
|
|
128
|
+
// status — TaskUpdate puts it under statusChange.to; TaskGet under task.status.
|
|
129
|
+
const statusChange = r.statusChange && typeof r.statusChange === 'object'
|
|
130
|
+
? r.statusChange
|
|
131
|
+
: null;
|
|
132
|
+
const status = pickString(r, ['status'])
|
|
133
|
+
?? (statusChange ? pickString(statusChange, ['to', 'status']) : undefined)
|
|
134
|
+
?? (nestedTask ? pickString(nestedTask, ['status']) : undefined);
|
|
135
|
+
summary.payload.taskId = taskId;
|
|
136
|
+
summary.payload.subject = subject !== undefined ? truncateSubject(subject) : undefined;
|
|
137
|
+
summary.payload.status = status;
|
|
138
|
+
break;
|
|
139
|
+
}
|
|
140
|
+
case 'Bash': {
|
|
141
|
+
summary.payload.exit_code = typeof r.exit_code === 'number' ? r.exit_code : undefined;
|
|
142
|
+
const command = extractBashCommand(r, toolArgs);
|
|
143
|
+
const stdout = typeof r.stdout === 'string' ? r.stdout : '';
|
|
144
|
+
const semantics = (0, bash_semantics_1.detectBashSemantics)({
|
|
145
|
+
command,
|
|
146
|
+
stdout,
|
|
147
|
+
exit_code: typeof r.exit_code === 'number' ? r.exit_code : undefined,
|
|
148
|
+
});
|
|
149
|
+
if (semantics) {
|
|
150
|
+
summary.payload.category = semantics.category;
|
|
151
|
+
if (semantics.pass !== undefined)
|
|
152
|
+
summary.payload.pass = semantics.pass;
|
|
153
|
+
if (semantics.fail !== undefined)
|
|
154
|
+
summary.payload.fail = semantics.fail;
|
|
155
|
+
if (semantics.duration_ms !== undefined)
|
|
156
|
+
summary.payload.duration_ms = semantics.duration_ms;
|
|
157
|
+
}
|
|
158
|
+
else {
|
|
159
|
+
// Non-semantic command — keep the stdout_preview the old code wrote,
|
|
160
|
+
// so non-test/build/lint/git Bash events don't regress.
|
|
161
|
+
if (typeof r.stdout === 'string')
|
|
162
|
+
summary.payload.stdout_preview = truncate(r.stdout);
|
|
163
|
+
}
|
|
164
|
+
if (typeof r.stderr === 'string')
|
|
165
|
+
summary.payload.stderr_preview = truncate(r.stderr);
|
|
166
|
+
break;
|
|
167
|
+
}
|
|
168
|
+
case 'Task':
|
|
169
|
+
case 'Agent':
|
|
170
|
+
summary.payload.subagent_type = typeof r.subagent_type === 'string' ? r.subagent_type : undefined;
|
|
171
|
+
break;
|
|
172
|
+
case 'WebFetch':
|
|
173
|
+
case 'WebSearch':
|
|
174
|
+
summary.payload.url = typeof r.url === 'string' ? r.url : undefined;
|
|
175
|
+
summary.payload.status = typeof r.status === 'number' ? r.status : undefined;
|
|
176
|
+
break;
|
|
177
|
+
default:
|
|
178
|
+
// Unknown tool — store a small preview of the response if stringifiable.
|
|
179
|
+
try {
|
|
180
|
+
const json = JSON.stringify(r);
|
|
181
|
+
if (json)
|
|
182
|
+
summary.payload.response_preview = truncate(json);
|
|
183
|
+
}
|
|
184
|
+
catch {
|
|
185
|
+
summary.payload.response_preview = '<unserializable>';
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
return JSON.stringify(summary);
|
|
189
|
+
}
|
|
190
|
+
//# sourceMappingURL=post-tool-summary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"post-tool-summary.js","sourceRoot":"","sources":["../../src/timeline/post-tool-summary.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* recordEvent — open the timeline DB and insert one event.
|
|
3
|
+
*
|
|
4
|
+
* This is the function hooks call; it owns the connection lifecycle.
|
|
5
|
+
* On any failure (project not initialized, schema error, DB error) it
|
|
6
|
+
* throws — the hook runner catches and writes stderr + exit 0.
|
|
7
|
+
*
|
|
8
|
+
* B-2 (timeline-data-quality): added an optional `enricher` callback.
|
|
9
|
+
* The enricher runs inside recordEvent, after the store is opened but
|
|
10
|
+
* BEFORE the event is inserted. It receives the live store instance so
|
|
11
|
+
* it can query prior events (e.g. look up the most-recent pre_tool_use
|
|
12
|
+
* to compute duration_ms for a post_tool_use event). The enricher may
|
|
13
|
+
* return a new event object, mutate the event in place, or return void /
|
|
14
|
+
* undefined — in the latter two cases recordEvent falls back to the
|
|
15
|
+
* original event.
|
|
16
|
+
*
|
|
17
|
+
* The enricher is a generic extension point: future enrich-side needs
|
|
18
|
+
* (B-6's stop-event session aggregation, etc.) reuse this same parameter
|
|
19
|
+
* without re-signing recordEvent. Enricher exceptions are NOT caught
|
|
20
|
+
* here — the caller (hook-runner's try/catch) is responsible, so a
|
|
21
|
+
* broken enricher degrades gracefully to "post event still recorded,
|
|
22
|
+
* enriched field null" rather than blocking the hook.
|
|
23
|
+
*/
|
|
24
|
+
import { TimelineStore } from './store';
|
|
25
|
+
import type { TimelineEventInput } from './types';
|
|
26
|
+
/**
|
|
27
|
+
* Enrichment callback invoked inside recordEvent before insert.
|
|
28
|
+
*
|
|
29
|
+
* @param store Live TimelineStore backed by the just-opened connection.
|
|
30
|
+
* @param event The original event the caller passed. May be mutated in
|
|
31
|
+
* place; if a new object is returned, it replaces the event.
|
|
32
|
+
* @returns The enriched event, OR undefined/void to keep the original.
|
|
33
|
+
*/
|
|
34
|
+
export type EventEnricher = (store: TimelineStore, event: TimelineEventInput) => TimelineEventInput | void;
|
|
35
|
+
export declare function recordEvent(projectRoot: string, event: TimelineEventInput, enricher?: EventEnricher): Promise<number>;
|
|
36
|
+
//# sourceMappingURL=recorder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recorder.d.ts","sourceRoot":"","sources":["../../src/timeline/recorder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,GAAG,CAC1B,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,kBAAkB,KACtB,kBAAkB,GAAG,IAAI,CAAC;AAE/B,wBAAsB,WAAW,CAC/B,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,kBAAkB,EACzB,QAAQ,CAAC,EAAE,aAAa,GACvB,OAAO,CAAC,MAAM,CAAC,CAWjB"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* recordEvent — open the timeline DB and insert one event.
|
|
4
|
+
*
|
|
5
|
+
* This is the function hooks call; it owns the connection lifecycle.
|
|
6
|
+
* On any failure (project not initialized, schema error, DB error) it
|
|
7
|
+
* throws — the hook runner catches and writes stderr + exit 0.
|
|
8
|
+
*
|
|
9
|
+
* B-2 (timeline-data-quality): added an optional `enricher` callback.
|
|
10
|
+
* The enricher runs inside recordEvent, after the store is opened but
|
|
11
|
+
* BEFORE the event is inserted. It receives the live store instance so
|
|
12
|
+
* it can query prior events (e.g. look up the most-recent pre_tool_use
|
|
13
|
+
* to compute duration_ms for a post_tool_use event). The enricher may
|
|
14
|
+
* return a new event object, mutate the event in place, or return void /
|
|
15
|
+
* undefined — in the latter two cases recordEvent falls back to the
|
|
16
|
+
* original event.
|
|
17
|
+
*
|
|
18
|
+
* The enricher is a generic extension point: future enrich-side needs
|
|
19
|
+
* (B-6's stop-event session aggregation, etc.) reuse this same parameter
|
|
20
|
+
* without re-signing recordEvent. Enricher exceptions are NOT caught
|
|
21
|
+
* here — the caller (hook-runner's try/catch) is responsible, so a
|
|
22
|
+
* broken enricher degrades gracefully to "post event still recorded,
|
|
23
|
+
* enriched field null" rather than blocking the hook.
|
|
24
|
+
*/
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.recordEvent = recordEvent;
|
|
27
|
+
const schema_bootstrap_1 = require("./schema-bootstrap");
|
|
28
|
+
const store_1 = require("./store");
|
|
29
|
+
async function recordEvent(projectRoot, event, enricher) {
|
|
30
|
+
const connection = (0, schema_bootstrap_1.openTimelineDb)(projectRoot);
|
|
31
|
+
try {
|
|
32
|
+
const store = new store_1.TimelineStore(connection.getDb());
|
|
33
|
+
// Apply enricher if present. `enricher(...) ?? event` covers both
|
|
34
|
+
// "returned undefined" and "returned void" — fall back to the original.
|
|
35
|
+
const enriched = enricher ? (enricher(store, event) ?? event) : event;
|
|
36
|
+
return store.insert(enriched);
|
|
37
|
+
}
|
|
38
|
+
finally {
|
|
39
|
+
connection.close();
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=recorder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recorder.js","sourceRoot":"","sources":["../../src/timeline/recorder.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;;AAmBH,kCAeC;AAhCD,yDAAoD;AACpD,mCAAwC;AAgBjC,KAAK,UAAU,WAAW,CAC/B,WAAmB,EACnB,KAAyB,EACzB,QAAwB;IAExB,MAAM,UAAU,GAAG,IAAA,iCAAc,EAAC,WAAW,CAAC,CAAC;IAC/C,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,qBAAa,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;QACpD,kEAAkE;QAClE,wEAAwE;QACxE,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACtE,OAAO,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;YAAS,CAAC;QACT,UAAU,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Timeline subsystem schema bootstrap.
|
|
3
|
+
*
|
|
4
|
+
* Pattern mirrors src/markdown/schema-bootstrap.ts:
|
|
5
|
+
* 1. Read `schema.sql` shipped alongside the compiled JS.
|
|
6
|
+
* 2. Apply it (idempotent — every statement uses IF NOT EXISTS).
|
|
7
|
+
* 3. Track applied version in `timeline_schema_versions`.
|
|
8
|
+
*
|
|
9
|
+
* The shared `.cgraphx/cgraphx.db` file is reused (no separate DB file),
|
|
10
|
+
* but tables are strictly isolated by the `timeline_` prefix and never read
|
|
11
|
+
* or written by codegraph's main code-graph layer.
|
|
12
|
+
*/
|
|
13
|
+
import { DatabaseConnection, type SqliteDatabase } from '../db';
|
|
14
|
+
import { TIMELINE_SCHEMA_VERSION } from './constants';
|
|
15
|
+
/** Read the recorded timeline schema version from the DB, or 0 if none. */
|
|
16
|
+
export declare function getCurrentTimelineSchemaVersion(db: SqliteDatabase): number;
|
|
17
|
+
/**
|
|
18
|
+
* Apply the timeline schema to an open DB handle.
|
|
19
|
+
*
|
|
20
|
+
* Idempotent: safe to call on every hook trigger. The SQL is composed entirely
|
|
21
|
+
* of `CREATE ... IF NOT EXISTS` + a single version-row `INSERT OR IGNORE`.
|
|
22
|
+
*
|
|
23
|
+
* @throws TimelineSchemaError if a recorded version is *newer* than what this
|
|
24
|
+
* build supports (would happen when a newer cgraphx wrote the schema and
|
|
25
|
+
* an older one tried to read it).
|
|
26
|
+
*/
|
|
27
|
+
export declare function ensureTimelineSchema(db: SqliteDatabase): void;
|
|
28
|
+
/**
|
|
29
|
+
* Open the shared cgraphx DB for timeline-subsystem use and ensure the
|
|
30
|
+
* timeline schema is applied.
|
|
31
|
+
*
|
|
32
|
+
* Re-uses `DatabaseConnection.open` so WAL / busy_timeout from the main DB
|
|
33
|
+
* layer apply. The returned connection is the caller's responsibility — close
|
|
34
|
+
* it when done with `connection.close()`.
|
|
35
|
+
*
|
|
36
|
+
* @throws TimelineSchemaError if `<projectRoot>/.cgraphx/cgraphx.db` does
|
|
37
|
+
* not exist (project not initialized) — the caller (hook layer) catches
|
|
38
|
+
* and exits 0 so Claude is never blocked.
|
|
39
|
+
*/
|
|
40
|
+
export declare function openTimelineDb(projectRoot: string): DatabaseConnection;
|
|
41
|
+
export { TIMELINE_SCHEMA_VERSION };
|
|
42
|
+
//# sourceMappingURL=schema-bootstrap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-bootstrap.d.ts","sourceRoot":"","sources":["../../src/timeline/schema-bootstrap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,EACL,kBAAkB,EAElB,KAAK,cAAc,EACpB,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAOtD,2EAA2E;AAC3E,wBAAgB,+BAA+B,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM,CAO1E;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,cAAc,GAAG,IAAI,CAa7D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,kBAAkB,CActE;AAED,OAAO,EAAE,uBAAuB,EAAE,CAAC"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Timeline subsystem schema bootstrap.
|
|
4
|
+
*
|
|
5
|
+
* Pattern mirrors src/markdown/schema-bootstrap.ts:
|
|
6
|
+
* 1. Read `schema.sql` shipped alongside the compiled JS.
|
|
7
|
+
* 2. Apply it (idempotent — every statement uses IF NOT EXISTS).
|
|
8
|
+
* 3. Track applied version in `timeline_schema_versions`.
|
|
9
|
+
*
|
|
10
|
+
* The shared `.cgraphx/cgraphx.db` file is reused (no separate DB file),
|
|
11
|
+
* but tables are strictly isolated by the `timeline_` prefix and never read
|
|
12
|
+
* or written by codegraph's main code-graph layer.
|
|
13
|
+
*/
|
|
14
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
15
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
16
|
+
};
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.TIMELINE_SCHEMA_VERSION = void 0;
|
|
19
|
+
exports.getCurrentTimelineSchemaVersion = getCurrentTimelineSchemaVersion;
|
|
20
|
+
exports.ensureTimelineSchema = ensureTimelineSchema;
|
|
21
|
+
exports.openTimelineDb = openTimelineDb;
|
|
22
|
+
const node_fs_1 = __importDefault(require("node:fs"));
|
|
23
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
24
|
+
const db_1 = require("../db");
|
|
25
|
+
const errors_1 = require("./errors");
|
|
26
|
+
const constants_1 = require("./constants");
|
|
27
|
+
Object.defineProperty(exports, "TIMELINE_SCHEMA_VERSION", { enumerable: true, get: function () { return constants_1.TIMELINE_SCHEMA_VERSION; } });
|
|
28
|
+
/** Resolve schema.sql path — works in both dist/ and src/ layouts. */
|
|
29
|
+
function resolveSchemaPath() {
|
|
30
|
+
return node_path_1.default.join(__dirname, 'schema.sql');
|
|
31
|
+
}
|
|
32
|
+
/** Read the recorded timeline schema version from the DB, or 0 if none. */
|
|
33
|
+
function getCurrentTimelineSchemaVersion(db) {
|
|
34
|
+
const row = db
|
|
35
|
+
.prepare('SELECT version FROM timeline_schema_versions ORDER BY version DESC LIMIT 1')
|
|
36
|
+
.get();
|
|
37
|
+
return row?.version ?? 0;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Apply the timeline schema to an open DB handle.
|
|
41
|
+
*
|
|
42
|
+
* Idempotent: safe to call on every hook trigger. The SQL is composed entirely
|
|
43
|
+
* of `CREATE ... IF NOT EXISTS` + a single version-row `INSERT OR IGNORE`.
|
|
44
|
+
*
|
|
45
|
+
* @throws TimelineSchemaError if a recorded version is *newer* than what this
|
|
46
|
+
* build supports (would happen when a newer cgraphx wrote the schema and
|
|
47
|
+
* an older one tried to read it).
|
|
48
|
+
*/
|
|
49
|
+
function ensureTimelineSchema(db) {
|
|
50
|
+
const schemaPath = resolveSchemaPath();
|
|
51
|
+
const sql = node_fs_1.default.readFileSync(schemaPath, 'utf-8');
|
|
52
|
+
db.exec(sql);
|
|
53
|
+
const current = getCurrentTimelineSchemaVersion(db);
|
|
54
|
+
if (current > constants_1.TIMELINE_SCHEMA_VERSION) {
|
|
55
|
+
throw new errors_1.TimelineSchemaError(`Timeline schema version ${current} is newer than this build supports ` +
|
|
56
|
+
`(${constants_1.TIMELINE_SCHEMA_VERSION}). Upgrade cgraphx.`, { current, supported: constants_1.TIMELINE_SCHEMA_VERSION });
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Open the shared cgraphx DB for timeline-subsystem use and ensure the
|
|
61
|
+
* timeline schema is applied.
|
|
62
|
+
*
|
|
63
|
+
* Re-uses `DatabaseConnection.open` so WAL / busy_timeout from the main DB
|
|
64
|
+
* layer apply. The returned connection is the caller's responsibility — close
|
|
65
|
+
* it when done with `connection.close()`.
|
|
66
|
+
*
|
|
67
|
+
* @throws TimelineSchemaError if `<projectRoot>/.cgraphx/cgraphx.db` does
|
|
68
|
+
* not exist (project not initialized) — the caller (hook layer) catches
|
|
69
|
+
* and exits 0 so Claude is never blocked.
|
|
70
|
+
*/
|
|
71
|
+
function openTimelineDb(projectRoot) {
|
|
72
|
+
const resolved = node_path_1.default.resolve(projectRoot);
|
|
73
|
+
const dbPath = (0, db_1.getDatabasePath)(resolved);
|
|
74
|
+
if (!node_fs_1.default.existsSync(dbPath)) {
|
|
75
|
+
throw new errors_1.TimelineSchemaError(`Cgraphx not initialized at ${resolved} — run \`cgraphx init\` first.`, { projectRoot: resolved });
|
|
76
|
+
}
|
|
77
|
+
const connection = db_1.DatabaseConnection.open(dbPath);
|
|
78
|
+
ensureTimelineSchema(connection.getDb());
|
|
79
|
+
return connection;
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=schema-bootstrap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-bootstrap.js","sourceRoot":"","sources":["../../src/timeline/schema-bootstrap.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;;;;AAmBH,0EAOC;AAYD,oDAaC;AAcD,wCAcC;AA7ED,sDAAyB;AACzB,0DAA6B;AAE7B,8BAIe;AACf,qCAA+C;AAC/C,2CAAsD;AAsE7C,wGAtEA,mCAAuB,OAsEA;AApEhC,sEAAsE;AACtE,SAAS,iBAAiB;IACxB,OAAO,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;AAC5C,CAAC;AAED,2EAA2E;AAC3E,SAAgB,+BAA+B,CAAC,EAAkB;IAChE,MAAM,GAAG,GAAG,EAAE;SACX,OAAO,CACN,4EAA4E,CAC7E;SACA,GAAG,EAAqC,CAAC;IAC5C,OAAO,GAAG,EAAE,OAAO,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,oBAAoB,CAAC,EAAkB;IACrD,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;IACvC,MAAM,GAAG,GAAG,iBAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACjD,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEb,MAAM,OAAO,GAAG,+BAA+B,CAAC,EAAE,CAAC,CAAC;IACpD,IAAI,OAAO,GAAG,mCAAuB,EAAE,CAAC;QACtC,MAAM,IAAI,4BAAmB,CAC3B,2BAA2B,OAAO,qCAAqC;YACrE,IAAI,mCAAuB,qBAAqB,EAClD,EAAE,OAAO,EAAE,SAAS,EAAE,mCAAuB,EAAE,CAChD,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAgB,cAAc,CAAC,WAAmB;IAChD,MAAM,QAAQ,GAAG,mBAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,IAAA,oBAAe,EAAC,QAAQ,CAAC,CAAC;IAEzC,IAAI,CAAC,iBAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,4BAAmB,CAC3B,8BAA8B,QAAQ,gCAAgC,EACtE,EAAE,WAAW,EAAE,QAAQ,EAAE,CAC1B,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,uBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnD,oBAAoB,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;IACzC,OAAO,UAAU,CAAC;AACpB,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
-- Developer Timeline schema (independent of cgraphx main schema_versions).
|
|
2
|
+
-- Spec §2.1.
|
|
3
|
+
|
|
4
|
+
CREATE TABLE IF NOT EXISTS timeline_schema_versions (
|
|
5
|
+
version INTEGER PRIMARY KEY,
|
|
6
|
+
applied_at INTEGER NOT NULL,
|
|
7
|
+
description TEXT
|
|
8
|
+
);
|
|
9
|
+
|
|
10
|
+
INSERT OR IGNORE INTO timeline_schema_versions (version, applied_at, description)
|
|
11
|
+
VALUES (1, strftime('%s', 'now') * 1000, 'Initial timeline schema');
|
|
12
|
+
|
|
13
|
+
CREATE TABLE IF NOT EXISTS timeline_events (
|
|
14
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
15
|
+
ts TEXT NOT NULL,
|
|
16
|
+
session_id TEXT,
|
|
17
|
+
event_type TEXT NOT NULL,
|
|
18
|
+
tool_name TEXT,
|
|
19
|
+
tool_args TEXT,
|
|
20
|
+
tool_result_summary TEXT,
|
|
21
|
+
prompt_text TEXT,
|
|
22
|
+
duration_ms INTEGER,
|
|
23
|
+
commit_hash TEXT,
|
|
24
|
+
commit_message TEXT,
|
|
25
|
+
commit_files TEXT,
|
|
26
|
+
cwd TEXT NOT NULL,
|
|
27
|
+
metadata TEXT,
|
|
28
|
+
turn_id TEXT,
|
|
29
|
+
commit_insertions INTEGER,
|
|
30
|
+
commit_deletions INTEGER
|
|
31
|
+
);
|
|
32
|
+
|
|
33
|
+
CREATE INDEX IF NOT EXISTS timeline_events_ts_idx ON timeline_events(ts);
|
|
34
|
+
CREATE INDEX IF NOT EXISTS timeline_events_type_idx ON timeline_events(event_type);
|
|
35
|
+
CREATE INDEX IF NOT EXISTS timeline_events_tool_name_idx ON timeline_events(tool_name);
|
|
36
|
+
CREATE INDEX IF NOT EXISTS timeline_events_session_idx ON timeline_events(session_id);
|
|
37
|
+
CREATE INDEX IF NOT EXISTS idx_timeline_turn_id ON timeline_events(turn_id);
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TimelineStore — low-level persistence for the timeline subsystem.
|
|
3
|
+
*
|
|
4
|
+
* Spec §2 (data model) + §3 (event recording) + §5 (query).
|
|
5
|
+
*
|
|
6
|
+
* Wraps a single SqliteDatabase (the shared .cgraphx/cgraphx.db) and
|
|
7
|
+
* touches only `timeline_*` tables. The DB handle is owned by the caller
|
|
8
|
+
* (hook entry or CLI) and closed when the caller is done.
|
|
9
|
+
*
|
|
10
|
+
* Field-size caps (spec §2.3) are applied here so callers can pass arbitrary
|
|
11
|
+
* payloads without worrying about DB bloat.
|
|
12
|
+
*/
|
|
13
|
+
import type { SqliteDatabase } from '../db';
|
|
14
|
+
import { type TimelineEvent, type TimelineEventInput, type TimelineQueryFilter, type TimelineStats } from './types';
|
|
15
|
+
/**
|
|
16
|
+
* Resolve a relative-or-absolute time string to an ISO 8601 UTC timestamp.
|
|
17
|
+
*
|
|
18
|
+
* Inputs:
|
|
19
|
+
* - ISO 8601 absolute: '2026-06-01' / '2026-06-01T00:00:00Z'
|
|
20
|
+
* - Relative: '7d' / '12h' / '30m' / 'now'
|
|
21
|
+
*
|
|
22
|
+
* Returns null if input is empty/invalid (caller treats null as "no filter").
|
|
23
|
+
*/
|
|
24
|
+
export declare function resolveTimeBound(input: string | undefined, defaultToNow?: boolean): string | null;
|
|
25
|
+
export declare class TimelineStore {
|
|
26
|
+
private readonly db;
|
|
27
|
+
constructor(db: SqliteDatabase);
|
|
28
|
+
insert(input: TimelineEventInput): number;
|
|
29
|
+
query(filter: TimelineQueryFilter): TimelineEvent[];
|
|
30
|
+
getById(id: number): TimelineEvent | null;
|
|
31
|
+
/**
|
|
32
|
+
* Find the most recent pre_tool_use event matching the given filter.
|
|
33
|
+
*
|
|
34
|
+
* Used by B-2's duration_ms enricher to compute post.ts - pre.ts for
|
|
35
|
+
* write-tool post events within a turn. Filters on turn_id + tool_name +
|
|
36
|
+
* session_id; session_id null is matched via `IS NULL` (the schema allows
|
|
37
|
+
* NULL session_id for events Claude Code couldn't attribute to a session).
|
|
38
|
+
*
|
|
39
|
+
* Uses idx_timeline_turn_id (turn_id index) plus the ORDER BY ts DESC
|
|
40
|
+
* LIMIT 1 pattern to keep the lookup sub-millisecond at scale.
|
|
41
|
+
*
|
|
42
|
+
* @returns the matching event, or null if none exists.
|
|
43
|
+
*/
|
|
44
|
+
getMostRecentPre(filter: {
|
|
45
|
+
turn_id: string;
|
|
46
|
+
tool_name: string;
|
|
47
|
+
session_id: string | null;
|
|
48
|
+
}): TimelineEvent | null;
|
|
49
|
+
/**
|
|
50
|
+
* Aggregate stats for a single session (B-6).
|
|
51
|
+
*
|
|
52
|
+
* Used by the stop-hook enricher to summarize the session at its end:
|
|
53
|
+
* total event count, first event ts, last user_prompt text preview, and
|
|
54
|
+
* the duration from the first event to the last user_prompt. Two SELECTs
|
|
55
|
+
* (one aggregate, one for the prompt text) keep this sub-millisecond on
|
|
56
|
+
* the stop hook's 50ms budget.
|
|
57
|
+
*
|
|
58
|
+
* @returns counts and timestamps; null fields when the session has no
|
|
59
|
+
* events or no user_prompt events.
|
|
60
|
+
*/
|
|
61
|
+
getSessionStats(session_id: string): {
|
|
62
|
+
event_count: number;
|
|
63
|
+
first_ts: string | null;
|
|
64
|
+
last_user_prompt: string | null;
|
|
65
|
+
duration_ms: number | null;
|
|
66
|
+
};
|
|
67
|
+
stats(filter: TimelineQueryFilter): TimelineStats;
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/timeline/store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAa5C,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,aAAa,EACnB,MAAM,SAAS,CAAC;AA6BjB;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,YAAY,UAAQ,GAAG,MAAM,GAAG,IAAI,CAqB/F;AAuDD,qBAAa,aAAa;IACZ,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,cAAc;IAE/C,MAAM,CAAC,KAAK,EAAE,kBAAkB,GAAG,MAAM;IAoEzC,KAAK,CAAC,MAAM,EAAE,mBAAmB,GAAG,aAAa,EAAE;IAmCnD,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI;IAazC;;;;;;;;;;;;OAYG;IACH,gBAAgB,CAAC,MAAM,EAAE;QACvB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;KAC3B,GAAG,aAAa,GAAG,IAAI;IAqBxB;;;;;;;;;;;OAWG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG;QACnC,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;QAChC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;KAC5B;IAiCD,KAAK,CAAC,MAAM,EAAE,mBAAmB,GAAG,aAAa;CA0HlD"}
|