@yun520-1/heartflow 0.15.2

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