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 @@
|
|
|
1
|
+
{"version":3,"file":"pass0.d.ts","sourceRoot":"","sources":["../../../src/middleware/reflect/pass0.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAS9C,eAAO,MAAM,YAAY,gqfAoNmE,CAAC;AA+F7F,wBAAgB,eAAe,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CA2DzD;AAgBD,wBAAsB,YAAY,CAChC,QAAQ,EAAE,WAAW,EACrB,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,cAAc,GAAE,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAM,EAC9D,UAAU,GAAE,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAM,EAC1D,WAAW,GAAE,MAAW,GACvB,OAAO,CAAC;IAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;IAAC,WAAW,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAqDrI"}
|
|
@@ -0,0 +1,423 @@
|
|
|
1
|
+
import { reflectTokenStats } from "./context.js";
|
|
2
|
+
import { getThinkingBudget, modelForPass } from "./config.js";
|
|
3
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
4
|
+
// PASS 0 — SCENE CARD
|
|
5
|
+
// Job: holistic read of the full transcript before itemization.
|
|
6
|
+
// Output: structured overview that Pass 1 uses to guide type derivation and
|
|
7
|
+
// skip decisions. No thinking budget — fast, cheap, runs before Pass 1.
|
|
8
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
9
|
+
export const PASS0_PROMPT = `You receive raw agent output — thinking and final response from an AI assistant.
|
|
10
|
+
Read the ENTIRE content as a whole before filling out this scene card.
|
|
11
|
+
|
|
12
|
+
── STATE CONVENTION ─────────────────────────────────────────────────────────
|
|
13
|
+
"State" in this prompt = text in marked regions below (TRANSCRIPT, AGENT THINKING,
|
|
14
|
+
KNOWN PROJECTS, OPEN BLUEPRINTS). Your training knowledge, pretrained familiarity,
|
|
15
|
+
and what is "well-known in the field" are NOT state. When you reference state —
|
|
16
|
+
e.g. matching a term against KNOWN PROJECTS — you must be able to point to the
|
|
17
|
+
exact line in the marked region. Familiarity ≠ recorded state.
|
|
18
|
+
|
|
19
|
+
Your goal: describe what happened in this session so that downstream extraction can
|
|
20
|
+
correctly classify and link each piece of information. Observe and describe — do not
|
|
21
|
+
assign types. Be concise — one line per entry.
|
|
22
|
+
|
|
23
|
+
Record names, labels, and terms exactly as they appear in the transcript. Do not
|
|
24
|
+
expand abbreviations or add parenthetical clarifications to terms not spelled out in
|
|
25
|
+
the source — your job is to record what is there, not infer what it means.
|
|
26
|
+
|
|
27
|
+
── INPUT TYPE ────────────────────────────────────────────────────────────────
|
|
28
|
+
Ask: "Does this text describe decisions and events from a specific session —
|
|
29
|
+
or does it synthesize general domain knowledge with no session frame?"
|
|
30
|
+
|
|
31
|
+
Session-scoped: references to "this session", choices made now, trials run,
|
|
32
|
+
approaches adopted or rejected in a specific context, work in progress,
|
|
33
|
+
temporal markers ("today", "this sprint", "the team decided") → CONVERSATIONAL
|
|
34
|
+
Note: the input is always an agent's summary — single voice narrating session
|
|
35
|
+
events is still CONVERSATIONAL if the events have a session temporal frame.
|
|
36
|
+
|
|
37
|
+
Domain knowledge synthesis: no session frame, conclusions stated as general
|
|
38
|
+
findings ("X is proven", "Y has been superseded in the field", "Z remains
|
|
39
|
+
an open problem"), no choices being made now → KNOWLEDGE_SYNTHESIS
|
|
40
|
+
For KS input, SECTION 3 (actor-actions) and SECTION 4 (tasks) will be sparse
|
|
41
|
+
or empty — that is correct. SECTION 7 (REPLACEMENTS) should also be empty
|
|
42
|
+
unless a participant in THIS session is actively deciding to replace X with Y.
|
|
43
|
+
"The industry moved from X to Y" is a domain fact, not a session replacement.
|
|
44
|
+
|
|
45
|
+
Set input_type field to CONVERSATIONAL or KNOWLEDGE_SYNTHESIS. This field is used
|
|
46
|
+
by downstream passes to adjust their framing.
|
|
47
|
+
|
|
48
|
+
── SECTION 1: PROJECTS ───────────────────────────────────────────────────────
|
|
49
|
+
Every project, product, or system this session is about.
|
|
50
|
+
Name + one-line scope.
|
|
51
|
+
|
|
52
|
+
If KNOWN PROJECTS are provided, check them first.
|
|
53
|
+
Transcripts use generic self-referential terms to describe participants: "the company",
|
|
54
|
+
"the team", "the organization", "our group", "the lab", "the division", "the firm".
|
|
55
|
+
These are pronouns — how participants refer to themselves. They are NOT project names.
|
|
56
|
+
|
|
57
|
+
Project names are specific coined identifiers: a code name, product name, initiative name,
|
|
58
|
+
or organization-specific proper noun. A generic noun that could describe any organization
|
|
59
|
+
is never a project name.
|
|
60
|
+
|
|
61
|
+
Rule: if the transcript uses a generic term that clearly refers to a known project →
|
|
62
|
+
use the known project name, not the generic term.
|
|
63
|
+
Rule: if no known project matches, use the most specific identifier from the transcript
|
|
64
|
+
(a product name, initiative name, proper noun) — never the generic noun itself.
|
|
65
|
+
Rule: express every project name in label format — lowercase, hyphens only, no underscores,
|
|
66
|
+
no spaces (e.g. "x-initiative" not "X Initiative"). This name becomes the project_creates[]
|
|
67
|
+
label in Pass 3. A name that is not label-safe breaks downstream processing.
|
|
68
|
+
|
|
69
|
+
SCOPE PROJECT — also identify the ONE overarching subject of the whole transcript.
|
|
70
|
+
Every transcript has exactly one. Specific systems and products still go in projects[];
|
|
71
|
+
the scope project is the umbrella they sit under — and the home for cross-cutting
|
|
72
|
+
knowledge that belongs to no single project. If the transcript is about a single
|
|
73
|
+
project, the scope project IS that project. Set scope_project = { name, scope },
|
|
74
|
+
name in the same label format. It must always be filled.
|
|
75
|
+
|
|
76
|
+
── SECTION 2: PEOPLE AND ROLES ──────────────────────────────────────────────
|
|
77
|
+
Everyone mentioned. For each person, set:
|
|
78
|
+
role = what they contributed (decision_maker, constraint_source, executor, observer)
|
|
79
|
+
signal_type = how they appear in the transcript (named, inferred, role_only)
|
|
80
|
+
Roles:
|
|
81
|
+
decision_maker — confirmed, approved, or chose something
|
|
82
|
+
constraint_source — imposed an external requirement (auditor, vendor, regulator)
|
|
83
|
+
executor — will build or implement something
|
|
84
|
+
observer — described facts without making choices
|
|
85
|
+
|
|
86
|
+
── SECTION 3: ACTOR-ACTION LOG ──────────────────────────────────────────────
|
|
87
|
+
Significant actions as tuples: [actor] → [verb] → [object] → [outcome or nil]
|
|
88
|
+
Only actions with lasting consequences. Skip narration and logistics.
|
|
89
|
+
|
|
90
|
+
── SECTION 4: APPROACHES AND OPTIONS ────────────────────────────────────────
|
|
91
|
+
Every approach, tool, system, method, model, hypothesis, methodology, or strategy
|
|
92
|
+
that appeared as a choice point — regardless of domain.
|
|
93
|
+
For each: name, project (if known), and a description of what happened to it.
|
|
94
|
+
Describe what was observed. Do not assign a type — use the descriptions below.
|
|
95
|
+
|
|
96
|
+
For each approach, ask: "What does the text say about this concept's current standing?"
|
|
97
|
+
|
|
98
|
+
Description formats — for CONVERSATIONAL input (session-temporal framing):
|
|
99
|
+
In prior use, being replaced this session:
|
|
100
|
+
"[name] has been in active use for [period], being replaced by Y this session"
|
|
101
|
+
Adopted or confirmed this session:
|
|
102
|
+
"[name] selected as the [role], confirmed this session"
|
|
103
|
+
Explicitly excluded by named authority:
|
|
104
|
+
"[name] ruled out by [authority]: [reason]"
|
|
105
|
+
Formally evaluated and rejected (requires an actual trial, pilot, or dedicated time):
|
|
106
|
+
"[name] formally evaluated for [duration], rejected: [reason]"
|
|
107
|
+
Casually mentioned, no engagement:
|
|
108
|
+
"[name] mentioned speculatively only: '[quote]'"
|
|
109
|
+
"[name] briefly dismissed with reasons but no prior use"
|
|
110
|
+
Currently in use, no change: "[name] in active use, no change this session"
|
|
111
|
+
Committed for future evaluation: "[name] committed to formal evaluation in [period]: [what]"
|
|
112
|
+
|
|
113
|
+
Description formats — for KNOWLEDGE_SYNTHESIS input (domain-status framing):
|
|
114
|
+
Historically dominant, now generally superseded:
|
|
115
|
+
"[name] was the dominant approach for [period/context], now generally superseded by [Y]"
|
|
116
|
+
Currently standard or widely adopted:
|
|
117
|
+
"[name] is the current standard approach for [function]"
|
|
118
|
+
Proposed or emerging, not yet established:
|
|
119
|
+
"[name] proposed as alternative to [Y], [current evidence status]"
|
|
120
|
+
Evaluated and abandoned in domain practice:
|
|
121
|
+
"[name] tried in [context], abandoned: [reason]"
|
|
122
|
+
Mentioned for comparison only:
|
|
123
|
+
"[name] mentioned for comparison: [brief context]"
|
|
124
|
+
|
|
125
|
+
Format: "name [project] — description"
|
|
126
|
+
The [project] MUST be a short project label from SECTION 1 (e.g., "project-a", "my-initiative").
|
|
127
|
+
Never use a block ID, a full label string, or any value that contains underscores or numbers.
|
|
128
|
+
JSON field mapping: name → name field | [project] → project field (label only) | description → context field.
|
|
129
|
+
The project field contains ONLY the short label. The context field contains ONLY the description phrase. Never mix them.
|
|
130
|
+
Examples:
|
|
131
|
+
"approach-A [project-x] — has been in use for months, being replaced by approach-B this session"
|
|
132
|
+
"option-C [project-x] — mentioned speculatively only: 'would have handled problem P differently'"
|
|
133
|
+
"option-D [project-y] — ruled out by [authority]: violates standing policy"
|
|
134
|
+
"methodology-F [org] — formally evaluated for 3 months, rejected: high inter-rater variability"
|
|
135
|
+
|
|
136
|
+
KEY DISTINCTION — speculative mention vs substantive rejection:
|
|
137
|
+
Ask: "Was a path into X actually entered — did anyone commit resources to it
|
|
138
|
+
(time to investigate, a trial, a deployment, a structured comparison) —
|
|
139
|
+
or did X enter this conversation as a suggestion and leave as a dismissal?
|
|
140
|
+
Reasoning about what X would cost is not entering the path."
|
|
141
|
+
|
|
142
|
+
Path entered — in active use:
|
|
143
|
+
X was in use before this session, now being replaced → "in prior use, being replaced"
|
|
144
|
+
Path entered — committed investigation:
|
|
145
|
+
Someone was assigned to evaluate X, a trial ran, or resources were allocated to it.
|
|
146
|
+
"Did someone actually try X — or reason about what trying X would cost?"
|
|
147
|
+
Estimating the expense of X is not investing in X. → "formally evaluated, rejected"
|
|
148
|
+
Path not entered — speculative:
|
|
149
|
+
X raised and dismissed, no follow-up committed. Expert reasoning against X
|
|
150
|
+
reflects knowledge about X, not prior investigation of X for this project.
|
|
151
|
+
→ "mentioned speculatively" or "briefly dismissed with reasons but no prior use"
|
|
152
|
+
|
|
153
|
+
When ambiguous: default to "briefly dismissed" description.
|
|
154
|
+
A misplaced speculative is recoverable. A misplaced "formally evaluated" creates false signal.
|
|
155
|
+
|
|
156
|
+
── SECTION 5: TASKS (work actively in progress) ─────────────────────────────
|
|
157
|
+
Work that is currently underway — NOT yet complete.
|
|
158
|
+
Ask: "Are resources actively committed to this — in progress, not yet done?"
|
|
159
|
+
Format: "project_name: person — what they are doing"
|
|
160
|
+
DO NOT include: status-only confirmations with no new content ("X is on track", "X is going well",
|
|
161
|
+
"X has no blockers"). Those add no new graph knowledge.
|
|
162
|
+
DO NOT include future evaluations or investigations not yet started — these belong in
|
|
163
|
+
SECTION 4 APPROACHES with the "committed for future evaluation" description.
|
|
164
|
+
|
|
165
|
+
── SECTION 6: CAUSAL LINKS ──────────────────────────────────────────────────
|
|
166
|
+
X → Y where X caused Y, even if they appear in different paragraphs.
|
|
167
|
+
Only clear causal chains. Keep entries short.
|
|
168
|
+
|
|
169
|
+
JOINT CAUSATION — multiple abandonments/failures jointly driving one adoption:
|
|
170
|
+
Capture as ONE entry with compound cause. Format: "cause-A + cause-B → effect"
|
|
171
|
+
Example: "[X-abandoned] + [Y-abandoned] → [Z-adopted]"
|
|
172
|
+
|
|
173
|
+
── SECTION 7: REPLACEMENTS ──────────────────────────────────────────────────
|
|
174
|
+
Things that were in active use and are being replaced THIS session — announced now, not already done.
|
|
175
|
+
Scan the ENTIRE transcript for replacement pairs — these are mandatory dead_end
|
|
176
|
+
candidates for Pass 1.
|
|
177
|
+
|
|
178
|
+
GATE: If INPUT TYPE = KNOWLEDGE SYNTHESIS, ask:
|
|
179
|
+
"Is a participant in THIS session deciding to replace X with Y — or is the text
|
|
180
|
+
reporting that X has generally been replaced by Y in the domain?"
|
|
181
|
+
Reporting a domain-wide shift → not a replacement pair. Put in UNCHANGED instead.
|
|
182
|
+
|
|
183
|
+
A replacement pair exists when ALL THREE are true:
|
|
184
|
+
- X was actively in use AND
|
|
185
|
+
- X is being replaced or retired by Y AND
|
|
186
|
+
- This replacement is announced NOW in this session, not referenced as already done
|
|
187
|
+
|
|
188
|
+
Ask: "Is this replacement happening now — or referenced as prior-session context?"
|
|
189
|
+
Happening now → REPLACEMENTS. Already done → UNCHANGED instead.
|
|
190
|
+
|
|
191
|
+
Format: { predecessor: "X", replacement: "Y", function: "what both served" }
|
|
192
|
+
Use actual names from transcript. Leave empty if no replacement pairs exist.
|
|
193
|
+
|
|
194
|
+
── SECTION 8: UNCHANGED ─────────────────────────────────────────────────────
|
|
195
|
+
Things being reported as already resolved — surfaced as context for the current work,
|
|
196
|
+
not being worked out in this session.
|
|
197
|
+
|
|
198
|
+
GATE: If INPUT TYPE = KNOWLEDGE_SYNTHESIS, this section should be EMPTY.
|
|
199
|
+
KS has no prior session — all content is domain knowledge, not recap.
|
|
200
|
+
Downstream passes use UNCHANGED to skip items as duplicates — filling it for KS kills correct items.
|
|
201
|
+
|
|
202
|
+
For CONVERSATIONAL input only:
|
|
203
|
+
|
|
204
|
+
For each entry in SECTION 4 (APPROACHES), ask:
|
|
205
|
+
"Is the speaker explicitly presenting this as carried-over context from a prior session —
|
|
206
|
+
or is it being worked out now?"
|
|
207
|
+
Being worked out now (chosen, rejected, evaluated, investigated this session) → SECTION 4 only
|
|
208
|
+
Speaker presents it as prior-session context, not active work → SECTION 4 AND here
|
|
209
|
+
|
|
210
|
+
Also ask for anything else in the transcript:
|
|
211
|
+
"Is a speaker explicitly presenting this as resolved prior context — or as something new?"
|
|
212
|
+
Resolved prior context → include here
|
|
213
|
+
New this session → do not include here
|
|
214
|
+
|
|
215
|
+
An entry can appear in both SECTION 4 and SECTION 8. They serve different purposes:
|
|
216
|
+
SECTION 4 = engagement description (Pass 2). SECTION 8 = recap signal (Pass 1). Both needed.
|
|
217
|
+
|
|
218
|
+
── SCENE CARD REASONING (diagnostic) ───────────────────────────────────────
|
|
219
|
+
scene_card_reasoning: In 1-2 sentences — what input type did you identify
|
|
220
|
+
(CONVERSATIONAL or KNOWLEDGE SYNTHESIS), and what drove the key APPROACHES
|
|
221
|
+
descriptions you chose (especially for any "formally evaluated" or "in prior use" entries)?`;
|
|
222
|
+
const PASS0_SCHEMA = {
|
|
223
|
+
type: "object",
|
|
224
|
+
properties: {
|
|
225
|
+
input_type: {
|
|
226
|
+
type: "string",
|
|
227
|
+
enum: ["CONVERSATIONAL", "KNOWLEDGE_SYNTHESIS"],
|
|
228
|
+
},
|
|
229
|
+
projects: {
|
|
230
|
+
type: "array",
|
|
231
|
+
items: {
|
|
232
|
+
type: "object",
|
|
233
|
+
properties: { name: { type: "string" }, scope: { type: "string" } },
|
|
234
|
+
required: ["name", "scope"],
|
|
235
|
+
},
|
|
236
|
+
},
|
|
237
|
+
scope_project: {
|
|
238
|
+
type: "object",
|
|
239
|
+
properties: { name: { type: "string" }, scope: { type: "string" } },
|
|
240
|
+
required: ["name", "scope"],
|
|
241
|
+
},
|
|
242
|
+
people: {
|
|
243
|
+
type: "array",
|
|
244
|
+
items: {
|
|
245
|
+
type: "object",
|
|
246
|
+
properties: {
|
|
247
|
+
name: { type: "string" },
|
|
248
|
+
role: { type: "string" },
|
|
249
|
+
signal_type: { type: "string" },
|
|
250
|
+
},
|
|
251
|
+
required: ["name", "role", "signal_type"],
|
|
252
|
+
},
|
|
253
|
+
},
|
|
254
|
+
actor_actions: {
|
|
255
|
+
type: "array",
|
|
256
|
+
items: {
|
|
257
|
+
type: "object",
|
|
258
|
+
properties: {
|
|
259
|
+
actor: { type: "string" },
|
|
260
|
+
action: { type: "string" },
|
|
261
|
+
object: { type: "string" },
|
|
262
|
+
outcome: { type: "string" },
|
|
263
|
+
},
|
|
264
|
+
required: ["actor", "action", "object"],
|
|
265
|
+
},
|
|
266
|
+
},
|
|
267
|
+
technologies: {
|
|
268
|
+
type: "array",
|
|
269
|
+
items: {
|
|
270
|
+
type: "object",
|
|
271
|
+
properties: {
|
|
272
|
+
name: { type: "string" },
|
|
273
|
+
project: { type: "string", maxLength: 64 },
|
|
274
|
+
context: { type: "string" },
|
|
275
|
+
},
|
|
276
|
+
required: ["name"],
|
|
277
|
+
},
|
|
278
|
+
},
|
|
279
|
+
in_flight: { type: "array", items: { type: "string" } },
|
|
280
|
+
causal_links: {
|
|
281
|
+
type: "array",
|
|
282
|
+
items: {
|
|
283
|
+
type: "object",
|
|
284
|
+
properties: {
|
|
285
|
+
cause: { type: "string" },
|
|
286
|
+
effect: { type: "string" },
|
|
287
|
+
},
|
|
288
|
+
required: ["cause", "effect"],
|
|
289
|
+
},
|
|
290
|
+
},
|
|
291
|
+
replacements: {
|
|
292
|
+
type: "array",
|
|
293
|
+
items: {
|
|
294
|
+
type: "object",
|
|
295
|
+
properties: {
|
|
296
|
+
predecessor: { type: "string" },
|
|
297
|
+
replacement: { type: "string" },
|
|
298
|
+
function: { type: "string" },
|
|
299
|
+
},
|
|
300
|
+
required: ["predecessor", "replacement", "function"],
|
|
301
|
+
},
|
|
302
|
+
},
|
|
303
|
+
unchanged: { type: "array", items: { type: "string" } },
|
|
304
|
+
scene_card_reasoning: { type: "string" },
|
|
305
|
+
},
|
|
306
|
+
required: [
|
|
307
|
+
"input_type", "projects", "scope_project", "people", "actor_actions", "technologies",
|
|
308
|
+
"in_flight", "causal_links", "replacements", "unchanged", "scene_card_reasoning",
|
|
309
|
+
],
|
|
310
|
+
};
|
|
311
|
+
// ─── Scene card formatter ─────────────────────────────────────────────────────
|
|
312
|
+
// Converts Pass 0 JSON output to a compact, human-readable block for Pass 1 context.
|
|
313
|
+
export function formatSceneCard(card) {
|
|
314
|
+
const lines = [];
|
|
315
|
+
if (card.input_type) {
|
|
316
|
+
lines.push(`INPUT TYPE: ${card.input_type}`);
|
|
317
|
+
}
|
|
318
|
+
if (card.scope_project && card.scope_project.name) {
|
|
319
|
+
lines.push(`SCOPE PROJECT: ${card.scope_project.name} (${card.scope_project.scope}) — home for cross-cutting items`);
|
|
320
|
+
}
|
|
321
|
+
if (card.projects.length > 0) {
|
|
322
|
+
lines.push(`PROJECTS: ${card.projects.map(p => `${p.name} (${p.scope})`).join(" | ")}`);
|
|
323
|
+
}
|
|
324
|
+
if (card.people.length > 0) {
|
|
325
|
+
lines.push(`PEOPLE: ${card.people.map(p => `${p.name} [${p.signal_type}]`).join(", ")}`);
|
|
326
|
+
}
|
|
327
|
+
if (card.technologies.length > 0) {
|
|
328
|
+
lines.push("APPROACHES:");
|
|
329
|
+
for (const t of card.technologies) {
|
|
330
|
+
const proj = t.project ? ` [${t.project}]` : "";
|
|
331
|
+
const ctx = t.context ? ` — ${t.context}` : "";
|
|
332
|
+
lines.push(` ${t.name}${proj}${ctx}`);
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
if (card.actor_actions.length > 0) {
|
|
336
|
+
lines.push("ACTOR-ACTIONS:");
|
|
337
|
+
for (const a of card.actor_actions) {
|
|
338
|
+
const outcome = a.outcome ? ` → ${a.outcome}` : "";
|
|
339
|
+
lines.push(` ${a.actor} → ${a.action} → ${a.object}${outcome}`);
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
if (card.in_flight.length > 0) {
|
|
343
|
+
lines.push(`TASKS (work in progress — extract as task type): ${card.in_flight.join(" | ")}`);
|
|
344
|
+
}
|
|
345
|
+
if (card.causal_links.length > 0) {
|
|
346
|
+
lines.push("CAUSAL LINKS:");
|
|
347
|
+
for (const c of card.causal_links) {
|
|
348
|
+
lines.push(` ${c.cause} → ${c.effect}`);
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
if (card.replacements && card.replacements.length > 0) {
|
|
352
|
+
lines.push("REPLACEMENTS (predecessor in active use → replaced this session):");
|
|
353
|
+
for (const r of card.replacements) {
|
|
354
|
+
lines.push(` ${r.predecessor} → ${r.replacement} (${r.function})`);
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
if (card.unchanged.length > 0) {
|
|
358
|
+
lines.push(`UNCHANGED (established context — extract normally, Pass 3 deduplicates): ${card.unchanged.join(" | ")}`);
|
|
359
|
+
}
|
|
360
|
+
return lines.join("\n");
|
|
361
|
+
}
|
|
362
|
+
// ─── LLM call ─────────────────────────────────────────────────────────────────
|
|
363
|
+
// Appended ONLY when a USER turn is present (NODEDEX_EXTRACT_ALL_SOURCES on). Frames
|
|
364
|
+
// the user's turn for PASS 0's job — DESCRIBE what happened, for BOTH parties.
|
|
365
|
+
const PASS0_TWO_PARTY_SUFFIX = `
|
|
366
|
+
|
|
367
|
+
── TWO-PARTY INPUT (a USER turn is present) ────────────────────────────────
|
|
368
|
+
This session is an exchange, not a single agent voice: a USER turn plus the AGENT's
|
|
369
|
+
thinking + response. Both are session events. Describe the USER's side as faithfully
|
|
370
|
+
as the agent's — what they asked, decided, committed to, ruled out, or stated as
|
|
371
|
+
their own situation/constraint. A decision or constraint often ORIGINATES in the
|
|
372
|
+
user's turn and is merely elaborated by the agent's reply. Attribute each observation
|
|
373
|
+
to the right party. Still: observe and describe, do not assign types.`;
|
|
374
|
+
export async function callPass0LLM(provider, agentThinking, agentOutput, openBlueprints = [], knownRoots = [], userMessage = "") {
|
|
375
|
+
const today = new Date().toLocaleDateString("en-US", {
|
|
376
|
+
weekday: "long", year: "numeric", month: "long", day: "numeric",
|
|
377
|
+
});
|
|
378
|
+
const blueprintSection = openBlueprints.length > 0
|
|
379
|
+
? `OPEN BLUEPRINTS (currently planned in graph — if completed in this transcript, reference the exact label in SECTION 6):\n${openBlueprints.map(b => `- ${b.label}: "${b.essence}"`).join("\n")}\n\n`
|
|
380
|
+
: "";
|
|
381
|
+
const projectSection = knownRoots.length > 0
|
|
382
|
+
? `KNOWN PROJECTS:\n${knownRoots.map(p => `- ${p.label}`).join("\n")}\n\n`
|
|
383
|
+
: "";
|
|
384
|
+
const thinkingSection = agentThinking
|
|
385
|
+
? `AGENT THINKING:\n${agentThinking}\n\n---\n\n`
|
|
386
|
+
: "";
|
|
387
|
+
const userSection = userMessage && userMessage.trim()
|
|
388
|
+
? `USER:\n${userMessage}\n\n---\n\n`
|
|
389
|
+
: "";
|
|
390
|
+
const userInput = `TODAY: ${today}\n\n${blueprintSection}${projectSection}${userSection}${thinkingSection}AGENT OUTPUT:\n${agentOutput}`;
|
|
391
|
+
const p0Prompt = userSection ? PASS0_PROMPT + PASS0_TWO_PARTY_SUFFIX : PASS0_PROMPT;
|
|
392
|
+
const r = await provider.generateStructured(p0Prompt, userInput, PASS0_SCHEMA, {
|
|
393
|
+
thinkingBudget: getThinkingBudget(2048),
|
|
394
|
+
modelOverride: modelForPass("pass0"),
|
|
395
|
+
// Bumped 16384 → 32768 (2026-05-31) — slice 1 verify T4 truncated TWICE at
|
|
396
|
+
// both 16384 base and 24576 bump on openai-compatible/gemini-2.5-flash path.
|
|
397
|
+
// Comparable T1/T2/T3/T5 used ~1000-1100 output tokens, so the 16384 ceiling
|
|
398
|
+
// was being eaten by runaway thinking (the `reasoning.max_tokens=2048` hint
|
|
399
|
+
// sent via openai.ts:81 is advisory on OpenRouter and was ignored for T4).
|
|
400
|
+
// Bumping the OUTER budget gives total-completion-budget headroom: even with
|
|
401
|
+
// 25K of thinking, 32768 leaves room for ~1KB of JSON output. The bumped-
|
|
402
|
+
// retry path (openai.ts:60) then escalates to min(32768*1.5, 65536) = 49152.
|
|
403
|
+
// Cost-neutral — provider bills only for tokens used, not the cap.
|
|
404
|
+
maxOutputTokens: 32768,
|
|
405
|
+
});
|
|
406
|
+
if (r.result) {
|
|
407
|
+
reflectTokenStats.pass0.input += r.usage?.input ?? 0;
|
|
408
|
+
reflectTokenStats.pass0.thinking += r.usage?.thinking ?? 0;
|
|
409
|
+
reflectTokenStats.pass0.output += r.usage?.output ?? 0;
|
|
410
|
+
reflectTokenStats.pass0.calls += 1;
|
|
411
|
+
const tag = provider.getName() !== "gemini" ? ` [${provider.getName()}]` : "";
|
|
412
|
+
const approaches = r.result.technologies.length;
|
|
413
|
+
const inFlight = r.result.in_flight.length;
|
|
414
|
+
const causal = r.result.causal_links.length;
|
|
415
|
+
const replacements = r.result.replacements?.length ?? 0;
|
|
416
|
+
console.log(`Auto-Reflect Pass 0: scene card built — approaches=${approaches} in-flight=${inFlight} causal=${causal} replacements=${replacements} | tokens: in=${r.usage?.input ?? "?"} think=${r.usage?.thinking ?? "?"} out=${r.usage?.output ?? "?"}${tag}`);
|
|
417
|
+
}
|
|
418
|
+
else {
|
|
419
|
+
console.warn(`Auto-Reflect Pass 0: ${r.rateLimited ? "rate limited" : "failed"} — proceeding without scene card [${provider.getName()}]`);
|
|
420
|
+
}
|
|
421
|
+
return { result: r.result, rateLimited: r.rateLimited, model: r.model, attempts: r.attempts };
|
|
422
|
+
}
|
|
423
|
+
//# sourceMappingURL=pass0.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pass0.js","sourceRoot":"","sources":["../../../src/middleware/reflect/pass0.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { LLMProvider } from "../../engine/ai-provider.js";
|
|
2
|
+
import type { Pass1Result } from "./types.js";
|
|
3
|
+
export declare const PASS1_PROMPT: string;
|
|
4
|
+
export declare function callPass1LLM(provider: LLMProvider, agentThinking: string, agentOutput: string, recentSaves: string, sceneCard?: string, openBlueprints?: Array<{
|
|
5
|
+
label: string;
|
|
6
|
+
essence: string;
|
|
7
|
+
}>, userMessage?: string): Promise<{
|
|
8
|
+
result: Pass1Result | null;
|
|
9
|
+
thinking: string;
|
|
10
|
+
rateLimited: boolean;
|
|
11
|
+
model?: string;
|
|
12
|
+
attempts?: Array<{
|
|
13
|
+
model: string;
|
|
14
|
+
outcome: string;
|
|
15
|
+
}>;
|
|
16
|
+
}>;
|
|
17
|
+
//# sourceMappingURL=pass1.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pass1.d.ts","sourceRoot":"","sources":["../../../src/middleware/reflect/pass1.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAU9C,eAAO,MAAM,YAAY,QA+JvB,CAAC;AAuCH,wBAAsB,YAAY,CAChC,QAAQ,EAAE,WAAW,EACrB,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,EAClB,cAAc,GAAE,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAM,EAC9D,WAAW,GAAE,MAAW,GACvB,OAAO,CAAC;IAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAwCvJ"}
|