nodedex 0.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/adapters/claude-code-watcher.mjs +336 -0
- package/adapters/hermes-statedb-watcher.mjs +234 -0
- package/adapters/nodedex-capture-core.mjs +129 -0
- package/adapters/nodedex-capture.mjs +169 -0
- package/dist/agent-protocol.d.ts +7 -0
- package/dist/agent-protocol.d.ts.map +1 -0
- package/dist/agent-protocol.js +38 -0
- package/dist/agent-protocol.js.map +1 -0
- package/dist/api-server.d.ts +5 -0
- package/dist/api-server.d.ts.map +1 -0
- package/dist/api-server.js +351 -0
- package/dist/api-server.js.map +1 -0
- package/dist/boot-env.d.ts +2 -0
- package/dist/boot-env.d.ts.map +1 -0
- package/dist/boot-env.js +12 -0
- package/dist/boot-env.js.map +1 -0
- package/dist/engine/__tests__/search-core.test.d.ts +2 -0
- package/dist/engine/__tests__/search-core.test.d.ts.map +1 -0
- package/dist/engine/__tests__/search-core.test.js +139 -0
- package/dist/engine/__tests__/search-core.test.js.map +1 -0
- package/dist/engine/ai-provider.d.ts +45 -0
- package/dist/engine/ai-provider.d.ts.map +1 -0
- package/dist/engine/ai-provider.js +5 -0
- package/dist/engine/ai-provider.js.map +1 -0
- package/dist/engine/embeddings.d.ts +51 -0
- package/dist/engine/embeddings.d.ts.map +1 -0
- package/dist/engine/embeddings.js +89 -0
- package/dist/engine/embeddings.js.map +1 -0
- package/dist/engine/providers/__tests__/failure-policy.test.d.ts +2 -0
- package/dist/engine/providers/__tests__/failure-policy.test.d.ts.map +1 -0
- package/dist/engine/providers/__tests__/failure-policy.test.js +134 -0
- package/dist/engine/providers/__tests__/failure-policy.test.js.map +1 -0
- package/dist/engine/providers/__tests__/model-caps.test.d.ts +2 -0
- package/dist/engine/providers/__tests__/model-caps.test.d.ts.map +1 -0
- package/dist/engine/providers/__tests__/model-caps.test.js +38 -0
- package/dist/engine/providers/__tests__/model-caps.test.js.map +1 -0
- package/dist/engine/providers/__tests__/openai-structured.test.d.ts +2 -0
- package/dist/engine/providers/__tests__/openai-structured.test.d.ts.map +1 -0
- package/dist/engine/providers/__tests__/openai-structured.test.js +73 -0
- package/dist/engine/providers/__tests__/openai-structured.test.js.map +1 -0
- package/dist/engine/providers/__tests__/usage-ledger.test.d.ts +2 -0
- package/dist/engine/providers/__tests__/usage-ledger.test.d.ts.map +1 -0
- package/dist/engine/providers/__tests__/usage-ledger.test.js +108 -0
- package/dist/engine/providers/__tests__/usage-ledger.test.js.map +1 -0
- package/dist/engine/providers/anthropic.d.ts +17 -0
- package/dist/engine/providers/anthropic.d.ts.map +1 -0
- package/dist/engine/providers/anthropic.js +125 -0
- package/dist/engine/providers/anthropic.js.map +1 -0
- package/dist/engine/providers/failure-policy.d.ts +56 -0
- package/dist/engine/providers/failure-policy.d.ts.map +1 -0
- package/dist/engine/providers/failure-policy.js +120 -0
- package/dist/engine/providers/failure-policy.js.map +1 -0
- package/dist/engine/providers/gemini.d.ts +22 -0
- package/dist/engine/providers/gemini.d.ts.map +1 -0
- package/dist/engine/providers/gemini.js +180 -0
- package/dist/engine/providers/gemini.js.map +1 -0
- package/dist/engine/providers/index.d.ts +8 -0
- package/dist/engine/providers/index.d.ts.map +1 -0
- package/dist/engine/providers/index.js +67 -0
- package/dist/engine/providers/index.js.map +1 -0
- package/dist/engine/providers/local.d.ts +12 -0
- package/dist/engine/providers/local.d.ts.map +1 -0
- package/dist/engine/providers/local.js +46 -0
- package/dist/engine/providers/local.js.map +1 -0
- package/dist/engine/providers/model-caps.d.ts +6 -0
- package/dist/engine/providers/model-caps.d.ts.map +1 -0
- package/dist/engine/providers/model-caps.js +49 -0
- package/dist/engine/providers/model-caps.js.map +1 -0
- package/dist/engine/providers/openai.d.ts +30 -0
- package/dist/engine/providers/openai.d.ts.map +1 -0
- package/dist/engine/providers/openai.js +309 -0
- package/dist/engine/providers/openai.js.map +1 -0
- package/dist/engine/providers/usage-ledger.d.ts +69 -0
- package/dist/engine/providers/usage-ledger.d.ts.map +1 -0
- package/dist/engine/providers/usage-ledger.js +209 -0
- package/dist/engine/providers/usage-ledger.js.map +1 -0
- package/dist/engine/search-core.d.ts +40 -0
- package/dist/engine/search-core.d.ts.map +1 -0
- package/dist/engine/search-core.js +109 -0
- package/dist/engine/search-core.js.map +1 -0
- package/dist/engine/vector-math.d.ts +5 -0
- package/dist/engine/vector-math.d.ts.map +1 -0
- package/dist/engine/vector-math.js +25 -0
- package/dist/engine/vector-math.js.map +1 -0
- package/dist/home-env.d.ts +26 -0
- package/dist/home-env.d.ts.map +1 -0
- package/dist/home-env.js +87 -0
- package/dist/home-env.js.map +1 -0
- package/dist/mcp-server.d.ts +13 -0
- package/dist/mcp-server.d.ts.map +1 -0
- package/dist/mcp-server.js +79 -0
- package/dist/mcp-server.js.map +1 -0
- package/dist/middleware/auth.d.ts +23 -0
- package/dist/middleware/auth.d.ts.map +1 -0
- package/dist/middleware/auth.js +104 -0
- package/dist/middleware/auth.js.map +1 -0
- package/dist/middleware/auto-recall.d.ts +7 -0
- package/dist/middleware/auto-recall.d.ts.map +1 -0
- package/dist/middleware/auto-recall.js +257 -0
- package/dist/middleware/auto-recall.js.map +1 -0
- package/dist/middleware/auto-reflect.d.ts +4 -0
- package/dist/middleware/auto-reflect.d.ts.map +1 -0
- package/dist/middleware/auto-reflect.js +5 -0
- package/dist/middleware/auto-reflect.js.map +1 -0
- package/dist/middleware/reflect/apply-flag-verdict.d.ts +27 -0
- package/dist/middleware/reflect/apply-flag-verdict.d.ts.map +1 -0
- package/dist/middleware/reflect/apply-flag-verdict.js +57 -0
- package/dist/middleware/reflect/apply-flag-verdict.js.map +1 -0
- package/dist/middleware/reflect/arc-entity-resolve.d.ts +29 -0
- package/dist/middleware/reflect/arc-entity-resolve.d.ts.map +1 -0
- package/dist/middleware/reflect/arc-entity-resolve.js +356 -0
- package/dist/middleware/reflect/arc-entity-resolve.js.map +1 -0
- package/dist/middleware/reflect/arc-inactivity-timer.d.ts +47 -0
- package/dist/middleware/reflect/arc-inactivity-timer.d.ts.map +1 -0
- package/dist/middleware/reflect/arc-inactivity-timer.js +175 -0
- package/dist/middleware/reflect/arc-inactivity-timer.js.map +1 -0
- package/dist/middleware/reflect/arc-pipeline.d.ts +33 -0
- package/dist/middleware/reflect/arc-pipeline.d.ts.map +1 -0
- package/dist/middleware/reflect/arc-pipeline.js +498 -0
- package/dist/middleware/reflect/arc-pipeline.js.map +1 -0
- package/dist/middleware/reflect/comprehend-pergroup.d.ts +100 -0
- package/dist/middleware/reflect/comprehend-pergroup.d.ts.map +1 -0
- package/dist/middleware/reflect/comprehend-pergroup.js +610 -0
- package/dist/middleware/reflect/comprehend-pergroup.js.map +1 -0
- package/dist/middleware/reflect/comprehend.d.ts +237 -0
- package/dist/middleware/reflect/comprehend.d.ts.map +1 -0
- package/dist/middleware/reflect/comprehend.js +706 -0
- package/dist/middleware/reflect/comprehend.js.map +1 -0
- package/dist/middleware/reflect/config.d.ts +34 -0
- package/dist/middleware/reflect/config.d.ts.map +1 -0
- package/dist/middleware/reflect/config.js +131 -0
- package/dist/middleware/reflect/config.js.map +1 -0
- package/dist/middleware/reflect/context.d.ts +138 -0
- package/dist/middleware/reflect/context.d.ts.map +1 -0
- package/dist/middleware/reflect/context.js +619 -0
- package/dist/middleware/reflect/context.js.map +1 -0
- package/dist/middleware/reflect/cost-breakdown.d.ts +69 -0
- package/dist/middleware/reflect/cost-breakdown.d.ts.map +1 -0
- package/dist/middleware/reflect/cost-breakdown.js +63 -0
- package/dist/middleware/reflect/cost-breakdown.js.map +1 -0
- package/dist/middleware/reflect/cost-guard.d.ts +102 -0
- package/dist/middleware/reflect/cost-guard.d.ts.map +1 -0
- package/dist/middleware/reflect/cost-guard.js +243 -0
- package/dist/middleware/reflect/cost-guard.js.map +1 -0
- package/dist/middleware/reflect/cost-pricing.d.ts +54 -0
- package/dist/middleware/reflect/cost-pricing.d.ts.map +1 -0
- package/dist/middleware/reflect/cost-pricing.js +148 -0
- package/dist/middleware/reflect/cost-pricing.js.map +1 -0
- package/dist/middleware/reflect/cross-group-link.d.ts +61 -0
- package/dist/middleware/reflect/cross-group-link.d.ts.map +1 -0
- package/dist/middleware/reflect/cross-group-link.js +212 -0
- package/dist/middleware/reflect/cross-group-link.js.map +1 -0
- package/dist/middleware/reflect/dedup-by-source-and-value.d.ts +70 -0
- package/dist/middleware/reflect/dedup-by-source-and-value.d.ts.map +1 -0
- package/dist/middleware/reflect/dedup-by-source-and-value.js +0 -0
- package/dist/middleware/reflect/dedup-by-source-and-value.js.map +1 -0
- package/dist/middleware/reflect/describe-roots.d.ts +58 -0
- package/dist/middleware/reflect/describe-roots.d.ts.map +1 -0
- package/dist/middleware/reflect/describe-roots.js +266 -0
- package/dist/middleware/reflect/describe-roots.js.map +1 -0
- package/dist/middleware/reflect/flag-reviewer-startup.d.ts +16 -0
- package/dist/middleware/reflect/flag-reviewer-startup.d.ts.map +1 -0
- package/dist/middleware/reflect/flag-reviewer-startup.js +107 -0
- package/dist/middleware/reflect/flag-reviewer-startup.js.map +1 -0
- package/dist/middleware/reflect/flag-reviewer.d.ts +69 -0
- package/dist/middleware/reflect/flag-reviewer.d.ts.map +1 -0
- package/dist/middleware/reflect/flag-reviewer.js +520 -0
- package/dist/middleware/reflect/flag-reviewer.js.map +1 -0
- package/dist/middleware/reflect/inline-dedup.d.ts +26 -0
- package/dist/middleware/reflect/inline-dedup.d.ts.map +1 -0
- package/dist/middleware/reflect/inline-dedup.js +131 -0
- package/dist/middleware/reflect/inline-dedup.js.map +1 -0
- package/dist/middleware/reflect/justify-decisions.d.ts +37 -0
- package/dist/middleware/reflect/justify-decisions.d.ts.map +1 -0
- package/dist/middleware/reflect/justify-decisions.js +159 -0
- package/dist/middleware/reflect/justify-decisions.js.map +1 -0
- package/dist/middleware/reflect/nl-accept.d.ts +35 -0
- package/dist/middleware/reflect/nl-accept.d.ts.map +1 -0
- package/dist/middleware/reflect/nl-accept.js +167 -0
- package/dist/middleware/reflect/nl-accept.js.map +1 -0
- package/dist/middleware/reflect/pass0.d.ts +20 -0
- package/dist/middleware/reflect/pass0.d.ts.map +1 -0
- package/dist/middleware/reflect/pass0.js +423 -0
- package/dist/middleware/reflect/pass0.js.map +1 -0
- package/dist/middleware/reflect/pass1.d.ts +17 -0
- package/dist/middleware/reflect/pass1.d.ts.map +1 -0
- package/dist/middleware/reflect/pass1.js +241 -0
- package/dist/middleware/reflect/pass1.js.map +1 -0
- package/dist/middleware/reflect/pass2-quarantine.d.ts +129 -0
- package/dist/middleware/reflect/pass2-quarantine.d.ts.map +1 -0
- package/dist/middleware/reflect/pass2-quarantine.js +272 -0
- package/dist/middleware/reflect/pass2-quarantine.js.map +1 -0
- package/dist/middleware/reflect/pass2-seams.d.ts +205 -0
- package/dist/middleware/reflect/pass2-seams.d.ts.map +1 -0
- package/dist/middleware/reflect/pass2-seams.js +279 -0
- package/dist/middleware/reflect/pass2-seams.js.map +1 -0
- package/dist/middleware/reflect/pass2-split-orchestrator.d.ts +37 -0
- package/dist/middleware/reflect/pass2-split-orchestrator.d.ts.map +1 -0
- package/dist/middleware/reflect/pass2-split-orchestrator.js +531 -0
- package/dist/middleware/reflect/pass2-split-orchestrator.js.map +1 -0
- package/dist/middleware/reflect/pass2.d.ts +17 -0
- package/dist/middleware/reflect/pass2.d.ts.map +1 -0
- package/dist/middleware/reflect/pass2.js +324 -0
- package/dist/middleware/reflect/pass2.js.map +1 -0
- package/dist/middleware/reflect/pass2a.d.ts +141 -0
- package/dist/middleware/reflect/pass2a.d.ts.map +1 -0
- package/dist/middleware/reflect/pass2a.js +404 -0
- package/dist/middleware/reflect/pass2a.js.map +1 -0
- package/dist/middleware/reflect/pass2b.d.ts +108 -0
- package/dist/middleware/reflect/pass2b.d.ts.map +1 -0
- package/dist/middleware/reflect/pass2b.js +480 -0
- package/dist/middleware/reflect/pass2b.js.map +1 -0
- package/dist/middleware/reflect/pass2c.d.ts +113 -0
- package/dist/middleware/reflect/pass2c.d.ts.map +1 -0
- package/dist/middleware/reflect/pass2c.js +360 -0
- package/dist/middleware/reflect/pass2c.js.map +1 -0
- package/dist/middleware/reflect/pass3-batch.d.ts +62 -0
- package/dist/middleware/reflect/pass3-batch.d.ts.map +1 -0
- package/dist/middleware/reflect/pass3-batch.js +139 -0
- package/dist/middleware/reflect/pass3-batch.js.map +1 -0
- package/dist/middleware/reflect/pass3.d.ts +23 -0
- package/dist/middleware/reflect/pass3.d.ts.map +1 -0
- package/dist/middleware/reflect/pass3.js +371 -0
- package/dist/middleware/reflect/pass3.js.map +1 -0
- package/dist/middleware/reflect/pass4-slice.d.ts +25 -0
- package/dist/middleware/reflect/pass4-slice.d.ts.map +1 -0
- package/dist/middleware/reflect/pass4-slice.js +315 -0
- package/dist/middleware/reflect/pass4-slice.js.map +1 -0
- package/dist/middleware/reflect/pass4.d.ts +30 -0
- package/dist/middleware/reflect/pass4.d.ts.map +1 -0
- package/dist/middleware/reflect/pass4.js +193 -0
- package/dist/middleware/reflect/pass4.js.map +1 -0
- package/dist/middleware/reflect/pass5.d.ts +22 -0
- package/dist/middleware/reflect/pass5.d.ts.map +1 -0
- package/dist/middleware/reflect/pass5.js +178 -0
- package/dist/middleware/reflect/pass5.js.map +1 -0
- package/dist/middleware/reflect/pass_judge.d.ts +44 -0
- package/dist/middleware/reflect/pass_judge.d.ts.map +1 -0
- package/dist/middleware/reflect/pass_judge.js +263 -0
- package/dist/middleware/reflect/pass_judge.js.map +1 -0
- package/dist/middleware/reflect/pipeline-flags.d.ts +140 -0
- package/dist/middleware/reflect/pipeline-flags.d.ts.map +1 -0
- package/dist/middleware/reflect/pipeline-flags.js +314 -0
- package/dist/middleware/reflect/pipeline-flags.js.map +1 -0
- package/dist/middleware/reflect/pipeline.d.ts +237 -0
- package/dist/middleware/reflect/pipeline.d.ts.map +1 -0
- package/dist/middleware/reflect/pipeline.js +3114 -0
- package/dist/middleware/reflect/pipeline.js.map +1 -0
- package/dist/middleware/reflect/promptOverride.d.ts +14 -0
- package/dist/middleware/reflect/promptOverride.d.ts.map +1 -0
- package/dist/middleware/reflect/promptOverride.js +28 -0
- package/dist/middleware/reflect/promptOverride.js.map +1 -0
- package/dist/middleware/reflect/provenance-check.d.ts +48 -0
- package/dist/middleware/reflect/provenance-check.d.ts.map +1 -0
- package/dist/middleware/reflect/provenance-check.js +180 -0
- package/dist/middleware/reflect/provenance-check.js.map +1 -0
- package/dist/middleware/reflect/provenance-reviewer.d.ts +52 -0
- package/dist/middleware/reflect/provenance-reviewer.d.ts.map +1 -0
- package/dist/middleware/reflect/provenance-reviewer.js +253 -0
- package/dist/middleware/reflect/provenance-reviewer.js.map +1 -0
- package/dist/middleware/reflect/prune-collapsed-types.d.ts +11 -0
- package/dist/middleware/reflect/prune-collapsed-types.d.ts.map +1 -0
- package/dist/middleware/reflect/prune-collapsed-types.js +32 -0
- package/dist/middleware/reflect/prune-collapsed-types.js.map +1 -0
- package/dist/middleware/reflect/recognize-root.d.ts +75 -0
- package/dist/middleware/reflect/recognize-root.d.ts.map +1 -0
- package/dist/middleware/reflect/recognize-root.js +204 -0
- package/dist/middleware/reflect/recognize-root.js.map +1 -0
- package/dist/middleware/reflect/render-agent-flag.d.ts +25 -0
- package/dist/middleware/reflect/render-agent-flag.d.ts.map +1 -0
- package/dist/middleware/reflect/render-agent-flag.js +39 -0
- package/dist/middleware/reflect/render-agent-flag.js.map +1 -0
- package/dist/middleware/reflect/retrieve-graph-slice.d.ts +54 -0
- package/dist/middleware/reflect/retrieve-graph-slice.d.ts.map +1 -0
- package/dist/middleware/reflect/retrieve-graph-slice.js +173 -0
- package/dist/middleware/reflect/retrieve-graph-slice.js.map +1 -0
- package/dist/middleware/reflect/root-relatedness.d.ts +31 -0
- package/dist/middleware/reflect/root-relatedness.d.ts.map +1 -0
- package/dist/middleware/reflect/root-relatedness.js +92 -0
- package/dist/middleware/reflect/root-relatedness.js.map +1 -0
- package/dist/middleware/reflect/schema-heal.d.ts +22 -0
- package/dist/middleware/reflect/schema-heal.d.ts.map +1 -0
- package/dist/middleware/reflect/schema-heal.js +119 -0
- package/dist/middleware/reflect/schema-heal.js.map +1 -0
- package/dist/middleware/reflect/schema-validator.d.ts +85 -0
- package/dist/middleware/reflect/schema-validator.d.ts.map +1 -0
- package/dist/middleware/reflect/schema-validator.js +196 -0
- package/dist/middleware/reflect/schema-validator.js.map +1 -0
- package/dist/middleware/reflect/stage-audit-graph.d.ts +115 -0
- package/dist/middleware/reflect/stage-audit-graph.d.ts.map +1 -0
- package/dist/middleware/reflect/stage-audit-graph.js +563 -0
- package/dist/middleware/reflect/stage-audit-graph.js.map +1 -0
- package/dist/middleware/reflect/stage-d-resolve-graph.d.ts +87 -0
- package/dist/middleware/reflect/stage-d-resolve-graph.d.ts.map +1 -0
- package/dist/middleware/reflect/stage-d-resolve-graph.js +256 -0
- package/dist/middleware/reflect/stage-d-resolve-graph.js.map +1 -0
- package/dist/middleware/reflect/synthesizeFromSceneCard.d.ts +15 -0
- package/dist/middleware/reflect/synthesizeFromSceneCard.d.ts.map +1 -0
- package/dist/middleware/reflect/synthesizeFromSceneCard.js +91 -0
- package/dist/middleware/reflect/synthesizeFromSceneCard.js.map +1 -0
- package/dist/middleware/reflect/types.d.ts +261 -0
- package/dist/middleware/reflect/types.d.ts.map +1 -0
- package/dist/middleware/reflect/types.js +3 -0
- package/dist/middleware/reflect/types.js.map +1 -0
- package/dist/middleware/reflect/v2-integrate.d.ts +120 -0
- package/dist/middleware/reflect/v2-integrate.d.ts.map +1 -0
- package/dist/middleware/reflect/v2-integrate.js +388 -0
- package/dist/middleware/reflect/v2-integrate.js.map +1 -0
- package/dist/middleware/reflect/v2-judge.d.ts +44 -0
- package/dist/middleware/reflect/v2-judge.d.ts.map +1 -0
- package/dist/middleware/reflect/v2-judge.js +191 -0
- package/dist/middleware/reflect/v2-judge.js.map +1 -0
- package/dist/relation-sets.d.ts +2 -0
- package/dist/relation-sets.d.ts.map +1 -0
- package/dist/relation-sets.js +35 -0
- package/dist/relation-sets.js.map +1 -0
- package/dist/routes/__tests__/flags.test.d.ts +2 -0
- package/dist/routes/__tests__/flags.test.d.ts.map +1 -0
- package/dist/routes/__tests__/flags.test.js +257 -0
- package/dist/routes/__tests__/flags.test.js.map +1 -0
- package/dist/routes/__tests__/models-catalog.test.d.ts +2 -0
- package/dist/routes/__tests__/models-catalog.test.d.ts.map +1 -0
- package/dist/routes/__tests__/models-catalog.test.js +130 -0
- package/dist/routes/__tests__/models-catalog.test.js.map +1 -0
- package/dist/routes/__tests__/reflect-pause-drain.test.d.ts +2 -0
- package/dist/routes/__tests__/reflect-pause-drain.test.d.ts.map +1 -0
- package/dist/routes/__tests__/reflect-pause-drain.test.js +38 -0
- package/dist/routes/__tests__/reflect-pause-drain.test.js.map +1 -0
- package/dist/routes/__tests__/spend-pause-drain.test.d.ts +2 -0
- package/dist/routes/__tests__/spend-pause-drain.test.d.ts.map +1 -0
- package/dist/routes/__tests__/spend-pause-drain.test.js +38 -0
- package/dist/routes/__tests__/spend-pause-drain.test.js.map +1 -0
- package/dist/routes/admin.d.ts +49 -0
- package/dist/routes/admin.d.ts.map +1 -0
- package/dist/routes/admin.js +471 -0
- package/dist/routes/admin.js.map +1 -0
- package/dist/routes/blocks.d.ts +4 -0
- package/dist/routes/blocks.d.ts.map +1 -0
- package/dist/routes/blocks.js +893 -0
- package/dist/routes/blocks.js.map +1 -0
- package/dist/routes/chat-proxy.d.ts +5 -0
- package/dist/routes/chat-proxy.d.ts.map +1 -0
- package/dist/routes/chat-proxy.js +225 -0
- package/dist/routes/chat-proxy.js.map +1 -0
- package/dist/routes/conversations.d.ts +4 -0
- package/dist/routes/conversations.d.ts.map +1 -0
- package/dist/routes/conversations.js +139 -0
- package/dist/routes/conversations.js.map +1 -0
- package/dist/routes/flags.d.ts +4 -0
- package/dist/routes/flags.d.ts.map +1 -0
- package/dist/routes/flags.js +151 -0
- package/dist/routes/flags.js.map +1 -0
- package/dist/routes/inject.d.ts +4 -0
- package/dist/routes/inject.d.ts.map +1 -0
- package/dist/routes/inject.js +183 -0
- package/dist/routes/inject.js.map +1 -0
- package/dist/routes/mcp-http.d.ts +5 -0
- package/dist/routes/mcp-http.d.ts.map +1 -0
- package/dist/routes/mcp-http.js +94 -0
- package/dist/routes/mcp-http.js.map +1 -0
- package/dist/routes/quarantine.d.ts +4 -0
- package/dist/routes/quarantine.d.ts.map +1 -0
- package/dist/routes/quarantine.js +66 -0
- package/dist/routes/quarantine.js.map +1 -0
- package/dist/routes/recall.d.ts +5 -0
- package/dist/routes/recall.d.ts.map +1 -0
- package/dist/routes/recall.js +573 -0
- package/dist/routes/recall.js.map +1 -0
- package/dist/routes/reflect.d.ts +5 -0
- package/dist/routes/reflect.d.ts.map +1 -0
- package/dist/routes/reflect.js +231 -0
- package/dist/routes/reflect.js.map +1 -0
- package/dist/routes/session.d.ts +4 -0
- package/dist/routes/session.d.ts.map +1 -0
- package/dist/routes/session.js +418 -0
- package/dist/routes/session.js.map +1 -0
- package/dist/routes/state.d.ts +116 -0
- package/dist/routes/state.d.ts.map +1 -0
- package/dist/routes/state.js +621 -0
- package/dist/routes/state.js.map +1 -0
- package/dist/routes/usage.d.ts +3 -0
- package/dist/routes/usage.d.ts.map +1 -0
- package/dist/routes/usage.js +141 -0
- package/dist/routes/usage.js.map +1 -0
- package/dist/routes/workspace.d.ts +5 -0
- package/dist/routes/workspace.d.ts.map +1 -0
- package/dist/routes/workspace.js +435 -0
- package/dist/routes/workspace.js.map +1 -0
- package/dist/server.d.ts +13 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +298 -0
- package/dist/server.js.map +1 -0
- package/dist/store/__tests__/backup.test.d.ts +2 -0
- package/dist/store/__tests__/backup.test.d.ts.map +1 -0
- package/dist/store/__tests__/backup.test.js +53 -0
- package/dist/store/__tests__/backup.test.js.map +1 -0
- package/dist/store/__tests__/quality.test.d.ts +2 -0
- package/dist/store/__tests__/quality.test.d.ts.map +1 -0
- package/dist/store/__tests__/quality.test.js +75 -0
- package/dist/store/__tests__/quality.test.js.map +1 -0
- package/dist/store/backup.d.ts +14 -0
- package/dist/store/backup.d.ts.map +1 -0
- package/dist/store/backup.js +95 -0
- package/dist/store/backup.js.map +1 -0
- package/dist/store/database.d.ts +407 -0
- package/dist/store/database.d.ts.map +1 -0
- package/dist/store/database.js +2004 -0
- package/dist/store/database.js.map +1 -0
- package/dist/store/quality.d.ts +25 -0
- package/dist/store/quality.d.ts.map +1 -0
- package/dist/store/quality.js +48 -0
- package/dist/store/quality.js.map +1 -0
- package/dist/tools/__tests__/assemble-block-chains.test.d.ts +2 -0
- package/dist/tools/__tests__/assemble-block-chains.test.d.ts.map +1 -0
- package/dist/tools/__tests__/assemble-block-chains.test.js +118 -0
- package/dist/tools/__tests__/assemble-block-chains.test.js.map +1 -0
- package/dist/tools/__tests__/filter-roots-by-concepts.test.d.ts +2 -0
- package/dist/tools/__tests__/filter-roots-by-concepts.test.d.ts.map +1 -0
- package/dist/tools/__tests__/filter-roots-by-concepts.test.js +68 -0
- package/dist/tools/__tests__/filter-roots-by-concepts.test.js.map +1 -0
- package/dist/tools/__tests__/flag-surface.test.d.ts +2 -0
- package/dist/tools/__tests__/flag-surface.test.d.ts.map +1 -0
- package/dist/tools/__tests__/flag-surface.test.js +130 -0
- package/dist/tools/__tests__/flag-surface.test.js.map +1 -0
- package/dist/tools/core.d.ts +5 -0
- package/dist/tools/core.d.ts.map +1 -0
- package/dist/tools/core.js +962 -0
- package/dist/tools/core.js.map +1 -0
- package/dist/tools/derive.d.ts +5 -0
- package/dist/tools/derive.d.ts.map +1 -0
- package/dist/tools/derive.js +182 -0
- package/dist/tools/derive.js.map +1 -0
- package/dist/tools/flag-surface.d.ts +26 -0
- package/dist/tools/flag-surface.d.ts.map +1 -0
- package/dist/tools/flag-surface.js +59 -0
- package/dist/tools/flag-surface.js.map +1 -0
- package/dist/tools/helpers.d.ts +99 -0
- package/dist/tools/helpers.d.ts.map +1 -0
- package/dist/tools/helpers.js +243 -0
- package/dist/tools/helpers.js.map +1 -0
- package/dist/tools/projects.d.ts +5 -0
- package/dist/tools/projects.d.ts.map +1 -0
- package/dist/tools/projects.js +175 -0
- package/dist/tools/projects.js.map +1 -0
- package/dist/tools/system.d.ts +5 -0
- package/dist/tools/system.d.ts.map +1 -0
- package/dist/tools/system.js +1361 -0
- package/dist/tools/system.js.map +1 -0
- package/dist/tools/tasks.d.ts +5 -0
- package/dist/tools/tasks.d.ts.map +1 -0
- package/dist/tools/tasks.js +289 -0
- package/dist/tools/tasks.js.map +1 -0
- package/package.json +69 -0
- package/scripts/nodedex-entry.mjs +396 -0
- package/tui-dist/App.js +185 -0
- package/tui-dist/api.js +197 -0
- package/tui-dist/cli.js +53 -0
- package/tui-dist/components.js +63 -0
- package/tui-dist/config.js +242 -0
- package/tui-dist/connect-snippets.js +98 -0
- package/tui-dist/feed.js +51 -0
- package/tui-dist/health.js +465 -0
- package/tui-dist/hooks.js +23 -0
- package/tui-dist/memory.js +220 -0
- package/tui-dist/onboarding.js +498 -0
- package/tui-dist/review.js +193 -0
- package/tui-dist/servers.js +556 -0
- package/tui-dist/smoke.js +15 -0
- package/tui-dist/theme.js +106 -0
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
// review.tsx — the Review pane (TUI-V2 §2.3): the queue with ACTIONS.
|
|
3
|
+
// The TUI's ONLY write surface, and every write is confirm-gated: the action
|
|
4
|
+
// shows exactly what will change and asks y/N (flag-don't-auto-act as UI).
|
|
5
|
+
//
|
|
6
|
+
// Three queues, one list:
|
|
7
|
+
// ⚑ dup flags (unreviewed pipeline_flags) → actions: merge A / merge B / keep
|
|
8
|
+
// ⚑ routed-to-you questions → read-only here (the agent answers
|
|
9
|
+
// from conversation context; the TUI can't know the owner)
|
|
10
|
+
// ⚑ thin / needs-review blocks → read-only until the server grows
|
|
11
|
+
// a demote endpoint (demote logic lives server-side; not duplicated here)
|
|
12
|
+
import { useCallback, useEffect, useRef, useState } from "react";
|
|
13
|
+
import { Box, Text, useInput } from "ink";
|
|
14
|
+
import { Panel } from "./components.js";
|
|
15
|
+
import { theme, glyph, typeColorOf, typeGlyphOf, trunc } from "./theme.js";
|
|
16
|
+
import { useTermSize } from "./hooks.js";
|
|
17
|
+
import { fetchUnreviewedFlags, fetchFlagDetail, postFlagReview, } from "./api.js";
|
|
18
|
+
function valueOf(snap) {
|
|
19
|
+
if (!snap)
|
|
20
|
+
return "";
|
|
21
|
+
try {
|
|
22
|
+
const u = JSON.parse(snap.content)?.unique ?? {};
|
|
23
|
+
const first = Object.values(u).find((v) => typeof v === "string" && v.trim());
|
|
24
|
+
return first ?? "";
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
return "";
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
export function ReviewTab({ dash, isActive, onCapture, }) {
|
|
31
|
+
const { columns, rows } = useTermSize();
|
|
32
|
+
const [flags, setFlags] = useState(null);
|
|
33
|
+
const [idx, setIdx] = useState(0);
|
|
34
|
+
const [detail, setDetail] = useState(null);
|
|
35
|
+
const [confirm, setConfirm] = useState(null);
|
|
36
|
+
const [notice, setNotice] = useState("");
|
|
37
|
+
const seq = useRef(0);
|
|
38
|
+
const reload = useCallback(() => {
|
|
39
|
+
void fetchUnreviewedFlags().then(setFlags);
|
|
40
|
+
}, []);
|
|
41
|
+
useEffect(reload, [reload]);
|
|
42
|
+
const items = [
|
|
43
|
+
...(flags ?? []).map((f) => ({ kind: "dup", flag: f })),
|
|
44
|
+
...dash.agentFlags.map((f) => ({ kind: "routed", id: f.id, question: f.question, reason: f.routed_reason })),
|
|
45
|
+
...dash.reviewQueue.map((b) => ({ kind: "thin", id: b.id, label: b.label, type: b.type, essence: b.essence, reason: b.review_reason })),
|
|
46
|
+
];
|
|
47
|
+
const sel = items[Math.min(idx, Math.max(0, items.length - 1))];
|
|
48
|
+
// dup detail (both blocks embedded) follows the highlight
|
|
49
|
+
useEffect(() => {
|
|
50
|
+
if (!sel || sel.kind !== "dup") {
|
|
51
|
+
setDetail(null);
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
const s = ++seq.current;
|
|
55
|
+
fetchFlagDetail(sel.flag.id).then((d) => {
|
|
56
|
+
if (s === seq.current)
|
|
57
|
+
setDetail(d ? { a: d.block_a, b: d.block_b } : null);
|
|
58
|
+
});
|
|
59
|
+
}, [sel?.kind === "dup" ? sel.flag.id : null]);
|
|
60
|
+
// a pending confirm owns the keyboard (y/N must not leak to the shell)
|
|
61
|
+
useEffect(() => { onCapture(confirm !== null); }, [confirm, onCapture]);
|
|
62
|
+
const askMerge = (winner) => {
|
|
63
|
+
if (!sel || sel.kind !== "dup" || !detail)
|
|
64
|
+
return;
|
|
65
|
+
const win = winner === "a" ? detail.a : detail.b;
|
|
66
|
+
const lose = winner === "a" ? detail.b : detail.a;
|
|
67
|
+
if (!win || !lose) {
|
|
68
|
+
setNotice("single-block flag — nothing to merge");
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
setConfirm({
|
|
72
|
+
lines: [
|
|
73
|
+
`MERGE — keep: ${trunc(win.label, columns - 30)}`,
|
|
74
|
+
` archive: ${trunc(lose.label, columns - 30)} (+ wire superseded_by)`,
|
|
75
|
+
` flag ${sel.flag.id} marked merge`,
|
|
76
|
+
],
|
|
77
|
+
run: async () => {
|
|
78
|
+
const r = await postFlagReview(sel.flag.id, {
|
|
79
|
+
verdict: "merge",
|
|
80
|
+
reason: "operator confirmed duplicate in TUI review pane",
|
|
81
|
+
execute: true,
|
|
82
|
+
winning_block_id: win.id,
|
|
83
|
+
});
|
|
84
|
+
setNotice(r?.ok ? `merged — ${lose.label} archived` : `failed: ${r?.error ?? "no response"}`);
|
|
85
|
+
reload();
|
|
86
|
+
},
|
|
87
|
+
});
|
|
88
|
+
};
|
|
89
|
+
const askKeep = () => {
|
|
90
|
+
if (!sel || sel.kind !== "dup")
|
|
91
|
+
return;
|
|
92
|
+
setConfirm({
|
|
93
|
+
lines: [
|
|
94
|
+
`KEEP BOTH — flag ${sel.flag.id} marked leave; no blocks change`,
|
|
95
|
+
],
|
|
96
|
+
run: async () => {
|
|
97
|
+
const r = await postFlagReview(sel.flag.id, {
|
|
98
|
+
verdict: "leave",
|
|
99
|
+
reason: "operator judged not-a-duplicate in TUI review pane",
|
|
100
|
+
});
|
|
101
|
+
setNotice(r?.ok ? "kept both — flag closed" : `failed: ${r?.error ?? "no response"}`);
|
|
102
|
+
reload();
|
|
103
|
+
},
|
|
104
|
+
});
|
|
105
|
+
};
|
|
106
|
+
useInput((input, key) => {
|
|
107
|
+
if (confirm) {
|
|
108
|
+
if (input === "y" || input === "Y") {
|
|
109
|
+
const c = confirm;
|
|
110
|
+
setConfirm(null);
|
|
111
|
+
setNotice("applying…");
|
|
112
|
+
void c.run();
|
|
113
|
+
}
|
|
114
|
+
else if (input === "n" || input === "N" || key.escape || key.return) {
|
|
115
|
+
setConfirm(null);
|
|
116
|
+
setNotice("cancelled");
|
|
117
|
+
}
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
const last = Math.max(0, items.length - 1);
|
|
121
|
+
if (input === "j" || key.downArrow) {
|
|
122
|
+
setIdx((i) => Math.min(i + 1, last));
|
|
123
|
+
setNotice("");
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
if (input === "k" || key.upArrow) {
|
|
127
|
+
setIdx((i) => Math.max(0, i - 1));
|
|
128
|
+
setNotice("");
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
if (input === "g") {
|
|
132
|
+
setIdx(0);
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
if (input === "G") {
|
|
136
|
+
setIdx(last);
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
if (input === "m") {
|
|
140
|
+
askMerge("a");
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
if (input === "b") {
|
|
144
|
+
askMerge("b");
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
if (input === "K") {
|
|
148
|
+
askKeep();
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
}, { isActive });
|
|
152
|
+
const listH = Math.max(5, Math.floor((rows - (rows < 30 ? 12 : 20)) / 2));
|
|
153
|
+
const off = Math.max(0, Math.min(idx - Math.floor(listH / 2), Math.max(0, items.length - listH)));
|
|
154
|
+
const rowOf = (it, i) => {
|
|
155
|
+
const isSel = off + i === idx;
|
|
156
|
+
const mark = isSel ? "▸" : " ";
|
|
157
|
+
let tag = "";
|
|
158
|
+
let text = "";
|
|
159
|
+
if (it.kind === "dup") {
|
|
160
|
+
tag = it.flag.flag_type;
|
|
161
|
+
// show WHAT the blocks are (type_concept), not raw IDs. The detector already
|
|
162
|
+
// carries the labels in criteria; strip the shared project prefix for room.
|
|
163
|
+
const c = it.flag.criteria;
|
|
164
|
+
const shortLbl = (lbl, id) => (lbl ? lbl.replace(/^[^_]+_/, "") : "") || id || "—";
|
|
165
|
+
text = `${shortLbl(c?.label_a, it.flag.block_id_a)} ≈ ${shortLbl(c?.label_b, it.flag.block_id_b)}`;
|
|
166
|
+
}
|
|
167
|
+
else if (it.kind === "routed") {
|
|
168
|
+
tag = "routed-to-you";
|
|
169
|
+
text = it.question;
|
|
170
|
+
}
|
|
171
|
+
else {
|
|
172
|
+
tag = it.reason || "needs_review";
|
|
173
|
+
text = it.essence || it.label;
|
|
174
|
+
}
|
|
175
|
+
return (_jsxs(Box, { children: [_jsx(Text, { color: isSel ? theme.accent : theme.accent, children: `${glyph.flag} ` }), _jsx(Text, { color: theme.label, children: `${trunc(tag, 16).padEnd(17)}` }), _jsx(Text, { bold: isSel, color: isSel ? theme.accent : undefined, wrap: "truncate-end", children: `${mark}${trunc(text, columns - 32)}` })] }, `${it.kind}-${i}`));
|
|
176
|
+
};
|
|
177
|
+
// detail panel for the selection
|
|
178
|
+
let detailBody = _jsx(Text, { color: theme.dim, children: "nothing selected" });
|
|
179
|
+
if (sel?.kind === "dup") {
|
|
180
|
+
detailBody = !detail ? (_jsx(Text, { color: theme.dim, children: "loading\u2026" })) : (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { children: [_jsx(Text, { color: theme.label, children: "A: " }), _jsx(Text, { children: trunc(detail.a?.label ?? "(gone)", columns - 20) })] }), _jsx(Text, { color: theme.dim, children: ` "${trunc(valueOf(detail.a) || detail.a?.essence || "", columns - 20)}"` }), _jsxs(Text, { children: [_jsx(Text, { color: theme.label, children: "B: " }), _jsx(Text, { children: trunc(detail.b?.label ?? "(none)", columns - 20) })] }), _jsx(Text, { color: theme.dim, children: ` "${trunc(valueOf(detail.b) || detail.b?.essence || "", columns - 20)}"` }), sel.flag.review_reason ? (_jsx(Text, { color: theme.dim, children: ` detector says: ${trunc(sel.flag.review_reason, columns - 24)}` })) : null, _jsx(Box, { marginTop: 1, children: _jsxs(Text, { children: [_jsx(Text, { color: theme.accent, children: "[m]" }), _jsx(Text, { color: theme.dim, children: "erge keep A " }), _jsx(Text, { color: theme.accent, children: "[b]" }), _jsx(Text, { color: theme.dim, children: " merge keep B " }), _jsx(Text, { color: theme.accent, children: "[K]" }), _jsx(Text, { color: theme.dim, children: "eep both" })] }) })] }));
|
|
181
|
+
}
|
|
182
|
+
else if (sel?.kind === "routed") {
|
|
183
|
+
detailBody = (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { wrap: "wrap", children: sel.question }), sel.reason ? _jsx(Text, { color: theme.dim, children: `reason: ${trunc(sel.reason, columns - 16)}` }) : null, _jsx(Text, { color: theme.dim, children: "answered by the agent from conversation context \u2014 not actionable here" })] }));
|
|
184
|
+
}
|
|
185
|
+
else if (sel?.kind === "thin") {
|
|
186
|
+
detailBody = (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { children: [_jsx(Text, { color: typeColorOf(sel.type), children: `${typeGlyphOf(sel.type)} ${sel.type} ` }), _jsx(Text, { wrap: "truncate-end", children: trunc(sel.label, columns - 24) })] }), _jsx(Text, { wrap: "wrap", children: sel.essence }), sel.reason ? _jsx(Text, { color: theme.dim, children: `flagged: ${trunc(sel.reason, columns - 16)}` }) : null, _jsx(Text, { color: theme.dim, children: "read-only \u2014 block actions (accept-demote) need a server endpoint first" })] }));
|
|
187
|
+
}
|
|
188
|
+
return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Panel, { title: `review queue (${items.length})${items.length > listH ? ` ${idx + 1}/${items.length}` : ""}`, hot: items.length > 0, minHeight: listH + 2, children: flags === null ? (_jsx(Text, { color: theme.dim, children: "loading\u2026" })) : items.length === 0 ? (_jsx(Text, { color: theme.ok, children: `${glyph.okMark} queue empty — nothing needs review` })) : (items.slice(off, off + listH).map(rowOf)) }), _jsx(Panel, { title: "selected", minHeight: 7, children: detailBody }), confirm ? (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: theme.warn, paddingX: 1, children: [confirm.lines.map((l, i) => (_jsx(Text, { color: theme.warn, children: l }, i))), _jsxs(Text, { children: [_jsx(Text, { color: theme.warn, children: "confirm: " }), _jsx(Text, { color: theme.accent, children: "y" }), _jsx(Text, { color: theme.dim, children: "/N" })] })] })) : (_jsx(Text, { color: theme.dim, children: notice
|
|
189
|
+
? ` ${notice}`
|
|
190
|
+
: sel?.kind === "dup"
|
|
191
|
+
? " [j/k] queue [m/b] merge keep A/B [K] keep both — every write asks y/N first"
|
|
192
|
+
: " [j/k] queue — read-only: the pipeline manages these, no operator merge/keep" }))] }));
|
|
193
|
+
}
|