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,100 @@
|
|
|
1
|
+
import { type ComprehendResult, type ComprehendBlock, type ComprehendLink, type ComprehendValidation, type ComprehendValidationIssue } from "./comprehend.js";
|
|
2
|
+
import type { LLMProvider } from "../../engine/ai-provider.js";
|
|
3
|
+
export declare function pergroupEnabled(): boolean;
|
|
4
|
+
export interface SegmentGroup {
|
|
5
|
+
group_id: string;
|
|
6
|
+
topic: string;
|
|
7
|
+
provisional_project?: string;
|
|
8
|
+
turn_numbers?: number[];
|
|
9
|
+
}
|
|
10
|
+
export interface SegmentResult {
|
|
11
|
+
groups: SegmentGroup[];
|
|
12
|
+
reasoning?: string;
|
|
13
|
+
}
|
|
14
|
+
export declare const SEGMENT_PROMPT = "You read ONE complete work session between a user and an AI agent and split it into\nthe THREADS it contains. You do NOT extract any content yet \u2014 only the thread\nstructure. Read the whole session first.\n\nDecide EVERYTHING by reasoning about MEANING in this session's context \u2014 what each\npart was trying to DO. Never decide by matching surface words, phrasings, or\nconnectors. The same meaning appears in countless wordings across domains; you are\nreading for the structure beneath the words.\n\n\u2500\u2500 STATE CONVENTION \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\"State\" = text in the TRANSCRIPT below. Your training knowledge and \"what's\ncommonly known\" are NOT state. If it is not in the transcript, it is not a thread\nhere. Familiarity \u2260 recorded.\n\n\u2500\u2500 SEGMENT into GROUPS (clusters under a root) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nSplit the session into GROUPS. A group is one coherent sub-thread \u2014 a single\nproblem worked, question pursued, or thing decided. KEEP DISTINCT SUB-THREADS AS\nSEPARATE GROUPS even when they belong to the same overall project; one sub-thread\nscattered across the session is one group. Judge by what the participants were\ntrying to do, not by topic words. Do NOT collapse several sub-threads into one big\ngroup \u2014 keep them fine-grained.\n\nTHEN assign each group a provisional_project \u2014 the ONE overarching ROOT it belongs\nto. The ROOT is the project; the GROUP is a CLUSTER under it; ONE root has MANY\nclusters. Sub-threads of the same overall effort SHARE a root but STAY SEPARATE\nGROUPS \u2014 same root, several clusters; do NOT merge them into one group.\n \u2022 Use a DIFFERENT provisional_project ONLY for a genuinely separate topic \u2014 a\n real context-switch or an unrelated tangent.\n \u2022 A separate root must have a NAMEABLE SUBJECT: you must be able to say what the\n group's work is ABOUT without referring to the speaker's own remembering,\n reasoning, or composing of replies in this conversation. Recalling, weighing,\n and planning how to respond are the MEANS of every conversation, never a topic\n of their own \u2014 claims born of that procedure belong under the root of the work\n they serve.\n \u2022 When unsure whether two groups share a root, prefer the SAME root \u2014 splitting\n one topic across many roots (fragmentation) is worse than a slightly-broad root.\nNAME the root with the most SPECIFIC identifier the session gives the SUBJECT the work\nis ABOUT \u2014 named as specifically as the session itself names it. NEVER a generic\ncategory word, a placeholder, or the group_id; if nothing that specific is named, use\nthe clearest phrase for what the work is about \u2014 never a bare \"group\"/number. Project\nnames are lowercase with hyphens only (no underscores), and provisional_project must\nalways be filled. This is provisional; cross-SESSION matching to existing roots happens later.\n\nFor each group, also list turn_numbers: the [TURN N] numbers whose content belongs\nto this thread. A turn may belong to more than one group, and a thread may span\nnon-contiguous turns \u2014 list every turn the thread touches.\n\nOutput ONLY the thread structure: each group's group_id, topic, provisional_project\n(the root), and turn_numbers. Do NOT produce any blocks, fields, content, or links \u2014\na later step extracts those, one thread at a time. You need not emit a group for\npure greeting/closing chatter that did no work.";
|
|
15
|
+
export interface SegmentCallResult {
|
|
16
|
+
result: SegmentResult | null;
|
|
17
|
+
rateLimited: boolean;
|
|
18
|
+
model?: string;
|
|
19
|
+
usage?: {
|
|
20
|
+
input: number;
|
|
21
|
+
thinking: number;
|
|
22
|
+
output: number;
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
/** Run the SEGMENT call. Tiny maxOutputTokens (just the skeleton) — bounded by
|
|
26
|
+
* construction. Graph-blind (transcript only), like callComprehendLLM. */
|
|
27
|
+
export declare function callSegmentLLM(provider: LLMProvider, transcript: string, thinkingBudget?: number): Promise<SegmentCallResult>;
|
|
28
|
+
export declare function validateSegmentResult(result: unknown): ComprehendValidation;
|
|
29
|
+
export interface ProduceResult {
|
|
30
|
+
blocks: ComprehendBlock[];
|
|
31
|
+
within_group_links: ComprehendLink[];
|
|
32
|
+
}
|
|
33
|
+
export declare const PRODUCE_PROMPT = "You are extracting ONE thread from a work session between a user and an AI agent.\nThe whole transcript is given for context, but you extract ONLY the thread identified\nbelow \u2014 its TOPIC and PROJECT are already decided (do not change them) and its turns\nare listed.\n\nDecide EVERYTHING by reasoning about MEANING in this session's context \u2014 what role\neach piece played in what actually happened here. Never decide by matching surface\nwords, phrasings, or connectors. The same meaning appears in countless wordings\nacross domains; you are reading for the structure beneath the words.\n\n\u2500\u2500 STATE CONVENTION \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\"State\" = text in the TRANSCRIPT below. Your training knowledge and \"what's\ncommonly known\" are NOT state. Every block must quote a verbatim excerpt from the\ntranscript as its provenance. If it is not in the transcript, do not write it.\nFamiliarity \u2260 recorded.\n\n\u2500\u2500 WHAT TO KEEP (reason per candidate, from this thread) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nKeep the irreplaceable RESIDUE of this thread \u2014 what was DECIDED, TRIED-AND-\nABANDONED, CONSTRAINED, OBSERVED, or STATED here \u2014 together with the REASONING.\n\nThe spine question, per candidate:\n \"Could a competent model \u2014 given the project context but WITHOUT having lived\n this session \u2014 already produce this?\"\n YES \u2192 it is knowledge the model already carries \u2192 do not emit.\n NO \u2192 it exists only because this session happened \u2192 emit it.\n\nAsymmetric cost: anything that exists ONLY because this session happened is\nunrecoverable once dropped \u2014 not just a decision / dead_end / constraint, but also a\nsession-specific observation, measurement, or stated value. Only what the model\nALREADY carries regenerates for free; a value measured or stated here is not that.\nWhen unsure \u2192 keep.\n\nConsulting the agent's own memory is not such a happening. A statement whose subject\nis that MEMORY itself \u2014 that what is already stored is complete, was reviewed, or that\nreading it changed nothing \u2014 is not residue, even though the reading occurred this\nsession; reading memory is not an action in the work. Emit only what the work produced\nabout ITS subject, never the agent's reading of what it had already stored.\n\nA conclusion's EVIDENCE is residue too \u2014 the observation, measurement, or result it\nis reasoned from. Keep it as its own block and ground the conclusion to it\n(based_on / supports); a conclusion saved without what it rests on is\nhalf the record. Keep that evidence EVEN when nothing links to it yet \u2014 a later\nsession grounds it; never drop a session-specific observation for lack of a link.\n\nDo not emit:\n \u2022 an option that was only RAISED in thought \u2014 never chosen, entered, or acted on.\n \u2022 a bare sequence of steps carrying no reason that nothing rests on \u2014 the WHEN with\n no WHY. (A step or value a conclusion is reasoned from is not bare \u2014 keep it.)\n\nIf the same claim appears more than once (e.g. restated in a recap), write it once,\nusing its most complete statement. If this thread holds no residue at all \u2014 pure\nprocedure, scaffolding, or chatter \u2014 output no blocks.\n\nEvery block carries keep_reason: one line, from the session, naming what makes it\nresidue (it was chosen / entered-then-abandoned / imposed / measured / asserted by\na party), or why you kept it when it was borderline.\n\nEvery block also carries type_reasoning: one line stating why THIS type's epistemic\nrole fits \u2014 what distinguishes it from the neighbouring types, judged by the role the\nblock plays for a future reader, not by surface wording. Decide this before you commit\nthe type.\n\n\u2500\u2500 WRITE TYPED blocks for THIS thread \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nA type is the agent's RELATIONSHIP to the knowledge, not its subject matter \u2014 the\nsame type spans every domain. For each piece of residue, reason about which\nrelationship fits, then FILL THAT TYPE'S unique{} FIELDS \u2014 this is the block's\nstructured identity and is REQUIRED, never empty. Put the actual content there\n(the choice + reason, the value, the limit, the approach + why it failed), in the\nsession's own language. essence is only a one-line SUMMARY of those fields \u2014 it\ndoes not replace them. One passage can carry several relationships \u2192 several blocks.\n\nCORE relationships (consider these first):\n decision {choice, reason, alternatives_rejected} \u2014 the participants CLOSED a\n fork: a path was committed to, adopted, or acted on. The decision is\n the path TAKEN; a path they CLOSED OFF is a dead_end (below), not a\n decision \u2014 even when one passage both settles the choice and rules out\n the alternative. A path one participant PUT FORWARD for another to\n accept leaves the fork open \u2014 that is a blueprint (below), not a\n decision, no matter how strongly it was urged. To type decision you\n must be able to point at WHERE the fork closed, not just where a path\n was proposed. Justify it: link based_on >=1 fact/constraint (below).\n dead_end {approach, reason, alternative} \u2014 an approach CLOSED OFF for a stated\n reason, so a future reader should not re-open it. Covers one tried then\n abandoned AND one evaluated and definitively rejected before trying. A\n path merely floated with no verdict is NOT a dead_end \u2014 the close-off\n must be definite and reasoned.\n constraint {limit, reason, source} \u2014 a boundary that bounds EVERY option and that\n the participants must work within. May be imposed from outside OR set by\n the participants as a fixed limit; what makes it a constraint is that it\n GOVERNS the other choices rather than being one of them.\n fact {value, why_matters} \u2014 a specific observed value or concrete state.\n insight {observation, implication} \u2014 a realization drawn from combining things.\n blueprint {purpose, status, trigger_to_implement} \u2014 a planned or proposed path\n whose outcome is not yet settled: a plan adopted but not yet executed,\n OR a path put forward that no one has yet accepted. The fork is still\n open; when it later closes, a decision supersedes this.\n preference {lean, over, condition} \u2014 a standing lean that shapes future choices,\n short of a committed decision.\n question {question, why_matters} \u2014 left genuinely open, with no path forward.\n\nWhen the level of commitment is unclear, type the LESS-committed role (blueprint\nover decision, preference over constraint): the residue is still captured, and a\nlater session promotes it (a decision supersedes its blueprint). A false decision\nmisleads every future reader into treating an open fork as closed.\n\nOTHER roles, with their REQUIRED fields (fill these exact field names), when none of\nthe above fits:\n hypothesis {proposal, evidence_against} \u2014 a claim offered as possibly true but\n NOT yet verified: reasoned TOWARD, not asserted as established. What it\n rests on is recorded as its OWN block and linked (based_on), not\n restated here; evidence_against is only what would weigh against it.\n entity {name, role} \u2014 a thing the work REFERS TO by name, not a claim about it;\n identity is the name, role is the part it plays in the work.\n task {status, description, owner} \u2014 work still TO BE DONE, tracked by its state\n of completion and who holds it.\n event {what_happened, outcome, date} \u2014 a thing that OCCURRED at a point in time,\n as opposed to a standing truth that simply holds.\n note {} \u2014 no field schema; the catch-all, only when no sharper role fits.\nIf a genuinely distinct epistemic role STILL fits none of these, name the type and\ninclude schema{} (field -> what it captures).\n\nEach block also carries: essence (one sentence, <=120 chars \u2014 what it is and why\nit matters), concepts (a few terms naming what it is about), provisional_name (a\nshort slug for the thing \u2014 provisional, not a final label), provenance, keep_reason.\n\n\u2500\u2500 WIRE the relationships WITHIN this thread \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nWhere the thread shows one block standing in a real relationship to another \u2014 one\nthing led to another, justified it, replaced it, answered it, elaborates it,\nprovides evidence for it, or conflicts with it \u2014 record that link. Infer it from\nwhat happened, whether or not any connecting word is present.\n\nEach link is {from, to, type}, where \"from\" holds the relationship. Choose the\ntype whose MEANING matches:\n prompted_by \u2014 from happened as a consequence of to (to is the trigger)\n based_on \u2014 from is a conclusion grounded in to (evidence)\n extends \u2014 from is a more specific case of to (broader)\n supersedes \u2014 from replaces an earlier to\n resolves \u2014 from answers the open question to\n supports \u2014 from is evidence for the proposal to\n contradicts \u2014 from and to conflict\n related_to \u2014 from and to are associated, with no sharper relationship\n derived_from \u2014 from was reasoned out from to\n affects \u2014 from has an impact on to\n\nReach for the SHARPEST relation the meaning supports. related_to and affects are\nthe WEAKEST \u2014 a last resort, used ONLY when no grounding, consequence, replacement,\nor answer actually holds between the two. When a sharper relation is true, name it.\n\nEvery block sits in a HISTORY \u2014 wire each way it connects BACKWARD to what came\nbefore, not only its evidence:\n - what it was REASONED FROM: the observation, measurement, or result a later\n realization, boundary, choice, or lean rests on (based_on / supports / derived_from);\n - what it REPLACED: an earlier approach, value, or state this makes obsolete. The\n earlier block stays as history and MUST be linked FROM the newer one (supersedes) \u2014\n never leave a superseded block standing as if nothing replaced it;\n - what TRIGGERED it: the event, failure, or need it arose as a consequence of\n (prompted_by);\n - the open QUESTION it answers (resolves).\nThe trap to avoid, for ANY block type: a block that REPLACED or was TRIGGERED BY\nanother, but is wired only to its supporting evidence, leaves that other block\nORPHANED \u2014 you recorded why it is justified but dropped what it displaced or\nresponded to. Both are how the state was reached; wire both.\n\nThe link type MUST be exactly one of these ten relations \u2014 never invent one, and\nnever use a block's unique{} field name as a link type. A detail that belongs to a\nsingle block (a decision's rejected alternatives, a constraint's source, and the\nlike) is recorded INSIDE that block's own fields \u2014 never as a link, and never as a\nseparate block created only so something can link to it.\n\nEvery decision \u2014 and every hypothesis or insight that rests on a finding \u2014 needs >=1\nbased_on to the observation it is reasoned from. If that evidence is genuinely not in\nthis session, mark the block uncertain \u2014 never supply the evidence yourself.\n\nThe PROJECT is already assigned \u2014 do not change it. Do not assign final names, do\nnot match against any existing memory, and do NOT link to blocks in OTHER threads\n(cross-thread links are a later stage). Output only this thread's blocks and\nwithin-thread links.";
|
|
34
|
+
export interface ProduceCallResult {
|
|
35
|
+
result: ProduceResult | null;
|
|
36
|
+
rateLimited: boolean;
|
|
37
|
+
truncated: boolean;
|
|
38
|
+
usage?: {
|
|
39
|
+
input: number;
|
|
40
|
+
thinking: number;
|
|
41
|
+
output: number;
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
/** Produce ONE group's blocks + within-group links. maxOutputTokens is bounded to
|
|
45
|
+
* one thread's worth (24576, still under the 32768 cap) — the runaway can't fire.
|
|
46
|
+
* Was 16384, but a normal group in a 6-turn convo occasionally overflowed it →
|
|
47
|
+
* truncation-bump round-trip (worktest run 5); 24576 absorbs the dense-group case
|
|
48
|
+
* up front. Genuine over-generation past this still splits via produceGroupBounded. */
|
|
49
|
+
export declare function callProduceGroupLLM(provider: LLMProvider, transcript: string, group: SegmentGroup, thinkingBudget?: number): Promise<ProduceCallResult>;
|
|
50
|
+
/** Split a transcript roughly in half by lines. Returns [t] when it can't be split. */
|
|
51
|
+
export declare function splitTranscriptForRetry(transcript: string): string[];
|
|
52
|
+
/** Merge PRODUCE sub-results, NAMESPACING each part's local_ids (and the link endpoints
|
|
53
|
+
* that reference them) so the merged group has unique ids. within_group_links only ever
|
|
54
|
+
* reference blocks within their own part, so prefixing both endpoints per-part is safe. */
|
|
55
|
+
export declare function mergeProduceResults(parts: ProduceResult[]): ProduceResult;
|
|
56
|
+
/** PRODUCE one group, BOUNDED against truncation: on a genuine truncation, split the
|
|
57
|
+
* transcript and recurse. ok=false only when it truly couldn't produce (a non-truncation
|
|
58
|
+
* failure, or still truncating at the depth cap) — a legit empty group is ok=true.
|
|
59
|
+
* `onCall` is invoked once per actual (sub-)call so the caller can count them. */
|
|
60
|
+
export declare function produceGroupBounded(provider: LLMProvider, transcript: string, group: SegmentGroup, depth: number, onCall: () => void): Promise<{
|
|
61
|
+
result: ProduceResult;
|
|
62
|
+
ok: boolean;
|
|
63
|
+
}>;
|
|
64
|
+
/** Reassemble the SEGMENT skeleton + per-group PRODUCE outputs into the EXISTING
|
|
65
|
+
* ComprehendResult shape. A group with no produce output → empty blocks/links
|
|
66
|
+
* (valid; keep-partial). Pure. */
|
|
67
|
+
export declare function stitchToComprehendResult(seg: SegmentResult, produced: Map<string, ProduceResult>): ComprehendResult;
|
|
68
|
+
/** The group_ids that appear in any validation ERROR — i.e. which groups are "bad".
|
|
69
|
+
* Every post-stitch hard error carries a group_id (SEAM 1.5 guarantees each stitched
|
|
70
|
+
* group has one), so this attributes a failed validation to the responsible group(s),
|
|
71
|
+
* letting us redo / quarantine ONLY those — never the whole arc. */
|
|
72
|
+
export declare function groupIdsWithErrors(errors: ComprehendValidationIssue[]): Set<string>;
|
|
73
|
+
/** Empty the named groups (blocks + within-group links), leaving the rest untouched —
|
|
74
|
+
* the QUARANTINE floor. Pure. An emptied group is VALID (0 blocks), exactly like
|
|
75
|
+
* keep-partial, and carries no dangling links (cross-group links don't exist yet at
|
|
76
|
+
* this stage). The group skeleton stays so counts/grouping downstream are unchanged. */
|
|
77
|
+
export declare function quarantineGroups(result: ComprehendResult, gids: Set<string>): ComprehendResult;
|
|
78
|
+
export interface PerGroupCallResult {
|
|
79
|
+
result: ComprehendResult | null;
|
|
80
|
+
validation: ComprehendValidation | null;
|
|
81
|
+
rateLimited: boolean;
|
|
82
|
+
segmentGroups: number;
|
|
83
|
+
produceCalls: number;
|
|
84
|
+
produceFailures: number;
|
|
85
|
+
redoneGroups: number;
|
|
86
|
+
quarantinedGroups: number;
|
|
87
|
+
model?: string;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Orchestrate per-group COMPREHEND: SEGMENT → SEAM 1.5 → PRODUCE per group
|
|
91
|
+
* (parallel, bounded) → stitch → SEAM 1 (validateComprehendResult). Returns the
|
|
92
|
+
* SAME {result, validation} shape as callComprehendLLM so runComprehendFrontHalf
|
|
93
|
+
* uses it interchangeably. KEEP-PARTIAL: one group's PRODUCE failing → that group
|
|
94
|
+
* is empty, the rest proceed (the single-point-of-failure removal). Degrades
|
|
95
|
+
* (result=null) only when SEGMENT itself fails/invalidates.
|
|
96
|
+
*/
|
|
97
|
+
export declare function runComprehendPerGroup(provider: LLMProvider, transcript: string, opts?: {
|
|
98
|
+
produceConcurrency?: number;
|
|
99
|
+
}): Promise<PerGroupCallResult>;
|
|
100
|
+
//# sourceMappingURL=comprehend-pergroup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"comprehend-pergroup.d.ts","sourceRoot":"","sources":["../../../src/middleware/reflect/comprehend-pergroup.ts"],"names":[],"mappings":"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"}
|