@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,886 +0,0 @@
1
- /**
2
- * Generative Agents - Memory Stream Architecture
3
- * Based on "Generative Agents: Interactive Simulacra of Human Behavior" (Park et al. 2023)
4
- * arXiv: 2304.03442, UIST '23
5
- *
6
- * Core Architecture:
7
- * - Memory Stream: Comprehensive record of agent's experience (natural language)
8
- * - Reflection: Synthesizes memories into higher-level inferences
9
- * - Planning: Translates conclusions into high-level action plans
10
- *
11
- * Key Innovation: Three-component architecture enabling emergent social behaviors
12
- * and believable agent simulation through dynamic memory retrieval
13
- *
14
- * @version v0.13.13
15
- */
16
-
17
- 'use strict';
18
-
19
- const path = require('path');
20
- const fs = require('fs');
21
-
22
- /**
23
- * Memory Object - Base element of the memory stream
24
- * Contains natural language description, timestamps, and metadata
25
- */
26
- class MemoryObject {
27
- constructor(type, content, metadata = {}) {
28
- this.id = `mem-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
29
- this.type = type; // 'observation', 'reflection', 'plan', 'event'
30
- this.content = content;
31
- this.createdAt = Date.now();
32
- this.lastAccessedAt = Date.now();
33
- this.importance = metadata.importance || 5; // 1-10 scale
34
- this.tags = metadata.tags || [];
35
- this.metadata = metadata;
36
- }
37
-
38
- access() {
39
- this.lastAccessedAt = Date.now();
40
- }
41
-
42
- toString() {
43
- return `[${this.type}] ${this.content}`;
44
- }
45
- }
46
-
47
- /**
48
- * Observation - Events directly perceived by the agent
49
- * Base element of the memory stream
50
- */
51
- class Observation extends MemoryObject {
52
- constructor(content, metadata = {}) {
53
- super('observation', content, metadata);
54
- this.actor = metadata.actor || null; // Who performed the action
55
- this.subject = metadata.subject || null; // What the action was performed on
56
- this.location = metadata.location || null;
57
- }
58
- }
59
-
60
- /**
61
- * Reflection - Higher-level, abstract thoughts generated by the agent
62
- * Synthesized from multiple observations
63
- */
64
- class Reflection extends MemoryObject {
65
- constructor(content, insights, evidence, metadata = {}) {
66
- super('reflection', content, metadata);
67
- this.insights = insights; // Extracted high-level insights
68
- this.evidence = evidence; // Memory IDs that support this reflection
69
- this.level = metadata.level || 1; // Abstraction level (higher = more abstract)
70
- }
71
- }
72
-
73
- /**
74
- * Plan - Future sequence of actions for the agent
75
- * Includes location, start time, and duration
76
- */
77
- class Plan extends MemoryObject {
78
- constructor(content, details = {}) {
79
- super('plan', content, {});
80
- this.location = details.location || null;
81
- this.startTime = details.startTime || null;
82
- this.duration = details.duration || null;
83
- this.subTasks = details.subTasks || [];
84
- this.status = details.status || 'pending'; // 'pending', 'in_progress', 'completed'
85
- }
86
-
87
- addSubTask(task) {
88
- this.subTasks.push(task);
89
- }
90
-
91
- complete() {
92
- this.status = 'completed';
93
- }
94
- }
95
-
96
- /**
97
- * Memory Retrieval Function
98
- * Implements the three-component scoring:
99
- * 1. Recency - exponential decay over time
100
- * 2. Importance - distinguishes mundane from core memories
101
- * 3. Relevance - cosine similarity with query embedding
102
- */
103
- class MemoryRetrieval {
104
- constructor(config = {}) {
105
- this.recencyDecay = config.recencyDecay || 0.995;
106
- this.recencyWeight = config.recencyWeight || 1.0;
107
- this.importanceWeight = config.importanceWeight || 1.0;
108
- this.relevanceWeight = config.relevanceWeight || 1.0;
109
- this.maxResults = config.maxResults || 10;
110
- }
111
-
112
- /**
113
- * Calculate recency score using exponential decay
114
- * @param {number} hoursAgo - Hours since memory was last accessed
115
- * @returns {number} Recency score [0, 1]
116
- */
117
- calculateRecency(hoursAgo) {
118
- return Math.pow(this.recencyDecay, hoursAgo);
119
- }
120
-
121
- /**
122
- * Calculate importance score (already stored with memory)
123
- * @param {number} importance - Importance value [1-10]
124
- * @returns {number} Normalized importance [0, 1]
125
- */
126
- normalizeImportance(importance) {
127
- return importance / 10;
128
- }
129
-
130
- /**
131
- * Calculate relevance using cosine similarity (simplified embedding)
132
- * In production, would use actual embeddings
133
- * @param {string} text1 - First text
134
- * @param {string} text2 - Second text
135
- * @returns {number} Relevance score [0, 1]
136
- */
137
- calculateRelevance(text1, text2) {
138
- // Simple keyword-based similarity
139
- const words1 = new Set(text1.toLowerCase().split(/\s+/).filter(w => w.length > 2));
140
- const words2 = new Set(text2.toLowerCase().split(/\s+/).filter(w => w.length > 2));
141
-
142
- if (words1.size === 0 || words2.size === 0) return 0;
143
-
144
- const intersection = [...words1].filter(w => words2.has(w)).length;
145
- const union = new Set([...words1, ...words2]).size;
146
-
147
- return union > 0 ? intersection / union : 0;
148
- }
149
-
150
- /**
151
- * Retrieve relevant memories for a given query
152
- * @param {MemoryObject[]} memories - All memories in the stream
153
- * @param {string} query - Query describing current situation
154
- * @param {object} context - Additional context for filtering
155
- * @returns {MemoryObject[]} Sorted list of relevant memories
156
- */
157
- retrieve(memories, query, context = {}) {
158
- const now = Date.now();
159
- const scores = [];
160
-
161
- for (const memory of memories) {
162
- // Calculate recency
163
- const hoursAgo = (now - memory.lastAccessedAt) / (1000 * 60 * 60);
164
- const recencyScore = this.calculateRecency(hoursAgo);
165
-
166
- // Calculate importance (normalized)
167
- const importanceScore = this.normalizeImportance(memory.importance);
168
-
169
- // Calculate relevance
170
- const relevanceScore = this.calculateRelevance(query, memory.content);
171
-
172
- // Weighted combination
173
- const totalScore =
174
- this.recencyWeight * recencyScore +
175
- this.importanceWeight * importanceScore +
176
- this.relevanceWeight * relevanceScore;
177
-
178
- scores.push({
179
- memory,
180
- score: totalScore,
181
- breakdown: { recency: recencyScore, importance: importanceScore, relevance: relevanceScore }
182
- });
183
- }
184
-
185
- // Sort by score descending
186
- scores.sort((a, b) => b.score - a.score);
187
-
188
- // Return top results
189
- return scores.slice(0, this.maxResults).map(s => ({
190
- memory: s.memory,
191
- score: s.score,
192
- breakdown: s.breakdown
193
- }));
194
- }
195
- }
196
-
197
- /**
198
- * Reflection Generator
199
- * Synthesizes observations into higher-level reflections
200
- * Triggered when sum of importance scores exceeds threshold
201
- */
202
- class ReflectionGenerator {
203
- constructor(config = {}) {
204
- this.importanceThreshold = config.importanceThreshold || 150;
205
- this.maxMemoriesForReflection = config.maxMemoriesForReflection || 100;
206
- }
207
-
208
- /**
209
- * Determine if reflection should be triggered
210
- * @param {MemoryObject[]} recentMemories - Recent memories to evaluate
211
- * @returns {boolean} True if reflection should be generated
212
- */
213
- shouldReflect(recentMemories) {
214
- const totalImportance = recentMemories
215
- .slice(0, this.maxMemoriesForReflection)
216
- .reduce((sum, m) => sum + m.importance, 0);
217
-
218
- return totalImportance >= this.importanceThreshold;
219
- }
220
-
221
- /**
222
- * Generate candidate questions from recent memories
223
- * @param {MemoryObject[]} memories - Recent memories
224
- * @returns {string[]} Candidate questions
225
- */
226
- generateCandidateQuestions(memories) {
227
- // In production, would use LLM to generate questions
228
- // Here we use heuristic extraction
229
- const contents = memories.map(m => m.content).join('\n');
230
-
231
- const questions = [];
232
-
233
- // Detect topics
234
- if (/research|study|paper/i.test(contents)) {
235
- questions.push('What is the subject passionate about?');
236
- }
237
- if (/talk|converse|discuss/i.test(contents)) {
238
- questions.push('What is the nature of the relationship?');
239
- }
240
- if (/work|job|task/i.test(contents)) {
241
- questions.push('What are the work priorities and deadlines?');
242
- }
243
-
244
- // Default questions
245
- if (questions.length === 0) {
246
- questions.push('What are the most salient observations?');
247
- questions.push('What patterns can be identified?');
248
- }
249
-
250
- return questions.slice(0, 3);
251
- }
252
-
253
- /**
254
- * Generate reflection from memories
255
- * @param {MemoryObject[]} memories - Relevant memories
256
- * @param {string} question - Question being addressed
257
- * @returns {object} Reflection with insights and evidence
258
- */
259
- generateReflection(memories, question) {
260
- const insights = [];
261
- const evidence = memories.map(m => m.id);
262
-
263
- // In production, would use LLM to extract insights
264
- // Here we use pattern matching
265
-
266
- const contents = memories.map(m => m.content).join(' ');
267
-
268
- // Detect passion/interest
269
- if (/research|study|paper|write/i.test(contents)) {
270
- insights.push('Subject is dedicated to their research work');
271
- }
272
-
273
- // Detect relationships
274
- if (/talk|converse|discuss|meet/i.test(contents)) {
275
- insights.push('Subject has active social interactions');
276
- }
277
-
278
- // Detect location patterns
279
- const locations = memories.filter(m => m.location).map(m => m.location);
280
- if (locations.length > 0) {
281
- const mostCommon = this.mostCommon(locations);
282
- insights.push(`Frequently at ${mostCommon}`);
283
- }
284
-
285
- // Generate reflection content
286
- const content = insights.length > 0
287
- ? `Based on recent observations: ${insights.join('. ')}`
288
- : 'No significant patterns detected in recent observations';
289
-
290
- return {
291
- content,
292
- insights,
293
- evidence,
294
- question,
295
- timestamp: Date.now()
296
- };
297
- }
298
-
299
- mostCommon(arr) {
300
- const counts = {};
301
- arr.forEach(item => { counts[item] = (counts[item] || 0) + 1; });
302
- return Object.entries(counts).sort((a, b) => b[1] - a[1])[0]?.[0] || 'unknown';
303
- }
304
- }
305
-
306
- /**
307
- * Plan Generator
308
- * Creates and manages agent plans using top-down decomposition
309
- */
310
- class PlanGenerator {
311
- constructor(config = {}) {
312
- this.planDetailLevels = config.planDetailLevels || 5;
313
- this.hoursPerChunk = config.hoursPerChunk || 2;
314
- }
315
-
316
- /**
317
- * Create initial day plan from agent summary and previous day
318
- * @param {object} agentSummary - Agent's summary description
319
- * @param {string} previousDaySummary - Summary of previous day's activities
320
- * @param {string} currentDate - Current date
321
- * @returns {Plan[]} Generated plans
322
- */
323
- createDayPlan(agentSummary, previousDaySummary, currentDate) {
324
- const plans = [];
325
-
326
- // In production, would use LLM to generate plans
327
- // Here we use template-based generation
328
-
329
- const wakeHour = 8;
330
- const sleepHour = 22;
331
- const activeHours = sleepHour - wakeHour;
332
- const chunks = Math.floor(activeHours / this.hoursPerChunk);
333
-
334
- const templates = [
335
- { hour: wakeHour, activity: 'morning routine', location: 'home' },
336
- { hour: wakeHour + 1, activity: 'breakfast', location: 'kitchen' },
337
- { hour: 9, activity: 'work/school', location: 'office/classroom' },
338
- { hour: 12, activity: 'lunch', location: 'cafetereria' },
339
- { hour: 13, activity: 'work/classes', location: 'office/classroom' },
340
- { hour: 17, activity: 'personal time', location: 'varies' },
341
- { hour: 19, activity: 'dinner', location: 'home' },
342
- { hour: 20, activity: 'evening relaxation', location: 'home' },
343
- ];
344
-
345
- templates.forEach((t, i) => {
346
- if (i < chunks) {
347
- const plan = new Plan(
348
- `${t.activity} at ${t.hour}:00`,
349
- {
350
- location: t.location,
351
- startTime: `${currentDate} ${t.hour}:00`,
352
- duration: this.hoursPerChunk * 60, // minutes
353
- subTasks: []
354
- }
355
- );
356
- plans.push(plan);
357
- }
358
- });
359
-
360
- return plans;
361
- }
362
-
363
- /**
364
- * Refine plan with more detail (top-down decomposition)
365
- * @param {Plan} plan - Plan to refine
366
- * @param {string} context - Additional context
367
- * @returns {Plan} Refined plan with sub-tasks
368
- */
369
- refinePlan(plan, context = '') {
370
- // Add sub-tasks based on activity type
371
- const activityLower = plan.content.toLowerCase();
372
-
373
- if (/work|study|research/i.test(activityLower)) {
374
- plan.addSubTask('Gather materials/resources');
375
- plan.addSubTask('Focus on primary task');
376
- plan.addSubTask('Take breaks periodically');
377
- }
378
-
379
- if (/paint|art|creative/i.test(activityLower)) {
380
- plan.addSubTask('Gather art supplies');
381
- plan.addSubTask('Set up workspace');
382
- plan.addSubTask('Work on project');
383
- plan.addSubTask('Clean up materials');
384
- }
385
-
386
- if (/cook|meal/i.test(activityLower)) {
387
- plan.addSubTask('Prepare ingredients');
388
- plan.addSubTask('Cook meal');
389
- plan.addSubTask('Set table');
390
- plan.addSubTask('Clean up kitchen');
391
- }
392
-
393
- return plan;
394
- }
395
-
396
- /**
397
- * Update plan based on environment changes
398
- * @param {Plan[]} plans - Current plans
399
- * @param {object} change - Environment change
400
- * @returns {Plan[]} Updated plans
401
- */
402
- reactToEnvironment(plans, change) {
403
- // In production, would use LLM to decide how to modify plans
404
- // Here we use simple heuristics
405
-
406
- if (change.interrupted) {
407
- // Find current plan and mark as interrupted
408
- const currentPlan = plans.find(p => p.status === 'in_progress');
409
- if (currentPlan) {
410
- currentPlan.status = 'interrupted';
411
- }
412
- }
413
-
414
- if (change.opportunity) {
415
- // Could add new plan for opportunity
416
- const opportunityPlan = new Plan(
417
- `Take advantage of: ${change.opportunity}`,
418
- { location: change.location || null }
419
- );
420
- plans.push(opportunityPlan);
421
- }
422
-
423
- return plans;
424
- }
425
- }
426
-
427
- /**
428
- * Memory Stream - Long-term memory module
429
- * Maintains comprehensive record of agent's experience
430
- */
431
- class MemoryStream {
432
- constructor(config = {}) {
433
- this.memories = [];
434
- this.maxMemories = config.maxMemories || 10000;
435
- this.retrieval = new MemoryRetrieval(config.retrieval);
436
- this.reflectionGenerator = new ReflectionGenerator(config.reflection);
437
- this.planGenerator = new PlanGenerator(config.plan);
438
-
439
- // Importance scoring callback (in production, would use LLM)
440
- this.importanceFn = config.importanceFn || this.defaultImportance;
441
- }
442
-
443
- /**
444
- * Default importance scoring function
445
- */
446
- defaultImportance(content) {
447
- const lower = content.toLowerCase();
448
-
449
- // High importance events
450
- if (/breakup|acceptance|fired|death|birth|marriage/i.test(lower)) return 8;
451
- if (/passionate|love|hate|excited|angry/i.test(lower)) return 7;
452
-
453
- // Medium importance
454
- if (/work|school|project|meeting|deadline/i.test(lower)) return 5;
455
- if (/friend|family|colleague/i.test(lower)) return 5;
456
-
457
- // Low importance - daily routines
458
- if (/eat|sleep|brush|shower|bed|routine/i.test(lower)) return 2;
459
-
460
- return 4; // Default
461
- }
462
-
463
- /**
464
- * Add observation to memory stream
465
- * @param {string} content - Observation content
466
- * @param {object} metadata - Additional metadata
467
- */
468
- addObservation(content, metadata = {}) {
469
- const importance = metadata.importance || this.importanceFn(content);
470
-
471
- const observation = new Observation(content, {
472
- ...metadata,
473
- importance
474
- });
475
-
476
- this.memories.push(observation);
477
- this.enforceMaxSize();
478
-
479
- return observation;
480
- }
481
-
482
- /**
483
- * Add reflection to memory stream
484
- * @param {Reflection} reflection - Reflection object
485
- */
486
- addReflection(reflection) {
487
- this.memories.push(reflection);
488
- this.enforceMaxSize();
489
- return reflection;
490
- }
491
-
492
- /**
493
- * Add plan to memory stream
494
- * @param {Plan} plan - Plan object
495
- */
496
- addPlan(plan) {
497
- this.memories.push(plan);
498
- this.enforceMaxSize();
499
- return plan;
500
- }
501
-
502
- /**
503
- * Retrieve relevant memories for current situation
504
- * @param {string} query - Query describing current situation
505
- * @param {object} context - Additional context
506
- * @returns {object[]} Retrieved memories with scores
507
- */
508
- retrieve(query, context = {}) {
509
- const results = this.retrieval.retrieve(this.memories, query, context);
510
-
511
- // Update last accessed time
512
- results.forEach(r => r.memory.access());
513
-
514
- return results;
515
- }
516
-
517
- /**
518
- * Check if reflection should be triggered and generate if needed
519
- * @returns {Reflection|null} Generated reflection or null
520
- */
521
- maybeGenerateReflection() {
522
- const recentMemories = this.getRecentMemories(100);
523
-
524
- if (this.reflectionGenerator.shouldReflect(recentMemories)) {
525
- const questions = this.reflectionGenerator.generateCandidateQuestions(recentMemories);
526
- const question = questions[0];
527
-
528
- const relevantMemories = this.retrieve(question);
529
- const memoryObjects = relevantMemories.map(r => r.memory);
530
-
531
- const reflectionData = this.reflectionGenerator.generateReflection(memoryObjects, question);
532
-
533
- const reflection = new Reflection(
534
- reflectionData.content,
535
- reflectionData.insights,
536
- reflectionData.evidence,
537
- { level: 1 }
538
- );
539
-
540
- this.addReflection(reflection);
541
- return reflection;
542
- }
543
-
544
- return null;
545
- }
546
-
547
- /**
548
- * Get recent memories
549
- * @param {number} count - Number of recent memories
550
- * @returns {MemoryObject[]}
551
- */
552
- getRecentMemories(count = 10) {
553
- return [...this.memories]
554
- .sort((a, b) => b.createdAt - a.createdAt)
555
- .slice(0, count);
556
- }
557
-
558
- /**
559
- * Get all memories of a specific type
560
- * @param {string} type - Memory type
561
- * @returns {MemoryObject[]}
562
- */
563
- getMemoriesByType(type) {
564
- return this.memories.filter(m => m.type === type);
565
- }
566
-
567
- /**
568
- * Enforce maximum memory size using FIFO
569
- */
570
- enforceMaxSize() {
571
- while (this.memories.length > this.maxMemories) {
572
- // Find oldest-lowest-importance in O(n) instead of full O(n log n) sort
573
- let minScore = Infinity;
574
- let minIdx = -1;
575
- for (let i = 0; i < this.memories.length; i++) {
576
- const m = this.memories[i];
577
- const score = (m.createdAt || 0) + (m.importance || 0) * 1e10;
578
- if (score < minScore) { minScore = score; minIdx = i; }
579
- }
580
- if (minIdx >= 0) this.memories.splice(minIdx, 1);
581
- }
582
- }
583
-
584
- /**
585
- * Get statistics
586
- */
587
- getStats() {
588
- const byType = {};
589
- this.memories.forEach(m => {
590
- byType[m.type] = (byType[m.type] || 0) + 1;
591
- });
592
-
593
- return {
594
- total: this.memories.length,
595
- byType,
596
- recentCount: this.getRecentMemories(5).length
597
- };
598
- }
599
- }
600
-
601
- /**
602
- * Generative Agent - Main Class
603
- * Combines Memory Stream, Reflection, and Planning for believable agent behavior
604
- */
605
- class GenerativeAgent {
606
- constructor(config = {}) {
607
- this.name = config.name || 'Agent';
608
- this.age = config.age || null;
609
- this.traits = config.traits || [];
610
- this.summary = config.summary || '';
611
-
612
- this.memoryStream = new MemoryStream(config.memory);
613
- this.observationCount = 0;
614
- this.planCount = 0;
615
-
616
- console.log(`[GenerativeAgent] ${this.name} initialized`);
617
- }
618
-
619
- /**
620
- * Set agent's core description
621
- * @param {string} summary - Summary description
622
- * @param {string[]} traits - Innate traits
623
- */
624
- setCoreDescription(summary, traits = []) {
625
- this.summary = summary;
626
- this.traits = traits;
627
-
628
- // Add to memory
629
- this.memoryStream.addObservation(
630
- `Core identity: ${summary}`,
631
- { importance: 10, tags: ['identity'] }
632
- );
633
- }
634
-
635
- /**
636
- * Perceive environment and add observation
637
- * @param {string} content - What was perceived
638
- * @param {object} metadata - Additional metadata
639
- */
640
- observe(content, metadata = {}) {
641
- this.observationCount++;
642
-
643
- const observation = this.memoryStream.addObservation(content, {
644
- ...metadata,
645
- importance: metadata.importance || this.memoryStream.importanceFn(content)
646
- });
647
-
648
- // Check for reflection
649
- const reflection = this.memoryStream.maybeGenerateReflection();
650
- if (reflection) {
651
- console.log(`[${this.name}] Generated reflection: ${reflection.content.substring(0, 50)}...`);
652
- }
653
-
654
- return observation;
655
- }
656
-
657
- /**
658
- * Retrieve relevant memories for current situation
659
- * @param {string} situation - Current situation description
660
- * @returns {MemoryObject[]} Relevant memories
661
- */
662
- remember(situation) {
663
- const results = this.memoryStream.retrieve(situation);
664
- return results;
665
- }
666
-
667
- /**
668
- * Create daily plan
669
- * @param {string} date - Date for plan
670
- * @param {string} previousDaySummary - Previous day's activities
671
- */
672
- planDay(date, previousDaySummary = '') {
673
- const plans = this.planGenerator.createDayPlan(
674
- this.summary + '\nTraits: ' + this.traits.join(', '),
675
- previousDaySummary,
676
- date
677
- );
678
-
679
- plans.forEach(p => {
680
- this.planGenerator.refinePlan(p);
681
- this.memoryStream.addPlan(p);
682
- this.planCount++;
683
- });
684
-
685
- return plans;
686
- }
687
-
688
- /**
689
- * Get current plan
690
- * @returns {Plan[]}
691
- */
692
- getCurrentPlans() {
693
- return this.memoryStream.getMemoriesByType('plan')
694
- .filter(p => p.status === 'pending' || p.status === 'in_progress');
695
- }
696
-
697
- /**
698
- * React to environment change
699
- * @param {object} change - Environment change
700
- */
701
- react(change) {
702
- // Observe the change
703
- this.observe(`Environment changed: ${change.description || JSON.stringify(change)}`);
704
-
705
- // Update plans if needed
706
- const plans = this.getCurrentPlans();
707
- this.planGenerator.reactToEnvironment(plans, change);
708
- }
709
-
710
- /**
711
- * Converse with another agent
712
- * @param {string} message - Message received
713
- * @param {GenerativeAgent} other - Other agent
714
- * @returns {string} Response
715
- */
716
- async converse(message, other) {
717
- // Remember the conversation
718
- this.observe(`${this.name} and ${other.name} conversed about: ${message}`);
719
-
720
- // Retrieve relevant memories
721
- const relevant = this.remember(message);
722
-
723
- // In production, would use LLM to generate response
724
- // Here we generate simple response
725
- const response = this.generateResponse(message, relevant, other);
726
-
727
- // Remember own response
728
- this.observe(`${this.name} said to ${other.name}: ${response}`);
729
-
730
- return response;
731
- }
732
-
733
- /**
734
- * Generate response (simplified)
735
- */
736
- generateResponse(message, relevantMemories, other) {
737
- const memoryContents = relevantMemories.map(r => r.memory.content).join('; ');
738
-
739
- if (/party|event|invitation/i.test(message)) {
740
- return "That sounds great! I'd like to come.";
741
- }
742
- if (/help|assist|support/i.test(message)) {
743
- return "I'd be happy to help with that.";
744
- }
745
- if (/what.*doing|plans/i.test(message)) {
746
- const plans = this.getCurrentPlans();
747
- if (plans.length > 0) {
748
- return `I'm planning to ${plans[0].content}`;
749
- }
750
- }
751
-
752
- return "I understand. Let me think about that.";
753
- }
754
-
755
- /**
756
- * Get agent summary for prompting
757
- * @returns {string} Summary string
758
- */
759
- getSummary() {
760
- return `${this.name}${this.age ? ` (age ${this.age})` : ''}. ${this.summary}. Traits: ${this.traits.join(', ')}`;
761
- }
762
-
763
- /**
764
- * Get statistics
765
- */
766
- getStats() {
767
- return {
768
- name: this.name,
769
- observations: this.observationCount,
770
- plans: this.planCount,
771
- memoryStats: this.memoryStream.getStats()
772
- };
773
- }
774
- }
775
-
776
- // Create default plan generator for backwards compatibility
777
- GenerativeAgent.prototype.planGenerator = new PlanGenerator();
778
-
779
- /**
780
- * Demo function demonstrating Generative Agents architecture
781
- */
782
- function demo() {
783
- console.log('='.repeat(60));
784
- console.log('Generative Agents Demo - Memory Stream Architecture');
785
- console.log('='.repeat(60));
786
-
787
- // Create agent
788
- const eddy = new GenerativeAgent({
789
- name: 'Eddy Lin',
790
- age: 19,
791
- traits: ['friendly', 'outgoing', 'hospitable'],
792
- config: {
793
- memory: {
794
- maxMemories: 100,
795
- retrieval: { maxResults: 5 }
796
- }
797
- }
798
- });
799
-
800
- // Set core description
801
- eddy.setCoreDescription(
802
- 'Eddy Lin is a student at Oak Hill College studying music theory and composition. ' +
803
- 'He loves to explore different musical styles and is always looking for ways to expand his knowledge.',
804
- ['friendly', 'outgoing', 'hospitable']
805
- );
806
-
807
- console.log('\n--- Memory Stream: Adding Observations ---');
808
-
809
- // Add observations (simulating environment perception)
810
- const observations = [
811
- { content: 'Eddy Lin is writing a research paper on gentrification', location: 'library' },
812
- { content: 'Eddy Lin enjoys reading a book on urban development', location: 'library' },
813
- { content: 'Eddy Lin is conversing with Ayesha Khan about exercising', location: 'gym' },
814
- { content: 'Eddy Lin is setting up his music studio at home', location: 'home' },
815
- { content: 'Eddy Lin is meeting with his music professor about composition project', location: 'campus' },
816
- ];
817
-
818
- observations.forEach(obs => {
819
- eddy.observe(obs.content, { location: obs.location });
820
- console.log(` + Observation: ${obs.content.substring(0, 50)}...`);
821
- });
822
-
823
- console.log('\n--- Memory Retrieval: Query "research and passion" ---');
824
-
825
- const relevant = eddy.remember('research and passion');
826
- relevant.forEach(r => {
827
- console.log(` [score: ${r.score.toFixed(3)}] ${r.memory.content.substring(0, 60)}...`);
828
- console.log(` breakdown: recency=${r.breakdown.recency.toFixed(2)}, importance=${r.breakdown.importance.toFixed(2)}, relevance=${r.breakdown.relevance.toFixed(2)}`);
829
- });
830
-
831
- console.log('\n--- Reflection Generation ---');
832
-
833
- // Force reflection generation for demo
834
- const reflection = eddy.memoryStream.maybeGenerateReflection();
835
- if (reflection) {
836
- console.log(` Generated Reflection: ${reflection.content}`);
837
- console.log(` Insights: ${reflection.insights.join(', ')}`);
838
- } else {
839
- console.log(' (Reflection threshold not met yet)');
840
- }
841
-
842
- console.log('\n--- Planning: Create Day Plan ---');
843
-
844
- const plans = eddy.planDay('2024-02-14', 'Tuesday: classes, library study, dinner with friends');
845
- plans.forEach(p => {
846
- console.log(` Plan: ${p.content}`);
847
- console.log(` Location: ${p.location}, Duration: ${p.duration}min`);
848
- if (p.subTasks.length > 0) {
849
- console.log(` Sub-tasks: ${p.subTasks.join(', ')}`);
850
- }
851
- });
852
-
853
- console.log('\n--- Social Interaction ---');
854
-
855
- const edison = new GenerativeAgent({ name: 'Isabella', traits: ['warm', 'organized'] });
856
- eddy.converse('Would you like to come to a Valentine\'s Day party?', edison).then(response => {
857
- console.log(` Eddy's response: "${response}"`);
858
-
859
- console.log('\n--- Memory Statistics ---');
860
- const stats = eddy.getStats();
861
- console.log(` Total memories: ${stats.memoryStats.total}`);
862
- console.log(` By type:`, stats.memoryStats.byType);
863
-
864
- console.log('\n--- Agent Statistics ---');
865
- console.log(` Observations: ${stats.observations}`);
866
- console.log(` Plans created: ${stats.plans}`);
867
-
868
- console.log('\n' + '='.repeat(60));
869
- console.log('Demo complete!');
870
- console.log('='.repeat(60));
871
- });
872
- }
873
-
874
- // Export for HeartFlow integration
875
- module.exports = {
876
- GenerativeAgent,
877
- MemoryStream,
878
- MemoryRetrieval,
879
- ReflectionGenerator,
880
- PlanGenerator,
881
- MemoryObject,
882
- Observation,
883
- Reflection,
884
- Plan,
885
- demo
886
- };