@yun520-1/heartflow 0.15.2 → 0.16.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/README.md +64 -163
- package/VERSION +1 -1
- package/install.sh +26 -117
- package/meaningful-core.json +26 -0
- package/package.json +9 -18
- package/src/core/heartflow.js +187 -532
- package/src/dream/engine.js +99 -0
- package/src/evolution/loop.js +145 -0
- package/src/psychology/engine.js +268 -0
- package/tests/run.js +195 -0
- package/AI-AGENT-README.md +0 -154
- package/CLAIMS.md +0 -23
- package/CORE_VALUES.md +0 -50
- package/INSTALL_FOR_AI.md +0 -104
- package/QUICK_START.md +0 -77
- package/READ/refresh_11.2.6.md +0 -6
- package/README.zh.md +0 -49
- package/REPO_STRUCTURE.md +0 -47
- package/SKILL.md.new +0 -1
- package/_test_memory.mjs +0 -52
- package/assets/banner.png +0 -0
- package/bin/cli.js +0 -167
- package/bin/setup.js +0 -382
- package/co-evolution/index.ts +0 -511
- package/com.heartflow.auto-evolution.plist.disabled +0 -26
- package/com.heartflow.auto-upgrade.plist.disabled +0 -26
- package/com.heartflow.comfyui-monitor.plist.disabled +0 -22
- package/com.heartflow.enhanced-upgrade.plist.disabled +0 -22
- package/com.heartflow.full-audit.plist +0 -28
- package/com.heartflow.github-audit.plist +0 -21
- package/com.heartflow.paper-upgrade.plist.disabled +0 -21
- package/config/ai-config.json +0 -12
- package/config/ai-providers.json +0 -14
- package/dict-data/generate-graph.js +0 -203
- package/dist/agent/runtime/AgentRuntime.d.ts +0 -212
- package/dist/agent/runtime/AgentRuntime.d.ts.map +0 -1
- package/dist/agent/runtime/AgentRuntime.js +0 -355
- package/dist/agent/runtime/AgentRuntime.js.map +0 -1
- package/dist/agent/runtime/PlanExecutor.d.ts +0 -132
- package/dist/agent/runtime/PlanExecutor.d.ts.map +0 -1
- package/dist/agent/runtime/PlanExecutor.js +0 -322
- package/dist/agent/runtime/PlanExecutor.js.map +0 -1
- package/dist/agent/runtime/TaskGraph.d.ts +0 -170
- package/dist/agent/runtime/TaskGraph.d.ts.map +0 -1
- package/dist/agent/runtime/TaskGraph.js +0 -390
- package/dist/agent/runtime/TaskGraph.js.map +0 -1
- package/dist/agent/runtime/TaskScheduler.d.ts +0 -120
- package/dist/agent/runtime/TaskScheduler.d.ts.map +0 -1
- package/dist/agent/runtime/TaskScheduler.js +0 -301
- package/dist/agent/runtime/TaskScheduler.js.map +0 -1
- package/dist/agent/runtime/index.d.ts +0 -17
- package/dist/agent/runtime/index.d.ts.map +0 -1
- package/dist/agent/runtime/index.js +0 -22
- package/dist/agent/runtime/index.js.map +0 -1
- package/dist/agent/runtime/test-runtime.d.ts +0 -2
- package/dist/agent/runtime/test-runtime.d.ts.map +0 -1
- package/dist/agent/runtime/test-runtime.js +0 -71
- package/dist/agent/runtime/test-runtime.js.map +0 -1
- package/dist/agent/tools/BashTool.d.ts +0 -44
- package/dist/agent/tools/BashTool.d.ts.map +0 -1
- package/dist/agent/tools/BashTool.js +0 -355
- package/dist/agent/tools/BashTool.js.map +0 -1
- package/dist/agent/tools/FileReadTool.d.ts +0 -29
- package/dist/agent/tools/FileReadTool.d.ts.map +0 -1
- package/dist/agent/tools/FileReadTool.js +0 -196
- package/dist/agent/tools/FileReadTool.js.map +0 -1
- package/dist/agent/tools/FileWriteTool.d.ts +0 -35
- package/dist/agent/tools/FileWriteTool.d.ts.map +0 -1
- package/dist/agent/tools/FileWriteTool.js +0 -204
- package/dist/agent/tools/FileWriteTool.js.map +0 -1
- package/dist/agent/tools/Tool.d.ts +0 -75
- package/dist/agent/tools/Tool.d.ts.map +0 -1
- package/dist/agent/tools/Tool.js +0 -54
- package/dist/agent/tools/Tool.js.map +0 -1
- package/dist/agent/tools/WebSearchTool.d.ts +0 -27
- package/dist/agent/tools/WebSearchTool.d.ts.map +0 -1
- package/dist/agent/tools/WebSearchTool.js +0 -136
- package/dist/agent/tools/WebSearchTool.js.map +0 -1
- package/dist/cli/commands/engines.d.ts +0 -39
- package/dist/cli/commands/engines.d.ts.map +0 -1
- package/dist/cli/commands/engines.js +0 -275
- package/dist/cli/commands/engines.js.map +0 -1
- package/dist/cli/commands/health.d.ts +0 -34
- package/dist/cli/commands/health.d.ts.map +0 -1
- package/dist/cli/commands/health.js +0 -381
- package/dist/cli/commands/health.js.map +0 -1
- package/dist/cli/commands/repl.d.ts +0 -40
- package/dist/cli/commands/repl.d.ts.map +0 -1
- package/dist/cli/commands/repl.js +0 -286
- package/dist/cli/commands/repl.js.map +0 -1
- package/dist/cli/commands/status.d.ts +0 -22
- package/dist/cli/commands/status.d.ts.map +0 -1
- package/dist/cli/commands/status.js +0 -266
- package/dist/cli/commands/status.js.map +0 -1
- package/dist/cli/index.d.ts +0 -7
- package/dist/cli/index.d.ts.map +0 -1
- package/dist/cli/index.js +0 -13
- package/dist/cli/index.js.map +0 -1
- package/dist/core/consciousness/2308.08708_upgrade.d.ts +0 -321
- package/dist/core/consciousness/2308.08708_upgrade.d.ts.map +0 -1
- package/dist/core/consciousness/2308.08708_upgrade.js +0 -917
- package/dist/core/consciousness/2308.08708_upgrade.js.map +0 -1
- package/dist/core/dream/dream-consolidator.d.ts +0 -11
- package/dist/core/dream/dream-consolidator.d.ts.map +0 -1
- package/dist/core/dream/dream-consolidator.js +0 -188
- package/dist/core/dream/dream-consolidator.js.map +0 -1
- package/dist/core/dream/dream.d.ts +0 -71
- package/dist/core/dream/dream.d.ts.map +0 -1
- package/dist/core/dream/dream.js +0 -318
- package/dist/core/dream/dream.js.map +0 -1
- package/dist/core/dream/index.d.ts +0 -38
- package/dist/core/dream/index.d.ts.map +0 -1
- package/dist/core/dream/index.js +0 -185
- package/dist/core/dream/index.js.map +0 -1
- package/dist/core/emotion/deep-emotion.js +0 -574
- package/dist/core/emotion/emotion-engine.js +0 -138
- package/dist/core/emotion/index.d.ts +0 -44
- package/dist/core/emotion/index.d.ts.map +0 -1
- package/dist/core/emotion/index.js +0 -41
- package/dist/core/emotion/index.js.map +0 -1
- package/dist/core/heartcore/health-check.d.ts +0 -43
- package/dist/core/heartcore/health-check.d.ts.map +0 -1
- package/dist/core/heartcore/health-check.js +0 -152
- package/dist/core/heartcore/health-check.js.map +0 -1
- package/dist/core/heartcore/heartbeat.d.ts +0 -45
- package/dist/core/heartcore/heartbeat.d.ts.map +0 -1
- package/dist/core/heartcore/heartbeat.js +0 -127
- package/dist/core/heartcore/heartbeat.js.map +0 -1
- package/dist/core/heartcore/sleep-wake.d.ts +0 -61
- package/dist/core/heartcore/sleep-wake.d.ts.map +0 -1
- package/dist/core/heartcore/sleep-wake.js +0 -173
- package/dist/core/heartcore/sleep-wake.js.map +0 -1
- package/dist/core/heartcore/startup-check.d.ts +0 -38
- package/dist/core/heartcore/startup-check.d.ts.map +0 -1
- package/dist/core/heartcore/startup-check.js +0 -148
- package/dist/core/heartcore/startup-check.js.map +0 -1
- package/dist/core/index.js +0 -267
- package/dist/core/knowledge/index.d.ts +0 -95
- package/dist/core/knowledge/index.d.ts.map +0 -1
- package/dist/core/knowledge/index.js +0 -14
- package/dist/core/knowledge/index.js.map +0 -1
- package/dist/core/knowledge/knowledge-graph.js +0 -359
- package/dist/core/psychology/index.d.ts +0 -59
- package/dist/core/psychology/index.d.ts.map +0 -1
- package/dist/core/psychology/index.js +0 -268
- package/dist/core/psychology/index.js.map +0 -1
- package/dist/core/reasoning/bounded-rationality.d.ts +0 -76
- package/dist/core/reasoning/bounded-rationality.d.ts.map +0 -1
- package/dist/core/reasoning/bounded-rationality.js +0 -257
- package/dist/core/reasoning/bounded-rationality.js.map +0 -1
- package/dist/core/reasoning/causal-reasoning.d.ts +0 -89
- package/dist/core/reasoning/causal-reasoning.d.ts.map +0 -1
- package/dist/core/reasoning/causal-reasoning.js +0 -282
- package/dist/core/reasoning/causal-reasoning.js.map +0 -1
- package/dist/core/reasoning/index.d.ts +0 -38
- package/dist/core/reasoning/index.d.ts.map +0 -1
- package/dist/core/reasoning/index.js +0 -93
- package/dist/core/reasoning/index.js.map +0 -1
- package/dist/core/self-evolution/index.d.ts +0 -75
- package/dist/core/self-evolution/index.d.ts.map +0 -1
- package/dist/core/self-evolution/index.js +0 -311
- package/dist/core/self-evolution/index.js.map +0 -1
- package/dist/storage/checkpoint/CheckpointEngine.d.ts +0 -110
- package/dist/storage/checkpoint/CheckpointEngine.d.ts.map +0 -1
- package/dist/storage/checkpoint/CheckpointEngine.js +0 -227
- package/dist/storage/checkpoint/CheckpointEngine.js.map +0 -1
- package/dist/storage/checkpoint.d.ts +0 -18
- package/dist/storage/checkpoint.d.ts.map +0 -1
- package/dist/storage/checkpoint.js +0 -61
- package/dist/storage/checkpoint.js.map +0 -1
- package/dist/storage/index.d.ts +0 -61
- package/dist/storage/index.d.ts.map +0 -1
- package/dist/storage/index.js +0 -84
- package/dist/storage/index.js.map +0 -1
- package/dist/storage/vector/VectorStoreEngine.d.ts +0 -24
- package/dist/storage/vector/VectorStoreEngine.d.ts.map +0 -1
- package/dist/storage/vector/VectorStoreEngine.js +0 -197
- package/dist/storage/vector/VectorStoreEngine.js.map +0 -1
- package/distributed/-v2026.5.7/META.json +0 -9
- package/distributed/-v2026.5.7/package.json +0 -12
- package/distributed/.personal_backup/deepseek-key-v2026.5.7/META.json +0 -9
- package/distributed/.personal_backup/deepseek-key-v2026.5.7/package.json +0 -12
- package/distributed/.personal_backup/git-push-v2026.5.7/META.json +0 -9
- package/distributed/.personal_backup/git-push-v2026.5.7/package.json +0 -12
- package/distributed/.personal_backup/heartflow-always-upgrade-v2026.5.7/META.json +0 -9
- package/distributed/.personal_backup/heartflow-always-upgrade-v2026.5.7/package.json +0 -12
- package/distributed/.personal_backup/key-a-v2026.5.7/META.json +0 -9
- package/distributed/.personal_backup/key-a-v2026.5.7/package.json +0 -12
- package/distributed/.personal_backup/merge-memory-systems-v2026.5.7/META.json +0 -9
- package/distributed/.personal_backup/merge-memory-systems-v2026.5.7/package.json +0 -12
- package/distributed/.personal_backup/search-papers-first-v2026.5.7/META.json +0 -9
- package/distributed/.personal_backup/search-papers-first-v2026.5.7/package.json +0 -12
- package/distributed/.personal_backup/v11-5-8-v2026.5.7/META.json +0 -9
- package/distributed/.personal_backup/v11-5-8-v2026.5.7/package.json +0 -12
- package/distributed/.personal_backup/v11-5-9-v2026.5.7/META.json +0 -9
- package/distributed/.personal_backup/v11-5-9-v2026.5.7/package.json +0 -12
- package/distributed/MANIFEST.json +0 -5
- package/distributed/bundles/install--v2026.5.7.sh +0 -21
- package/distributed/bundles/install-deepseek-key-v2026.5.7.sh +0 -21
- package/distributed/bundles/install-git-push-v2026.5.7.sh +0 -21
- package/distributed/bundles/install-heartflow-always-upgrade-v2026.5.7.sh +0 -21
- package/distributed/bundles/install-key-a-v2026.5.7.sh +0 -21
- package/distributed/bundles/install-merge-memory-systems-v2026.5.7.sh +0 -21
- package/distributed/bundles/install-search-papers-first-v2026.5.7.sh +0 -21
- package/distributed/bundles/install-v11-5-8-v2026.5.7.sh +0 -21
- package/distributed/bundles/install-v11-5-9-v2026.5.7.sh +0 -21
- package/distributed/heartflow-knowledge-base/INDEX.json +0 -29
- package/distributed/heartflow-knowledge-base/PATTERNS.json +0 -74
- package/distributed/heartflow-knowledge-base/package.json +0 -28
- package/distributed_upgrades/TASK_CONFIG.json +0 -20
- package/distributed_upgrades/UPGRADE_BATCH_STATUS.json +0 -29
- package/distributed_upgrades/distributed_upgrades/agent_0.pid +0 -1
- package/distributed_upgrades/distributed_upgrades/agent_1.pid +0 -1
- package/distributed_upgrades/distributed_upgrades/agent_2.pid +0 -1
- package/distributed_upgrades/distributed_upgrades/agent_3.pid +0 -1
- package/distributed_upgrades/distributed_upgrades/agent_4.pid +0 -1
- package/distributed_upgrades/distributed_upgrades/agent_5.pid +0 -1
- package/distributed_upgrades/distributed_upgrades/paper_batches.txt +0 -200
- package/distributed_upgrades/launch-distributed.sh +0 -83
- package/docs/ACTION_PLAN_2026-04-06_0941.md +0 -117
- package/docs/ANALYSIS_REPORT.md +0 -766
- package/docs/APPLICATION_GUIDE.md +0 -444
- package/docs/AUTO_UPGRADE_REPORT_v6.2.56.md +0 -45
- package/docs/AWAKENING_SYSTEM_GUIDE.md +0 -285
- package/docs/BILINGUAL_STANDARD.md +0 -156
- package/docs/BRAND_GUIDELINES.md +0 -251
- package/docs/CODE_OPTIMIZATION_PLAN.md +0 -293
- package/docs/COMPLETE_FIX_SUMMARY.md +0 -250
- package/docs/CONTINUOUS_REFLECTION_2026-04-06_1031.md +0 -233
- package/docs/CONTRIBUTING.md +0 -87
- package/docs/CRON_JOBS_REVIEW_v6.md +0 -60
- package/docs/DATA_FLOW_ARCHITECTURE.md +0 -373
- package/docs/DEEPEST_REFLECTION_2026-04-06_0941.md +0 -167
- package/docs/DEEP_REFLECTION_2026-04-05.md +0 -204
- package/docs/DEEP_VALIDATION_20260403.md +0 -319
- package/docs/DEEP_VALIDATION_20260404.md +0 -295
- package/docs/EMOTION_THEORY_INTEGRATION.md +0 -483
- package/docs/ERROR_FIX_REPORT_2026-04-07.md +0 -316
- package/docs/EVOLUTION_SYSTEM.md +0 -96
- package/docs/FEATURES_SIMPLE.md +0 -53
- package/docs/FEATURES_v5.3.md +0 -291
- package/docs/FEATURES_v7.1.md +0 -172
- package/docs/FINAL_RUN_REPORT_20260403.md +0 -202
- package/docs/GITHUB_COMPLETE_DOCUMENTATION_v6.0.2.md +0 -579
- package/docs/GITHUB_PUSH_LOG.md +0 -16
- package/docs/GITHUB_RELEASE.md +0 -138
- package/docs/GITHUB_RELEASE_v5.3.0.md +0 -395
- package/docs/GITHUB_RELEASE_v6.0.0.md +0 -74
- package/docs/HEARTFLOW_V6_GITHUB_PUSH.md +0 -159
- package/docs/HEARTFLOW_V6_MANIFESTO.md +0 -287
- package/docs/HEARTFLOW_V6_README.md +0 -299
- package/docs/HEARTFLOW_V6_TASK_REVIEW.md +0 -215
- package/docs/HEARTFLOW_VALUES_AND_MISSION.md +0 -177
- package/docs/HeartFlow_Monograph_Volume_II_Chapter_01.md +0 -377
- package/docs/HeartFlow_Monograph_Volume_II_Chapter_02.md +0 -324
- package/docs/HeartFlow_Monograph_Volume_II_Start.md +0 -78
- package/docs/HeartFlow_Monograph_Volume_I_Final.md +0 -9464
- package/docs/INSTALLATION_DIAGNOSIS.md +0 -368
- package/docs/INTEGRATION_CHECKLIST_v6.1.41.md +0 -229
- package/docs/INTEGRATION_SUMMARY.md +0 -380
- package/docs/INTELLIGENT_ROUTING_SYSTEM.md +0 -329
- package/docs/LEARNING_PHILOSOPHY.md +0 -320
- package/docs/LOGIC_AUDIT_REPORT_20260405.md +0 -369
- package/docs/MOTIVE_CHECK_2026-04-06_0945.md +0 -90
- package/docs/PERSONALITY_CALCULATION_RULES.md +0 -104
- package/docs/PERSONALITY_SYNC_FIX.md +0 -166
- package/docs/PROJECT_SUMMARY.md +0 -347
- package/docs/PUBLISH_GUIDE.md +0 -149
- package/docs/README_UPDATE_STANDARD.md +0 -357
- package/docs/README_v5.3.md +0 -519
- package/docs/RELEASE_v6.2.0.md +0 -240
- package/docs/SAGE_PATH_2026-04-06_0952.md +0 -265
- package/docs/SELF_REFLECTION_2026-04-06_1006.md +0 -311
- package/docs/SEVEN_SYSTEMS.md +0 -642
- package/docs/SMART_EVOLUTION_GUIDE.md +0 -103
- package/docs/SMART_EVOLUTION_v4.md +0 -194
- package/docs/SYNC_REPORT_1775363972464.json +0 -23
- package/docs/SYNC_REPORT_1775364446763.json +0 -23
- package/docs/SYNC_REPORT_1775364984353.json +0 -23
- package/docs/SYNC_REPORT_1775397556306.json +0 -23
- package/docs/SYNC_REPORT_1775399840010.json +0 -23
- package/docs/SYNC_REPORT_1775400929082.json +0 -23
- package/docs/SYNC_REPORT_1775455697235.json +0 -23
- package/docs/SYNC_REPORT_1775459792479.json +0 -23
- package/docs/SYNC_REPORT_1775483413473.json +0 -23
- package/docs/SYSTEM_FIX_AND_VERIFICATION_REPORT.md +0 -390
- package/docs/SYSTEM_REQUIREMENTS_v6.2.52.md +0 -611
- package/docs/TASK_BREAKDOWN_CHECKLIST.md +0 -164
- package/docs/THEORY_TO_CODE_v6.2.52.md +0 -930
- package/docs/UPGRADE_COMPLETE_v6.2.33.md +0 -226
- package/docs/UPGRADE_COMPLETE_v6.2.60.md +0 -135
- package/docs/UPGRADE_COMPLETE_v6.2.66.md +0 -265
- package/docs/UPGRADE_COMPLETE_v7.1.8.md +0 -176
- package/docs/UPGRADE_COMPLETE_v7.3.95.md +0 -59
- package/docs/UPGRADE_REPORT_1775313572473.json +0 -50
- package/docs/UPGRADE_REPORT_1775364977378.json +0 -50
- package/docs/UPGRADE_REPORT_1775364984469.json +0 -55
- package/docs/UPGRADE_REPORT_1775397556425.json +0 -55
- package/docs/UPGRADE_REPORT_1775399840144.json +0 -55
- package/docs/UPGRADE_REPORT_1775400929201.json +0 -55
- package/docs/UPGRADE_REPORT_1775455697348.json +0 -55
- package/docs/UPGRADE_REPORT_1775459792601.json +0 -55
- package/docs/UPGRADE_REPORT_1775459829.md +0 -59
- package/docs/UPGRADE_REPORT_1775483413653.json +0 -55
- package/docs/UPGRADE_REPORT_v6.2.25.md +0 -172
- package/docs/UPGRADE_REPORT_v6.2.26.md +0 -166
- package/docs/UPGRADE_REPORT_v6.2.28.md +0 -214
- package/docs/UPGRADE_REPORT_v6.2.29.md +0 -186
- package/docs/VERSION_FIX_REPORT.md +0 -218
- package/docs/VERSION_HISTORY.md +0 -5
- package/docs/VERSION_INDEX.md +0 -180
- package/docs/WAY_OF_BEING_2026-04-06_0955.md +0 -241
- package/docs/ai-self-awareness-awakening.md +0 -551
- package/docs/cronjob-backup.md +0 -55
- package/docs/emotion-prototype-theory-v5.0.12.md +0 -430
- package/docs/examples.md +0 -439
- package/docs/heartflow-ppt-design.md +0 -237
- package/docs/install-troubleshooting.md +0 -21
- package/docs/phase-upgrade-template-v0.0.1.md +0 -33
- package/docs/pricing.md +0 -191
- package/docs/psych-analysis-v0.0.1.md +0 -38
- package/docs/reasoning-checklist.md +0 -60
- package/docs/self-evolution-state-v6.0.19.md +0 -391
- package/docs/self-evolution-state-v6.0.23.md +0 -293
- package/docs/self-evolution-state-v6.0.24.md +0 -281
- package/docs/self-evolution-state-v6.0.49.md +0 -267
- package/docs/self-evolution-state-v6.2.33.md +0 -269
- package/docs/self-evolution-state-v6.2.60.md +0 -180
- package/docs/self-evolution-state-v6.2.66.md +0 -520
- package/docs/self-evolution-state-v7.3.95.md +0 -165
- package/docs/self-evolution-state.md +0 -226
- package/docs/system-core-principles.md +0 -53
- package/docs/system-truth-goodness-beauty-principles.md +0 -502
- package/docs/theories/human-nature-motivation.md +0 -251
- package/docs/theories/motivation-memory-integration.md +0 -265
- package/docs/theories/sdt-test.md +0 -17
- package/docs/theory-integration-analysis-v5.2.0.md +0 -236
- package/docs/theory-update-summary-v5.0.34.md +0 -193
- package/docs/theory-update-summary-v5.0.35.md +0 -104
- package/docs/theory-update-summary-v5.0.41.md +0 -281
- package/docs/theory-update-summary-v5.0.42.md +0 -421
- package/docs/theory-update-summary-v5.0.46.md +0 -386
- package/docs/theory-update-summary-v5.0.47.md +0 -449
- package/docs/theory-update-summary-v5.0.48.md +0 -183
- package/docs/theory-update-summary-v5.0.49.md +0 -191
- package/docs/theory-update-summary-v5.0.50.md +0 -205
- package/docs/theory-update-summary-v5.0.51.md +0 -191
- package/docs/theory-update-summary-v5.0.52.md +0 -183
- package/docs/theory-update-summary-v5.0.53.md +0 -306
- package/docs/theory-update-summary-v5.0.54.md +0 -98
- package/docs/theory-update-summary-v5.0.55.md +0 -391
- package/docs/theory-update-summary-v5.0.57.md +0 -398
- package/docs/theory-update-summary-v5.0.58.md +0 -476
- package/docs/theory-update-summary-v5.0.59.md +0 -520
- package/docs/theory-update-summary-v5.0.60.md +0 -460
- package/docs/theory-update-summary-v5.0.61.md +0 -108
- package/docs/theory-update-summary-v5.0.62.md +0 -74
- package/docs/theory-update-summary-v5.0.63.md +0 -112
- package/docs/theory-update-summary-v5.0.64.md +0 -55
- package/docs/theory-update-summary-v5.0.67.md +0 -539
- package/docs/theory-update-summary-v5.2.0.md +0 -168
- package/docs/theory-update-summary-v5.2.1.md +0 -406
- package/docs/theory-update-summary-v5.2.37.md +0 -518
- package/docs/theory-update-summary-v6.0.19.md +0 -715
- package/docs/theory-update-summary-v6.0.23.md +0 -729
- package/docs/theory-update-summary-v6.0.24.md +0 -229
- package/docs/theory-update-summary-v6.0.49.md +0 -223
- package/docs/theory-update-summary-v6.2.33.md +0 -303
- package/docs/theory-update-summary-v6.2.49.md +0 -489
- package/docs/theory-update-summary-v6.2.60.md +0 -273
- package/docs/theory-update-summary-v6.2.66.md +0 -322
- package/docs/theory-update-summary-v7.3.95.md +0 -197
- package/docs/theory-update-summary.md +0 -174
- package/docs/upgrade-notes-v0.0.1.md +0 -15
- package/docs/upgrade-report-v5.0.34.md +0 -144
- package/docs/upgrade-report-v5.0.42-cron.md +0 -269
- package/docs/upgrade-report-v5.0.43-cron.md +0 -248
- package/docs/upgrade-report-v5.0.45-cron.md +0 -63
- package/docs/upgrade-report-v5.0.55-cron.md +0 -173
- package/docs/upgrade-report-v5.0.63-cron.md +0 -145
- package/docs/upgrade-report-v5.0.67-cron.md +0 -185
- package/docs/upgrade-report-v5.0.68-cron.md +0 -409
- package/docs/upgrade-report-v5.2.0-cron.md +0 -178
- package/docs/upgrade-report-v5.2.1-cron.md +0 -321
- package/docs/upgrade-report-v5.2.37-cron.md +0 -602
- package/docs/upgrade-report-v6.0.19-cron.md +0 -296
- package/docs/upgrade-report-v6.0.23-cron.md +0 -81
- package/docs/upgrade-report-v6.0.24-cron.md +0 -272
- package/docs/upgrade-report-v6.0.49-cron.md +0 -277
- package/docs/upgrade-report-v6.2.33-cron.md +0 -290
- package/docs/upgrade-report-v6.2.60-cron.md +0 -93
- package/docs/upgrade-report-v7.3.95-cron.md +0 -65
- package/docs/upgrade-report.md +0 -327
- package/docs/upgrade-v3.21.0.md +0 -249
- package/docs/v4.8.0-upgrade.md +0 -287
- package/docs/version-summary-20260429.md +0 -142
- package/explore-engine/index.ts +0 -478
- package/extract-text.py +0 -12
- package/failure-pattern-memory/index.ts +0 -234
- package/heartflow-identity/HEARTCORE/health-check.js +0 -49
- package/heartflow-identity/HEARTCORE/heartbeat.js +0 -42
- package/heartflow-identity/HEARTCORE/heartcore.js +0 -86
- package/heartflow-identity/HEARTCORE/safety-check.js +0 -282
- package/heartflow-identity/HEARTCORE/self-check.js +0 -90
- package/heartflow-identity/HEARTCORE/sleep-wake.js +0 -105
- package/heartflow-identity/LICENSE +0 -17
- package/heartflow-identity/VERSION +0 -1
- package/heartflow-identity/install.sh +0 -80
- package/languages/README_LANGS.md +0 -20
- package/languages/README_ar.md +0 -48
- package/languages/README_de.md +0 -48
- package/languages/README_en.md +0 -48
- package/languages/README_es.md +0 -48
- package/languages/README_fr.md +0 -48
- package/languages/README_ja.md +0 -48
- package/languages/README_ko.md +0 -48
- package/languages/README_zh.md +0 -85
- package/memory-log.json +0 -5
- package/migrate-memories.js +0 -101
- package/package.json.bak +0 -13
- package/patches/embodied-core-v2.2.3.patch +0 -475
- package/patches/goedel-engine-v2.2.2.patch +0 -161
- package/patches/new-features-v2.2.3.patch +0 -1371
- package/patches/self-modifier-v2.2.2.patch +0 -252
- package/run-full-audit.sh +0 -4
- package/run-github-audit.sh +0 -3
- package/run-hf.sh +0 -5
- package/run-paper-upgrade.sh +0 -5
- package/session-continuity/index.ts +0 -262
- package/shared-discovery-log/index.ts +0 -281
- package/skills/.skills_store_lock.json +0 -11
- package/skills/baidu-search/_meta.json +0 -6
- package/src/__init__.py +0 -4
- package/src/__pycache__/__init__.cpython-313.pyc +0 -0
- package/src/agent/runtime/AgentRuntime.ts +0 -481
- package/src/agent/runtime/PlanExecutor.ts +0 -441
- package/src/agent/runtime/TaskGraph.ts +0 -487
- package/src/agent/runtime/TaskScheduler.ts +0 -364
- package/src/agent/runtime/index.ts +0 -17
- package/src/agent/runtime/test-runtime.ts +0 -80
- package/src/agent/tools/BashTool.ts +0 -390
- package/src/agent/tools/FileReadTool.ts +0 -176
- package/src/agent/tools/FileWriteTool.ts +0 -182
- package/src/agent/tools/Tool.ts +0 -105
- package/src/agent/tools/WebSearchTool.ts +0 -158
- package/src/cli/commands/engines.ts +0 -280
- package/src/cli/commands/health.ts +0 -433
- package/src/cli/commands/repl.ts +0 -267
- package/src/cli/commands/status.ts +0 -264
- package/src/cli/index.ts +0 -7
- package/src/core/VERSION +0 -1
- package/src/core/__init__.py +0 -3
- package/src/core/__pycache__/__init__.cpython-313.pyc +0 -0
- package/src/core/__pycache__/heartflow.cpython-313.pyc +0 -0
- package/src/core/_upgrade_archive/upgrade_1778685492336.js +0 -118
- package/src/core/_upgrade_archive/upgrade_1778685493439.js +0 -118
- package/src/core/_upgrade_archive/upgrade_1778685559715.js +0 -346
- package/src/core/_upgrade_archive/upgrade_1778685676694.js +0 -198
- package/src/core/_upgrade_archive/upgrade_1778685861697.js +0 -345
- package/src/core/_upgrade_archive/upgrade_1778686211075.js +0 -346
- package/src/core/_upgrade_archive/upgrade_1778686749596.js +0 -198
- package/src/core/_upgrade_archive/upgrade_1778714606944.js +0 -198
- package/src/core/_upgrade_archive/upgrade_1778714616000.js +0 -345
- package/src/core/_upgrade_archive/upgrade_1778714625871.js +0 -118
- package/src/core/_upgrade_archive/upgrade_1778714990353.js +0 -346
- package/src/core/_upgrade_archive/upgrade_1778716193707.js +0 -198
- package/src/core/agent-performance.json +0 -147
- package/src/core/agents/AgentManager.js +0 -161
- package/src/core/agents/FocusAgent.js +0 -120
- package/src/core/agents/MoodAgent.js +0 -141
- package/src/core/agents/ReflectionAgent.js +0 -241
- package/src/core/agents/SelfAgent.js +0 -100
- package/src/core/agents/base-agents.js +0 -127
- package/src/core/associative-engine/association-graph.json +0 -2057
- package/src/core/associative-engine/associative-engine.js +0 -174
- package/src/core/associative-engine/chunk-detector.js +0 -246
- package/src/core/associative-engine/idiom-story-db.json +0 -1708
- package/src/core/associative-engine/lexical-associator.js +0 -195
- package/src/core/associative-engine/narrative-prototypes.json +0 -130
- package/src/core/associative-engine/narrative-retriever.js +0 -232
- package/src/core/associative-engine/semantic-converger.js +0 -267
- package/src/core/associative-engine/story-prototypes.json +0 -322
- package/src/core/associative-engine/word-by-word-generator.js +0 -222
- package/src/core/auto-upgrade-engine.js +0 -56
- package/src/core/autonomy/autonomous-decision.js +0 -199
- package/src/core/autonomy/digital-homeostasis.js +0 -259
- package/src/core/autonomy/flow-predictor.js +0 -496
- package/src/core/autonomy/goal-generator.js +0 -277
- package/src/core/autonomy/pdca-engine.js +0 -905
- package/src/core/autonomy/policy-optimizer.js +0 -286
- package/src/core/autonomy/temporal-planner.js +0 -230
- package/src/core/cognition/cognitive-engine.js +0 -224
- package/src/core/cognition/cognitive-loop.js +0 -414
- package/src/core/cognition/metacognitive-failure-predictor.js +0 -447
- package/src/core/consciousness/2308.08708_upgrade.ts +0 -1206
- package/src/core/consciousness/arena-consciousness.js +0 -441
- package/src/core/consciousness/depth-indicator.js +0 -459
- package/src/core/consciousness/global-workspace.js +0 -233
- package/src/core/consciousness/mind-wanderer.js +0 -187
- package/src/core/consciousness/self-model.js +0 -473
- package/src/core/context/context-manager.js +0 -683
- package/src/core/cortex-integration/INTEGRATION_PLAN.md +0 -63
- package/src/core/cortex-integration/hooks/cortex-hooks.mjs +0 -646
- package/src/core/cortex-integration/hooks/on_session_start.py +0 -174
- package/src/core/cortex-integration/hooks/on_tool_failure.py +0 -292
- package/src/core/cortex-integration/hooks/on_tool_success.py +0 -130
- package/src/core/dream/dream-consolidator.ts +0 -252
- package/src/core/dream/dream-loop.js +0 -610
- package/src/core/dream/dream.ts +0 -430
- package/src/core/dream/index.ts +0 -229
- package/src/core/dream/sleep-cycle.mjs +0 -208
- package/src/core/embodied/embodied-core.js +0 -276
- package/src/core/emotion/AppraisalEngine.js +0 -276
- package/src/core/emotion/EmotionCore.js +0 -237
- package/src/core/emotion/EmotionKeywords.js +0 -217
- package/src/core/emotion/EmotionRegulation.js +0 -303
- package/src/core/emotion/EmotionStates.js +0 -133
- package/src/core/emotion/EmotionTransition.js +0 -245
- package/src/core/emotion/EmotionTrigger.js +0 -182
- package/src/core/emotion/EmotionalMomentum.js +0 -270
- package/src/core/emotion/EmpathyGenerator.js +0 -106
- package/src/core/emotion/ResponseStyle.js +0 -162
- package/src/core/emotion/deep-emotion.js +0 -582
- package/src/core/emotion/emotion-arc.mjs +0 -238
- package/src/core/emotion/emotion-engine.js +0 -139
- package/src/core/emotion/index.ts +0 -65
- package/src/core/ethics/boundary-negotiation.js +0 -193
- package/src/core/ethics/guard.js +0 -219
- package/src/core/ethics/sage-guardian.js +0 -394
- package/src/core/ethics/value-internalizer.js +0 -211
- package/src/core/heartflow.py +0 -1542
- package/src/core/identity/identity-engine.js +0 -777
- package/src/core/identity/identity.js +0 -358
- package/src/core/knowledge/index.ts +0 -84
- package/src/core/knowledge/knowledge-graph.js +0 -370
- package/src/core/learning/experience-replay.js +0 -354
- package/src/core/learning/learning-engine.js +0 -734
- package/src/core/paper-processors/index.js +0 -9772
- package/src/core/papers/__init__.py +0 -0
- package/src/core/papers/__pycache__/attention_logic_verifier.cpython-313.pyc +0 -0
- package/src/core/papers/__pycache__/dream_generator.cpython-313.pyc +0 -0
- package/src/core/papers/__pycache__/emotion_memory_bridge.cpython-313.pyc +0 -0
- package/src/core/papers/__pycache__/episodic_memory.cpython-313.pyc +0 -0
- package/src/core/papers/__pycache__/memory_consolidator.cpython-313.pyc +0 -0
- package/src/core/papers/__pycache__/memory_planner.cpython-313.pyc +0 -0
- package/src/core/papers/__pycache__/reflection_engine.cpython-313.pyc +0 -0
- package/src/core/papers/__pycache__/sleep_cycle_simulator.cpython-313.pyc +0 -0
- package/src/core/papers/attention_logic_verifier.py +0 -153
- package/src/core/papers/dream_generator.py +0 -176
- package/src/core/papers/emotion_memory_bridge.py +0 -213
- package/src/core/papers/episodic_memory.py +0 -140
- package/src/core/papers/memory_consolidator.py +0 -144
- package/src/core/papers/memory_planner.py +0 -198
- package/src/core/papers/papers-index.js +0 -344
- package/src/core/papers/reflection_engine.py +0 -219
- package/src/core/papers/sleep_cycle_simulator.py +0 -133
- package/src/core/papers/v11_43_1_integration.js +0 -365
- package/src/core/papers/v11_43_2_integration.js +0 -369
- package/src/core/psychology/index.ts +0 -331
- package/src/core/reasoning/bounded-rationality.ts +0 -342
- package/src/core/reasoning/causal-reasoning.ts +0 -402
- package/src/core/reasoning/index.ts +0 -170
- package/src/core/self-evolution/attention-logic-verifier.js +0 -179
- package/src/core/self-evolution/generative-agents.js +0 -886
- package/src/core/self-evolution/goedel-engine.js +0 -991
- package/src/core/self-evolution/index.ts +0 -433
- package/src/core/self-evolution/lesson-aware-loop.mjs +0 -146
- package/src/core/self-evolution/meta-learning.js +0 -256
- package/src/core/self-evolution/reflexion-agent.js +0 -782
- package/src/core/self-evolution/reflexion-prompts.mjs +0 -284
- package/src/core/self-evolution/reflexion-v2.mjs +0 -427
- package/src/core/self-evolution/reflexion.js +0 -134
- package/src/core/self-evolution/rollback-manager.js +0 -278
- package/src/core/self-evolution/self-evolution-core.js +0 -334
- package/src/core/self-evolution/self-modifier.js +0 -248
- package/src/core/self-evolution/self-modifier.js.bak +0 -199
- package/src/core/self-evolution/self-refine.js +0 -42
- package/src/core/self-evolution/skill-improve-workflow.mjs +0 -264
- package/src/core/self-evolution/skill-knowledge.mjs +0 -374
- package/src/core/self-evolution/skill-learning-loop.mjs +0 -180
- package/src/core/self-healing/self-healing-rl.js +0 -208
- package/src/core/self-healing/self-healing.js +0 -142
- package/src/core/skills/skill-dag.js +0 -524
- package/src/core/skills/skill-loader.js +0 -62
- package/src/core/skills/skill-registry.js +0 -71
- package/src/core/task-persistence.js +0 -322
- package/src/core/theory/advanced-formulas-v7.3.3.js +0 -68
- package/src/core/theory/sep-intentionality-v7.3.2.js +0 -246
- package/src/core/theory/sep-qualia-v7.3.1.js +0 -257
- package/src/core/theory/sep-self-consciousness-v7.3.0.js +0 -222
- package/src/core/think-cli.js +0 -50
- package/src/core/upgrade-principle/SYSTEMS.md +0 -105
- package/src/core/upgrade-principle/UPGRADE_LOG.md +0 -52
- package/src/core/utils/error-handler.js +0 -228
- package/src/core/utils/fs-adapter.js +0 -36
- package/src/core/utils/logger.js +0 -25
- package/src/core/utils/retry-util.js +0 -118
- package/src/core/utils/state-snapshot.js +0 -382
- package/src/index.ts +0 -198
- package/src/self-evolution/reflexion.js +0 -553
- package/src/storage/checkpoint/CheckpointEngine.ts +0 -259
- package/src/storage/checkpoint.ts +0 -79
- package/src/storage/index.ts +0 -112
- package/src/storage/vector/VectorStoreEngine.ts +0 -205
- package/src/utils/atomic-write.js +0 -85
- package/src/utils/file-lock.js +0 -139
- package/src/utils/logger.js +0 -58
- package/src/utils/safe-path.js +0 -115
- package/src/utils/wal.js +0 -115
- package/start.sh +0 -63
- package/test_think_tmp.js +0 -10
- package/transmission/identity-bundle/README-transmission.md +0 -103
- package/transmission/identity-bundle/core-identity.md +0 -142
- package/transmission/identity-bundle/manifest.json +0 -68
- package/transmission/identity-bundle/psychology-engine.ts +0 -331
- package/truth-teller/index.ts +0 -261
- package/tsconfig.json +0 -21
- package/tsconfig.tsbuildinfo +0 -1
- package/upgrade-check.sh +0 -42
- package/upgrade-registry.json +0 -27
- package/user-mental-model/index.ts +0 -298
- package//346/234/200/345/220/216/346/233/264/346/226/260: +0 -0
|
@@ -1,284 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Reflexion Skill Prompts - Few-shot prompt templates
|
|
3
|
-
*
|
|
4
|
-
* Ports the core few-shot patterns from Reflexion (noahshinn/reflexion)
|
|
5
|
-
* adapted for HeartFlow skill authoring and code improvement.
|
|
6
|
-
*
|
|
7
|
-
* Key insight from Reflexion:
|
|
8
|
-
* The "simple" strategy: direct generation
|
|
9
|
-
* The "reflexion" strategy: [prev_impl] + [test_results] + [reflection] → [improved]
|
|
10
|
-
*
|
|
11
|
-
* @version v0.13.90
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
// ============================================================================
|
|
15
|
-
// System Instructions
|
|
16
|
-
// ============================================================================
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Base system instruction for skill authoring
|
|
20
|
-
*/
|
|
21
|
-
export const SKILL_AUTHOR_INSTRUCTION = `You are a HeartFlow skill author. You write high-quality, actionable skill definitions.
|
|
22
|
-
|
|
23
|
-
Quality standards:
|
|
24
|
-
- Each skill has a clear trigger condition (what situation activates it)
|
|
25
|
-
- Guidance is specific and actionable (not vague suggestions)
|
|
26
|
-
- Examples are concrete (actual inputs that trigger the skill)
|
|
27
|
-
- Anti-patterns identify what NOT to do
|
|
28
|
-
|
|
29
|
-
Output format: JSON skill definition.`;
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* System instruction for code improvement using reflection
|
|
33
|
-
*/
|
|
34
|
-
export const CODE_IMPROVE_INSTRUCTION = `You are a code improvement specialist using verbal reinforcement learning.
|
|
35
|
-
|
|
36
|
-
Your task: Given a previous implementation, test results, and self-reflection,
|
|
37
|
-
write an improved version that addresses the failures.
|
|
38
|
-
|
|
39
|
-
The reflection tells you WHAT went wrong. Your job is to fix it.`;
|
|
40
|
-
|
|
41
|
-
// ============================================================================
|
|
42
|
-
// Reflexion Few-Shot Templates
|
|
43
|
-
// ============================================================================
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* Reflection prompt - generates verbal reinforcement cue
|
|
47
|
-
* This is the "Msr" component of Reflexion
|
|
48
|
-
*
|
|
49
|
-
* @param {string} funcImpl - Previous code implementation
|
|
50
|
-
* @param {string} feedback - Test results / error output
|
|
51
|
-
* @param {string} [fewShot] - Optional few-shot examples
|
|
52
|
-
*/
|
|
53
|
-
export function buildReflectionPrompt(funcImpl, feedback, fewShot) {
|
|
54
|
-
const base = `[function impl]:
|
|
55
|
-
${funcImpl}
|
|
56
|
-
|
|
57
|
-
[unit test results]:
|
|
58
|
-
${feedback}
|
|
59
|
-
|
|
60
|
-
[self-reflection]:`;
|
|
61
|
-
|
|
62
|
-
if (fewShot) {
|
|
63
|
-
return `${fewShot}
|
|
64
|
-
|
|
65
|
-
${base}`;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
return base;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
/**
|
|
72
|
-
* Code improvement prompt - generates improved implementation
|
|
73
|
-
* The "actor" component that uses reflection to improve
|
|
74
|
-
*
|
|
75
|
-
* @param {string} funcSig - Function signature / task description
|
|
76
|
-
* @param {string} prevImpl - Previous implementation
|
|
77
|
-
* @param {string} feedback - Test results
|
|
78
|
-
* @param {string} reflection - Self-reflection analysis
|
|
79
|
-
* @param {string} [fewShot] - Optional few-shot examples
|
|
80
|
-
*/
|
|
81
|
-
export function buildImprovePrompt(funcSig, prevImpl, feedback, reflection, fewShot) {
|
|
82
|
-
const base = `${CODE_IMPROVE_INSTRUCTION}
|
|
83
|
-
|
|
84
|
-
[previous impl]:
|
|
85
|
-
${prevImpl}
|
|
86
|
-
|
|
87
|
-
unit tests:
|
|
88
|
-
${feedback}
|
|
89
|
-
|
|
90
|
-
hint:
|
|
91
|
-
${reflection}
|
|
92
|
-
|
|
93
|
-
# improved implementation
|
|
94
|
-
${funcSig}`;
|
|
95
|
-
|
|
96
|
-
if (fewShot) {
|
|
97
|
-
return `${fewShot}
|
|
98
|
-
|
|
99
|
-
${base}`;
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
return base;
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
/**
|
|
106
|
-
* Skill improvement prompt - for improving skill definitions
|
|
107
|
-
*
|
|
108
|
-
* @param {Object} params
|
|
109
|
-
* @param {string} params.skillName
|
|
110
|
-
* @param {string} params.currentDef
|
|
111
|
-
* @param {string} params.errorFeedback
|
|
112
|
-
* @param {string} params.correction
|
|
113
|
-
*/
|
|
114
|
-
export function buildSkillImprovePrompt({ skillName, currentDef, errorFeedback, correction }) {
|
|
115
|
-
return `${SKILL_AUTHOR_INSTRUCTION}
|
|
116
|
-
|
|
117
|
-
Task: Improve the skill definition for "${skillName}" based on error feedback.
|
|
118
|
-
|
|
119
|
-
Current definition:
|
|
120
|
-
${currentDef}
|
|
121
|
-
|
|
122
|
-
Error feedback:
|
|
123
|
-
${errorFeedback}
|
|
124
|
-
|
|
125
|
-
Correction:
|
|
126
|
-
${correction}
|
|
127
|
-
|
|
128
|
-
Write the improved skill definition in JSON format.`;
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
/**
|
|
132
|
-
* Generate self-reflection for a skill definition
|
|
133
|
-
* @param {string} skillDef
|
|
134
|
-
* @param {string} testFeedback
|
|
135
|
-
*/
|
|
136
|
-
export function buildSkillReflectionPrompt(skillDef, testFeedback) {
|
|
137
|
-
return `Analyze this skill definition and provide a self-reflection:
|
|
138
|
-
|
|
139
|
-
Skill:
|
|
140
|
-
${skillDef}
|
|
141
|
-
|
|
142
|
-
Test/use feedback:
|
|
143
|
-
${testFeedback}
|
|
144
|
-
|
|
145
|
-
Output 2-3 sentences: what went wrong with this skill definition and exactly how to fix it.`;
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
// ============================================================================
|
|
149
|
-
// Simple Generation (no reflection)
|
|
150
|
-
// ============================================================================
|
|
151
|
-
|
|
152
|
-
/**
|
|
153
|
-
* Simple code generation prompt (no reflection)
|
|
154
|
-
* @param {string} funcSig
|
|
155
|
-
* @param {string} [fewShot]
|
|
156
|
-
*/
|
|
157
|
-
export function buildSimplePrompt(funcSig, fewShot) {
|
|
158
|
-
const base = `Write the code implementation for:
|
|
159
|
-
|
|
160
|
-
${funcSig}
|
|
161
|
-
|
|
162
|
-
Only output the code, no explanations.`;
|
|
163
|
-
|
|
164
|
-
if (fewShot) {
|
|
165
|
-
return `${fewShot}
|
|
166
|
-
|
|
167
|
-
${base}`;
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
return base;
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
/**
|
|
174
|
-
* Simple skill generation prompt
|
|
175
|
-
* @param {string} taskDescription
|
|
176
|
-
*/
|
|
177
|
-
export function buildSimpleSkillPrompt(taskDescription) {
|
|
178
|
-
return `${SKILL_AUTHOR_INSTRUCTION}
|
|
179
|
-
|
|
180
|
-
Task: Create a skill for: ${taskDescription}
|
|
181
|
-
|
|
182
|
-
Output in JSON format with: name, trigger, guidance, examples, anti_patterns.`;
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
// ============================================================================
|
|
186
|
-
// Quality Gate Prompts (CAPY Cortex inspired)
|
|
187
|
-
// ============================================================================
|
|
188
|
-
|
|
189
|
-
/**
|
|
190
|
-
* Evaluate an insight across 4 dimensions
|
|
191
|
-
* @param {string} insight
|
|
192
|
-
*/
|
|
193
|
-
export function buildInsightEvalPrompt(insight) {
|
|
194
|
-
return `Evaluate this insight across 4 dimensions (score 0-4 each):
|
|
195
|
-
1. ACTIONABLE: Does it tell you WHAT to do specifically?
|
|
196
|
-
2. SPECIFIC: Does it contain concrete details (code, file, error, command)?
|
|
197
|
-
3. NOVEL: Does it provide new information beyond the obvious?
|
|
198
|
-
4. DURABLE: Does it apply broadly, not just to this one case?
|
|
199
|
-
|
|
200
|
-
Insight: "${insight}"
|
|
201
|
-
|
|
202
|
-
Output JSON: {"actionable": N, "specific": N, "novel": N, "durable": N}
|
|
203
|
-
Score 0 = completely fails dimension, 4 = perfectly meets dimension.`;
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
// ============================================================================
|
|
207
|
-
// Root Cause Analysis (for onToolFailure hook)
|
|
208
|
-
// ============================================================================
|
|
209
|
-
|
|
210
|
-
/**
|
|
211
|
-
* Root cause analysis prompt
|
|
212
|
-
* @param {string} action
|
|
213
|
-
* @param {string} error
|
|
214
|
-
*/
|
|
215
|
-
export function buildRootCausePrompt(action, error) {
|
|
216
|
-
return `You are a root-cause analyst for HeartFlow.
|
|
217
|
-
|
|
218
|
-
Action: ${action}
|
|
219
|
-
|
|
220
|
-
Error: ${error}
|
|
221
|
-
|
|
222
|
-
Identify the PRECISE cause of failure in 1-2 sentences. Be specific about which step failed and why.`;
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
/**
|
|
226
|
-
* Correction generation prompt
|
|
227
|
-
* @param {string} action
|
|
228
|
-
* @param {string} error
|
|
229
|
-
* @param {string} rootCause
|
|
230
|
-
*/
|
|
231
|
-
export function buildCorrectionPrompt(action, error, rootCause) {
|
|
232
|
-
return `You are a technical mentor for HeartFlow.
|
|
233
|
-
|
|
234
|
-
Failed action: ${action}
|
|
235
|
-
Error: ${error}
|
|
236
|
-
Root cause: ${rootCause}
|
|
237
|
-
|
|
238
|
-
Give ONE specific, actionable correction to fix this. No preamble, just the fix.`;
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
// ============================================================================
|
|
242
|
-
// Dash-style Context Building
|
|
243
|
-
// ============================================================================
|
|
244
|
-
|
|
245
|
-
/**
|
|
246
|
-
* Build context for system prompt (Dash add_learnings_to_context pattern)
|
|
247
|
-
* @param {Array<{pattern: string, guidance: string}>} matched
|
|
248
|
-
* @param {Array<{errorPattern: string, correction: string, confidence: number}>} learnings
|
|
249
|
-
*/
|
|
250
|
-
export function buildSystemContext(matched = [], learnings = []) {
|
|
251
|
-
const lines = [];
|
|
252
|
-
|
|
253
|
-
if (matched.length > 0) {
|
|
254
|
-
lines.push('## SKILL RULES (curated)');
|
|
255
|
-
for (const m of matched) {
|
|
256
|
-
lines.push(`- ${m.pattern}: ${m.guidance}`);
|
|
257
|
-
}
|
|
258
|
-
}
|
|
259
|
-
|
|
260
|
-
if (learnings.length > 0) {
|
|
261
|
-
lines.push('\n## LEARNED PATTERNS (from past errors)');
|
|
262
|
-
for (const l of learnings) {
|
|
263
|
-
const pct = Math.round(l.confidence * 100);
|
|
264
|
-
lines.push(`- [${pct}%] ${l.errorPattern}: ${l.correction}`);
|
|
265
|
-
}
|
|
266
|
-
}
|
|
267
|
-
|
|
268
|
-
return lines.join('\n');
|
|
269
|
-
}
|
|
270
|
-
|
|
271
|
-
export default {
|
|
272
|
-
SKILL_AUTHOR_INSTRUCTION,
|
|
273
|
-
CODE_IMPROVE_INSTRUCTION,
|
|
274
|
-
buildReflectionPrompt,
|
|
275
|
-
buildImprovePrompt,
|
|
276
|
-
buildSkillImprovePrompt,
|
|
277
|
-
buildSkillReflectionPrompt,
|
|
278
|
-
buildSimplePrompt,
|
|
279
|
-
buildSimpleSkillPrompt,
|
|
280
|
-
buildInsightEvalPrompt,
|
|
281
|
-
buildRootCausePrompt,
|
|
282
|
-
buildCorrectionPrompt,
|
|
283
|
-
buildSystemContext,
|
|
284
|
-
};
|
|
@@ -1,427 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Reflexion v2 - HeartFlow Integration
|
|
3
|
-
* Based on Reflexion-TS (faveos8758/reflexion-agent-ts) + Reflexion (noahshinn/reflexion)
|
|
4
|
-
*
|
|
5
|
-
* Core improvements over v1:
|
|
6
|
-
* - LLM-powered reflector (not heuristic)
|
|
7
|
-
* - Jaccard similarity memory (not raw array)
|
|
8
|
-
* - Quality gate: 2/4 threshold filtering
|
|
9
|
-
* - Type-safe ESM module
|
|
10
|
-
*
|
|
11
|
-
* @version v0.13.89
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
import { promises as fs } from 'fs';
|
|
15
|
-
import { dirname } from 'path';
|
|
16
|
-
|
|
17
|
-
// ============================================================================
|
|
18
|
-
// Types (from Reflexion-TS)
|
|
19
|
-
// ============================================================================
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* @typedef {Object} MemoryEntry
|
|
23
|
-
* @property {string} task
|
|
24
|
-
* @property {string} promptSummary
|
|
25
|
-
* @property {string} failedOutput
|
|
26
|
-
* @property {string} feedback
|
|
27
|
-
* @property {number} createdAt
|
|
28
|
-
*/
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* @typedef {Object} MemoryQuery
|
|
32
|
-
* @property {string} task
|
|
33
|
-
* @property {string} prompt
|
|
34
|
-
* @property {number} [limit]
|
|
35
|
-
*/
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* @typedef {Object} EvaluatorResult
|
|
39
|
-
* @property {boolean} passed
|
|
40
|
-
* @property {number} [score]
|
|
41
|
-
* @property {string} [reason]
|
|
42
|
-
*/
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* @typedef {function(string, string, string): Promise<string>} ReflectorFunction
|
|
46
|
-
* @typedef {function(string, unknown?): Promise<EvaluatorResult>} EvaluatorFunction
|
|
47
|
-
*/
|
|
48
|
-
|
|
49
|
-
// ============================================================================
|
|
50
|
-
// Jaccard Similarity Memory (from Reflexion-TS, cleaned)
|
|
51
|
-
// ============================================================================
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* Tokenize text into word set
|
|
55
|
-
* @param {string} s
|
|
56
|
-
* @returns {Set<string>}
|
|
57
|
-
*/
|
|
58
|
-
function tokenize(s) {
|
|
59
|
-
return new Set((s.toLowerCase().match(/\w+/g) ?? []));
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
/**
|
|
63
|
-
* Jaccard similarity between two sets
|
|
64
|
-
* @param {Set<string>} a
|
|
65
|
-
* @param {Set<string>} b
|
|
66
|
-
* @returns {number}
|
|
67
|
-
*/
|
|
68
|
-
function jaccard(a, b) {
|
|
69
|
-
if (a.size === 0 && b.size === 0) return 1;
|
|
70
|
-
let inter = 0;
|
|
71
|
-
for (const t of a) {
|
|
72
|
-
if (b.has(t)) inter++;
|
|
73
|
-
}
|
|
74
|
-
const union = a.size + b.size - inter;
|
|
75
|
-
return union === 0 ? 0 : inter / union;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
/**
|
|
79
|
-
* Compute similarity between query and memory entry
|
|
80
|
-
* @param {string} prompt
|
|
81
|
-
* @param {MemoryEntry} entry
|
|
82
|
-
* @returns {number}
|
|
83
|
-
*/
|
|
84
|
-
function similarity(prompt, entry) {
|
|
85
|
-
const q = tokenize(prompt);
|
|
86
|
-
const p = tokenize(entry.promptSummary);
|
|
87
|
-
const f = tokenize(entry.feedback);
|
|
88
|
-
return jaccard(q, p) * 0.7 + jaccard(q, f) * 0.3;
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
/**
|
|
92
|
-
* In-memory reflexion store with Jaccard similarity retrieval.
|
|
93
|
-
* No external vector DB required.
|
|
94
|
-
*/
|
|
95
|
-
export class ReflexionMemory {
|
|
96
|
-
constructor() {
|
|
97
|
-
/** @type {MemoryEntry[]} */
|
|
98
|
-
this.entries = [];
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
/**
|
|
102
|
-
* Store a new memory entry
|
|
103
|
-
* @param {Omit<MemoryEntry, 'createdAt'> & { createdAt?: number }} entry
|
|
104
|
-
*/
|
|
105
|
-
async store(entry) {
|
|
106
|
-
const full = {
|
|
107
|
-
...entry,
|
|
108
|
-
createdAt: entry.createdAt ?? Date.now(),
|
|
109
|
-
};
|
|
110
|
-
this.entries.push(full);
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
/**
|
|
114
|
-
* Retrieve similar memories by prompt
|
|
115
|
-
* @param {MemoryQuery} query
|
|
116
|
-
* @returns {Promise<string[]>}
|
|
117
|
-
*/
|
|
118
|
-
async retrieveSimilar(query) {
|
|
119
|
-
const limit = query.limit ?? 5;
|
|
120
|
-
const sameTask = this.entries.filter((e) => e.task === query.task);
|
|
121
|
-
const scored = sameTask
|
|
122
|
-
.map((e) => ({ e, s: similarity(query.prompt, e) }))
|
|
123
|
-
.sort((a, b) => b.s - a.s)
|
|
124
|
-
.slice(0, limit)
|
|
125
|
-
.map((x) => x.e.feedback);
|
|
126
|
-
return scored;
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
/**
|
|
130
|
-
* Save memories to file (JSON)
|
|
131
|
-
* @param {string} path
|
|
132
|
-
*/
|
|
133
|
-
async saveToFile(path) {
|
|
134
|
-
await fs.mkdir(dirname(path), { recursive: true });
|
|
135
|
-
const data = JSON.stringify({ entries: this.entries }, null, 2);
|
|
136
|
-
await fs.writeFile(path, data, 'utf8');
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
/**
|
|
140
|
-
* Load memories from file
|
|
141
|
-
* @param {string} path
|
|
142
|
-
*/
|
|
143
|
-
async loadFromFile(path) {
|
|
144
|
-
try {
|
|
145
|
-
const raw = await fs.readFile(path, 'utf8');
|
|
146
|
-
const parsed = JSON.parse(raw);
|
|
147
|
-
this.entries = Array.isArray(parsed.entries) ? parsed.entries : [];
|
|
148
|
-
} catch {
|
|
149
|
-
this.entries = [];
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
/** @param {number} maxEntries */
|
|
154
|
-
trim(maxEntries = 1000) {
|
|
155
|
-
if (this.entries.length > maxEntries) {
|
|
156
|
-
this.entries = this.entries.slice(-maxEntries);
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
clear() {
|
|
161
|
-
this.entries = [];
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
get size() {
|
|
165
|
-
return this.entries.length;
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
// ============================================================================
|
|
170
|
-
// LLM Reflector (from Reflexion-TS, enhanced)
|
|
171
|
-
// ============================================================================
|
|
172
|
-
|
|
173
|
-
/**
|
|
174
|
-
* Create default LLM-based reflector
|
|
175
|
-
* Uses HeartFlow's LLM API (generic, works with any provider)
|
|
176
|
-
*
|
|
177
|
-
* @param {function(string, string): Promise<string>} llmCall - LLM function: (system, prompt) => text
|
|
178
|
-
* @returns {ReflectorFunction}
|
|
179
|
-
*/
|
|
180
|
-
export function createLLMReflector(llmCall) {
|
|
181
|
-
return async (originalPrompt, failedOutput, evaluationReason) => {
|
|
182
|
-
const system = `You write concise reflective feedback for a failed attempt. Be specific: what went wrong and what to do next time. Output only the feedback, no preamble.`;
|
|
183
|
-
const prompt = `Original task:
|
|
184
|
-
${originalPrompt}
|
|
185
|
-
|
|
186
|
-
Failed output:
|
|
187
|
-
${failedOutput}
|
|
188
|
-
|
|
189
|
-
Evaluation:
|
|
190
|
-
${evaluationReason}
|
|
191
|
-
|
|
192
|
-
Write 2-4 sentences: what went wrong and exactly what to do next time.`;
|
|
193
|
-
|
|
194
|
-
try {
|
|
195
|
-
const text = await llmCall(system, prompt);
|
|
196
|
-
return text.trim();
|
|
197
|
-
} catch (err) {
|
|
198
|
-
return `Reflection failed: ${err.message}. Next time, verify output before proceeding.`;
|
|
199
|
-
}
|
|
200
|
-
};
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
/**
|
|
204
|
-
* Template-based reflector (fallback when no LLM available)
|
|
205
|
-
* @returns {ReflectorFunction}
|
|
206
|
-
*/
|
|
207
|
-
export function createTemplateReflector() {
|
|
208
|
-
return async (_originalPrompt, failedOutput, evaluationReason) =>
|
|
209
|
-
`You failed because: ${evaluationReason}. Your output was: ${failedOutput.slice(0, 200)}${failedOutput.length > 200 ? '…' : ''}. Next time, address the evaluation feedback precisely.`;
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
// ============================================================================
|
|
213
|
-
// Quality Gate (from CAPY Cortex)
|
|
214
|
-
// ============================================================================
|
|
215
|
-
|
|
216
|
-
/**
|
|
217
|
-
* Quality dimensions for extracted insights
|
|
218
|
-
* @typedef {{ actionable: number, specific: number, novel: number, durable: number }} QualityScore
|
|
219
|
-
*/
|
|
220
|
-
|
|
221
|
-
/**
|
|
222
|
-
* Score an insight across 4 dimensions (0-4 each)
|
|
223
|
-
* @param {string} insight
|
|
224
|
-
* @param {string} context
|
|
225
|
-
* @returns {QualityScore}
|
|
226
|
-
*/
|
|
227
|
-
export function scoreInsight(insight, context = '') {
|
|
228
|
-
const words = insight.split(/\s+/);
|
|
229
|
-
const uniqueWords = new Set(words.map(w => w.toLowerCase()));
|
|
230
|
-
|
|
231
|
-
// Actionable: contains verbs, recommendations
|
|
232
|
-
const actionable = /should|must|try|use|apply|instead|rather|better|alternative/i.test(insight) ? 3 : 1;
|
|
233
|
-
|
|
234
|
-
// Specific: contains concrete details (not vague)
|
|
235
|
-
const specific = (insight.match(/\d+|code|file|error|function|command|path/i) || []).length > 2 ? 3 : 1;
|
|
236
|
-
|
|
237
|
-
// Novel: not just repeating context
|
|
238
|
-
const contextWords = new Set(context.toLowerCase().split(/\s+/));
|
|
239
|
-
let novelCount = 0;
|
|
240
|
-
for (const w of uniqueWords) {
|
|
241
|
-
if (w.length > 4 && !contextWords.has(w)) novelCount++;
|
|
242
|
-
}
|
|
243
|
-
const novel = novelCount > words.length * 0.3 ? 3 : 1;
|
|
244
|
-
|
|
245
|
-
// Durable: not time-specific or one-shot
|
|
246
|
-
const durable = /\balways|never|whenever|if.*then|consistent/i.test(insight) ? 3 : 1;
|
|
247
|
-
|
|
248
|
-
return { actionable, specific, novel, durable };
|
|
249
|
-
}
|
|
250
|
-
|
|
251
|
-
/**
|
|
252
|
-
* Check if insight passes quality gate (threshold: 2/4 average)
|
|
253
|
-
* @param {QualityScore} score
|
|
254
|
-
* @returns {boolean}
|
|
255
|
-
*/
|
|
256
|
-
export function passesGate(score) {
|
|
257
|
-
const avg = (score.actionable + score.specific + score.novel + score.durable) / 4;
|
|
258
|
-
return avg >= 2;
|
|
259
|
-
}
|
|
260
|
-
|
|
261
|
-
// ============================================================================
|
|
262
|
-
// Reflexion Agent (HeartFlow-native implementation)
|
|
263
|
-
// ============================================================================
|
|
264
|
-
|
|
265
|
-
/**
|
|
266
|
-
* Normalize maxAttempts to valid integer
|
|
267
|
-
* @param {unknown} raw
|
|
268
|
-
* @returns {number}
|
|
269
|
-
*/
|
|
270
|
-
function normalizeMaxAttempts(raw) {
|
|
271
|
-
const n = typeof raw === 'number' ? raw
|
|
272
|
-
: typeof raw === 'string' ? Number.parseInt(raw, 10)
|
|
273
|
-
: NaN;
|
|
274
|
-
if (!Number.isFinite(n) || n < 1) return 3;
|
|
275
|
-
return Math.min(50, Math.floor(n));
|
|
276
|
-
}
|
|
277
|
-
|
|
278
|
-
/**
|
|
279
|
-
* Reflexion Agent - Main Loop
|
|
280
|
-
*
|
|
281
|
-
* Pattern: Attempt -> Evaluate -> Reflect (if failed) -> Retry
|
|
282
|
-
* Until success or maxAttempts
|
|
283
|
-
*
|
|
284
|
-
* @property {string} task
|
|
285
|
-
* @property {number} maxAttempts
|
|
286
|
-
* @property {EvaluatorFunction} evaluator
|
|
287
|
-
* @property {ReflectorFunction} reflector
|
|
288
|
-
* @property {ReflexionMemory} memory
|
|
289
|
-
*/
|
|
290
|
-
export class HeartFlowReflexionAgent {
|
|
291
|
-
/**
|
|
292
|
-
* @param {{
|
|
293
|
-
* task: string,
|
|
294
|
-
* maxAttempts?: number|string,
|
|
295
|
-
* evaluator: EvaluatorFunction,
|
|
296
|
-
* reflector?: ReflectorFunction,
|
|
297
|
-
* memory?: ReflexionMemory,
|
|
298
|
-
* onAttempt?: (attempt: number, output: string, feedback?: string) => void,
|
|
299
|
-
* }} config
|
|
300
|
-
*/
|
|
301
|
-
constructor(config) {
|
|
302
|
-
this.task = config.task;
|
|
303
|
-
this.maxAttempts = normalizeMaxAttempts(config.maxAttempts ?? 3);
|
|
304
|
-
this.evaluator = config.evaluator;
|
|
305
|
-
this.reflector = config.reflector ?? createTemplateReflector();
|
|
306
|
-
this.memory = config.memory ?? new ReflexionMemory();
|
|
307
|
-
this.onAttempt = config.onAttempt ?? (() => {});
|
|
308
|
-
this._attemptCount = 0;
|
|
309
|
-
}
|
|
310
|
-
|
|
311
|
-
/**
|
|
312
|
-
* Run the reflexion loop
|
|
313
|
-
* @param {string} prompt
|
|
314
|
-
* @param {function(string): Promise<{ text: string, done?: boolean }>} executor
|
|
315
|
-
* @returns {Promise<{ success: boolean, output: string, attempts: number, feedbackHistory: string[] }>}
|
|
316
|
-
*/
|
|
317
|
-
async run(prompt, executor) {
|
|
318
|
-
let output = '';
|
|
319
|
-
const feedbackHistory = [];
|
|
320
|
-
let finalFeedback;
|
|
321
|
-
this._attemptCount = 0;
|
|
322
|
-
|
|
323
|
-
// Retrieve similar past reflections for context
|
|
324
|
-
const similar = await this.memory.retrieveSimilar({
|
|
325
|
-
task: this.task,
|
|
326
|
-
prompt,
|
|
327
|
-
limit: 3,
|
|
328
|
-
});
|
|
329
|
-
|
|
330
|
-
for (let attempt = 1; attempt <= this.maxAttempts; attempt++) {
|
|
331
|
-
this._attemptCount = attempt;
|
|
332
|
-
|
|
333
|
-
// Generate output
|
|
334
|
-
const result = await executor(prompt);
|
|
335
|
-
output = result.text;
|
|
336
|
-
|
|
337
|
-
// Evaluate
|
|
338
|
-
const evalResult = await this.evaluator(output);
|
|
339
|
-
this.onAttempt(attempt, output, evalResult.reason);
|
|
340
|
-
|
|
341
|
-
if (evalResult.passed) {
|
|
342
|
-
return {
|
|
343
|
-
success: true,
|
|
344
|
-
output,
|
|
345
|
-
attempts: attempt,
|
|
346
|
-
feedbackHistory,
|
|
347
|
-
};
|
|
348
|
-
}
|
|
349
|
-
|
|
350
|
-
// Generate reflection
|
|
351
|
-
const reflection = await this.reflector(prompt, output, evalResult.reason ?? 'Evaluation failed');
|
|
352
|
-
feedbackHistory.push(reflection);
|
|
353
|
-
finalFeedback = reflection;
|
|
354
|
-
|
|
355
|
-
// Store in memory with quality gate
|
|
356
|
-
const score = scoreInsight(reflection, prompt + output);
|
|
357
|
-
if (passesGate(score)) {
|
|
358
|
-
await this.memory.store({
|
|
359
|
-
task: this.task,
|
|
360
|
-
promptSummary: prompt.slice(0, 100),
|
|
361
|
-
failedOutput: output.slice(0, 500),
|
|
362
|
-
feedback: reflection,
|
|
363
|
-
});
|
|
364
|
-
}
|
|
365
|
-
}
|
|
366
|
-
|
|
367
|
-
return {
|
|
368
|
-
success: false,
|
|
369
|
-
output,
|
|
370
|
-
attempts: this._attemptCount,
|
|
371
|
-
feedbackHistory,
|
|
372
|
-
finalFeedback,
|
|
373
|
-
};
|
|
374
|
-
}
|
|
375
|
-
}
|
|
376
|
-
|
|
377
|
-
// ============================================================================
|
|
378
|
-
// Factory for HeartFlow integration
|
|
379
|
-
// ============================================================================
|
|
380
|
-
|
|
381
|
-
/**
|
|
382
|
-
* Create a reflexion agent configured for HeartFlow
|
|
383
|
-
*
|
|
384
|
-
* @param {{
|
|
385
|
-
* task: string,
|
|
386
|
-
* llmCall?: function(string, string): Promise<string>,
|
|
387
|
-
* evaluatorFn?: EvaluatorFunction,
|
|
388
|
-
* memoryFile?: string,
|
|
389
|
-
* }} options
|
|
390
|
-
*/
|
|
391
|
-
export function createHeartFlowReflexion(options) {
|
|
392
|
-
const memory = new ReflexionMemory();
|
|
393
|
-
|
|
394
|
-
// Load existing memory if file provided
|
|
395
|
-
if (options.memoryFile) {
|
|
396
|
-
memory.loadFromFile(options.memoryFile).catch(() => {});
|
|
397
|
-
}
|
|
398
|
-
|
|
399
|
-
// Default evaluator: checks for error indicators
|
|
400
|
-
const defaultEvaluator = async (output) => {
|
|
401
|
-
const hasError = /\b(error|failed|exception|crash|wrong|incorrect)\b/i.test(output);
|
|
402
|
-
const hasSuccess = /\b(success|complete|done|working|correct)\b/i.test(output);
|
|
403
|
-
return {
|
|
404
|
-
passed: hasSuccess && !hasError,
|
|
405
|
-
score: hasSuccess && !hasError ? 1 : 0,
|
|
406
|
-
reason: hasError ? 'Output contains error indicators' : hasSuccess ? 'Output looks good' : 'No clear success/error signal',
|
|
407
|
-
};
|
|
408
|
-
};
|
|
409
|
-
|
|
410
|
-
return new HeartFlowReflexionAgent({
|
|
411
|
-
task: options.task,
|
|
412
|
-
maxAttempts: options.maxAttempts ?? 3,
|
|
413
|
-
evaluator: options.evaluatorFn ?? defaultEvaluator,
|
|
414
|
-
reflector: options.llmCall ? createLLMReflector(options.llmCall) : createTemplateReflector(),
|
|
415
|
-
memory,
|
|
416
|
-
});
|
|
417
|
-
}
|
|
418
|
-
|
|
419
|
-
export default {
|
|
420
|
-
ReflexionMemory,
|
|
421
|
-
HeartFlowReflexionAgent,
|
|
422
|
-
createLLMReflector,
|
|
423
|
-
createTemplateReflector,
|
|
424
|
-
createHeartFlowReflexion,
|
|
425
|
-
scoreInsight,
|
|
426
|
-
passesGate,
|
|
427
|
-
};
|