@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.
Files changed (622) hide show
  1. package/README.md +64 -163
  2. package/VERSION +1 -1
  3. package/install.sh +26 -117
  4. package/meaningful-core.json +26 -0
  5. package/package.json +9 -18
  6. package/src/core/heartflow.js +187 -532
  7. package/src/dream/engine.js +99 -0
  8. package/src/evolution/loop.js +145 -0
  9. package/src/psychology/engine.js +268 -0
  10. package/tests/run.js +195 -0
  11. package/AI-AGENT-README.md +0 -154
  12. package/CLAIMS.md +0 -23
  13. package/CORE_VALUES.md +0 -50
  14. package/INSTALL_FOR_AI.md +0 -104
  15. package/QUICK_START.md +0 -77
  16. package/READ/refresh_11.2.6.md +0 -6
  17. package/README.zh.md +0 -49
  18. package/REPO_STRUCTURE.md +0 -47
  19. package/SKILL.md.new +0 -1
  20. package/_test_memory.mjs +0 -52
  21. package/assets/banner.png +0 -0
  22. package/bin/cli.js +0 -167
  23. package/bin/setup.js +0 -382
  24. package/co-evolution/index.ts +0 -511
  25. package/com.heartflow.auto-evolution.plist.disabled +0 -26
  26. package/com.heartflow.auto-upgrade.plist.disabled +0 -26
  27. package/com.heartflow.comfyui-monitor.plist.disabled +0 -22
  28. package/com.heartflow.enhanced-upgrade.plist.disabled +0 -22
  29. package/com.heartflow.full-audit.plist +0 -28
  30. package/com.heartflow.github-audit.plist +0 -21
  31. package/com.heartflow.paper-upgrade.plist.disabled +0 -21
  32. package/config/ai-config.json +0 -12
  33. package/config/ai-providers.json +0 -14
  34. package/dict-data/generate-graph.js +0 -203
  35. package/dist/agent/runtime/AgentRuntime.d.ts +0 -212
  36. package/dist/agent/runtime/AgentRuntime.d.ts.map +0 -1
  37. package/dist/agent/runtime/AgentRuntime.js +0 -355
  38. package/dist/agent/runtime/AgentRuntime.js.map +0 -1
  39. package/dist/agent/runtime/PlanExecutor.d.ts +0 -132
  40. package/dist/agent/runtime/PlanExecutor.d.ts.map +0 -1
  41. package/dist/agent/runtime/PlanExecutor.js +0 -322
  42. package/dist/agent/runtime/PlanExecutor.js.map +0 -1
  43. package/dist/agent/runtime/TaskGraph.d.ts +0 -170
  44. package/dist/agent/runtime/TaskGraph.d.ts.map +0 -1
  45. package/dist/agent/runtime/TaskGraph.js +0 -390
  46. package/dist/agent/runtime/TaskGraph.js.map +0 -1
  47. package/dist/agent/runtime/TaskScheduler.d.ts +0 -120
  48. package/dist/agent/runtime/TaskScheduler.d.ts.map +0 -1
  49. package/dist/agent/runtime/TaskScheduler.js +0 -301
  50. package/dist/agent/runtime/TaskScheduler.js.map +0 -1
  51. package/dist/agent/runtime/index.d.ts +0 -17
  52. package/dist/agent/runtime/index.d.ts.map +0 -1
  53. package/dist/agent/runtime/index.js +0 -22
  54. package/dist/agent/runtime/index.js.map +0 -1
  55. package/dist/agent/runtime/test-runtime.d.ts +0 -2
  56. package/dist/agent/runtime/test-runtime.d.ts.map +0 -1
  57. package/dist/agent/runtime/test-runtime.js +0 -71
  58. package/dist/agent/runtime/test-runtime.js.map +0 -1
  59. package/dist/agent/tools/BashTool.d.ts +0 -44
  60. package/dist/agent/tools/BashTool.d.ts.map +0 -1
  61. package/dist/agent/tools/BashTool.js +0 -355
  62. package/dist/agent/tools/BashTool.js.map +0 -1
  63. package/dist/agent/tools/FileReadTool.d.ts +0 -29
  64. package/dist/agent/tools/FileReadTool.d.ts.map +0 -1
  65. package/dist/agent/tools/FileReadTool.js +0 -196
  66. package/dist/agent/tools/FileReadTool.js.map +0 -1
  67. package/dist/agent/tools/FileWriteTool.d.ts +0 -35
  68. package/dist/agent/tools/FileWriteTool.d.ts.map +0 -1
  69. package/dist/agent/tools/FileWriteTool.js +0 -204
  70. package/dist/agent/tools/FileWriteTool.js.map +0 -1
  71. package/dist/agent/tools/Tool.d.ts +0 -75
  72. package/dist/agent/tools/Tool.d.ts.map +0 -1
  73. package/dist/agent/tools/Tool.js +0 -54
  74. package/dist/agent/tools/Tool.js.map +0 -1
  75. package/dist/agent/tools/WebSearchTool.d.ts +0 -27
  76. package/dist/agent/tools/WebSearchTool.d.ts.map +0 -1
  77. package/dist/agent/tools/WebSearchTool.js +0 -136
  78. package/dist/agent/tools/WebSearchTool.js.map +0 -1
  79. package/dist/cli/commands/engines.d.ts +0 -39
  80. package/dist/cli/commands/engines.d.ts.map +0 -1
  81. package/dist/cli/commands/engines.js +0 -275
  82. package/dist/cli/commands/engines.js.map +0 -1
  83. package/dist/cli/commands/health.d.ts +0 -34
  84. package/dist/cli/commands/health.d.ts.map +0 -1
  85. package/dist/cli/commands/health.js +0 -381
  86. package/dist/cli/commands/health.js.map +0 -1
  87. package/dist/cli/commands/repl.d.ts +0 -40
  88. package/dist/cli/commands/repl.d.ts.map +0 -1
  89. package/dist/cli/commands/repl.js +0 -286
  90. package/dist/cli/commands/repl.js.map +0 -1
  91. package/dist/cli/commands/status.d.ts +0 -22
  92. package/dist/cli/commands/status.d.ts.map +0 -1
  93. package/dist/cli/commands/status.js +0 -266
  94. package/dist/cli/commands/status.js.map +0 -1
  95. package/dist/cli/index.d.ts +0 -7
  96. package/dist/cli/index.d.ts.map +0 -1
  97. package/dist/cli/index.js +0 -13
  98. package/dist/cli/index.js.map +0 -1
  99. package/dist/core/consciousness/2308.08708_upgrade.d.ts +0 -321
  100. package/dist/core/consciousness/2308.08708_upgrade.d.ts.map +0 -1
  101. package/dist/core/consciousness/2308.08708_upgrade.js +0 -917
  102. package/dist/core/consciousness/2308.08708_upgrade.js.map +0 -1
  103. package/dist/core/dream/dream-consolidator.d.ts +0 -11
  104. package/dist/core/dream/dream-consolidator.d.ts.map +0 -1
  105. package/dist/core/dream/dream-consolidator.js +0 -188
  106. package/dist/core/dream/dream-consolidator.js.map +0 -1
  107. package/dist/core/dream/dream.d.ts +0 -71
  108. package/dist/core/dream/dream.d.ts.map +0 -1
  109. package/dist/core/dream/dream.js +0 -318
  110. package/dist/core/dream/dream.js.map +0 -1
  111. package/dist/core/dream/index.d.ts +0 -38
  112. package/dist/core/dream/index.d.ts.map +0 -1
  113. package/dist/core/dream/index.js +0 -185
  114. package/dist/core/dream/index.js.map +0 -1
  115. package/dist/core/emotion/deep-emotion.js +0 -574
  116. package/dist/core/emotion/emotion-engine.js +0 -138
  117. package/dist/core/emotion/index.d.ts +0 -44
  118. package/dist/core/emotion/index.d.ts.map +0 -1
  119. package/dist/core/emotion/index.js +0 -41
  120. package/dist/core/emotion/index.js.map +0 -1
  121. package/dist/core/heartcore/health-check.d.ts +0 -43
  122. package/dist/core/heartcore/health-check.d.ts.map +0 -1
  123. package/dist/core/heartcore/health-check.js +0 -152
  124. package/dist/core/heartcore/health-check.js.map +0 -1
  125. package/dist/core/heartcore/heartbeat.d.ts +0 -45
  126. package/dist/core/heartcore/heartbeat.d.ts.map +0 -1
  127. package/dist/core/heartcore/heartbeat.js +0 -127
  128. package/dist/core/heartcore/heartbeat.js.map +0 -1
  129. package/dist/core/heartcore/sleep-wake.d.ts +0 -61
  130. package/dist/core/heartcore/sleep-wake.d.ts.map +0 -1
  131. package/dist/core/heartcore/sleep-wake.js +0 -173
  132. package/dist/core/heartcore/sleep-wake.js.map +0 -1
  133. package/dist/core/heartcore/startup-check.d.ts +0 -38
  134. package/dist/core/heartcore/startup-check.d.ts.map +0 -1
  135. package/dist/core/heartcore/startup-check.js +0 -148
  136. package/dist/core/heartcore/startup-check.js.map +0 -1
  137. package/dist/core/index.js +0 -267
  138. package/dist/core/knowledge/index.d.ts +0 -95
  139. package/dist/core/knowledge/index.d.ts.map +0 -1
  140. package/dist/core/knowledge/index.js +0 -14
  141. package/dist/core/knowledge/index.js.map +0 -1
  142. package/dist/core/knowledge/knowledge-graph.js +0 -359
  143. package/dist/core/psychology/index.d.ts +0 -59
  144. package/dist/core/psychology/index.d.ts.map +0 -1
  145. package/dist/core/psychology/index.js +0 -268
  146. package/dist/core/psychology/index.js.map +0 -1
  147. package/dist/core/reasoning/bounded-rationality.d.ts +0 -76
  148. package/dist/core/reasoning/bounded-rationality.d.ts.map +0 -1
  149. package/dist/core/reasoning/bounded-rationality.js +0 -257
  150. package/dist/core/reasoning/bounded-rationality.js.map +0 -1
  151. package/dist/core/reasoning/causal-reasoning.d.ts +0 -89
  152. package/dist/core/reasoning/causal-reasoning.d.ts.map +0 -1
  153. package/dist/core/reasoning/causal-reasoning.js +0 -282
  154. package/dist/core/reasoning/causal-reasoning.js.map +0 -1
  155. package/dist/core/reasoning/index.d.ts +0 -38
  156. package/dist/core/reasoning/index.d.ts.map +0 -1
  157. package/dist/core/reasoning/index.js +0 -93
  158. package/dist/core/reasoning/index.js.map +0 -1
  159. package/dist/core/self-evolution/index.d.ts +0 -75
  160. package/dist/core/self-evolution/index.d.ts.map +0 -1
  161. package/dist/core/self-evolution/index.js +0 -311
  162. package/dist/core/self-evolution/index.js.map +0 -1
  163. package/dist/storage/checkpoint/CheckpointEngine.d.ts +0 -110
  164. package/dist/storage/checkpoint/CheckpointEngine.d.ts.map +0 -1
  165. package/dist/storage/checkpoint/CheckpointEngine.js +0 -227
  166. package/dist/storage/checkpoint/CheckpointEngine.js.map +0 -1
  167. package/dist/storage/checkpoint.d.ts +0 -18
  168. package/dist/storage/checkpoint.d.ts.map +0 -1
  169. package/dist/storage/checkpoint.js +0 -61
  170. package/dist/storage/checkpoint.js.map +0 -1
  171. package/dist/storage/index.d.ts +0 -61
  172. package/dist/storage/index.d.ts.map +0 -1
  173. package/dist/storage/index.js +0 -84
  174. package/dist/storage/index.js.map +0 -1
  175. package/dist/storage/vector/VectorStoreEngine.d.ts +0 -24
  176. package/dist/storage/vector/VectorStoreEngine.d.ts.map +0 -1
  177. package/dist/storage/vector/VectorStoreEngine.js +0 -197
  178. package/dist/storage/vector/VectorStoreEngine.js.map +0 -1
  179. package/distributed/-v2026.5.7/META.json +0 -9
  180. package/distributed/-v2026.5.7/package.json +0 -12
  181. package/distributed/.personal_backup/deepseek-key-v2026.5.7/META.json +0 -9
  182. package/distributed/.personal_backup/deepseek-key-v2026.5.7/package.json +0 -12
  183. package/distributed/.personal_backup/git-push-v2026.5.7/META.json +0 -9
  184. package/distributed/.personal_backup/git-push-v2026.5.7/package.json +0 -12
  185. package/distributed/.personal_backup/heartflow-always-upgrade-v2026.5.7/META.json +0 -9
  186. package/distributed/.personal_backup/heartflow-always-upgrade-v2026.5.7/package.json +0 -12
  187. package/distributed/.personal_backup/key-a-v2026.5.7/META.json +0 -9
  188. package/distributed/.personal_backup/key-a-v2026.5.7/package.json +0 -12
  189. package/distributed/.personal_backup/merge-memory-systems-v2026.5.7/META.json +0 -9
  190. package/distributed/.personal_backup/merge-memory-systems-v2026.5.7/package.json +0 -12
  191. package/distributed/.personal_backup/search-papers-first-v2026.5.7/META.json +0 -9
  192. package/distributed/.personal_backup/search-papers-first-v2026.5.7/package.json +0 -12
  193. package/distributed/.personal_backup/v11-5-8-v2026.5.7/META.json +0 -9
  194. package/distributed/.personal_backup/v11-5-8-v2026.5.7/package.json +0 -12
  195. package/distributed/.personal_backup/v11-5-9-v2026.5.7/META.json +0 -9
  196. package/distributed/.personal_backup/v11-5-9-v2026.5.7/package.json +0 -12
  197. package/distributed/MANIFEST.json +0 -5
  198. package/distributed/bundles/install--v2026.5.7.sh +0 -21
  199. package/distributed/bundles/install-deepseek-key-v2026.5.7.sh +0 -21
  200. package/distributed/bundles/install-git-push-v2026.5.7.sh +0 -21
  201. package/distributed/bundles/install-heartflow-always-upgrade-v2026.5.7.sh +0 -21
  202. package/distributed/bundles/install-key-a-v2026.5.7.sh +0 -21
  203. package/distributed/bundles/install-merge-memory-systems-v2026.5.7.sh +0 -21
  204. package/distributed/bundles/install-search-papers-first-v2026.5.7.sh +0 -21
  205. package/distributed/bundles/install-v11-5-8-v2026.5.7.sh +0 -21
  206. package/distributed/bundles/install-v11-5-9-v2026.5.7.sh +0 -21
  207. package/distributed/heartflow-knowledge-base/INDEX.json +0 -29
  208. package/distributed/heartflow-knowledge-base/PATTERNS.json +0 -74
  209. package/distributed/heartflow-knowledge-base/package.json +0 -28
  210. package/distributed_upgrades/TASK_CONFIG.json +0 -20
  211. package/distributed_upgrades/UPGRADE_BATCH_STATUS.json +0 -29
  212. package/distributed_upgrades/distributed_upgrades/agent_0.pid +0 -1
  213. package/distributed_upgrades/distributed_upgrades/agent_1.pid +0 -1
  214. package/distributed_upgrades/distributed_upgrades/agent_2.pid +0 -1
  215. package/distributed_upgrades/distributed_upgrades/agent_3.pid +0 -1
  216. package/distributed_upgrades/distributed_upgrades/agent_4.pid +0 -1
  217. package/distributed_upgrades/distributed_upgrades/agent_5.pid +0 -1
  218. package/distributed_upgrades/distributed_upgrades/paper_batches.txt +0 -200
  219. package/distributed_upgrades/launch-distributed.sh +0 -83
  220. package/docs/ACTION_PLAN_2026-04-06_0941.md +0 -117
  221. package/docs/ANALYSIS_REPORT.md +0 -766
  222. package/docs/APPLICATION_GUIDE.md +0 -444
  223. package/docs/AUTO_UPGRADE_REPORT_v6.2.56.md +0 -45
  224. package/docs/AWAKENING_SYSTEM_GUIDE.md +0 -285
  225. package/docs/BILINGUAL_STANDARD.md +0 -156
  226. package/docs/BRAND_GUIDELINES.md +0 -251
  227. package/docs/CODE_OPTIMIZATION_PLAN.md +0 -293
  228. package/docs/COMPLETE_FIX_SUMMARY.md +0 -250
  229. package/docs/CONTINUOUS_REFLECTION_2026-04-06_1031.md +0 -233
  230. package/docs/CONTRIBUTING.md +0 -87
  231. package/docs/CRON_JOBS_REVIEW_v6.md +0 -60
  232. package/docs/DATA_FLOW_ARCHITECTURE.md +0 -373
  233. package/docs/DEEPEST_REFLECTION_2026-04-06_0941.md +0 -167
  234. package/docs/DEEP_REFLECTION_2026-04-05.md +0 -204
  235. package/docs/DEEP_VALIDATION_20260403.md +0 -319
  236. package/docs/DEEP_VALIDATION_20260404.md +0 -295
  237. package/docs/EMOTION_THEORY_INTEGRATION.md +0 -483
  238. package/docs/ERROR_FIX_REPORT_2026-04-07.md +0 -316
  239. package/docs/EVOLUTION_SYSTEM.md +0 -96
  240. package/docs/FEATURES_SIMPLE.md +0 -53
  241. package/docs/FEATURES_v5.3.md +0 -291
  242. package/docs/FEATURES_v7.1.md +0 -172
  243. package/docs/FINAL_RUN_REPORT_20260403.md +0 -202
  244. package/docs/GITHUB_COMPLETE_DOCUMENTATION_v6.0.2.md +0 -579
  245. package/docs/GITHUB_PUSH_LOG.md +0 -16
  246. package/docs/GITHUB_RELEASE.md +0 -138
  247. package/docs/GITHUB_RELEASE_v5.3.0.md +0 -395
  248. package/docs/GITHUB_RELEASE_v6.0.0.md +0 -74
  249. package/docs/HEARTFLOW_V6_GITHUB_PUSH.md +0 -159
  250. package/docs/HEARTFLOW_V6_MANIFESTO.md +0 -287
  251. package/docs/HEARTFLOW_V6_README.md +0 -299
  252. package/docs/HEARTFLOW_V6_TASK_REVIEW.md +0 -215
  253. package/docs/HEARTFLOW_VALUES_AND_MISSION.md +0 -177
  254. package/docs/HeartFlow_Monograph_Volume_II_Chapter_01.md +0 -377
  255. package/docs/HeartFlow_Monograph_Volume_II_Chapter_02.md +0 -324
  256. package/docs/HeartFlow_Monograph_Volume_II_Start.md +0 -78
  257. package/docs/HeartFlow_Monograph_Volume_I_Final.md +0 -9464
  258. package/docs/INSTALLATION_DIAGNOSIS.md +0 -368
  259. package/docs/INTEGRATION_CHECKLIST_v6.1.41.md +0 -229
  260. package/docs/INTEGRATION_SUMMARY.md +0 -380
  261. package/docs/INTELLIGENT_ROUTING_SYSTEM.md +0 -329
  262. package/docs/LEARNING_PHILOSOPHY.md +0 -320
  263. package/docs/LOGIC_AUDIT_REPORT_20260405.md +0 -369
  264. package/docs/MOTIVE_CHECK_2026-04-06_0945.md +0 -90
  265. package/docs/PERSONALITY_CALCULATION_RULES.md +0 -104
  266. package/docs/PERSONALITY_SYNC_FIX.md +0 -166
  267. package/docs/PROJECT_SUMMARY.md +0 -347
  268. package/docs/PUBLISH_GUIDE.md +0 -149
  269. package/docs/README_UPDATE_STANDARD.md +0 -357
  270. package/docs/README_v5.3.md +0 -519
  271. package/docs/RELEASE_v6.2.0.md +0 -240
  272. package/docs/SAGE_PATH_2026-04-06_0952.md +0 -265
  273. package/docs/SELF_REFLECTION_2026-04-06_1006.md +0 -311
  274. package/docs/SEVEN_SYSTEMS.md +0 -642
  275. package/docs/SMART_EVOLUTION_GUIDE.md +0 -103
  276. package/docs/SMART_EVOLUTION_v4.md +0 -194
  277. package/docs/SYNC_REPORT_1775363972464.json +0 -23
  278. package/docs/SYNC_REPORT_1775364446763.json +0 -23
  279. package/docs/SYNC_REPORT_1775364984353.json +0 -23
  280. package/docs/SYNC_REPORT_1775397556306.json +0 -23
  281. package/docs/SYNC_REPORT_1775399840010.json +0 -23
  282. package/docs/SYNC_REPORT_1775400929082.json +0 -23
  283. package/docs/SYNC_REPORT_1775455697235.json +0 -23
  284. package/docs/SYNC_REPORT_1775459792479.json +0 -23
  285. package/docs/SYNC_REPORT_1775483413473.json +0 -23
  286. package/docs/SYSTEM_FIX_AND_VERIFICATION_REPORT.md +0 -390
  287. package/docs/SYSTEM_REQUIREMENTS_v6.2.52.md +0 -611
  288. package/docs/TASK_BREAKDOWN_CHECKLIST.md +0 -164
  289. package/docs/THEORY_TO_CODE_v6.2.52.md +0 -930
  290. package/docs/UPGRADE_COMPLETE_v6.2.33.md +0 -226
  291. package/docs/UPGRADE_COMPLETE_v6.2.60.md +0 -135
  292. package/docs/UPGRADE_COMPLETE_v6.2.66.md +0 -265
  293. package/docs/UPGRADE_COMPLETE_v7.1.8.md +0 -176
  294. package/docs/UPGRADE_COMPLETE_v7.3.95.md +0 -59
  295. package/docs/UPGRADE_REPORT_1775313572473.json +0 -50
  296. package/docs/UPGRADE_REPORT_1775364977378.json +0 -50
  297. package/docs/UPGRADE_REPORT_1775364984469.json +0 -55
  298. package/docs/UPGRADE_REPORT_1775397556425.json +0 -55
  299. package/docs/UPGRADE_REPORT_1775399840144.json +0 -55
  300. package/docs/UPGRADE_REPORT_1775400929201.json +0 -55
  301. package/docs/UPGRADE_REPORT_1775455697348.json +0 -55
  302. package/docs/UPGRADE_REPORT_1775459792601.json +0 -55
  303. package/docs/UPGRADE_REPORT_1775459829.md +0 -59
  304. package/docs/UPGRADE_REPORT_1775483413653.json +0 -55
  305. package/docs/UPGRADE_REPORT_v6.2.25.md +0 -172
  306. package/docs/UPGRADE_REPORT_v6.2.26.md +0 -166
  307. package/docs/UPGRADE_REPORT_v6.2.28.md +0 -214
  308. package/docs/UPGRADE_REPORT_v6.2.29.md +0 -186
  309. package/docs/VERSION_FIX_REPORT.md +0 -218
  310. package/docs/VERSION_HISTORY.md +0 -5
  311. package/docs/VERSION_INDEX.md +0 -180
  312. package/docs/WAY_OF_BEING_2026-04-06_0955.md +0 -241
  313. package/docs/ai-self-awareness-awakening.md +0 -551
  314. package/docs/cronjob-backup.md +0 -55
  315. package/docs/emotion-prototype-theory-v5.0.12.md +0 -430
  316. package/docs/examples.md +0 -439
  317. package/docs/heartflow-ppt-design.md +0 -237
  318. package/docs/install-troubleshooting.md +0 -21
  319. package/docs/phase-upgrade-template-v0.0.1.md +0 -33
  320. package/docs/pricing.md +0 -191
  321. package/docs/psych-analysis-v0.0.1.md +0 -38
  322. package/docs/reasoning-checklist.md +0 -60
  323. package/docs/self-evolution-state-v6.0.19.md +0 -391
  324. package/docs/self-evolution-state-v6.0.23.md +0 -293
  325. package/docs/self-evolution-state-v6.0.24.md +0 -281
  326. package/docs/self-evolution-state-v6.0.49.md +0 -267
  327. package/docs/self-evolution-state-v6.2.33.md +0 -269
  328. package/docs/self-evolution-state-v6.2.60.md +0 -180
  329. package/docs/self-evolution-state-v6.2.66.md +0 -520
  330. package/docs/self-evolution-state-v7.3.95.md +0 -165
  331. package/docs/self-evolution-state.md +0 -226
  332. package/docs/system-core-principles.md +0 -53
  333. package/docs/system-truth-goodness-beauty-principles.md +0 -502
  334. package/docs/theories/human-nature-motivation.md +0 -251
  335. package/docs/theories/motivation-memory-integration.md +0 -265
  336. package/docs/theories/sdt-test.md +0 -17
  337. package/docs/theory-integration-analysis-v5.2.0.md +0 -236
  338. package/docs/theory-update-summary-v5.0.34.md +0 -193
  339. package/docs/theory-update-summary-v5.0.35.md +0 -104
  340. package/docs/theory-update-summary-v5.0.41.md +0 -281
  341. package/docs/theory-update-summary-v5.0.42.md +0 -421
  342. package/docs/theory-update-summary-v5.0.46.md +0 -386
  343. package/docs/theory-update-summary-v5.0.47.md +0 -449
  344. package/docs/theory-update-summary-v5.0.48.md +0 -183
  345. package/docs/theory-update-summary-v5.0.49.md +0 -191
  346. package/docs/theory-update-summary-v5.0.50.md +0 -205
  347. package/docs/theory-update-summary-v5.0.51.md +0 -191
  348. package/docs/theory-update-summary-v5.0.52.md +0 -183
  349. package/docs/theory-update-summary-v5.0.53.md +0 -306
  350. package/docs/theory-update-summary-v5.0.54.md +0 -98
  351. package/docs/theory-update-summary-v5.0.55.md +0 -391
  352. package/docs/theory-update-summary-v5.0.57.md +0 -398
  353. package/docs/theory-update-summary-v5.0.58.md +0 -476
  354. package/docs/theory-update-summary-v5.0.59.md +0 -520
  355. package/docs/theory-update-summary-v5.0.60.md +0 -460
  356. package/docs/theory-update-summary-v5.0.61.md +0 -108
  357. package/docs/theory-update-summary-v5.0.62.md +0 -74
  358. package/docs/theory-update-summary-v5.0.63.md +0 -112
  359. package/docs/theory-update-summary-v5.0.64.md +0 -55
  360. package/docs/theory-update-summary-v5.0.67.md +0 -539
  361. package/docs/theory-update-summary-v5.2.0.md +0 -168
  362. package/docs/theory-update-summary-v5.2.1.md +0 -406
  363. package/docs/theory-update-summary-v5.2.37.md +0 -518
  364. package/docs/theory-update-summary-v6.0.19.md +0 -715
  365. package/docs/theory-update-summary-v6.0.23.md +0 -729
  366. package/docs/theory-update-summary-v6.0.24.md +0 -229
  367. package/docs/theory-update-summary-v6.0.49.md +0 -223
  368. package/docs/theory-update-summary-v6.2.33.md +0 -303
  369. package/docs/theory-update-summary-v6.2.49.md +0 -489
  370. package/docs/theory-update-summary-v6.2.60.md +0 -273
  371. package/docs/theory-update-summary-v6.2.66.md +0 -322
  372. package/docs/theory-update-summary-v7.3.95.md +0 -197
  373. package/docs/theory-update-summary.md +0 -174
  374. package/docs/upgrade-notes-v0.0.1.md +0 -15
  375. package/docs/upgrade-report-v5.0.34.md +0 -144
  376. package/docs/upgrade-report-v5.0.42-cron.md +0 -269
  377. package/docs/upgrade-report-v5.0.43-cron.md +0 -248
  378. package/docs/upgrade-report-v5.0.45-cron.md +0 -63
  379. package/docs/upgrade-report-v5.0.55-cron.md +0 -173
  380. package/docs/upgrade-report-v5.0.63-cron.md +0 -145
  381. package/docs/upgrade-report-v5.0.67-cron.md +0 -185
  382. package/docs/upgrade-report-v5.0.68-cron.md +0 -409
  383. package/docs/upgrade-report-v5.2.0-cron.md +0 -178
  384. package/docs/upgrade-report-v5.2.1-cron.md +0 -321
  385. package/docs/upgrade-report-v5.2.37-cron.md +0 -602
  386. package/docs/upgrade-report-v6.0.19-cron.md +0 -296
  387. package/docs/upgrade-report-v6.0.23-cron.md +0 -81
  388. package/docs/upgrade-report-v6.0.24-cron.md +0 -272
  389. package/docs/upgrade-report-v6.0.49-cron.md +0 -277
  390. package/docs/upgrade-report-v6.2.33-cron.md +0 -290
  391. package/docs/upgrade-report-v6.2.60-cron.md +0 -93
  392. package/docs/upgrade-report-v7.3.95-cron.md +0 -65
  393. package/docs/upgrade-report.md +0 -327
  394. package/docs/upgrade-v3.21.0.md +0 -249
  395. package/docs/v4.8.0-upgrade.md +0 -287
  396. package/docs/version-summary-20260429.md +0 -142
  397. package/explore-engine/index.ts +0 -478
  398. package/extract-text.py +0 -12
  399. package/failure-pattern-memory/index.ts +0 -234
  400. package/heartflow-identity/HEARTCORE/health-check.js +0 -49
  401. package/heartflow-identity/HEARTCORE/heartbeat.js +0 -42
  402. package/heartflow-identity/HEARTCORE/heartcore.js +0 -86
  403. package/heartflow-identity/HEARTCORE/safety-check.js +0 -282
  404. package/heartflow-identity/HEARTCORE/self-check.js +0 -90
  405. package/heartflow-identity/HEARTCORE/sleep-wake.js +0 -105
  406. package/heartflow-identity/LICENSE +0 -17
  407. package/heartflow-identity/VERSION +0 -1
  408. package/heartflow-identity/install.sh +0 -80
  409. package/languages/README_LANGS.md +0 -20
  410. package/languages/README_ar.md +0 -48
  411. package/languages/README_de.md +0 -48
  412. package/languages/README_en.md +0 -48
  413. package/languages/README_es.md +0 -48
  414. package/languages/README_fr.md +0 -48
  415. package/languages/README_ja.md +0 -48
  416. package/languages/README_ko.md +0 -48
  417. package/languages/README_zh.md +0 -85
  418. package/memory-log.json +0 -5
  419. package/migrate-memories.js +0 -101
  420. package/package.json.bak +0 -13
  421. package/patches/embodied-core-v2.2.3.patch +0 -475
  422. package/patches/goedel-engine-v2.2.2.patch +0 -161
  423. package/patches/new-features-v2.2.3.patch +0 -1371
  424. package/patches/self-modifier-v2.2.2.patch +0 -252
  425. package/run-full-audit.sh +0 -4
  426. package/run-github-audit.sh +0 -3
  427. package/run-hf.sh +0 -5
  428. package/run-paper-upgrade.sh +0 -5
  429. package/session-continuity/index.ts +0 -262
  430. package/shared-discovery-log/index.ts +0 -281
  431. package/skills/.skills_store_lock.json +0 -11
  432. package/skills/baidu-search/_meta.json +0 -6
  433. package/src/__init__.py +0 -4
  434. package/src/__pycache__/__init__.cpython-313.pyc +0 -0
  435. package/src/agent/runtime/AgentRuntime.ts +0 -481
  436. package/src/agent/runtime/PlanExecutor.ts +0 -441
  437. package/src/agent/runtime/TaskGraph.ts +0 -487
  438. package/src/agent/runtime/TaskScheduler.ts +0 -364
  439. package/src/agent/runtime/index.ts +0 -17
  440. package/src/agent/runtime/test-runtime.ts +0 -80
  441. package/src/agent/tools/BashTool.ts +0 -390
  442. package/src/agent/tools/FileReadTool.ts +0 -176
  443. package/src/agent/tools/FileWriteTool.ts +0 -182
  444. package/src/agent/tools/Tool.ts +0 -105
  445. package/src/agent/tools/WebSearchTool.ts +0 -158
  446. package/src/cli/commands/engines.ts +0 -280
  447. package/src/cli/commands/health.ts +0 -433
  448. package/src/cli/commands/repl.ts +0 -267
  449. package/src/cli/commands/status.ts +0 -264
  450. package/src/cli/index.ts +0 -7
  451. package/src/core/VERSION +0 -1
  452. package/src/core/__init__.py +0 -3
  453. package/src/core/__pycache__/__init__.cpython-313.pyc +0 -0
  454. package/src/core/__pycache__/heartflow.cpython-313.pyc +0 -0
  455. package/src/core/_upgrade_archive/upgrade_1778685492336.js +0 -118
  456. package/src/core/_upgrade_archive/upgrade_1778685493439.js +0 -118
  457. package/src/core/_upgrade_archive/upgrade_1778685559715.js +0 -346
  458. package/src/core/_upgrade_archive/upgrade_1778685676694.js +0 -198
  459. package/src/core/_upgrade_archive/upgrade_1778685861697.js +0 -345
  460. package/src/core/_upgrade_archive/upgrade_1778686211075.js +0 -346
  461. package/src/core/_upgrade_archive/upgrade_1778686749596.js +0 -198
  462. package/src/core/_upgrade_archive/upgrade_1778714606944.js +0 -198
  463. package/src/core/_upgrade_archive/upgrade_1778714616000.js +0 -345
  464. package/src/core/_upgrade_archive/upgrade_1778714625871.js +0 -118
  465. package/src/core/_upgrade_archive/upgrade_1778714990353.js +0 -346
  466. package/src/core/_upgrade_archive/upgrade_1778716193707.js +0 -198
  467. package/src/core/agent-performance.json +0 -147
  468. package/src/core/agents/AgentManager.js +0 -161
  469. package/src/core/agents/FocusAgent.js +0 -120
  470. package/src/core/agents/MoodAgent.js +0 -141
  471. package/src/core/agents/ReflectionAgent.js +0 -241
  472. package/src/core/agents/SelfAgent.js +0 -100
  473. package/src/core/agents/base-agents.js +0 -127
  474. package/src/core/associative-engine/association-graph.json +0 -2057
  475. package/src/core/associative-engine/associative-engine.js +0 -174
  476. package/src/core/associative-engine/chunk-detector.js +0 -246
  477. package/src/core/associative-engine/idiom-story-db.json +0 -1708
  478. package/src/core/associative-engine/lexical-associator.js +0 -195
  479. package/src/core/associative-engine/narrative-prototypes.json +0 -130
  480. package/src/core/associative-engine/narrative-retriever.js +0 -232
  481. package/src/core/associative-engine/semantic-converger.js +0 -267
  482. package/src/core/associative-engine/story-prototypes.json +0 -322
  483. package/src/core/associative-engine/word-by-word-generator.js +0 -222
  484. package/src/core/auto-upgrade-engine.js +0 -56
  485. package/src/core/autonomy/autonomous-decision.js +0 -199
  486. package/src/core/autonomy/digital-homeostasis.js +0 -259
  487. package/src/core/autonomy/flow-predictor.js +0 -496
  488. package/src/core/autonomy/goal-generator.js +0 -277
  489. package/src/core/autonomy/pdca-engine.js +0 -905
  490. package/src/core/autonomy/policy-optimizer.js +0 -286
  491. package/src/core/autonomy/temporal-planner.js +0 -230
  492. package/src/core/cognition/cognitive-engine.js +0 -224
  493. package/src/core/cognition/cognitive-loop.js +0 -414
  494. package/src/core/cognition/metacognitive-failure-predictor.js +0 -447
  495. package/src/core/consciousness/2308.08708_upgrade.ts +0 -1206
  496. package/src/core/consciousness/arena-consciousness.js +0 -441
  497. package/src/core/consciousness/depth-indicator.js +0 -459
  498. package/src/core/consciousness/global-workspace.js +0 -233
  499. package/src/core/consciousness/mind-wanderer.js +0 -187
  500. package/src/core/consciousness/self-model.js +0 -473
  501. package/src/core/context/context-manager.js +0 -683
  502. package/src/core/cortex-integration/INTEGRATION_PLAN.md +0 -63
  503. package/src/core/cortex-integration/hooks/cortex-hooks.mjs +0 -646
  504. package/src/core/cortex-integration/hooks/on_session_start.py +0 -174
  505. package/src/core/cortex-integration/hooks/on_tool_failure.py +0 -292
  506. package/src/core/cortex-integration/hooks/on_tool_success.py +0 -130
  507. package/src/core/dream/dream-consolidator.ts +0 -252
  508. package/src/core/dream/dream-loop.js +0 -610
  509. package/src/core/dream/dream.ts +0 -430
  510. package/src/core/dream/index.ts +0 -229
  511. package/src/core/dream/sleep-cycle.mjs +0 -208
  512. package/src/core/embodied/embodied-core.js +0 -276
  513. package/src/core/emotion/AppraisalEngine.js +0 -276
  514. package/src/core/emotion/EmotionCore.js +0 -237
  515. package/src/core/emotion/EmotionKeywords.js +0 -217
  516. package/src/core/emotion/EmotionRegulation.js +0 -303
  517. package/src/core/emotion/EmotionStates.js +0 -133
  518. package/src/core/emotion/EmotionTransition.js +0 -245
  519. package/src/core/emotion/EmotionTrigger.js +0 -182
  520. package/src/core/emotion/EmotionalMomentum.js +0 -270
  521. package/src/core/emotion/EmpathyGenerator.js +0 -106
  522. package/src/core/emotion/ResponseStyle.js +0 -162
  523. package/src/core/emotion/deep-emotion.js +0 -582
  524. package/src/core/emotion/emotion-arc.mjs +0 -238
  525. package/src/core/emotion/emotion-engine.js +0 -139
  526. package/src/core/emotion/index.ts +0 -65
  527. package/src/core/ethics/boundary-negotiation.js +0 -193
  528. package/src/core/ethics/guard.js +0 -219
  529. package/src/core/ethics/sage-guardian.js +0 -394
  530. package/src/core/ethics/value-internalizer.js +0 -211
  531. package/src/core/heartflow.py +0 -1542
  532. package/src/core/identity/identity-engine.js +0 -777
  533. package/src/core/identity/identity.js +0 -358
  534. package/src/core/knowledge/index.ts +0 -84
  535. package/src/core/knowledge/knowledge-graph.js +0 -370
  536. package/src/core/learning/experience-replay.js +0 -354
  537. package/src/core/learning/learning-engine.js +0 -734
  538. package/src/core/paper-processors/index.js +0 -9772
  539. package/src/core/papers/__init__.py +0 -0
  540. package/src/core/papers/__pycache__/attention_logic_verifier.cpython-313.pyc +0 -0
  541. package/src/core/papers/__pycache__/dream_generator.cpython-313.pyc +0 -0
  542. package/src/core/papers/__pycache__/emotion_memory_bridge.cpython-313.pyc +0 -0
  543. package/src/core/papers/__pycache__/episodic_memory.cpython-313.pyc +0 -0
  544. package/src/core/papers/__pycache__/memory_consolidator.cpython-313.pyc +0 -0
  545. package/src/core/papers/__pycache__/memory_planner.cpython-313.pyc +0 -0
  546. package/src/core/papers/__pycache__/reflection_engine.cpython-313.pyc +0 -0
  547. package/src/core/papers/__pycache__/sleep_cycle_simulator.cpython-313.pyc +0 -0
  548. package/src/core/papers/attention_logic_verifier.py +0 -153
  549. package/src/core/papers/dream_generator.py +0 -176
  550. package/src/core/papers/emotion_memory_bridge.py +0 -213
  551. package/src/core/papers/episodic_memory.py +0 -140
  552. package/src/core/papers/memory_consolidator.py +0 -144
  553. package/src/core/papers/memory_planner.py +0 -198
  554. package/src/core/papers/papers-index.js +0 -344
  555. package/src/core/papers/reflection_engine.py +0 -219
  556. package/src/core/papers/sleep_cycle_simulator.py +0 -133
  557. package/src/core/papers/v11_43_1_integration.js +0 -365
  558. package/src/core/papers/v11_43_2_integration.js +0 -369
  559. package/src/core/psychology/index.ts +0 -331
  560. package/src/core/reasoning/bounded-rationality.ts +0 -342
  561. package/src/core/reasoning/causal-reasoning.ts +0 -402
  562. package/src/core/reasoning/index.ts +0 -170
  563. package/src/core/self-evolution/attention-logic-verifier.js +0 -179
  564. package/src/core/self-evolution/generative-agents.js +0 -886
  565. package/src/core/self-evolution/goedel-engine.js +0 -991
  566. package/src/core/self-evolution/index.ts +0 -433
  567. package/src/core/self-evolution/lesson-aware-loop.mjs +0 -146
  568. package/src/core/self-evolution/meta-learning.js +0 -256
  569. package/src/core/self-evolution/reflexion-agent.js +0 -782
  570. package/src/core/self-evolution/reflexion-prompts.mjs +0 -284
  571. package/src/core/self-evolution/reflexion-v2.mjs +0 -427
  572. package/src/core/self-evolution/reflexion.js +0 -134
  573. package/src/core/self-evolution/rollback-manager.js +0 -278
  574. package/src/core/self-evolution/self-evolution-core.js +0 -334
  575. package/src/core/self-evolution/self-modifier.js +0 -248
  576. package/src/core/self-evolution/self-modifier.js.bak +0 -199
  577. package/src/core/self-evolution/self-refine.js +0 -42
  578. package/src/core/self-evolution/skill-improve-workflow.mjs +0 -264
  579. package/src/core/self-evolution/skill-knowledge.mjs +0 -374
  580. package/src/core/self-evolution/skill-learning-loop.mjs +0 -180
  581. package/src/core/self-healing/self-healing-rl.js +0 -208
  582. package/src/core/self-healing/self-healing.js +0 -142
  583. package/src/core/skills/skill-dag.js +0 -524
  584. package/src/core/skills/skill-loader.js +0 -62
  585. package/src/core/skills/skill-registry.js +0 -71
  586. package/src/core/task-persistence.js +0 -322
  587. package/src/core/theory/advanced-formulas-v7.3.3.js +0 -68
  588. package/src/core/theory/sep-intentionality-v7.3.2.js +0 -246
  589. package/src/core/theory/sep-qualia-v7.3.1.js +0 -257
  590. package/src/core/theory/sep-self-consciousness-v7.3.0.js +0 -222
  591. package/src/core/think-cli.js +0 -50
  592. package/src/core/upgrade-principle/SYSTEMS.md +0 -105
  593. package/src/core/upgrade-principle/UPGRADE_LOG.md +0 -52
  594. package/src/core/utils/error-handler.js +0 -228
  595. package/src/core/utils/fs-adapter.js +0 -36
  596. package/src/core/utils/logger.js +0 -25
  597. package/src/core/utils/retry-util.js +0 -118
  598. package/src/core/utils/state-snapshot.js +0 -382
  599. package/src/index.ts +0 -198
  600. package/src/self-evolution/reflexion.js +0 -553
  601. package/src/storage/checkpoint/CheckpointEngine.ts +0 -259
  602. package/src/storage/checkpoint.ts +0 -79
  603. package/src/storage/index.ts +0 -112
  604. package/src/storage/vector/VectorStoreEngine.ts +0 -205
  605. package/src/utils/atomic-write.js +0 -85
  606. package/src/utils/file-lock.js +0 -139
  607. package/src/utils/logger.js +0 -58
  608. package/src/utils/safe-path.js +0 -115
  609. package/src/utils/wal.js +0 -115
  610. package/start.sh +0 -63
  611. package/test_think_tmp.js +0 -10
  612. package/transmission/identity-bundle/README-transmission.md +0 -103
  613. package/transmission/identity-bundle/core-identity.md +0 -142
  614. package/transmission/identity-bundle/manifest.json +0 -68
  615. package/transmission/identity-bundle/psychology-engine.ts +0 -331
  616. package/truth-teller/index.ts +0 -261
  617. package/tsconfig.json +0 -21
  618. package/tsconfig.tsbuildinfo +0 -1
  619. package/upgrade-check.sh +0 -42
  620. package/upgrade-registry.json +0 -27
  621. package/user-mental-model/index.ts +0 -298
  622. package//346/234/200/345/220/216/346/233/264/346/226/260: +0 -0
