trail-code 0.0.0-stage → 0.28.0-semantic.3
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 +567 -2
- package/dist/ai/crux.d.ts +88 -0
- package/dist/ai/crux.d.ts.map +1 -0
- package/dist/ai/crux.js +219 -0
- package/dist/ai/crux.js.map +1 -0
- package/dist/ai/failure.d.ts +60 -0
- package/dist/ai/failure.d.ts.map +1 -0
- package/dist/ai/failure.js +86 -0
- package/dist/ai/failure.js.map +1 -0
- package/dist/ai/llm/anthropic.d.ts +37 -0
- package/dist/ai/llm/anthropic.d.ts.map +1 -0
- package/dist/ai/llm/anthropic.js +144 -0
- package/dist/ai/llm/anthropic.js.map +1 -0
- package/dist/ai/llm/factory.d.ts +28 -0
- package/dist/ai/llm/factory.d.ts.map +1 -0
- package/dist/ai/llm/factory.js +36 -0
- package/dist/ai/llm/factory.js.map +1 -0
- package/dist/ai/llm/litellm.d.ts +34 -0
- package/dist/ai/llm/litellm.d.ts.map +1 -0
- package/dist/ai/llm/litellm.js +45 -0
- package/dist/ai/llm/litellm.js.map +1 -0
- package/dist/ai/llm/openai.d.ts +145 -0
- package/dist/ai/llm/openai.d.ts.map +1 -0
- package/dist/ai/llm/openai.js +629 -0
- package/dist/ai/llm/openai.js.map +1 -0
- package/dist/ai/llm/orcarouter.d.ts +34 -0
- package/dist/ai/llm/orcarouter.d.ts.map +1 -0
- package/dist/ai/llm/orcarouter.js +45 -0
- package/dist/ai/llm/orcarouter.js.map +1 -0
- package/dist/ai/llm/recover-tool.d.ts +21 -0
- package/dist/ai/llm/recover-tool.d.ts.map +1 -0
- package/dist/ai/llm/recover-tool.js +109 -0
- package/dist/ai/llm/recover-tool.js.map +1 -0
- package/dist/ai/llm/types.d.ts +122 -0
- package/dist/ai/llm/types.d.ts.map +1 -0
- package/dist/ai/llm/types.js +33 -0
- package/dist/ai/llm/types.js.map +1 -0
- package/dist/ai/providers.d.ts +59 -0
- package/dist/ai/providers.d.ts.map +1 -0
- package/dist/ai/providers.js +54 -0
- package/dist/ai/providers.js.map +1 -0
- package/dist/ai/summarize.d.ts +25 -0
- package/dist/ai/summarize.d.ts.map +1 -0
- package/dist/ai/summarize.js +34 -0
- package/dist/ai/summarize.js.map +1 -0
- package/dist/ai/synthesize.d.ts +40 -0
- package/dist/ai/synthesize.d.ts.map +1 -0
- package/dist/ai/synthesize.js +230 -0
- package/dist/ai/synthesize.js.map +1 -0
- package/dist/ask/ask.d.ts +199 -0
- package/dist/ask/ask.d.ts.map +1 -0
- package/dist/ask/ask.js +1291 -0
- package/dist/ask/ask.js.map +1 -0
- package/dist/ask/file-rank.d.ts +72 -0
- package/dist/ask/file-rank.d.ts.map +1 -0
- package/dist/ask/file-rank.js +160 -0
- package/dist/ask/file-rank.js.map +1 -0
- package/dist/ask/file-selection.d.ts +22 -0
- package/dist/ask/file-selection.d.ts.map +1 -0
- package/dist/ask/file-selection.js +66 -0
- package/dist/ask/file-selection.js.map +1 -0
- package/dist/ask/fuse.d.ts +195 -0
- package/dist/ask/fuse.d.ts.map +1 -0
- package/dist/ask/fuse.js +344 -0
- package/dist/ask/fuse.js.map +1 -0
- package/dist/ask/graphrank.d.ts +61 -0
- package/dist/ask/graphrank.d.ts.map +1 -0
- package/dist/ask/graphrank.js +130 -0
- package/dist/ask/graphrank.js.map +1 -0
- package/dist/ask/index-file.d.ts +44 -0
- package/dist/ask/index-file.d.ts.map +1 -0
- package/dist/ask/index-file.js +128 -0
- package/dist/ask/index-file.js.map +1 -0
- package/dist/ask/semantic.d.ts +42 -0
- package/dist/ask/semantic.d.ts.map +1 -0
- package/dist/ask/semantic.js +293 -0
- package/dist/ask/semantic.js.map +1 -0
- package/dist/bin/graft.d.ts +3 -0
- package/dist/bin/graft.d.ts.map +1 -0
- package/dist/bin/graft.js +14 -0
- package/dist/bin/graft.js.map +1 -0
- package/dist/bin/trail.d.ts +3 -0
- package/dist/bin/trail.d.ts.map +1 -0
- package/dist/bin/trail.js +13 -0
- package/dist/bin/trail.js.map +1 -0
- package/dist/blast/blast-cli.d.ts +35 -0
- package/dist/blast/blast-cli.d.ts.map +1 -0
- package/dist/blast/blast-cli.js +155 -0
- package/dist/blast/blast-cli.js.map +1 -0
- package/dist/blast/blast.d.ts +128 -0
- package/dist/blast/blast.d.ts.map +1 -0
- package/dist/blast/blast.js +383 -0
- package/dist/blast/blast.js.map +1 -0
- package/dist/blast/diff.d.ts +53 -0
- package/dist/blast/diff.d.ts.map +1 -0
- package/dist/blast/diff.js +193 -0
- package/dist/blast/diff.js.map +1 -0
- package/dist/blast/evidence.d.ts +51 -0
- package/dist/blast/evidence.d.ts.map +1 -0
- package/dist/blast/evidence.js +162 -0
- package/dist/blast/evidence.js.map +1 -0
- package/dist/blast/modules.d.ts +33 -0
- package/dist/blast/modules.d.ts.map +1 -0
- package/dist/blast/modules.js +83 -0
- package/dist/blast/modules.js.map +1 -0
- package/dist/blast/name.d.ts +74 -0
- package/dist/blast/name.d.ts.map +1 -0
- package/dist/blast/name.js +269 -0
- package/dist/blast/name.js.map +1 -0
- package/dist/blast/owners.d.ts +85 -0
- package/dist/blast/owners.d.ts.map +1 -0
- package/dist/blast/owners.js +272 -0
- package/dist/blast/owners.js.map +1 -0
- package/dist/blast/render.d.ts +46 -0
- package/dist/blast/render.d.ts.map +1 -0
- package/dist/blast/render.js +422 -0
- package/dist/blast/render.js.map +1 -0
- package/dist/blast/viz.d.ts +37 -0
- package/dist/blast/viz.d.ts.map +1 -0
- package/dist/blast/viz.js +180 -0
- package/dist/blast/viz.js.map +1 -0
- package/dist/brand.d.ts +111 -0
- package/dist/brand.d.ts.map +1 -0
- package/dist/brand.js +282 -0
- package/dist/brand.js.map +1 -0
- package/dist/claude/build-progress.d.ts +30 -0
- package/dist/claude/build-progress.d.ts.map +1 -0
- package/dist/claude/build-progress.js +81 -0
- package/dist/claude/build-progress.js.map +1 -0
- package/dist/claude/hermes-skill-template.d.ts +16 -0
- package/dist/claude/hermes-skill-template.d.ts.map +1 -0
- package/dist/claude/hermes-skill-template.js +154 -0
- package/dist/claude/hermes-skill-template.js.map +1 -0
- package/dist/claude/init.d.ts +65 -0
- package/dist/claude/init.d.ts.map +1 -0
- package/dist/claude/init.js +258 -0
- package/dist/claude/init.js.map +1 -0
- package/dist/claude/paths.d.ts +9 -0
- package/dist/claude/paths.d.ts.map +1 -0
- package/dist/claude/paths.js +22 -0
- package/dist/claude/paths.js.map +1 -0
- package/dist/claude/session-metrics.d.ts +73 -0
- package/dist/claude/session-metrics.d.ts.map +1 -0
- package/dist/claude/session-metrics.js +209 -0
- package/dist/claude/session-metrics.js.map +1 -0
- package/dist/claude/settings-merge.d.ts +76 -0
- package/dist/claude/settings-merge.d.ts.map +1 -0
- package/dist/claude/settings-merge.js +283 -0
- package/dist/claude/settings-merge.js.map +1 -0
- package/dist/claude/skill-template.d.ts +13 -0
- package/dist/claude/skill-template.d.ts.map +1 -0
- package/dist/claude/skill-template.js +290 -0
- package/dist/claude/skill-template.js.map +1 -0
- package/dist/claude/state.d.ts +85 -0
- package/dist/claude/state.d.ts.map +1 -0
- package/dist/claude/state.js +88 -0
- package/dist/claude/state.js.map +1 -0
- package/dist/claude/stats.d.ts +5 -0
- package/dist/claude/stats.d.ts.map +1 -0
- package/dist/claude/stats.js +24 -0
- package/dist/claude/stats.js.map +1 -0
- package/dist/cli-epilogue.d.ts +12 -0
- package/dist/cli-epilogue.d.ts.map +1 -0
- package/dist/cli-epilogue.js +72 -0
- package/dist/cli-epilogue.js.map +1 -0
- package/dist/cli-meta.d.ts +82 -0
- package/dist/cli-meta.d.ts.map +1 -0
- package/dist/cli-meta.js +238 -0
- package/dist/cli-meta.js.map +1 -0
- package/dist/cli-picker.d.ts +139 -0
- package/dist/cli-picker.d.ts.map +1 -0
- package/dist/cli-picker.js +439 -0
- package/dist/cli-picker.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +1638 -0
- package/dist/cli.js.map +1 -0
- package/dist/context/batches.d.ts +29 -0
- package/dist/context/batches.d.ts.map +1 -0
- package/dist/context/batches.js +130 -0
- package/dist/context/batches.js.map +1 -0
- package/dist/context/build.d.ts +57 -0
- package/dist/context/build.d.ts.map +1 -0
- package/dist/context/build.js +396 -0
- package/dist/context/build.js.map +1 -0
- package/dist/context/check.d.ts +42 -0
- package/dist/context/check.d.ts.map +1 -0
- package/dist/context/check.js +162 -0
- package/dist/context/check.js.map +1 -0
- package/dist/context/map-dir.d.ts +13 -0
- package/dist/context/map-dir.d.ts.map +1 -0
- package/dist/context/map-dir.js +81 -0
- package/dist/context/map-dir.js.map +1 -0
- package/dist/context/node-file.d.ts +109 -0
- package/dist/context/node-file.d.ts.map +1 -0
- package/dist/context/node-file.js +390 -0
- package/dist/context/node-file.js.map +1 -0
- package/dist/context/price.d.ts +49 -0
- package/dist/context/price.d.ts.map +1 -0
- package/dist/context/price.js +83 -0
- package/dist/context/price.js.map +1 -0
- package/dist/context/savings.d.ts +67 -0
- package/dist/context/savings.d.ts.map +1 -0
- package/dist/context/savings.js +125 -0
- package/dist/context/savings.js.map +1 -0
- package/dist/engine.d.ts +85 -0
- package/dist/engine.d.ts.map +1 -0
- package/dist/engine.js +122 -0
- package/dist/engine.js.map +1 -0
- package/dist/graph/bindings.d.ts +64 -0
- package/dist/graph/bindings.d.ts.map +1 -0
- package/dist/graph/bindings.js +713 -0
- package/dist/graph/bindings.js.map +1 -0
- package/dist/graph/build-run.d.ts +25 -0
- package/dist/graph/build-run.d.ts.map +1 -0
- package/dist/graph/build-run.js +121 -0
- package/dist/graph/build-run.js.map +1 -0
- package/dist/graph/build.d.ts +88 -0
- package/dist/graph/build.d.ts.map +1 -0
- package/dist/graph/build.js +386 -0
- package/dist/graph/build.js.map +1 -0
- package/dist/graph/cards.d.ts +46 -0
- package/dist/graph/cards.d.ts.map +1 -0
- package/dist/graph/cards.js +280 -0
- package/dist/graph/cards.js.map +1 -0
- package/dist/graph/check.d.ts +25 -0
- package/dist/graph/check.d.ts.map +1 -0
- package/dist/graph/check.js +192 -0
- package/dist/graph/check.js.map +1 -0
- package/dist/graph/container.d.ts +63 -0
- package/dist/graph/container.d.ts.map +1 -0
- package/dist/graph/container.js +191 -0
- package/dist/graph/container.js.map +1 -0
- package/dist/graph/depth-parser.d.ts +61 -0
- package/dist/graph/depth-parser.d.ts.map +1 -0
- package/dist/graph/depth-parser.js +153 -0
- package/dist/graph/depth-parser.js.map +1 -0
- package/dist/graph/enrich.d.ts +62 -0
- package/dist/graph/enrich.d.ts.map +1 -0
- package/dist/graph/enrich.js +258 -0
- package/dist/graph/enrich.js.map +1 -0
- package/dist/graph/extract-cache.d.ts +101 -0
- package/dist/graph/extract-cache.d.ts.map +1 -0
- package/dist/graph/extract-cache.js +199 -0
- package/dist/graph/extract-cache.js.map +1 -0
- package/dist/graph/extract.d.ts +85 -0
- package/dist/graph/extract.d.ts.map +1 -0
- package/dist/graph/extract.js +2377 -0
- package/dist/graph/extract.js.map +1 -0
- package/dist/graph/fingerprint.d.ts +76 -0
- package/dist/graph/fingerprint.d.ts.map +1 -0
- package/dist/graph/fingerprint.js +160 -0
- package/dist/graph/fingerprint.js.map +1 -0
- package/dist/graph/generic.d.ts +74 -0
- package/dist/graph/generic.d.ts.map +1 -0
- package/dist/graph/generic.js +773 -0
- package/dist/graph/generic.js.map +1 -0
- package/dist/graph/invariants.d.ts +33 -0
- package/dist/graph/invariants.d.ts.map +1 -0
- package/dist/graph/invariants.js +52 -0
- package/dist/graph/invariants.js.map +1 -0
- package/dist/graph/load.d.ts +29 -0
- package/dist/graph/load.d.ts.map +1 -0
- package/dist/graph/load.js +97 -0
- package/dist/graph/load.js.map +1 -0
- package/dist/graph/lsp/client.d.ts +61 -0
- package/dist/graph/lsp/client.d.ts.map +1 -0
- package/dist/graph/lsp/client.js +217 -0
- package/dist/graph/lsp/client.js.map +1 -0
- package/dist/graph/lsp/enrich.d.ts +11 -0
- package/dist/graph/lsp/enrich.d.ts.map +1 -0
- package/dist/graph/lsp/enrich.js +163 -0
- package/dist/graph/lsp/enrich.js.map +1 -0
- package/dist/graph/lsp/registry.d.ts +22 -0
- package/dist/graph/lsp/registry.d.ts.map +1 -0
- package/dist/graph/lsp/registry.js +71 -0
- package/dist/graph/lsp/registry.js.map +1 -0
- package/dist/graph/map.d.ts +107 -0
- package/dist/graph/map.d.ts.map +1 -0
- package/dist/graph/map.js +239 -0
- package/dist/graph/map.js.map +1 -0
- package/dist/graph/markdown.d.ts +22 -0
- package/dist/graph/markdown.d.ts.map +1 -0
- package/dist/graph/markdown.js +143 -0
- package/dist/graph/markdown.js.map +1 -0
- package/dist/graph/native.d.ts +46 -0
- package/dist/graph/native.d.ts.map +1 -0
- package/dist/graph/native.js +169 -0
- package/dist/graph/native.js.map +1 -0
- package/dist/graph/queries/c.scm +13 -0
- package/dist/graph/queries/c_sharp.scm +19 -0
- package/dist/graph/queries/clojure.scm +58 -0
- package/dist/graph/queries/cpp.scm +23 -0
- package/dist/graph/queries/dart.scm +42 -0
- package/dist/graph/queries/elixir.scm +54 -0
- package/dist/graph/queries/gleam.scm +51 -0
- package/dist/graph/queries/java.scm +20 -0
- package/dist/graph/queries/kotlin.scm +43 -0
- package/dist/graph/queries/lua.scm +36 -0
- package/dist/graph/queries/nix.scm +32 -0
- package/dist/graph/queries/php.scm +40 -0
- package/dist/graph/queries/ruby.scm +65 -0
- package/dist/graph/queries/rust.scm +41 -0
- package/dist/graph/queries/scala.scm +66 -0
- package/dist/graph/queries/solidity.scm +43 -0
- package/dist/graph/queries/swift.scm +51 -0
- package/dist/graph/refresh.d.ts +106 -0
- package/dist/graph/refresh.d.ts.map +1 -0
- package/dist/graph/refresh.js +430 -0
- package/dist/graph/refresh.js.map +1 -0
- package/dist/graph/relations.d.ts +14 -0
- package/dist/graph/relations.d.ts.map +1 -0
- package/dist/graph/relations.js +8 -0
- package/dist/graph/relations.js.map +1 -0
- package/dist/graph/resolve.d.ts +17 -0
- package/dist/graph/resolve.d.ts.map +1 -0
- package/dist/graph/resolve.js +716 -0
- package/dist/graph/resolve.js.map +1 -0
- package/dist/graph/root.d.ts +11 -0
- package/dist/graph/root.d.ts.map +1 -0
- package/dist/graph/root.js +40 -0
- package/dist/graph/root.js.map +1 -0
- package/dist/graph/scopes.d.ts +40 -0
- package/dist/graph/scopes.d.ts.map +1 -0
- package/dist/graph/scopes.js +383 -0
- package/dist/graph/scopes.js.map +1 -0
- package/dist/graph/seed.d.ts +38 -0
- package/dist/graph/seed.d.ts.map +1 -0
- package/dist/graph/seed.js +229 -0
- package/dist/graph/seed.js.map +1 -0
- package/dist/graph/source-files.d.ts +46 -0
- package/dist/graph/source-files.d.ts.map +1 -0
- package/dist/graph/source-files.js +118 -0
- package/dist/graph/source-files.js.map +1 -0
- package/dist/graph/traverse-cli.d.ts +55 -0
- package/dist/graph/traverse-cli.d.ts.map +1 -0
- package/dist/graph/traverse-cli.js +189 -0
- package/dist/graph/traverse-cli.js.map +1 -0
- package/dist/graph/traverse.d.ts +112 -0
- package/dist/graph/traverse.d.ts.map +1 -0
- package/dist/graph/traverse.js +192 -0
- package/dist/graph/traverse.js.map +1 -0
- package/dist/graph/types.d.ts +78 -0
- package/dist/graph/types.d.ts.map +1 -0
- package/dist/graph/types.js +14 -0
- package/dist/graph/types.js.map +1 -0
- package/dist/graph/wasm-runtime.d.ts +19 -0
- package/dist/graph/wasm-runtime.d.ts.map +1 -0
- package/dist/graph/wasm-runtime.js +38 -0
- package/dist/graph/wasm-runtime.js.map +1 -0
- package/dist/graph/workspace-cli.d.ts +56 -0
- package/dist/graph/workspace-cli.d.ts.map +1 -0
- package/dist/graph/workspace-cli.js +111 -0
- package/dist/graph/workspace-cli.js.map +1 -0
- package/dist/graph/workspace.d.ts +172 -0
- package/dist/graph/workspace.d.ts.map +1 -0
- package/dist/graph/workspace.js +714 -0
- package/dist/graph/workspace.js.map +1 -0
- package/dist/graph/write.d.ts +13 -0
- package/dist/graph/write.d.ts.map +1 -0
- package/dist/graph/write.js +86 -0
- package/dist/graph/write.js.map +1 -0
- package/dist/hosts/antigravity.d.ts +14 -0
- package/dist/hosts/antigravity.d.ts.map +1 -0
- package/dist/hosts/antigravity.js +59 -0
- package/dist/hosts/antigravity.js.map +1 -0
- package/dist/hosts/auto.d.ts +37 -0
- package/dist/hosts/auto.d.ts.map +1 -0
- package/dist/hosts/auto.js +141 -0
- package/dist/hosts/auto.js.map +1 -0
- package/dist/hosts/claude-global.d.ts +72 -0
- package/dist/hosts/claude-global.d.ts.map +1 -0
- package/dist/hosts/claude-global.js +230 -0
- package/dist/hosts/claude-global.js.map +1 -0
- package/dist/hosts/config-write.d.ts +36 -0
- package/dist/hosts/config-write.d.ts.map +1 -0
- package/dist/hosts/config-write.js +64 -0
- package/dist/hosts/config-write.js.map +1 -0
- package/dist/hosts/init.d.ts +28 -0
- package/dist/hosts/init.d.ts.map +1 -0
- package/dist/hosts/init.js +89 -0
- package/dist/hosts/init.js.map +1 -0
- package/dist/hosts/instructions.d.ts +14 -0
- package/dist/hosts/instructions.d.ts.map +1 -0
- package/dist/hosts/instructions.js +95 -0
- package/dist/hosts/instructions.js.map +1 -0
- package/dist/hosts/mcp-config.d.ts +78 -0
- package/dist/hosts/mcp-config.d.ts.map +1 -0
- package/dist/hosts/mcp-config.js +251 -0
- package/dist/hosts/mcp-config.js.map +1 -0
- package/dist/hosts/plan.d.ts +32 -0
- package/dist/hosts/plan.d.ts.map +1 -0
- package/dist/hosts/plan.js +73 -0
- package/dist/hosts/plan.js.map +1 -0
- package/dist/hosts/registry.d.ts +41 -0
- package/dist/hosts/registry.d.ts.map +1 -0
- package/dist/hosts/registry.js +164 -0
- package/dist/hosts/registry.js.map +1 -0
- package/dist/hosts/retract.d.ts +47 -0
- package/dist/hosts/retract.d.ts.map +1 -0
- package/dist/hosts/retract.js +520 -0
- package/dist/hosts/retract.js.map +1 -0
- package/dist/hosts/sections.d.ts +47 -0
- package/dist/hosts/sections.d.ts.map +1 -0
- package/dist/hosts/sections.js +127 -0
- package/dist/hosts/sections.js.map +1 -0
- package/dist/index.d.ts +41 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +32 -0
- package/dist/index.js.map +1 -0
- package/dist/ingest/fs.d.ts +79 -0
- package/dist/ingest/fs.d.ts.map +1 -0
- package/dist/ingest/fs.js +306 -0
- package/dist/ingest/fs.js.map +1 -0
- package/dist/init-guard.d.ts +16 -0
- package/dist/init-guard.d.ts.map +1 -0
- package/dist/init-guard.js +27 -0
- package/dist/init-guard.js.map +1 -0
- package/dist/mcp/instructions.d.ts +5 -0
- package/dist/mcp/instructions.d.ts.map +1 -0
- package/dist/mcp/instructions.js +64 -0
- package/dist/mcp/instructions.js.map +1 -0
- package/dist/mcp/kept-listing.d.ts +27 -0
- package/dist/mcp/kept-listing.d.ts.map +1 -0
- package/dist/mcp/kept-listing.js +63 -0
- package/dist/mcp/kept-listing.js.map +1 -0
- package/dist/mcp/server.d.ts +4 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +147 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/tool-names.d.ts +27 -0
- package/dist/mcp/tool-names.d.ts.map +1 -0
- package/dist/mcp/tool-names.js +47 -0
- package/dist/mcp/tool-names.js.map +1 -0
- package/dist/mcp/tools.d.ts +22 -0
- package/dist/mcp/tools.d.ts.map +1 -0
- package/dist/mcp/tools.js +440 -0
- package/dist/mcp/tools.js.map +1 -0
- package/dist/node-version.d.ts +15 -0
- package/dist/node-version.d.ts.map +1 -0
- package/dist/node-version.js +23 -0
- package/dist/node-version.js.map +1 -0
- package/dist/search/grep-cli.d.ts +35 -0
- package/dist/search/grep-cli.d.ts.map +1 -0
- package/dist/search/grep-cli.js +115 -0
- package/dist/search/grep-cli.js.map +1 -0
- package/dist/search/grep.d.ts +60 -0
- package/dist/search/grep.d.ts.map +1 -0
- package/dist/search/grep.js +143 -0
- package/dist/search/grep.js.map +1 -0
- package/dist/search/ignored-code.d.ts +9 -0
- package/dist/search/ignored-code.d.ts.map +1 -0
- package/dist/search/ignored-code.js +73 -0
- package/dist/search/ignored-code.js.map +1 -0
- package/dist/search/user-regexp.d.ts +26 -0
- package/dist/search/user-regexp.d.ts.map +1 -0
- package/dist/search/user-regexp.js +150 -0
- package/dist/search/user-regexp.js.map +1 -0
- package/dist/telemetry/contract.d.ts +117 -0
- package/dist/telemetry/contract.d.ts.map +1 -0
- package/dist/telemetry/contract.js +341 -0
- package/dist/telemetry/contract.js.map +1 -0
- package/dist/telemetry/flush.d.ts +21 -0
- package/dist/telemetry/flush.d.ts.map +1 -0
- package/dist/telemetry/flush.js +85 -0
- package/dist/telemetry/flush.js.map +1 -0
- package/dist/telemetry/gate.d.ts +30 -0
- package/dist/telemetry/gate.d.ts.map +1 -0
- package/dist/telemetry/gate.js +81 -0
- package/dist/telemetry/gate.js.map +1 -0
- package/dist/telemetry/identity.d.ts +40 -0
- package/dist/telemetry/identity.d.ts.map +1 -0
- package/dist/telemetry/identity.js +80 -0
- package/dist/telemetry/identity.js.map +1 -0
- package/dist/telemetry/index.d.ts +18 -0
- package/dist/telemetry/index.d.ts.map +1 -0
- package/dist/telemetry/index.js +16 -0
- package/dist/telemetry/index.js.map +1 -0
- package/dist/telemetry/key.d.ts +21 -0
- package/dist/telemetry/key.d.ts.map +1 -0
- package/dist/telemetry/key.js +49 -0
- package/dist/telemetry/key.js.map +1 -0
- package/dist/telemetry/notice.d.ts +19 -0
- package/dist/telemetry/notice.d.ts.map +1 -0
- package/dist/telemetry/notice.js +93 -0
- package/dist/telemetry/notice.js.map +1 -0
- package/dist/telemetry/queue.d.ts +35 -0
- package/dist/telemetry/queue.d.ts.map +1 -0
- package/dist/telemetry/queue.js +162 -0
- package/dist/telemetry/queue.js.map +1 -0
- package/dist/telemetry/send.d.ts +19 -0
- package/dist/telemetry/send.d.ts.map +1 -0
- package/dist/telemetry/send.js +84 -0
- package/dist/telemetry/send.js.map +1 -0
- package/dist/telemetry/sessions.d.ts +25 -0
- package/dist/telemetry/sessions.d.ts.map +1 -0
- package/dist/telemetry/sessions.js +104 -0
- package/dist/telemetry/sessions.js.map +1 -0
- package/dist/telemetry/track.d.ts +62 -0
- package/dist/telemetry/track.d.ts.map +1 -0
- package/dist/telemetry/track.js +143 -0
- package/dist/telemetry/track.js.map +1 -0
- package/dist/upkeep-run.d.ts +22 -0
- package/dist/upkeep-run.d.ts.map +1 -0
- package/dist/upkeep-run.js +85 -0
- package/dist/upkeep-run.js.map +1 -0
- package/dist/upkeep.d.ts +127 -0
- package/dist/upkeep.d.ts.map +1 -0
- package/dist/upkeep.js +252 -0
- package/dist/upkeep.js.map +1 -0
- package/dist/util/actions-folder.d.ts +2 -0
- package/dist/util/actions-folder.d.ts.map +1 -0
- package/dist/util/actions-folder.js +9 -0
- package/dist/util/actions-folder.js.map +1 -0
- package/dist/util/browser.d.ts +3 -0
- package/dist/util/browser.d.ts.map +1 -0
- package/dist/util/browser.js +14 -0
- package/dist/util/browser.js.map +1 -0
- package/dist/util/child-process.d.ts +15 -0
- package/dist/util/child-process.d.ts.map +1 -0
- package/dist/util/child-process.js +15 -0
- package/dist/util/child-process.js.map +1 -0
- package/dist/util/front-matter.d.ts +46 -0
- package/dist/util/front-matter.d.ts.map +1 -0
- package/dist/util/front-matter.js +113 -0
- package/dist/util/front-matter.js.map +1 -0
- package/dist/util/id.d.ts +7 -0
- package/dist/util/id.d.ts.map +1 -0
- package/dist/util/id.js +14 -0
- package/dist/util/id.js.map +1 -0
- package/dist/util/paths.d.ts +29 -0
- package/dist/util/paths.d.ts.map +1 -0
- package/dist/util/paths.js +71 -0
- package/dist/util/paths.js.map +1 -0
- package/dist/util/private-file.d.ts +14 -0
- package/dist/util/private-file.d.ts.map +1 -0
- package/dist/util/private-file.js +82 -0
- package/dist/util/private-file.js.map +1 -0
- package/dist/util/source.d.ts +4 -0
- package/dist/util/source.d.ts.map +1 -0
- package/dist/util/source.js +12 -0
- package/dist/util/source.js.map +1 -0
- package/dist/util/spinner.d.ts +15 -0
- package/dist/util/spinner.d.ts.map +1 -0
- package/dist/util/spinner.js +52 -0
- package/dist/util/spinner.js.map +1 -0
- package/dist/util/state.d.ts +120 -0
- package/dist/util/state.d.ts.map +1 -0
- package/dist/util/state.js +264 -0
- package/dist/util/state.js.map +1 -0
- package/dist/vendor/grammars/tree-sitter-go.LICENSE +21 -0
- package/dist/vendor/grammars/tree-sitter-go.wasm +0 -0
- package/dist/vendor/grammars/tree-sitter-java.LICENSE +21 -0
- package/dist/vendor/grammars/tree-sitter-java.wasm +0 -0
- package/dist/vendor/grammars/tree-sitter-kotlin.LICENSE +9 -0
- package/dist/vendor/grammars/tree-sitter-kotlin.wasm +0 -0
- package/dist/vendor/grammars/tree-sitter-php.LICENSE +22 -0
- package/dist/vendor/grammars/tree-sitter-php.wasm +0 -0
- package/dist/vendor/grammars/tree-sitter-python.LICENSE +21 -0
- package/dist/vendor/grammars/tree-sitter-python.wasm +0 -0
- package/dist/vendor/grammars/tree-sitter-r.LICENSE +9 -0
- package/dist/vendor/grammars/tree-sitter-r.wasm +0 -0
- package/dist/vendor/grammars/tree-sitter-swift.LICENSE +21 -0
- package/dist/vendor/grammars/tree-sitter-swift.wasm +0 -0
- package/dist/vendor/grammars/tree-sitter-tsx.wasm +0 -0
- package/dist/vendor/grammars/tree-sitter-typescript.LICENSE +21 -0
- package/dist/vendor/grammars/tree-sitter-typescript.wasm +0 -0
- package/dist/viewer/app.js +2 -0
- package/dist/viewer/index.html +49 -0
- package/dist/viewer/style.css +154 -0
- package/dist/viz/assemble.d.ts +83 -0
- package/dist/viz/assemble.d.ts.map +1 -0
- package/dist/viz/assemble.js +101 -0
- package/dist/viz/assemble.js.map +1 -0
- package/dist/viz/export.d.ts +39 -0
- package/dist/viz/export.d.ts.map +1 -0
- package/dist/viz/export.js +98 -0
- package/dist/viz/export.js.map +1 -0
- package/dist/viz/serve.d.ts +13 -0
- package/dist/viz/serve.d.ts.map +1 -0
- package/dist/viz/serve.js +130 -0
- package/dist/viz/serve.js.map +1 -0
- package/package.json +115 -4
- package/scripts/build-grammar-wasm.mjs +112 -0
- package/scripts/build-viewer.mjs +44 -0
- package/scripts/graph-quality.mjs +117 -0
- package/scripts/pack-trail.mjs +53 -0
- package/scripts/postinstall.mjs +65 -0
- package/scripts/run-tests.mjs +72 -0
- package/scripts/stamp-telemetry-key.mjs +56 -0
- package/scripts/tally-audit.mjs +140 -0
- package/scripts/vendor-grammars.mjs +53 -0
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The two web-tree-sitter runtimes WASM grammars load into, each initialised once.
|
|
3
|
+
*
|
|
4
|
+
* `Parser.init()` is not idempotent: a second call instantiates a second runtime
|
|
5
|
+
* and swaps it in, and every grammar loaded into the first one is then unusable.
|
|
6
|
+
* So every tier gets its runtime from here.
|
|
7
|
+
*
|
|
8
|
+
* - {@link webTreeSitter}, the current release, runs the breadth tier (generic.ts)
|
|
9
|
+
* and the container tier's wrapper grammars (container.ts).
|
|
10
|
+
* - {@link depthRuntime}, web-tree-sitter 0.22.2 (the `web-tree-sitter-depth`
|
|
11
|
+
* alias), runs the depth tier (depth-parser.ts). 0.22.2 is the tree-sitter core
|
|
12
|
+
* the native addon (tree-sitter 0.21.1) was built with, and the core decides how
|
|
13
|
+
* a grammar's conflicts and errors resolve. On it, every tree of the parity
|
|
14
|
+
* corpus matched the native one; on the current core, kotlin, swift and
|
|
15
|
+
* typescript trees did not always. Keep it pinned: bumping it is a grammar
|
|
16
|
+
* change, to be re-checked with test/depth-parity.ts.
|
|
17
|
+
*/
|
|
18
|
+
import { createRequire } from "node:module";
|
|
19
|
+
let init = null;
|
|
20
|
+
/** The initialised current runtime, loading and initialising it on the first call. */
|
|
21
|
+
export function webTreeSitter() {
|
|
22
|
+
init ??= import("web-tree-sitter").then(async (m) => {
|
|
23
|
+
await m.Parser.init();
|
|
24
|
+
return m;
|
|
25
|
+
});
|
|
26
|
+
return init;
|
|
27
|
+
}
|
|
28
|
+
let depth = null;
|
|
29
|
+
/** The depth tier's runtime, initialised on the first call. */
|
|
30
|
+
export function depthRuntime() {
|
|
31
|
+
depth ??= (async () => {
|
|
32
|
+
const Parser = createRequire(import.meta.url)("web-tree-sitter-depth");
|
|
33
|
+
await Parser.init();
|
|
34
|
+
return { load: (wasm) => Parser.Language.load(wasm), newParser: () => new Parser() };
|
|
35
|
+
})();
|
|
36
|
+
return depth;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=wasm-runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wasm-runtime.js","sourceRoot":"","sources":["../../src/graph/wasm-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAI5C,IAAI,IAAI,GAAkC,IAAI,CAAC;AAE/C,sFAAsF;AACtF,MAAM,UAAU,aAAa;IAC3B,IAAI,KAAK,MAAM,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QAClD,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACtB,OAAO,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC;AAiBD,IAAI,KAAK,GAAiC,IAAI,CAAC;AAE/C,+DAA+D;AAC/D,MAAM,UAAU,YAAY;IAC1B,KAAK,KAAK,CAAC,KAAK,IAAI,EAAE;QACpB,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,uBAAuB,CAAqB,CAAC;QAC3F,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,OAAO,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,MAAM,EAAE,EAAE,CAAC;IACvF,CAAC,CAAC,EAAE,CAAC;IACL,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { EngineConfig } from "../ai/providers.js";
|
|
2
|
+
import type { Direction } from "./traverse.js";
|
|
3
|
+
export interface WorkspaceBuildOptions {
|
|
4
|
+
deep: boolean;
|
|
5
|
+
extensions?: string[];
|
|
6
|
+
concurrency?: number;
|
|
7
|
+
/** Max concept synthesis batches in flight per child (default 4). */
|
|
8
|
+
synthConcurrency?: number;
|
|
9
|
+
/** Provider/model/key config for child builds — WITHOUT any contextDir
|
|
10
|
+
* override, so each child writes to its own `<child>/graft/`. */
|
|
11
|
+
childConfig: EngineConfig;
|
|
12
|
+
override?: string;
|
|
13
|
+
/** The CLI's `--include-dir` override, if any. Persisted into EACH CHILD's
|
|
14
|
+
* own state (not the parent's) before that child builds: children are
|
|
15
|
+
* independent repos with their own local settings and can later be rebuilt
|
|
16
|
+
* directly without seeing the parent invocation's flags. */
|
|
17
|
+
includeDirs?: string[];
|
|
18
|
+
/** An explicit CLI submodule choice to persist into every child repo. */
|
|
19
|
+
followSubmodules?: boolean;
|
|
20
|
+
/** An explicit CLI nested-clone choice to persist into every child repo. */
|
|
21
|
+
followNestedRepos?: boolean;
|
|
22
|
+
/** An explicit CLI --include-md choice to persist into every child repo. */
|
|
23
|
+
includeMd?: boolean;
|
|
24
|
+
/** Repo-relative dirs to limit .md indexing to, persisted into each child. */
|
|
25
|
+
mdOnlyDirs?: string[];
|
|
26
|
+
/** Whether to include openspec/changes/archive/ .md files; persisted into each child. */
|
|
27
|
+
includeOpenSpecArchive?: boolean;
|
|
28
|
+
/** The npm package this runs from, for the fix in the native-parser notice. */
|
|
29
|
+
packageName?: string;
|
|
30
|
+
}
|
|
31
|
+
/** Build every git child into its own committable `graft/`, then replace the
|
|
32
|
+
* parent's `graft/` with `workspace.json`. Prints the one-time split warning
|
|
33
|
+
* first when migrating away from a mega-graph. */
|
|
34
|
+
export declare function runWorkspaceBuild(root: string, opts: WorkspaceBuildOptions): Promise<void>;
|
|
35
|
+
export declare function runWorkspaceAsk(root: string, override: string | undefined, query: string, opts: {
|
|
36
|
+
limit?: number;
|
|
37
|
+
source?: boolean;
|
|
38
|
+
full?: boolean;
|
|
39
|
+
in?: string;
|
|
40
|
+
json?: boolean;
|
|
41
|
+
}): void;
|
|
42
|
+
export declare function runWorkspaceGrep(root: string, override: string | undefined, pattern: string, opts: {
|
|
43
|
+
ignoreCase?: boolean;
|
|
44
|
+
fixed?: boolean;
|
|
45
|
+
json?: boolean;
|
|
46
|
+
}): void;
|
|
47
|
+
export declare function runWorkspaceMap(root: string, override: string | undefined, opts: {
|
|
48
|
+
maxDirs?: number;
|
|
49
|
+
}): void;
|
|
50
|
+
export declare function runWorkspaceCheck(root: string, override?: string): Promise<void>;
|
|
51
|
+
export declare function runWorkspaceCallers(root: string, override: string | undefined, symbol: string, opts: {
|
|
52
|
+
direction?: Direction;
|
|
53
|
+
depth?: number;
|
|
54
|
+
in?: string;
|
|
55
|
+
}): void;
|
|
56
|
+
//# sourceMappingURL=workspace-cli.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-cli.d.ts","sourceRoot":"","sources":["../../src/graph/workspace-cli.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAa/C,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qEAAqE;IACrE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;qEACiE;IACjE,WAAW,EAAE,YAAY,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;gEAG4D;IAC5D,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,yEAAyE;IACzE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,4EAA4E;IAC5E,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,4EAA4E;IAC5E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,8EAA8E;IAC9E,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,yFAAyF;IACzF,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,+EAA+E;IAC/E,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;kDAEkD;AAClD,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyDhG;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GACtF,IAAI,CAIN;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAC9D,IAAI,CAYN;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,IAAI,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GACzB,IAAI,CAEN;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAItF;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE;IAAE,SAAS,CAAC,EAAE,SAAS,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3D,IAAI,CAON"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI print/exit wrappers + per-child build orchestration for workspace
|
|
3
|
+
* federation. Kept out of both `cli.ts` (so routing there stays a one-liner
|
|
4
|
+
* per command) and `workspace.ts` (so the core stays free of process/exit and
|
|
5
|
+
* engine dependencies). The federated command bodies live in `workspace.ts`;
|
|
6
|
+
* this file only renders them and wires the child builds through the engine.
|
|
7
|
+
*/
|
|
8
|
+
import { Graft } from "../engine.js";
|
|
9
|
+
import { contextDirFor, ensureGitignored } from "../context/node-file.js";
|
|
10
|
+
import { patchBuildConfig } from "../util/state.js";
|
|
11
|
+
import { brand, cmd, PACKAGE_FOR } from "../brand.js";
|
|
12
|
+
import { nativeFallbackNotice } from "./native.js";
|
|
13
|
+
import { formatAsk } from "../ask/ask.js";
|
|
14
|
+
import { federateAsk, federateCallers, federateCheck, federateGrep, federateMap, formatGrepResult, migrationNote, splitWorkspace, zeroHitNote, } from "./workspace.js";
|
|
15
|
+
/** Build every git child into its own committable `graft/`, then replace the
|
|
16
|
+
* parent's `graft/` with `workspace.json`. Prints the one-time split warning
|
|
17
|
+
* first when migrating away from a mega-graph. */
|
|
18
|
+
export async function runWorkspaceBuild(root, opts) {
|
|
19
|
+
// Depth grammars load once per process, so the children share one answer:
|
|
20
|
+
// collected here and printed once at the end, not once per repo.
|
|
21
|
+
const fellBack = { languages: new Set(), packages: new Set() };
|
|
22
|
+
const buildChild = async (childDir, childName) => {
|
|
23
|
+
// Persisted BEFORE the child build itself runs, same as the single-repo
|
|
24
|
+
// path in cli.ts, so this build and every later no-flag child build agree.
|
|
25
|
+
const childConfigPatch = {};
|
|
26
|
+
if (opts.includeDirs && opts.includeDirs.length > 0) {
|
|
27
|
+
childConfigPatch.includeDirs = opts.includeDirs;
|
|
28
|
+
}
|
|
29
|
+
if (opts.followSubmodules !== undefined) {
|
|
30
|
+
childConfigPatch.followSubmodules = opts.followSubmodules;
|
|
31
|
+
}
|
|
32
|
+
if (opts.followNestedRepos !== undefined) {
|
|
33
|
+
childConfigPatch.followNestedRepos = opts.followNestedRepos;
|
|
34
|
+
}
|
|
35
|
+
if (opts.includeMd !== undefined) {
|
|
36
|
+
childConfigPatch.includeMd = opts.includeMd;
|
|
37
|
+
}
|
|
38
|
+
if (opts.mdOnlyDirs && opts.mdOnlyDirs.length > 0) {
|
|
39
|
+
childConfigPatch.mdOnlyDirs = opts.mdOnlyDirs;
|
|
40
|
+
}
|
|
41
|
+
if (opts.includeOpenSpecArchive !== undefined) {
|
|
42
|
+
childConfigPatch.includeOpenSpecArchive = opts.includeOpenSpecArchive;
|
|
43
|
+
}
|
|
44
|
+
if (Object.keys(childConfigPatch).length > 0) {
|
|
45
|
+
patchBuildConfig(childDir, childConfigPatch);
|
|
46
|
+
}
|
|
47
|
+
const engine = new Graft({ ...opts.childConfig, contextDir: undefined });
|
|
48
|
+
if (opts.deep)
|
|
49
|
+
await engine.init(childDir, { extensions: opts.extensions, synthConcurrency: opts.synthConcurrency });
|
|
50
|
+
const g = await engine.graph(childDir, { llm: opts.deep, concurrency: opts.concurrency });
|
|
51
|
+
console.log(`✓ ${childName}/: ${g.nodes} nodes, ${g.edges} edges, ${g.cards} cards [${g.languages.join(", ")}]`);
|
|
52
|
+
for (const e of g.errors)
|
|
53
|
+
console.error(`✗ ${childName}/: ${e}`);
|
|
54
|
+
for (const l of g.nativeFallback?.languages ?? [])
|
|
55
|
+
fellBack.languages.add(l);
|
|
56
|
+
for (const p of g.nativeFallback?.packages ?? [])
|
|
57
|
+
fellBack.packages.add(p);
|
|
58
|
+
};
|
|
59
|
+
const { children } = await splitWorkspace(root, opts.override, buildChild, ({ children, migrated }) => {
|
|
60
|
+
if (migrated)
|
|
61
|
+
console.error(migrationNote(children));
|
|
62
|
+
console.error(`building ${children.length} workspace repos: ${children.join(", ")}`);
|
|
63
|
+
});
|
|
64
|
+
// Each child self-ignored during its own build; the parent's federation
|
|
65
|
+
// index (graft/workspace.json) is written outside buildGraph, so ignore it here too.
|
|
66
|
+
ensureGitignored(root, contextDirFor(root, opts.override));
|
|
67
|
+
console.log(`✓ workspace: ${children.length} repos federated → graft/workspace.json`);
|
|
68
|
+
console.log(` graft/ is git-ignored — each teammate runs \`${cmd("graft build")}\` to regenerate it locally.`);
|
|
69
|
+
const notice = nativeFallbackNotice({ languages: [...fellBack.languages].sort(), packages: [...fellBack.packages].sort() }, opts.packageName ?? PACKAGE_FOR[brand()]);
|
|
70
|
+
if (notice)
|
|
71
|
+
console.error(notice);
|
|
72
|
+
}
|
|
73
|
+
export function runWorkspaceAsk(root, override, query, opts) {
|
|
74
|
+
const r = federateAsk(root, override, query, { limit: opts.limit, source: opts.source, full: opts.full, in: opts.in });
|
|
75
|
+
if (opts.json)
|
|
76
|
+
console.log(JSON.stringify(r, null, 2));
|
|
77
|
+
else
|
|
78
|
+
process.stdout.write(formatAsk(r));
|
|
79
|
+
}
|
|
80
|
+
export function runWorkspaceGrep(root, override, pattern, opts) {
|
|
81
|
+
const { result, coverage } = federateGrep(root, override, pattern, { ignoreCase: opts.ignoreCase, fixed: opts.fixed });
|
|
82
|
+
if (opts.json) {
|
|
83
|
+
console.log(JSON.stringify(result, null, 2));
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
if (result.totalHits === 0) {
|
|
87
|
+
console.error(coverage ? `${zeroHitNote(result)}\n${coverage}` : zeroHitNote(result));
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
process.stdout.write(formatGrepResult(result));
|
|
91
|
+
if (coverage)
|
|
92
|
+
console.log(coverage);
|
|
93
|
+
}
|
|
94
|
+
export function runWorkspaceMap(root, override, opts) {
|
|
95
|
+
process.stdout.write(federateMap(root, override, { maxDirs: opts.maxDirs }));
|
|
96
|
+
}
|
|
97
|
+
export async function runWorkspaceCheck(root, override) {
|
|
98
|
+
const { text, ok } = await federateCheck(root, override);
|
|
99
|
+
process.stdout.write(text);
|
|
100
|
+
if (!ok)
|
|
101
|
+
process.exit(1);
|
|
102
|
+
}
|
|
103
|
+
export function runWorkspaceCallers(root, override, symbol, opts) {
|
|
104
|
+
const { text, found } = federateCallers(root, override, symbol, opts);
|
|
105
|
+
if (!found) {
|
|
106
|
+
console.error(`✗ ${text}`);
|
|
107
|
+
process.exit(1);
|
|
108
|
+
}
|
|
109
|
+
process.stdout.write(text + "\n");
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=workspace-cli.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-cli.js","sourceRoot":"","sources":["../../src/graph/workspace-cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
import { type Direction } from "./traverse.js";
|
|
2
|
+
import type { GraphV1 } from "./types.js";
|
|
3
|
+
import { type AskResult } from "../ask/ask.js";
|
|
4
|
+
import { type GrepResult } from "../search/grep.js";
|
|
5
|
+
import { formatGrepResult, zeroHitNote } from "../search/grep-cli.js";
|
|
6
|
+
/** The parent index written to `<parent>/graft/workspace.json`. Nodes/edges
|
|
7
|
+
* never live at the parent — they live in each child's own `graft/`. */
|
|
8
|
+
export interface WorkspaceV1 {
|
|
9
|
+
version: 1;
|
|
10
|
+
/** Immediate child dir names that are git repos, sorted. */
|
|
11
|
+
children: string[];
|
|
12
|
+
/**
|
|
13
|
+
* Dirs to skip during auto-discovery. Edit this list to permanently exclude
|
|
14
|
+
* a repo from the workspace — `trail build` will preserve and respect it.
|
|
15
|
+
* Paths are relative to the workspace root (e.g. `"Trail-Code"`, `"SDK"`).
|
|
16
|
+
*/
|
|
17
|
+
excludeFromDiscovery?: string[];
|
|
18
|
+
/**
|
|
19
|
+
* Git remote URLs of shared knowledge repos (team docs, rules, glossaries).
|
|
20
|
+
* `trail init` clones each one into the workspace root if it isn't already
|
|
21
|
+
* present, wires it, and runs `trail build --include-md` on it automatically.
|
|
22
|
+
* Committed to version control so every team member gets the same repos.
|
|
23
|
+
*
|
|
24
|
+
* Example: ["https://gitlab.com/detacoop/equipo-desarrolladores/detacoop-knowledge"]
|
|
25
|
+
*/
|
|
26
|
+
knowledgeRepos?: string[];
|
|
27
|
+
}
|
|
28
|
+
/** Absolute path to the knowledge-repos config for a workspace root. Always committed. */
|
|
29
|
+
export declare function knowledgeReposPath(root: string): string;
|
|
30
|
+
/** Read the list of knowledge repo URLs for a workspace root. */
|
|
31
|
+
export declare function readKnowledgeRepos(root: string): string[];
|
|
32
|
+
/** Write the list of knowledge repo URLs. Ensures .trail/ exists. */
|
|
33
|
+
export declare function writeKnowledgeRepos(root: string, urls: string[]): void;
|
|
34
|
+
/** Absolute path to the workspace index for a parent root (`<dir>/graft/workspace.json`). */
|
|
35
|
+
export declare function workspacePath(root: string, override?: string): string;
|
|
36
|
+
/** Read the workspace index, or null when the parent has none (not a workspace,
|
|
37
|
+
* or unparseable/foreign json — treated the same as absent). */
|
|
38
|
+
export declare function readWorkspace(root: string, override?: string): WorkspaceV1 | null;
|
|
39
|
+
/** Write the workspace index, sorting children for a stable, minimal git diff.
|
|
40
|
+
* Preserves `excludeFromDiscovery` across rebuilds. */
|
|
41
|
+
export declare function writeWorkspace(root: string, ws: WorkspaceV1, override?: string): string;
|
|
42
|
+
/** A parent is a workspace BUILD target when it has no own `.git` and ≥2 git
|
|
43
|
+
* children — or it was already split (a `workspace.json` is present). The
|
|
44
|
+
* no-own-`.git` guard keeps a normal repo with git submodules from being
|
|
45
|
+
* mistaken for a workspace. */
|
|
46
|
+
/**
|
|
47
|
+
* Walk up from `dir` to find the nearest directory with knowledgeRepos configured
|
|
48
|
+
* (.trail/knowledge-repos.json). Works for repos, workspaces, and plain folders.
|
|
49
|
+
* Falls back to the first workspace found if none has knowledgeRepos.
|
|
50
|
+
*/
|
|
51
|
+
export declare function findWorkspaceRoot(dir: string): string | null;
|
|
52
|
+
export declare function isWorkspaceBuildRoot(root: string, override?: string): boolean;
|
|
53
|
+
/** True when the parent has a mega-graph from an older single-graph build
|
|
54
|
+
* (`graft/.graph/wiring.json`) — the thing a workspace build migrates away. */
|
|
55
|
+
export declare function hasMegaGraph(root: string, override?: string): boolean;
|
|
56
|
+
/** The EXACT split warning printed once, when a mega-graph parent is first
|
|
57
|
+
* built as a workspace. Templated on the child list so it names the real repos. */
|
|
58
|
+
export declare function migrationNote(children: string[]): string;
|
|
59
|
+
/** Remove the parent's entire `graft/` tree — the mega-graph, its `.cache`, and
|
|
60
|
+
* any stale cards — so after `writeWorkspace` the parent holds ONLY
|
|
61
|
+
* workspace.json. Child graphs live in sibling `<child>/graft/`, never under
|
|
62
|
+
* this dir, so they are untouched. */
|
|
63
|
+
export declare function clearParentGraft(root: string, override?: string): void;
|
|
64
|
+
export interface LoadedChild {
|
|
65
|
+
child: string;
|
|
66
|
+
graph: GraphV1;
|
|
67
|
+
}
|
|
68
|
+
export interface WorkspaceGraphs {
|
|
69
|
+
/** Children (from workspace.json when present, else discovered) that have a
|
|
70
|
+
* built graph, in sorted child order. */
|
|
71
|
+
loaded: LoadedChild[];
|
|
72
|
+
/** Listed children with no built graph yet — surfaced, never silently skipped. */
|
|
73
|
+
missing: string[];
|
|
74
|
+
}
|
|
75
|
+
/** Load each child's graph via `loadGraphCached`. Children come from
|
|
76
|
+
* workspace.json when present, otherwise from live git-child discovery (a
|
|
77
|
+
* not-yet-built workspace). A child without a built graph is counted into
|
|
78
|
+
* `missing`, not dropped. */
|
|
79
|
+
export declare function loadWorkspaceGraphs(root: string, override?: string): WorkspaceGraphs;
|
|
80
|
+
/** "2 of 3 workspace repos have graphs; run graft build to cover repoC" — the
|
|
81
|
+
* coverage line federated commands append when some listed child is unbuilt.
|
|
82
|
+
* Empty string when every child has a graph. */
|
|
83
|
+
export declare function coverageNote(g: WorkspaceGraphs): string;
|
|
84
|
+
export interface FederateAskOptions {
|
|
85
|
+
limit?: number;
|
|
86
|
+
source?: boolean;
|
|
87
|
+
full?: boolean;
|
|
88
|
+
graphRank?: boolean;
|
|
89
|
+
/** Narrow to one child (`repoA`) or a sub-scope within it (`repoA/backend`).
|
|
90
|
+
* A prefix matching NO child throws, listing the repos. */
|
|
91
|
+
in?: string;
|
|
92
|
+
/** @internal File-level child RRF plus an exact workspace baseline top lock. */
|
|
93
|
+
fileTopLock?: boolean;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Federated `ask` across a workspace: run each child's own ask pipeline, then
|
|
97
|
+
* fuse ALL the children's scope lists with `fuseScopes` (reciprocal rank). Each
|
|
98
|
+
* child contributes one fusion scope per intra-child scope, labeled
|
|
99
|
+
* `<child>/<scope>` (or just `<child>` for a child's root scope), so a big repo
|
|
100
|
+
* can't drown a small one — rank positions are comparable across repos where
|
|
101
|
+
* raw scores are not.
|
|
102
|
+
*
|
|
103
|
+
* Rank fusion is still right HERE, and only here: each child was scored against
|
|
104
|
+
* its own corpus, so cross-child scores share no scale. Within a single repo
|
|
105
|
+
* that is no longer true — `rankScopesAndFuse` gives every scope the same
|
|
106
|
+
* statistics and the same denominator and combines them by score.
|
|
107
|
+
*
|
|
108
|
+
* Returns a normal `AskResult`; `formatAsk` renders it unchanged, labeling each
|
|
109
|
+
* hit `[<child>/…]` via the standard multi-scope path.
|
|
110
|
+
*/
|
|
111
|
+
export declare function federateAsk(root: string, override: string | undefined, query: string, opts?: FederateAskOptions): AskResult;
|
|
112
|
+
/** Merge every child's `GrepResult` into one, prefixing group paths with the
|
|
113
|
+
* child dir and re-sorting by coupling (inDegree desc, path asc) across repos.
|
|
114
|
+
* In-degree stays each child's own — it comes from that child's graph. */
|
|
115
|
+
export declare function federateGrep(root: string, override: string | undefined, pattern: string, opts?: {
|
|
116
|
+
ignoreCase?: boolean;
|
|
117
|
+
fixed?: boolean;
|
|
118
|
+
}): {
|
|
119
|
+
result: GrepResult;
|
|
120
|
+
coverage: string;
|
|
121
|
+
};
|
|
122
|
+
/** One `graft map` section per child (each child's own map, budget split evenly
|
|
123
|
+
* across the loaded children), joined under `<child>/` headers. */
|
|
124
|
+
export declare function federateMap(root: string, override: string | undefined, opts?: {
|
|
125
|
+
maxDirs?: number;
|
|
126
|
+
}): string;
|
|
127
|
+
/** Per-child drift status. `ok` is false when any BUILT child is stale — an
|
|
128
|
+
* unbuilt child is surfaced (coverage), never a failure. */
|
|
129
|
+
export declare function federateCheck(root: string, override?: string): Promise<{
|
|
130
|
+
text: string;
|
|
131
|
+
ok: boolean;
|
|
132
|
+
}>;
|
|
133
|
+
/** Resolve a symbol across every child, grouped per child. Reuses the shared
|
|
134
|
+
* traverse-cli formatters so each block reads exactly like `graft callers`. */
|
|
135
|
+
export declare function federateCallers(root: string, override: string | undefined, symbol: string, opts?: {
|
|
136
|
+
direction?: Direction;
|
|
137
|
+
depth?: number;
|
|
138
|
+
in?: string;
|
|
139
|
+
}): {
|
|
140
|
+
text: string;
|
|
141
|
+
found: boolean;
|
|
142
|
+
};
|
|
143
|
+
/**
|
|
144
|
+
* Split a parent into a workspace: build each git child (via the supplied
|
|
145
|
+
* `buildChild` callback, so this stays free of any engine/LLM dependency),
|
|
146
|
+
* then REPLACE the parent's `graft/` with just `workspace.json`. `onStart`
|
|
147
|
+
* fires once — before any child is built — carrying whether this build is a
|
|
148
|
+
* mega-graph migration, so the caller can print the one-time split warning
|
|
149
|
+
* first, exactly as the spec requires.
|
|
150
|
+
*
|
|
151
|
+
* The child build writes into `<child>/graft/` and is byte-identical to
|
|
152
|
+
* building that child standalone (`buildChild` is just `buildGraph(childDir)`),
|
|
153
|
+
* because nothing about the parent path enters the child's build.
|
|
154
|
+
*/
|
|
155
|
+
export declare function splitWorkspace(root: string, override: string | undefined, buildChild: (childDir: string, childName: string) => Promise<void>, onStart?: (info: {
|
|
156
|
+
children: string[];
|
|
157
|
+
migrated: boolean;
|
|
158
|
+
}) => void): Promise<{
|
|
159
|
+
children: string[];
|
|
160
|
+
migrated: boolean;
|
|
161
|
+
}>;
|
|
162
|
+
export { formatGrepResult, zeroHitNote };
|
|
163
|
+
/**
|
|
164
|
+
* Federated semantic search across all workspace children.
|
|
165
|
+
* For each child, queries that child's embeddings DB and prefixes hits with
|
|
166
|
+
* `[child/]`. All hits are merged, sorted by score desc, top `limit` returned.
|
|
167
|
+
*/
|
|
168
|
+
export declare function federateSemantic(root: string, override: string | undefined, query: string, limit: number): Promise<{
|
|
169
|
+
text: string;
|
|
170
|
+
isError: boolean;
|
|
171
|
+
}>;
|
|
172
|
+
//# sourceMappingURL=workspace.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../../src/graph/workspace.ts"],"names":[],"mappings":"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"}
|