@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,524 +0,0 @@
1
- /**
2
- * SkillDAG — Compositional Skill DAG
3
- * Based on CoCoDA: Co-evolving Compositional DAG for Tool-Augmented Agents (arXiv:2605.08399)
4
- * @version v0.13.16
5
- *
6
- * Core idea: Transform flat skill registry into a typed compositional DAG where:
7
- * - Nodes = primitive or composite skills
8
- * - Edges = invocation dependencies
9
- * - Each node stores: typed signature, description, pre/post-conditions, worked examples
10
- * - DAG retrieval = signature unification → description ranking → behavioral filtering → example disambiguation
11
- *
12
- * This directly addresses the limitation of the flat skill-registry.js
13
- */
14
- 'use strict';
15
-
16
- const path = require('path');
17
- const fs = require('fs');
18
-
19
- // ─── Typed Signature Unification ─────────────────────────────────────────────
20
- const PRIMITIVE_TYPES = ['string', 'number', 'boolean', 'object', 'array', 'void', 'any'];
21
- const TYPE_COMPATIBILITY = {
22
- 'number': ['number', 'any'],
23
- 'string': ['string', 'any'],
24
- 'boolean': ['boolean', 'any'],
25
- 'object': ['object', 'any'],
26
- 'array': ['array', 'any'],
27
- 'void': ['void', 'any'],
28
- 'any': PRIMITIVE_TYPES,
29
- };
30
-
31
- /**
32
- * Check if source type can satisfy target type (covariant for output, contravariant for input)
33
- */
34
- function typesCompatible(src, tgt) {
35
- if (src === tgt) return true;
36
- const compat = TYPE_COMPATIBILITY[tgt];
37
- return compat && compat.includes(src);
38
- }
39
-
40
- /**
41
- * Unify two function signatures — returns {unified: bool, substitutions: {name: type}}
42
- */
43
- function unifySignatures(sig1, sig2) {
44
- const subs = {};
45
- const inputs1 = sig1.inputs || [];
46
- const inputs2 = sig2.inputs || [];
47
- if (inputs1.length !== inputs2.length) return { unified: false, substitutions: {} };
48
-
49
- for (let i = 0; i < inputs1.length; i++) {
50
- const t1 = inputs1[i].type || 'any';
51
- const t2 = inputs2[i].type || 'any';
52
- if (!typesCompatible(t1, t2) && !typesCompatible(t2, t1)) {
53
- return { unified: false, substitutions: {} };
54
- }
55
- if (t1 !== t2) subs[inputs1[i].name] = t2;
56
- }
57
- return { unified: true, substitutions: subs };
58
- }
59
-
60
- // ─── SkillDAG Node ────────────────────────────────────────────────────────────
61
- class SkillNode {
62
- constructor({ id, name, type = 'primitive', description = '',
63
- inputs = [], output = 'void',
64
- preconditions = [], postconditions = [],
65
- examples = [], code = null, dependencies = [] }) {
66
- this.id = id; // unique node ID
67
- this.name = name; // human-readable name
68
- this.type = type; // 'primitive' | 'composite'
69
- this.description = description;
70
- this.inputs = inputs; // [{name, type, description?}]
71
- this.output = output; // return type
72
- this.preconditions = preconditions; // [{condition, description}]
73
- this.postconditions = postconditions; // [{condition, description}]
74
- this.examples = examples; // [{input, expectedOutput, description?}]
75
- this.code = code; // function code string
76
- this.dependencies = dependencies; // [nodeId] — for composite nodes
77
- this.metadata = {
78
- createdAt: Date.now(),
79
- lastUsed: null,
80
- useCount: 0,
81
- successRate: 1.0,
82
- };
83
- }
84
-
85
- getSignature() {
86
- return {
87
- inputs: this.inputs.map(i => ({ name: i.name, type: i.type })),
88
- output: this.output,
89
- };
90
- }
91
-
92
- toJSON() {
93
- return {
94
- id: this.id,
95
- name: this.name,
96
- type: this.type,
97
- description: this.description,
98
- inputs: this.inputs,
99
- output: this.output,
100
- preconditions: this.preconditions,
101
- postconditions: this.postconditions,
102
- examples: this.examples,
103
- code: this.code,
104
- dependencies: this.dependencies,
105
- metadata: this.metadata,
106
- };
107
- }
108
-
109
- static fromJSON(obj) {
110
- const n = new SkillNode(obj);
111
- n.metadata = obj.metadata || n.metadata;
112
- return n;
113
- }
114
- }
115
-
116
- // ─── SkillDAG Core ────────────────────────────────────────────────────────────
117
- class SkillDAG {
118
- constructor({ dataDir = null, maxNodes = 1000 } = {}) {
119
- this.dataDir = dataDir || path.join(__dirname, '../../data/skill-dag');
120
- this.maxNodes = maxNodes;
121
- this.nodes = new Map(); // nodeId → SkillNode
122
- this.edges = new Map(); // nodeId → [dependentNodeId]
123
- this.revEdges = new Map(); // nodeId → [prerequisiteNodeId]
124
- this._typeIndex = new Map(); // type → Set<nodeId>
125
- this._tagIndex = new Map(); // tag → Set<nodeId>
126
- this._ensure();
127
- }
128
-
129
- _ensure() {
130
- try { fs.mkdirSync(this.dataDir, { recursive: true }); } catch {}
131
- try { this._load(); } catch (e) {
132
- console.warn('[SkillDAG] _ensure failed:', e.message);
133
- }
134
- }
135
-
136
- // ─── Persistence ───────────────────────────────────────────────────────────
137
- _dagPath() { return path.join(this.dataDir, 'dag-state.json'); }
138
- _load() {
139
- const p = this._dagPath();
140
- if (!fs.existsSync(p)) return;
141
- try {
142
- const stats = fs.statSync(p);
143
- if (stats.size > 5 * 1024 * 1024) {
144
- console.warn('[SkillDAG] File too large (>5MB), skipping load:', stats.size);
145
- return;
146
- }
147
- const d = JSON.parse(fs.readFileSync(p, 'utf8'));
148
- d.nodeIds.forEach(id => {
149
- const n = SkillNode.fromJSON(d.nodes[id]);
150
- this.nodes.set(id, n);
151
- this._indexNode(n);
152
- });
153
- this.edges = new Map(Object.entries(d.edges || {}));
154
- this.revEdges = new Map(Object.entries(d.revEdges || {}));
155
- } catch (e) {
156
- console.warn('[SkillDAG] _load failed:', e.message);
157
- }
158
- // Ensure d is always valid to prevent partial state on corrupted JSON
159
- if (!d || typeof d !== 'object') {
160
- d = { nodeIds: [], nodes: {}, edges: {}, revEdges: {} };
161
- }
162
- }
163
-
164
- _save() {
165
- // Atomic write: temp file + rename to prevent corruption on crash
166
- const d = {
167
- nodeIds: Array.from(this.nodes.keys()),
168
- nodes: Object.fromEntries(
169
- Array.from(this.nodes.entries()).map(([id, n]) => [id, n.toJSON()])
170
- ),
171
- edges: this.edges,
172
- revEdges: this.revEdges,
173
- metadata: { savedAt: Date.now(), nodeCount: this.nodes.size }
174
- };
175
- const tmp = this._dagPath() + '.tmp';
176
- try {
177
- fs.writeFileSync(tmp, JSON.stringify(d, null, 2), 'utf8');
178
- fs.renameSync(tmp, this._dagPath());
179
- } catch (e) {
180
- try { fs.unlinkSync(tmp); } catch {}
181
- console.warn('[SkillDAG] _save failed:', e.message);
182
- }
183
- }
184
-
185
- // ─── Indexing ─────────────────────────────────────────────────────────────
186
- _indexNode(node) {
187
- // Type index
188
- node.inputs.forEach(inp => {
189
- if (!this._typeIndex.has(inp.type)) this._typeIndex.set(inp.type, new Set());
190
- this._typeIndex.get(inp.type).add(node.id);
191
- });
192
- if (!this._typeIndex.has(node.output)) this._typeIndex.set(node.output, new Set());
193
- this._typeIndex.get(node.output).add(node.id);
194
- // Tag index
195
- (node.tags || []).forEach(tag => {
196
- if (!this._tagIndex.has(tag)) this._tagIndex.set(tag, new Set());
197
- this._tagIndex.get(tag).add(node.id);
198
- });
199
- }
200
-
201
- // ─── Core Operations ───────────────────────────────────────────────────────
202
- /**
203
- * Insert a new primitive or composite skill into the DAG
204
- * Returns {success, nodeId, reason?}
205
- */
206
- insert(nodeSpec) {
207
- if (this.nodes.size >= this.maxNodes) {
208
- return { success: false, reason: 'maxNodes reached' };
209
- }
210
- const id = nodeSpec.id || `skill-${Date.now()}-${Math.random().toString(36).slice(2, 7)}`;
211
- const node = new SkillNode({ ...nodeSpec, id });
212
-
213
- // Validate preconditions against dependency signatures
214
- if (node.type === 'composite') {
215
- for (const depId of node.dependencies) {
216
- const dep = this.nodes.get(depId);
217
- if (!dep) return { success: false, reason: `dependency ${depId} not found` };
218
- // Check L3: postcondition of dep must satisfy precondition of using node
219
- // (simplified: just check dependency exists)
220
- }
221
- }
222
-
223
- // Cycle detection for composite nodes
224
- if (node.type === 'composite' && node.dependencies.length > 0) {
225
- if (this._wouldCreateCycle(node)) {
226
- return { success: false, reason: 'cycle detected' };
227
- }
228
- }
229
-
230
- this.nodes.set(id, node);
231
- this._indexNode(node);
232
-
233
- // Update edges
234
- if (!this.edges.has(id)) this.edges.set(id, []);
235
- if (!this.revEdges.has(id)) this.revEdges.set(id, []);
236
- for (const depId of node.dependencies) {
237
- if (this.edges.has(depId)) {
238
- this.edges.get(depId).push(id);
239
- } else {
240
- this.edges.set(depId, [id]);
241
- }
242
- if (this.revEdges.has(id)) {
243
- this.revEdges.get(id).push(depId);
244
- } else {
245
- this.revEdges.set(id, [depId]);
246
- }
247
- }
248
-
249
- this._save();
250
- return { success: true, nodeId: id };
251
- }
252
-
253
- _wouldCreateCycle(node) {
254
- // DFS from dependencies to see if we can reach node.id
255
- const visited = new Set();
256
- const stack = [...node.dependencies];
257
- while (stack.length > 0) {
258
- const cur = stack.pop();
259
- if (cur === node.id) return true;
260
- if (visited.has(cur)) continue;
261
- visited.add(cur);
262
- const deps = this.nodes.get(cur)?.dependencies || [];
263
- stack.push(...deps);
264
- }
265
- return false;
266
- }
267
-
268
- /**
269
- * Typed DAG Retrieval — 4-stage pipeline from CoCoDA paper
270
- * Stage 1: Signature unification pruning
271
- * Stage 2: Description-based ranking
272
- * Stage 3: Behavioral specification filtering
273
- * Stage 4: Example-based disambiguation
274
- */
275
- retrieve({ querySig = null, queryText = '',
276
- requiredInputs = [], requiredOutput = null,
277
- topK = 5, tags = [] } = {}) {
278
- let candidates = new Set(this.nodes.keys());
279
-
280
- // Stage 1: Signature unification
281
- if (querySig || requiredInputs.length > 0 || requiredOutput) {
282
- const sig = querySig || { inputs: requiredInputs, output: requiredOutput };
283
- const filtered = new Set();
284
- for (const id of candidates) {
285
- const node = this.nodes.get(id);
286
- const result = unifySignatures(node.getSignature(), sig);
287
- if (result.unified) {
288
- // Score by how many substitutions were needed
289
- const subCount = Object.keys(result.substitutions).length;
290
- node._matchScore = (node.inputs.length + 1 - subCount) / (node.inputs.length + 1);
291
- filtered.add(id);
292
- }
293
- }
294
- candidates = filtered;
295
- }
296
-
297
- if (candidates.size === 0) return [];
298
-
299
- // Stage 2: Description ranking (BM25-like text match)
300
- if (queryText) {
301
- const qTerms = queryText.toLowerCase().split(/\s+/);
302
- const scored = [];
303
- for (const id of candidates) {
304
- const node = this.nodes.get(id);
305
- const text = (node.description + ' ' + node.name).toLowerCase();
306
- let score = 0;
307
- for (const term of qTerms) {
308
- if (text.includes(term)) score++;
309
- }
310
- // Bonus for exact name match
311
- if (node.name.toLowerCase().includes(queryText.toLowerCase())) score += 2;
312
- node._textScore = score / Math.max(qTerms.length, 1);
313
- scored.push({ id, score: node._textScore });
314
- }
315
- scored.sort((a, b) => b.score - a.score);
316
- candidates = new Set(scored.filter(x => x.score > 0).map(x => x.id));
317
- }
318
-
319
- // Stage 3: Tag/behavioral filtering
320
- if (tags.length > 0) {
321
- const filtered = new Set();
322
- for (const id of candidates) {
323
- const node = this.nodes.get(id);
324
- if (tags.some(tag => (node.tags || []).includes(tag))) {
325
- filtered.add(id);
326
- }
327
- }
328
- if (filtered.size > 0) candidates = filtered;
329
- }
330
-
331
- if (candidates.size === 0) return [];
332
-
333
- // Stage 4: Example disambiguation — pick node with most relevant examples
334
- const results = [];
335
- for (const id of candidates) {
336
- const node = this.nodes.get(id);
337
- let finalScore = (node._matchScore || 0.5) * 0.4 + (node._textScore || 0.5) * 0.6;
338
-
339
- // Example quality bonus
340
- if (node.examples && node.examples.length > 0) {
341
- finalScore += 0.1 * Math.min(node.examples.length, 3);
342
- }
343
-
344
- results.push({
345
- id,
346
- name: node.name,
347
- type: node.type,
348
- description: node.description,
349
- score: finalScore,
350
- inputs: node.inputs,
351
- output: node.output,
352
- preconditions: node.preconditions,
353
- postconditions: node.postconditions,
354
- dependencies: node.dependencies,
355
- useCount: node.metadata.useCount,
356
- successRate: node.metadata.successRate,
357
- });
358
- }
359
-
360
- results.sort((a, b) => b.score - a.score);
361
- return results.slice(0, topK);
362
- }
363
-
364
- /**
365
- * Get all composite skills that depend on a given node
366
- */
367
- getCompositesUsing(nodeId) {
368
- return Array.from(this.edges.get(nodeId) || []);
369
- }
370
-
371
- /**
372
- * Get topological order (primitives first)
373
- */
374
- topologicalSort() {
375
- const visited = new Set();
376
- const result = [];
377
- const visit = (id) => {
378
- if (visited.has(id)) return;
379
- visited.add(id);
380
- for (const depId of (this.revEdges.get(id) || [])) {
381
- visit(depId);
382
- }
383
- result.push(id);
384
- };
385
- for (const id of this.nodes.keys()) visit(id);
386
- return result;
387
- }
388
-
389
- /**
390
- * Record usage outcome for a skill (to track success rate)
391
- */
392
- recordUse(nodeId, success) {
393
- const node = this.nodes.get(nodeId);
394
- if (!node) return;
395
- node.metadata.useCount++;
396
- node.metadata.lastUsed = Date.now();
397
- // Exponential moving average of success rate
398
- const prev = node.metadata.successRate;
399
- node.metadata.successRate = prev * 0.9 + (success ? 0.1 : 0);
400
- this._save();
401
- }
402
-
403
- /**
404
- * Get DAG statistics
405
- */
406
- stats() {
407
- let primitives = 0, composites = 0, edges = 0;
408
- for (const node of this.nodes.values()) {
409
- if (node.type === 'primitive') primitives++;
410
- else composites++;
411
- }
412
- for (const arr of this.edges.values()) edges += arr.length;
413
- return {
414
- totalNodes: this.nodes.size,
415
- primitives,
416
- composites,
417
- totalEdges: edges,
418
- topUsers: Array.from(this.nodes.values())
419
- .sort((a, b) => b.metadata.useCount - a.metadata.useCount)
420
- .slice(0, 5).map(n => ({ id: n.id, name: n.name, useCount: n.metadata.useCount })),
421
- };
422
- }
423
- }
424
-
425
- // ─── Demo ────────────────────────────────────────────────────────────────────
426
- function demo() {
427
- console.log('=== SkillDAG Demo (CoCoDA-inspired) ===\n');
428
-
429
- const dag = new SkillDAG({ dataDir: '/tmp/skill-dag-demo' });
430
-
431
- // Insert primitive skills (like CoCoDA's primitive tools)
432
- const r1 = dag.insert({
433
- name: 'calculate',
434
- type: 'primitive',
435
- description: 'Evaluate a mathematical expression',
436
- inputs: [{ name: 'expr', type: 'string', description: 'math expression' }],
437
- output: 'number',
438
- preconditions: [{ condition: 'expr is valid', description: 'Expression must be parseable' }],
439
- postconditions: [{ condition: 'returns number', description: 'Result is numeric' }],
440
- examples: [{ input: { expr: '2+2' }, expectedOutput: 4 }],
441
- tags: ['math', 'compute'],
442
- });
443
- console.log('Insert calculate:', r1);
444
-
445
- const r2 = dag.insert({
446
- name: 'format_date',
447
- type: 'primitive',
448
- description: 'Format a timestamp as human-readable date',
449
- inputs: [{ name: 'timestamp', type: 'number', description: 'Unix timestamp' }],
450
- output: 'string',
451
- preconditions: [{ condition: 'timestamp > 0', description: 'Must be positive' }],
452
- postconditions: [{ condition: 'returns string', description: 'Formatted date' }],
453
- examples: [{ input: { timestamp: 1715500000 }, expectedOutput: '2024-05-12' }],
454
- tags: ['time', 'format'],
455
- });
456
- console.log('Insert format_date:', r2);
457
-
458
- // Composite skill (like CoCoDA's composite tools = validated DAG folds)
459
- const r3 = dag.insert({
460
- name: 'math_report',
461
- type: 'composite',
462
- description: 'Calculate math expression and format as date-labeled report',
463
- inputs: [{ name: 'expr', type: 'string' }, { name: 'timestamp', type: 'number' }],
464
- output: 'object',
465
- dependencies: [r1.nodeId, r2.nodeId],
466
- preconditions: [
467
- { condition: 'expr valid', description: 'Valid math expr' },
468
- { condition: 'timestamp > 0', description: 'Positive timestamp' },
469
- ],
470
- postconditions: [
471
- { condition: 'result has calculation and report', description: 'Composite output' },
472
- ],
473
- tags: ['math', 'report'],
474
- });
475
- console.log('Insert math_report (composite):', r3);
476
-
477
- // Typed DAG Retrieval — Stage 1 (signature unification)
478
- console.log('\n--- Stage 1: Signature Unification ---');
479
- const res1 = dag.retrieve({
480
- requiredInputs: [{ name: 'expr', type: 'string' }],
481
- requiredOutput: 'number',
482
- topK: 3,
483
- });
484
- console.log('Sig-match (string→number):', res1.map(r => r.name));
485
-
486
- // Typed DAG Retrieval — Stage 2 (description ranking)
487
- console.log('\n--- Stage 2: Description Ranking ---');
488
- const res2 = dag.retrieve({ queryText: 'math expression', topK: 3 });
489
- console.log('Text-match "math expression":', res2.map(r => r.name));
490
-
491
- // Tag-based filtering
492
- console.log('\n--- Tag Filter: [time] ---');
493
- const res3 = dag.retrieve({ tags: ['time'], topK: 3 });
494
- console.log('Tag [time]:', res3.map(r => r.name));
495
-
496
- // Full pipeline with query sig + text
497
- console.log('\n--- Full 4-Stage Retrieval ---');
498
- const res4 = dag.retrieve({
499
- querySig: { inputs: [{ name: 'x', type: 'string' }], output: 'number' },
500
- queryText: 'math',
501
- tags: ['math'],
502
- topK: 5,
503
- });
504
- console.log('Full pipeline:', res4.map(r => `${r.name} (score=${r.score.toFixed(2)})`));
505
-
506
- // Stats
507
- console.log('\n--- DAG Stats ---');
508
- console.log(dag.stats());
509
-
510
- // Record usage
511
- dag.recordUse(r1.nodeId, true);
512
- dag.recordUse(r1.nodeId, false);
513
- dag.recordUse(r2.nodeId, true);
514
- console.log('\nAfter usage:', dag.stats());
515
-
516
- console.log('\n✅ SkillDAG demo complete');
517
- console.log('Source: CoCoDA (arXiv:2605.08399) — Typed DAG Retrieval + Compositional Skill Evolution');
518
- }
519
-
520
- if (require.main === module) {
521
- demo();
522
- }
523
-
524
- module.exports = { SkillDAG, SkillNode, unifySignatures, typesCompatible };
@@ -1,62 +0,0 @@
1
- /**
2
- * Skill Loader — 按需加载技能内容,声明式调用
3
- * @version v0.12.50
4
- */
5
- 'use strict';
6
-
7
- const fs = require('fs');
8
- const path = require('path');
9
-
10
- class SkillLoader {
11
- constructor(registry) {
12
- this.registry = registry;
13
- this.loaded = new Map();
14
- }
15
-
16
- load(skillName) {
17
- if (this.loaded.has(skillName)) return this.loaded.get(skillName);
18
- const skill = this.registry.get(skillName);
19
- if (!skill) return null;
20
- if (!skill.enabled) return null;
21
- try {
22
- // Validate path resolves within expected skills directory (prevent path traversal)
23
- let skillsRoot = path.resolve(__dirname, '../../skills');
24
- let resolvedPath = path.resolve(skill.path);
25
- // macOS filesystem is case-insensitive; normalize to lowercase to prevent bypass
26
- if (process.platform === 'darwin') {
27
- skillsRoot = skillsRoot.toLowerCase();
28
- resolvedPath = resolvedPath.toLowerCase();
29
- }
30
- if (!resolvedPath.startsWith(skillsRoot + path.sep)) {
31
- console.warn(`[SkillLoader] blocked path traversal attempt: ${skill.path}`);
32
- return null;
33
- }
34
- // Enforce max file size (1MB)
35
- const stat = fs.statSync(skill.path);
36
- if (stat.size > 1024 * 1024) {
37
- console.warn(`[SkillLoader] skill file too large (${stat.size} bytes): ${skillName}`);
38
- return null;
39
- }
40
- const content = fs.readFileSync(skill.path, 'utf8');
41
- this.loaded.set(skillName, content); // Populate cache so repeat calls hit cache, not disk
42
- return content;
43
- } catch (e) {
44
- console.warn(`[SkillLoader] 读取技能失败: ${skillName}`, e.message);
45
- return null;
46
- }
47
- }
48
-
49
- async use(skillName, params = {}) {
50
- const content = this.load(skillName);
51
- if (!content) return null;
52
- const instructions = this._extractInstructions(content);
53
- return { skillName, instructions, params, content };
54
- }
55
-
56
- _extractInstructions(content) {
57
- const match = content.match(/^---\n[\s\S]*?\n---\n([\s\S]*)$/);
58
- return match ? match[1].substring(0, 2000) : content.substring(0, 2000);
59
- }
60
- }
61
-
62
- module.exports = { SkillLoader };
@@ -1,71 +0,0 @@
1
- /**
2
- * Skill Registry — 内存中的技能注册表
3
- * @version v0.12.50
4
- */
5
- 'use strict';
6
-
7
- const path = require('path');
8
- const fs = require('fs');
9
-
10
- class SkillRegistry {
11
- constructor() {
12
- this.root = path.resolve(__dirname, '../../../..');
13
- this.registry = new Map();
14
- this._loadSkills();
15
- }
16
-
17
- _loadSkills() {
18
- const skillsDir = path.join(this.root, 'skills');
19
- if (!fs.existsSync(skillsDir)) return;
20
- try {
21
- fs.readdirSync(skillsDir).forEach(f => {
22
- if (f.endsWith('.md') || f.endsWith('.skill')) {
23
- this._loadSkillFile(path.join(skillsDir, f));
24
- }
25
- });
26
- } catch (e) {
27
- console.warn('[SkillRegistry] 加载技能失败:', e.message);
28
- }
29
- }
30
-
31
- _loadSkillFile(filePath) {
32
- try {
33
- const content = fs.readFileSync(filePath, 'utf8');
34
- const name = path.basename(filePath, path.extname(filePath));
35
- const match = content.match(/^---\n([\s\S]*?)\n---/);
36
- if (match) {
37
- const fm = this._parseFrontmatter(match[1]);
38
- this.registry.set(name, {
39
- name,
40
- path: filePath,
41
- enabled: fm.enabled !== false,
42
- description: fm.description || '',
43
- version: fm.version || '0.0.1',
44
- tags: Array.isArray(fm.tags) ? fm.tags : [],
45
- });
46
- }
47
- } catch (e) {
48
- console.warn(`[SkillRegistry] 加载技能文件 ${filePath} 失败:`, e.message);
49
- }
50
- }
51
-
52
- _parseFrontmatter(text) {
53
- const result = {};
54
- text.split('\n').forEach(line => {
55
- const idx = line.indexOf(':');
56
- if (idx > 0) {
57
- const key = line.slice(0, idx).trim();
58
- const val = line.slice(idx + 1).trim().replace(/^["']|["']$/g, '');
59
- result[key] = val;
60
- }
61
- });
62
- return result;
63
- }
64
-
65
- list() { return Array.from(this.registry.values()); }
66
- get(name) { return this.registry.get(name); }
67
- enable(name) { const s = this.registry.get(name); if (s) s.enabled = true; }
68
- disable(name) { const s = this.registry.get(name); if (s) s.enabled = false; }
69
- }
70
-
71
- module.exports = { SkillRegistry };