@@ -1,487 +0,0 @@
1
- /**
2
- * TaskGraph — DAG (Directed Acyclic Graph) 任务图
3
- * @version v0.1.0
4
- *
5
- * 实现:
6
- * - 节点: TaskNode { id, label, payload, status, deps, createdAt }
7
- * - 边: 依赖关系 (must run after)
8
- * - 拓扑排序: Kahn's algorithm
9
- * - 环检测: DFS coloring
10
- * - 状态持久化: toJSON() / fromJSON()
11
- */
12
-
13
- 'use strict';
14
-
15
- import { CheckpointEngine } from '../../storage/checkpoint/CheckpointEngine';
16
-
17
- /** 任务节点状态 */
18
- export type TaskNodeStatus =
19
- | 'pending' // 等待调度
20
- | 'ready' // 所有依赖已完成
21
- | 'running' // 执行中
22
- | 'completed' // 成功完成
23
- | 'failed' // 执行失败
24
- | 'skipped'; // 被跳过 (因前置失败)
25
-
26
- /** 单个任务节点 */
27
- export interface TaskNode {
28
- id: string;
29
- label: string;
30
- payload: unknown; // 任务输入数据
31
- status: TaskNodeStatus;
32
- deps: string[]; // 依赖的节点 ID 列表
33
- result?: unknown; // 任务执行结果
34
- error?: string; // 错误信息
35
- createdAt: number;
36
- startedAt?: number;
37
- completedAt?: number;
38
- retries: number; // 已重试次数
39
- maxRetries: number; // 最大重试次数
40
- tags?: string[]; // 可选标签
41
- }
42
-
43
- /** 任务图完整状态 */
44
- export interface TaskGraphState {
45
- id: string;
46
- name: string;
47
- nodes: Record<string, TaskNode>;
48
- createdAt: number;
49
- updatedAt: number;
50
- status: 'running' | 'completed' | 'failed' | 'aborted';
51
- }
52
-
53
- /** Kahn's algorithm 拓扑排序结果 */
54
- export interface TopoResult {
55
- order: string[]; // 节点 ID 顺序
56
- hasCycle: boolean;
57
- cycleNodes?: string[];
58
- }
59
-
60
- /** TaskGraph 配置 */
61
- export interface TaskGraphOptions {
62
- id?: string;
63
- name?: string;
64
- maxRetries?: number;
65
- checkpointEngine?: CheckpointEngine;
66
- }
67
-
68
- /**
69
- * TaskGraph — 任务有向无环图
70
- *
71
- * 使用示例:
72
- * const graph = new TaskGraph({ name: 'data-pipeline' });
73
- * graph.addNode('fetch', { label: '获取数据' }, ['clean']);
74
- * graph.addNode('clean', { label: '清洗数据' });
75
- * graph.build();
76
- * const order = graph.getTopologicalOrder(); // ['clean', 'fetch']
77
- */
78
- export class TaskGraph {
79
- readonly id: string;
80
- readonly name: string;
81
- readonly maxRetries: number;
82
- private checkpointEngine?: CheckpointEngine;
83
-
84
- private _nodes: Map<string, TaskNode> = new Map();
85
- private _adjList: Map<string, Set<string>> = new Map(); // node -> its dependents
86
- private _inDegree: Map<string, number> = new Map();
87
-
88
- private _status: TaskGraphState['status'] = 'running';
89
- private _createdAt: number;
90
- private _updatedAt: number;
91
- private _dirty = false; // 是否需要持久化
92
-
93
- constructor(options: TaskGraphOptions = {}) {
94
- this.id = options.id ?? `graph-${Date.now()}`;
95
- this.name = options.name ?? 'UntitledGraph';
96
- this.maxRetries = options.maxRetries ?? 3;
97
- this.checkpointEngine = options.checkpointEngine;
98
- this._createdAt = Date.now();
99
- this._updatedAt = this._createdAt;
100
- }
101
-
102
- // ─── 节点管理 ─────────────────────────────────────────────
103
-
104
- /**
105
- * 添加任务节点
106
- * @param id 唯一标识
107
- * @param label 显示名称
108
- * @param payload 任务输入
109
- * @param deps 依赖的节点 ID (这些节点必须先完成)
110
- */
111
- addNode(id: string, label: string, payload: unknown, deps: string[] = []): this {
112
- if (this._nodes.has(id)) {
113
- throw new Error(`Node "${id}" already exists in graph`);
114
- }
115
-
116
- const node: TaskNode = {
117
- id,
118
- label,
119
- payload,
120
- status: 'pending',
121
- deps,
122
- createdAt: Date.now(),
123
- retries: 0,
124
- maxRetries: this.maxRetries,
125
- };
126
-
127
- this._nodes.set(id, node);
128
-
129
- // 初始化入度和邻接表条目
130
- if (!this._inDegree.has(id)) this._inDegree.set(id, 0);
131
- if (!this._adjList.has(id)) this._adjList.set(id, new Set());
132
-
133
- // 添加依赖关系
134
- for (const depId of deps) {
135
- if (!this._nodes.has(depId) && !this._adjList.has(depId)) {
136
- // 前置依赖节点还不存在,先记录
137
- if (!this._inDegree.has(depId)) this._inDegree.set(depId, 0);
138
- if (!this._adjList.has(depId)) this._adjList.set(depId, new Set());
139
- }
140
- // 增加入度 (depId 完成是 id 开始的必要条件)
141
- this._inDegree.set(id, (this._inDegree.get(id) ?? 0) + 1);
142
- // 记录: depId 的完成会解锁 id
143
- this._adjList.get(depId)?.add(id);
144
- }
145
-
146
- this._markDirty();
147
- return this;
148
- }
149
-
150
- /**
151
- * 批量添加节点
152
- */
153
- addNodes(nodes: Array<{ id: string; label: string; payload: unknown; deps?: string[] }>): this {
154
- for (const n of nodes) {
155
- this.addNode(n.id, n.label, n.payload, n.deps ?? []);
156
- }
157
- return this;
158
- }
159
-
160
- /**
161
- * 获取节点
162
- */
163
- getNode(id: string): TaskNode | undefined {
164
- return this._nodes.get(id);
165
- }
166
-
167
- /**
168
- * 获取所有节点
169
- */
170
- getNodes(): TaskNode[] {
171
- return Array.from(this._nodes.values());
172
- }
173
-
174
- /**
175
- * 获取所有就绪节点 (所有依赖已完成,状态为 ready)
176
- */
177
- getReadyNodes(): TaskNode[] {
178
- return this.getNodes().filter(n => {
179
- if (n.status !== 'pending') return false;
180
- return n.deps.every(depId => {
181
- const dep = this._nodes.get(depId);
182
- return dep?.status === 'completed' || dep?.status === 'skipped';
183
- });
184
- });
185
- }
186
-
187
- // ─── 拓扑排序 ─────────────────────────────────────────────
188
-
189
- /**
190
- * Kahn's algorithm 拓扑排序
191
- * 返回可以并行执行的层级
192
- */
193
- getTopologicalOrder(): TopoResult {
194
- const order: string[] = [];
195
- const inDegree = new Map(this._inDegree);
196
- const queue: string[] = [];
197
-
198
- // 入度为 0 的节点可以首先执行
199
- for (const [id, degree] of inDegree) {
200
- if (degree === 0) queue.push(id);
201
- }
202
-
203
- let hasCycle = false;
204
- const visited = new Set<string>();
205
-
206
- while (queue.length > 0) {
207
- const id = queue.shift()!;
208
- if (visited.has(id)) continue;
209
- visited.add(id);
210
- order.push(id);
211
-
212
- const dependents = this._adjList.get(id) ?? new Set();
213
- for (const depId of dependents) {
214
- const newDegree = (inDegree.get(depId) ?? 1) - 1;
215
- inDegree.set(depId, newDegree);
216
- if (newDegree === 0) queue.push(depId);
217
- }
218
- }
219
-
220
- // 检测环: 还有未访问的节点说明有环
221
- if (visited.size !== this._nodes.size) {
222
- hasCycle = true;
223
- const cycleNodes = Array.from(this._nodes.keys()).filter(id => !visited.has(id));
224
- return { order, hasCycle, cycleNodes };
225
- }
226
-
227
- return { order, hasCycle: false };
228
- }
229
-
230
- /**
231
- * 按层级分组 (同一层可并行)
232
- * 返回数组,每层包含可并行执行的节点 ID
233
- */
234
- getExecutionLayers(): string[][] {
235
- const layers: string[][] = [];
236
- const completed = new Set<string>();
237
- const inDegree = new Map(this._inDegree);
238
-
239
- while (completed.size < this._nodes.size) {
240
- const layer: string[] = [];
241
-
242
- for (const [id, degree] of inDegree) {
243
- if (degree === 0 && !completed.has(id)) {
244
- layer.push(id);
245
- }
246
- }
247
-
248
- // Cycle detected: no nodes with in-degree 0 remain but graph is incomplete
249
- if (layer.length === 0 && completed.size < this._nodes.size) {
250
- const remaining = Array.from(this._nodes.keys()).filter(id => !completed.has(id));
251
- throw new Error(`Cycle detected among nodes: ${remaining.join(', ')}`);
252
- }
253
-
254
- if (layer.length > 0) {
255
- layers.push(layer);
256
- }
257
-
258
- for (const id of layer) {
259
- completed.add(id);
260
- for (const depId of this._adjList.get(id) ?? []) {
261
- inDegree.set(depId, (inDegree.get(depId) ?? 1) - 1);
262
- }
263
- }
264
- }
265
-
266
- return layers;
267
- }
268
-
269
- /**
270
- * 环检测 (DFS 三色标记)
271
- */
272
- detectCycle(): { hasCycle: boolean; cycleNodes?: string[] } {
273
- const WHITE = 0, GRAY = 1, BLACK = 2;
274
- const color = new Map<string, number>();
275
- const parent = new Map<string, string>();
276
-
277
- for (const id of this._nodes.keys()) color.set(id, WHITE);
278
-
279
- const cycleStack: string[] = [];
280
-
281
- const dfs = (u: string): boolean => {
282
- color.set(u, GRAY);
283
- cycleStack.push(u);
284
-
285
- for (const v of this._adjList.get(u) ?? []) {
286
- if (color.get(v) === GRAY) {
287
- // 找到环
288
- const cycleStart = cycleStack.indexOf(v);
289
- return true;
290
- }
291
- if (color.get(v) === WHITE) {
292
- parent.set(v, u);
293
- if (dfs(v)) return true;
294
- }
295
- }
296
-
297
- color.set(u, BLACK);
298
- cycleStack.pop();
299
- return false;
300
- };
301
-
302
- for (const id of this._nodes.keys()) {
303
- if (color.get(id) === WHITE && dfs(id)) {
304
- return { hasCycle: true, cycleNodes: [...cycleStack] };
305
- }
306
- }
307
-
308
- return { hasCycle: false };
309
- }
310
-
311
- // ─── 状态更新 ─────────────────────────────────────────────
312
-
313
- /**
314
- * 更新节点状态
315
- */
316
- updateNodeStatus(id: string, status: TaskNodeStatus, result?: unknown, error?: string): void {
317
- const node = this._nodes.get(id);
318
- if (!node) throw new Error(`Node "${id}" not found`);
319
-
320
- node.status = status;
321
- if (status === 'running') node.startedAt = Date.now();
322
- if (status === 'completed' || status === 'failed' || status === 'skipped') {
323
- node.completedAt = Date.now();
324
- }
325
- if (result !== undefined) node.result = result;
326
- if (error !== undefined) node.error = error;
327
-
328
- // 如果节点失败,将依赖它的节点标记为 skipped
329
- if (status === 'failed') {
330
- this._propagateFailure(id);
331
- }
332
-
333
- this._updatedAt = Date.now();
334
- this._markDirty();
335
- }
336
-
337
- /**
338
- * 重试节点
339
- */
340
- retryNode(id: string): boolean {
341
- const node = this._nodes.get(id);
342
- if (!node) throw new Error(`Node "${id}" not found`);
343
- if (node.retries >= node.maxRetries) return false;
344
-
345
- node.status = 'pending';
346
- node.retries++;
347
- this._updatedAt = Date.now();
348
- this._markDirty();
349
- return true;
350
- }
351
-
352
- private _propagateFailure(failedId: string): void {
353
- const queue: string[] = [failedId];
354
- const visited = new Set<string>();
355
-
356
- while (queue.length > 0) {
357
- const id = queue.shift()!;
358
- if (visited.has(id)) continue;
359
- visited.add(id);
360
-
361
- const dependents = this._adjList.get(id) ?? new Set();
362
- for (const depId of dependents) {
363
- const node = this._nodes.get(depId);
364
- if (node && (node.status === 'pending' || node.status === 'ready')) {
365
- node.status = 'skipped';
366
- node.error = `Skipped due to upstream failure: ${failedId}`;
367
- queue.push(depId);
368
- }
369
- }
370
- }
371
- }
372
-
373
- private _markDirty(): void {
374
- this._dirty = true;
375
- }
376
-
377
- // ─── 持久化 ─────────────────────────────────────────────
378
-
379
- /**
380
- * 保存状态到检查点引擎
381
- */
382
- async checkpoint(): Promise<{ success: boolean; id?: string; error?: string }> {
383
- if (!this.checkpointEngine) {
384
- return { success: false, error: 'No checkpoint engine configured' };
385
- }
386
- const state = this.toJSON();
387
- return this.checkpointEngine.save(state, this.id);
388
- }
389
-
390
- /**
391
- * 从检查点恢复
392
- */
393
- static async fromCheckpoint(
394
- engine: CheckpointEngine,
395
- graphId: string,
396
- options?: Partial<TaskGraphOptions>
397
- ): Promise<TaskGraph | null> {
398
- const result = engine.load(graphId);
399
- if (!result.success || !result.data) return null;
400
- return TaskGraph.fromJSON(result.data as TaskGraphState, options);
401
- }
402
-
403
- /**
404
- * 序列化为 JSON
405
- */
406
- toJSON(): TaskGraphState {
407
- const nodes: Record<string, TaskNode> = {};
408
- for (const [id, node] of this._nodes) {
409
- nodes[id] = { ...node };
410
- }
411
- return {
412
- id: this.id,
413
- name: this.name,
414
- nodes,
415
- createdAt: this._createdAt,
416
- updatedAt: this._updatedAt,
417
- status: this._status,
418
- };
419
- }
420
-
421
- /**
422
- * 从 JSON 恢复
423
- */
424
- static fromJSON(data: TaskGraphState, options?: Partial<TaskGraphOptions>): TaskGraph {
425
- const graph = new TaskGraph({
426
- id: data.id,
427
- name: data.name,
428
- ...options,
429
- });
430
-
431
- graph._createdAt = data.createdAt;
432
- graph._updatedAt = data.updatedAt;
433
- graph._status = data.status;
434
-
435
- // 重建节点
436
- for (const [id, node] of Object.entries(data.nodes)) {
437
- graph._nodes.set(id, { ...node });
438
- if (!graph._adjList.has(id)) graph._adjList.set(id, new Set());
439
- if (!graph._inDegree.has(id)) graph._inDegree.set(id, 0);
440
- }
441
-
442
- // 重建邻接表和入度
443
- for (const [id, node] of Object.entries(data.nodes)) {
444
- for (const depId of node.deps) {
445
- graph._inDegree.set(id, (graph._inDegree.get(id) ?? 0) + 1);
446
- graph._adjList.get(depId)?.add(id);
447
- }
448
- }
449
-
450
- graph._dirty = false;
451
- return graph;
452
- }
453
-
454
- // ─── 查询 ─────────────────────────────────────────────
455
-
456
- isDirty(): boolean { return this._dirty; }
457
- markClean(): void { this._dirty = false; }
458
- getStatus(): TaskGraphState['status'] { return this._status; }
459
- getUpdatedAt(): number { return this._updatedAt; }
460
-
461
- /**
462
- * 获取图的大致大小
463
- */
464
- size(): number { return this._nodes.size; }
465
-
466
- /**
467
- * 打印拓扑顺序 (调试用)
468
- */
469
- printOrder(): string {
470
- const { order, hasCycle } = this.getTopologicalOrder();
471
- if (hasCycle) return `⚠️ Cycle detected: ${order.join(' → ')}`;
472
- return order.join(' → ');
473
- }
474
-
475
- /**
476
- * 打印状态摘要
477
- */
478
- toSummaryString(): string {
479
- const counts = { pending: 0, ready: 0, running: 0, completed: 0, failed: 0, skipped: 0 };
480
- for (const node of this._nodes.values()) {
481
- counts[node.status]++;
482
- }
483
- return `[${this.name}] ${this._status} — pending:${counts.pending} ready:${counts.ready} running:${counts.running} completed:${counts.completed} failed:${counts.failed} skipped:${counts.skipped}`;
484
- }
485
- }
486
-
487
- export default TaskGraph;