dsh-biocore 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (250) hide show
  1. package/README.md +2 -2
  2. package/lib/py/bridge.py +15 -7
  3. package/lib/py-bridge.js +4 -3
  4. package/package.json +3 -2
  5. package/python/biocore_memory/__init__.py +21 -0
  6. package/python/biocore_memory/adapters/__init__.py +2 -0
  7. package/python/biocore_memory/adapters/astrbot.py +24 -0
  8. package/python/biocore_memory/adapters/dsh_cli.py +335 -0
  9. package/python/biocore_memory/co_recall.py +324 -0
  10. package/python/biocore_memory/consolidate/__init__.py +11 -0
  11. package/python/biocore_memory/consolidate/gated.py +104 -0
  12. package/python/biocore_memory/consolidate/neighbors.py +68 -0
  13. package/python/biocore_memory/consolidate/reflection.py +45 -0
  14. package/python/biocore_memory/consolidate/tree.py +95 -0
  15. package/python/biocore_memory/consolidate/writeback.py +181 -0
  16. package/python/biocore_memory/core/__init__.py +4 -0
  17. package/python/biocore_memory/core/config.py +127 -0
  18. package/python/biocore_memory/core/permissions.py +69 -0
  19. package/python/biocore_memory/core/types.py +116 -0
  20. package/python/biocore_memory/core/util.py +26 -0
  21. package/python/biocore_memory/embedding_local.py +447 -0
  22. package/python/biocore_memory/embedding_mode.py +156 -0
  23. package/python/biocore_memory/engine.py +2476 -0
  24. package/python/biocore_memory/engine_helpers.py +266 -0
  25. package/python/biocore_memory/event/__init__.py +3 -0
  26. package/python/biocore_memory/event/_types.py +16 -0
  27. package/python/biocore_memory/event/consistency.py +117 -0
  28. package/python/biocore_memory/event/extract.py +48 -0
  29. package/python/biocore_memory/event/media.py +111 -0
  30. package/python/biocore_memory/event/notes.py +85 -0
  31. package/python/biocore_memory/event/notes_link.py +87 -0
  32. package/python/biocore_memory/event/vector.py +69 -0
  33. package/python/biocore_memory/evict/__init__.py +3 -0
  34. package/python/biocore_memory/evict/adaptive.py +73 -0
  35. package/python/biocore_memory/evict/consequence.py +58 -0
  36. package/python/biocore_memory/evict/heat.py +54 -0
  37. package/python/biocore_memory/evict/inhibition.py +105 -0
  38. package/python/biocore_memory/evict/policy.py +188 -0
  39. package/python/biocore_memory/evict/score.py +23 -0
  40. package/python/biocore_memory/identity/__init__.py +6 -0
  41. package/python/biocore_memory/identity/api.py +99 -0
  42. package/python/biocore_memory/identity/history.py +9 -0
  43. package/python/biocore_memory/identity/ledger.py +191 -0
  44. package/python/biocore_memory/identity/narrative.py +358 -0
  45. package/python/biocore_memory/identity/snapshot.py +13 -0
  46. package/python/biocore_memory/identity/writeback.py +61 -0
  47. package/python/biocore_memory/index/__init__.py +3 -0
  48. package/python/biocore_memory/index/cue_index.py +80 -0
  49. package/python/biocore_memory/index/entities.py +85 -0
  50. package/python/biocore_memory/index/entity_boost.py +104 -0
  51. package/python/biocore_memory/index/graph.py +172 -0
  52. package/python/biocore_memory/recall/__init__.py +5 -0
  53. package/python/biocore_memory/recall/api.py +65 -0
  54. package/python/biocore_memory/recall/bm25.py +118 -0
  55. package/python/biocore_memory/recall/channels.py +98 -0
  56. package/python/biocore_memory/recall/complexity.py +62 -0
  57. package/python/biocore_memory/recall/constraints.py +75 -0
  58. package/python/biocore_memory/recall/embedding.py +745 -0
  59. package/python/biocore_memory/recall/expand.py +26 -0
  60. package/python/biocore_memory/recall/filters.py +40 -0
  61. package/python/biocore_memory/recall/fusion.py +18 -0
  62. package/python/biocore_memory/recall/mmr.py +70 -0
  63. package/python/biocore_memory/recall/ppr.py +85 -0
  64. package/python/biocore_memory/recall/retrieval_practice.py +102 -0
  65. package/python/biocore_memory/relay/__init__.py +2 -0
  66. package/python/biocore_memory/relay/card.py +51 -0
  67. package/python/biocore_memory/slots/__init__.py +18 -0
  68. package/python/biocore_memory/slots/admission.py +64 -0
  69. package/python/biocore_memory/slots/boundary.py +128 -0
  70. package/python/biocore_memory/slots/evict_bridge.py +106 -0
  71. package/python/biocore_memory/slots/registry.py +135 -0
  72. package/python/biocore_memory/slots/switch.py +42 -0
  73. package/python/biocore_memory/store/__init__.py +4 -0
  74. package/python/biocore_memory/store/audit.py +74 -0
  75. package/python/biocore_memory/store/compress.py +81 -0
  76. package/python/biocore_memory/store/dedupe.py +178 -0
  77. package/python/biocore_memory/store/json_store.py +154 -0
  78. package/python/biocore_memory/store/media.py +145 -0
  79. package/python/biocore_memory/store/provenance.py +73 -0
  80. package/python/biocore_memory/store/rate_limit.py +93 -0
  81. package/python/biocore_memory/store/security.py +107 -0
  82. package/python/biocore_memory/store/source_consistency.py +123 -0
  83. package/python/biocore_memory/store/tiering.py +61 -0
  84. package/python/biocore_memory/store/tiering_exec.py +50 -0
  85. package/python/biocore_memory/store/tombstone.py +23 -0
  86. package/python/biocore_memory/store/versions.py +69 -0
  87. package/python/biocore_memory/thread/__init__.py +2 -0
  88. package/python/biocore_memory/thread/card.py +58 -0
  89. package/python/biocore_model/__init__.py +37 -0
  90. package/python/biocore_model/affective_labor.py +162 -0
  91. package/python/biocore_model/appraisal.py +257 -0
  92. package/python/biocore_model/appraisal_action.py +78 -0
  93. package/python/biocore_model/archive_queue.py +60 -0
  94. package/python/biocore_model/attachment_behavior.py +130 -0
  95. package/python/biocore_model/attachment_regulation.py +75 -0
  96. package/python/biocore_model/attachment_state.py +41 -0
  97. package/python/biocore_model/attribution.py +73 -0
  98. package/python/biocore_model/attributor.py +162 -0
  99. package/python/biocore_model/autonomic.py +91 -0
  100. package/python/biocore_model/autonomy_affect.py +51 -0
  101. package/python/biocore_model/autonomy_check.py +67 -0
  102. package/python/biocore_model/autonomy_loop.py +122 -0
  103. package/python/biocore_model/autonomy_mode.py +114 -0
  104. package/python/biocore_model/autonomy_model.py +733 -0
  105. package/python/biocore_model/autonomy_params.py +131 -0
  106. package/python/biocore_model/autonomy_reason.py +73 -0
  107. package/python/biocore_model/autonomy_tick.py +227 -0
  108. package/python/biocore_model/bio_appraisal.py +49 -0
  109. package/python/biocore_model/bio_autonomy_state.py +171 -0
  110. package/python/biocore_model/bio_config.py +221 -0
  111. package/python/biocore_model/bio_const.py +128 -0
  112. package/python/biocore_model/bio_daily.py +267 -0
  113. package/python/biocore_model/bio_emotion.py +538 -0
  114. package/python/biocore_model/bio_emotion2.py +214 -0
  115. package/python/biocore_model/bio_goal.py +220 -0
  116. package/python/biocore_model/bio_identity.py +82 -0
  117. package/python/biocore_model/bio_noise.py +119 -0
  118. package/python/biocore_model/bio_physiology2.py +114 -0
  119. package/python/biocore_model/bio_snapshot.py +324 -0
  120. package/python/biocore_model/bio_state.py +272 -0
  121. package/python/biocore_model/bio_tick.py +310 -0
  122. package/python/biocore_model/bio_util.py +82 -0
  123. package/python/biocore_model/blocks.py +264 -0
  124. package/python/biocore_model/boundary.py +251 -0
  125. package/python/biocore_model/boundary_gate.py +188 -0
  126. package/python/biocore_model/commitment_extractor.py +517 -0
  127. package/python/biocore_model/compassion_fatigue.py +84 -0
  128. package/python/biocore_model/connection_bids.py +120 -0
  129. package/python/biocore_model/core_bridge.py +177 -0
  130. package/python/biocore_model/core_client.py +127 -0
  131. package/python/biocore_model/core_commands.py +112 -0
  132. package/python/biocore_model/core_mode.py +104 -0
  133. package/python/biocore_model/core_mode_ui.mjs +104 -0
  134. package/python/biocore_model/criticality.py +81 -0
  135. package/python/biocore_model/defense_mechanisms.py +272 -0
  136. package/python/biocore_model/delta_budget.py +99 -0
  137. package/python/biocore_model/diag_trace.py +274 -0
  138. package/python/biocore_model/dissonance.py +134 -0
  139. package/python/biocore_model/emotion_geometry.py +108 -0
  140. package/python/biocore_model/emotion_probe.py +209 -0
  141. package/python/biocore_model/entity_graph.py +931 -0
  142. package/python/biocore_model/entity_resolve.py +260 -0
  143. package/python/biocore_model/envy.py +193 -0
  144. package/python/biocore_model/exit_or_silence.py +230 -0
  145. package/python/biocore_model/expr_guard.py +24 -0
  146. package/python/biocore_model/expr_intent.py +77 -0
  147. package/python/biocore_model/expr_state.py +204 -0
  148. package/python/biocore_model/expr_template.py +105 -0
  149. package/python/biocore_model/expr_tone.py +81 -0
  150. package/python/biocore_model/extreme_scenarios.py +205 -0
  151. package/python/biocore_model/feedback_flow.py +227 -0
  152. package/python/biocore_model/feedback_guard.py +129 -0
  153. package/python/biocore_model/feedback_llm.py +163 -0
  154. package/python/biocore_model/feedback_memory.py +96 -0
  155. package/python/biocore_model/feedback_user.py +93 -0
  156. package/python/biocore_model/frustration_curve.py +110 -0
  157. package/python/biocore_model/granularity.py +283 -0
  158. package/python/biocore_model/graph_extract.py +248 -0
  159. package/python/biocore_model/graph_recall.py +221 -0
  160. package/python/biocore_model/intent_render.py +91 -0
  161. package/python/biocore_model/intero_core.py +235 -0
  162. package/python/biocore_model/intero_style.py +116 -0
  163. package/python/biocore_model/layered_memory.py +297 -0
  164. package/python/biocore_model/learning_probe.py +120 -0
  165. package/python/biocore_model/memory_dual.py +224 -0
  166. package/python/biocore_model/memory_forgetting.py +125 -0
  167. package/python/biocore_model/memory_store.py +1399 -0
  168. package/python/biocore_model/metacog.py +153 -0
  169. package/python/biocore_model/migrate.py +733 -0
  170. package/python/biocore_model/migrate_store.py +337 -0
  171. package/python/biocore_model/mind_wander.py +111 -0
  172. package/python/biocore_model/mood.py +48 -0
  173. package/python/biocore_model/narrative.py +172 -0
  174. package/python/biocore_model/needs_esteem.py +116 -0
  175. package/python/biocore_model/needs_events.py +137 -0
  176. package/python/biocore_model/needs_sleep.py +72 -0
  177. package/python/biocore_model/noise_bank.py +95 -0
  178. package/python/biocore_model/persona_flow.mjs +25 -0
  179. package/python/biocore_model/pipeline.py +240 -0
  180. package/python/biocore_model/pipeline_api.py +200 -0
  181. package/python/biocore_model/plugin_config.py +83 -0
  182. package/python/biocore_model/plugin_routes.py +1435 -0
  183. package/python/biocore_model/policy_learning.py +132 -0
  184. package/python/biocore_model/possible_selves.py +110 -0
  185. package/python/biocore_model/predictor.py +178 -0
  186. package/python/biocore_model/preset.py +205 -0
  187. package/python/biocore_model/proactive_context.py +153 -0
  188. package/python/biocore_model/prompt_rules.py +90 -0
  189. package/python/biocore_model/prospective.py +183 -0
  190. package/python/biocore_model/provider_fallback.py +97 -0
  191. package/python/biocore_model/reconstruction.py +132 -0
  192. package/python/biocore_model/regulation_loop.py +179 -0
  193. package/python/biocore_model/regulation_strategies.py +294 -0
  194. package/python/biocore_model/relation_stage.py +130 -0
  195. package/python/biocore_model/relationship_stage.py +95 -0
  196. package/python/biocore_model/render.py +901 -0
  197. package/python/biocore_model/render_guard.mjs +34 -0
  198. package/python/biocore_model/repair_after_boundary.py +350 -0
  199. package/python/biocore_model/reply_limit.py +183 -0
  200. package/python/biocore_model/reply_split.py +203 -0
  201. package/python/biocore_model/rollback.py +143 -0
  202. package/python/biocore_model/runtime.py +479 -0
  203. package/python/biocore_model/sanitize.py +200 -0
  204. package/python/biocore_model/scheduler.py +123 -0
  205. package/python/biocore_model/schema.py +120 -0
  206. package/python/biocore_model/secrecy.py +145 -0
  207. package/python/biocore_model/self_esteem.py +50 -0
  208. package/python/biocore_model/self_intent.py +437 -0
  209. package/python/biocore_model/self_interest.py +263 -0
  210. package/python/biocore_model/self_verification.py +178 -0
  211. package/python/biocore_model/services.py +78 -0
  212. package/python/biocore_model/situation.py +254 -0
  213. package/python/biocore_model/sleep_circadian.py +116 -0
  214. package/python/biocore_model/social_pain.py +69 -0
  215. package/python/biocore_model/social_repair.py +111 -0
  216. package/python/biocore_model/social_theory.py +131 -0
  217. package/python/biocore_model/source_monitoring.py +292 -0
  218. package/python/biocore_model/stages.py +487 -0
  219. package/python/biocore_model/state_tag.py +231 -0
  220. package/python/biocore_model/switch_groups.mjs +201 -0
  221. package/python/biocore_model/tabs_state.mjs +37 -0
  222. package/python/biocore_model/template_expr.py +252 -0
  223. package/python/biocore_model/tools/caps_check.mjs +23 -0
  224. package/python/biocore_model/tools/init_symbols_check.mjs +11 -0
  225. package/python/biocore_model/tools/missing_ids.mjs +16 -0
  226. package/python/biocore_model/tools/scope_check.mjs +19 -0
  227. package/python/biocore_model/topic_control.py +268 -0
  228. package/python/biocore_model/turn_memory.py +152 -0
  229. package/python/biocore_model/ui_compat.mjs +48 -0
  230. package/python/biocore_model/ui_settings.py +266 -0
  231. package/python/biocore_model/ui_settings.py.bak_authority +108 -0
  232. package/python/biocore_model/value_order.py +186 -0
  233. package/python/biocore_model/view_mode.mjs +8 -0
  234. package/python/biocore_model/voice_bank.py +177 -0
  235. package/python/biocore_model/waiting_sense.py +229 -0
  236. package/python/biocore_model/x_directives.py +142 -0
  237. package/python/biocore_runtime/__init__.py +7 -0
  238. package/python/biocore_runtime/pipeline.py +1915 -0
  239. package/python/dsh_adapter/README.md +96 -0
  240. package/python/dsh_adapter/adapter.py +1077 -0
  241. package/python/dsh_adapter/cli.py +107 -0
  242. package/python/dsh_adapter/data/demo_state.json +164 -0
  243. package/python/dsh_adapter/data/verify_state.json +164 -0
  244. package/python/dsh_adapter/tests/__init__.py +1 -0
  245. package/python/dsh_adapter/tests/test_adapter.py +494 -0
  246. package/ui/panel-layout.js +3 -3
  247. package/ui/panel.css +53 -6
  248. package/ui/panel.html +33 -32
  249. package/ui/panel.js +9 -1
  250. package/lib/py/__pycache__/bridge.cpython-310.pyc +0 -0
@@ -0,0 +1,107 @@
1
+ # -*- coding: utf-8 -*-
2
+ """CLI demo: run BioCore turns through the DSH adapter and print the result."""
3
+ from __future__ import annotations
4
+
5
+ import argparse
6
+ import json
7
+ import sys
8
+ from pathlib import Path
9
+
10
+ sys.path.insert(0, str(Path(__file__).resolve().parent))
11
+
12
+ import adapter
13
+
14
+ DEMO_TEXTS = (
15
+ "谢谢你,今天好多了",
16
+ "今天有点累,先不聊了",
17
+ "抱抱",
18
+ )
19
+
20
+
21
+ def _print_core_diff(before, after):
22
+ old = adapter.state_summary(before)["core"]
23
+ new = adapter.state_summary(after)["core"]
24
+ changed = False
25
+ for key, value in old.items():
26
+ target = new.get(key, value)
27
+ if abs(target - value) >= 0.0005:
28
+ changed = True
29
+ print(" %-12s %6.3f -> %6.3f (%+.3f)"
30
+ % (key, value, target, target - value))
31
+ if not changed:
32
+ print(" (no numeric change)")
33
+
34
+
35
+ def _print_blocks(blocks):
36
+ for block in blocks:
37
+ text = block["content"].replace("\n", " / ")
38
+ print(" [%s] %s" % (block["position"], text))
39
+
40
+
41
+ def main(argv=None):
42
+ parser = argparse.ArgumentParser(
43
+ description="BioCore DSH adapter demo (no AstrBot, no LLM).")
44
+ parser.add_argument("--state", default=str(Path(__file__).resolve().parent
45
+ / "data" / "state.json"),
46
+ help="state JSON path owned by the caller")
47
+ parser.add_argument("--text", action="append",
48
+ help="user text for one turn; repeat for multiple turns")
49
+ parser.add_argument("--reset", action="store_true",
50
+ help="ignore the existing state file and start fresh")
51
+ parser.add_argument("--no-save", action="store_true",
52
+ help="do not write the state back")
53
+ parser.add_argument("--now", type=float, default=None,
54
+ help="injected timestamp for the first turn")
55
+ args = parser.parse_args(argv)
56
+
57
+ if hasattr(sys.stdout, "reconfigure"):
58
+ sys.stdout.reconfigure(encoding="utf-8")
59
+
60
+ store = Path(args.state)
61
+ state = adapter.default_state() if args.reset else adapter.load_state(store)
62
+ state["session_id"] = str(state.get("session_id") or "cli-demo")
63
+ texts = args.text or list(DEMO_TEXTS)
64
+ print("state:", store, "| turn:", state.get("turn"), "| now:", state.get("now"))
65
+ if args.reset:
66
+ print("(reset: fresh default state)")
67
+
68
+ for index, text in enumerate(texts, start=1):
69
+ before = state
70
+ result = adapter.one_turn(text, state, now=args.now if index == 1 else None)
71
+ state = result["state_after"]
72
+ hint = result["reply_hint"]
73
+ debug = result["debug"]
74
+ print("\n== turn %d input=%r" % (index, text))
75
+ print("classifier kind: %s | deltas: %s"
76
+ % (debug["kind"], json.dumps(debug["deltas"], ensure_ascii=False)))
77
+ print("state diff:")
78
+ _print_core_diff(before, state)
79
+ print("constraints: "
80
+ + json.dumps({key: hint.get(key) for key in
81
+ ("length_scale", "initiative", "tone",
82
+ "allow_correction", "sources")},
83
+ ensure_ascii=False))
84
+ print("tick:", json.dumps(debug["tick"], ensure_ascii=False))
85
+ print("prompt blocks:")
86
+ _print_blocks(result["prompt_blocks"])
87
+ payload = adapter.state_payload(state, session_id=state["session_id"])
88
+ print("ui payload: rows=%d available=%s degraded=%s"
89
+ % (len(adapter.FIELD_PATHS), payload["available"],
90
+ payload["degraded"]))
91
+ print("first screen: v=%.2f tension=%.2f warmth=%.2f heaviness=%.2f"
92
+ " clarity=%.2f | tone=%s relation=%s autonomy=%s"
93
+ % (payload["v"], payload["intero"]["tension"],
94
+ payload["intero"]["warmth"], payload["intero"]["heaviness"],
95
+ payload["intero"]["clarity"], payload["tone"]["label"] or "正常",
96
+ payload["relation"]["stage"], payload["autonomy"]["state"]))
97
+
98
+ if not args.no_save:
99
+ saved = adapter.save_state(state, store)
100
+ print("\nsaved:", saved)
101
+ else:
102
+ print("\n(not saved: --no-save)")
103
+ return 0
104
+
105
+
106
+ if __name__ == "__main__":
107
+ raise SystemExit(main())
@@ -0,0 +1,164 @@
1
+ {
2
+ "autonomy": {
3
+ "cooldown_until": 0.0,
4
+ "enabled": false,
5
+ "hourly_cap": 3,
6
+ "next_window_s": null,
7
+ "ready": null,
8
+ "sent_today": 0
9
+ },
10
+ "core": {
11
+ "a": 0.4,
12
+ "allostatic_load": 0.0,
13
+ "arousal_decay_minutes": 30.0,
14
+ "boundary_pressure": 0.0,
15
+ "circadian_alertness": 0.75,
16
+ "conflict_ema": 0.0,
17
+ "d": 0.55,
18
+ "emotion_decay_factors": {},
19
+ "energy": 0.3544,
20
+ "intero": {
21
+ "clarity": 0.709,
22
+ "heaviness": 0.293,
23
+ "tension": 0.2967,
24
+ "ts": 900.0,
25
+ "warmth": 0.5959
26
+ },
27
+ "labels": {
28
+ "emotion": "neutral"
29
+ },
30
+ "last_bio_tick_ts": 900.0,
31
+ "mood_arousal": 0.4,
32
+ "mood_valence": 0.0,
33
+ "needs": {
34
+ "belonging": 0.5966,
35
+ "control": 0.6,
36
+ "last_tick_ts": 900.0,
37
+ "meaningful_existence": 0.6,
38
+ "self_esteem": 0.6
39
+ },
40
+ "pending_intent": null,
41
+ "self_esteem": 0.64,
42
+ "sleep_debt": 0.084,
43
+ "social": 0.6083,
44
+ "social_decay_minutes": 180.0,
45
+ "social_pain": 0.01,
46
+ "stress": 0.2358,
47
+ "v": 0.0142,
48
+ "valence_decay_minutes": 120.0
49
+ },
50
+ "days_known": 30.0,
51
+ "errors": [],
52
+ "history": [
53
+ {
54
+ "clarity": 0.7,
55
+ "heaviness": 0.3,
56
+ "tension": 0.3,
57
+ "ts": 300.0,
58
+ "v": 0.02,
59
+ "warmth": 0.6
60
+ },
61
+ {
62
+ "clarity": 0.7047,
63
+ "heaviness": 0.2965,
64
+ "tension": 0.2983,
65
+ "ts": 600.0,
66
+ "v": 0.0146,
67
+ "warmth": 0.5979
68
+ },
69
+ {
70
+ "clarity": 0.709,
71
+ "heaviness": 0.293,
72
+ "tension": 0.2967,
73
+ "ts": 900.0,
74
+ "v": 0.0142,
75
+ "warmth": 0.5959
76
+ }
77
+ ],
78
+ "last_turn": {
79
+ "intent": "hold",
80
+ "length_source": [
81
+ "exit_or_silence",
82
+ "metacog",
83
+ "state"
84
+ ],
85
+ "metacog_band": "中",
86
+ "prompt_diff": [
87
+ {
88
+ "chars": 53,
89
+ "position": "before_history"
90
+ },
91
+ {
92
+ "chars": 10,
93
+ "position": "before_history"
94
+ }
95
+ ],
96
+ "state_delta": [
97
+ {
98
+ "after": 0.6083,
99
+ "before": 0.5794,
100
+ "field": "social",
101
+ "source": "user"
102
+ },
103
+ {
104
+ "after": 0.2358,
105
+ "before": 0.2416,
106
+ "field": "stress",
107
+ "source": "user"
108
+ },
109
+ {
110
+ "after": 0.3544,
111
+ "before": 0.3516,
112
+ "field": "energy",
113
+ "source": "bio_tick"
114
+ },
115
+ {
116
+ "after": 0.084,
117
+ "before": 0.042,
118
+ "field": "sleep_debt",
119
+ "source": "bio_tick"
120
+ }
121
+ ],
122
+ "turn": {
123
+ "allow_correction": false,
124
+ "cap": 31,
125
+ "directive_sources": [
126
+ "exit_or_silence",
127
+ "metacog",
128
+ "state"
129
+ ],
130
+ "initiative": 0.446,
131
+ "length_factor": 1.025,
132
+ "target": 10
133
+ }
134
+ },
135
+ "memory": {
136
+ "count": 0,
137
+ "last_recall": null,
138
+ "pinned": 0,
139
+ "recent": [],
140
+ "tombstones": 0
141
+ },
142
+ "now": 900.0,
143
+ "relationship": {
144
+ "attachment_style": "secure",
145
+ "bids": 0.0,
146
+ "closeness": 0.5,
147
+ "conflict": 0.0,
148
+ "trust": 0.5
149
+ },
150
+ "seen": {
151
+ "8b336750aac42a94": 300.0,
152
+ "ba120377e35c39e3": 600.0,
153
+ "dfb0354180674cd9": 900.0
154
+ },
155
+ "session_id": "cli-demo",
156
+ "settings": {
157
+ "boundary_enabled": true,
158
+ "crisis_safety_enabled": true,
159
+ "proactive_send": false,
160
+ "safety_enabled": false
161
+ },
162
+ "turn": 3,
163
+ "version": 1
164
+ }
@@ -0,0 +1,164 @@
1
+ {
2
+ "autonomy": {
3
+ "cooldown_until": 0.0,
4
+ "enabled": false,
5
+ "hourly_cap": 3,
6
+ "next_window_s": null,
7
+ "ready": null,
8
+ "sent_today": 0
9
+ },
10
+ "core": {
11
+ "a": 0.4,
12
+ "allostatic_load": 0.0,
13
+ "arousal_decay_minutes": 30.0,
14
+ "boundary_pressure": 0.0,
15
+ "circadian_alertness": 0.75,
16
+ "conflict_ema": 0.0,
17
+ "d": 0.55,
18
+ "emotion_decay_factors": {},
19
+ "energy": 0.3544,
20
+ "intero": {
21
+ "clarity": 0.709,
22
+ "heaviness": 0.293,
23
+ "tension": 0.2967,
24
+ "ts": 900.0,
25
+ "warmth": 0.5959
26
+ },
27
+ "labels": {
28
+ "emotion": "neutral"
29
+ },
30
+ "last_bio_tick_ts": 900.0,
31
+ "mood_arousal": 0.4,
32
+ "mood_valence": 0.0,
33
+ "needs": {
34
+ "belonging": 0.5966,
35
+ "control": 0.6,
36
+ "last_tick_ts": 900.0,
37
+ "meaningful_existence": 0.6,
38
+ "self_esteem": 0.6
39
+ },
40
+ "pending_intent": null,
41
+ "self_esteem": 0.64,
42
+ "sleep_debt": 0.084,
43
+ "social": 0.6083,
44
+ "social_decay_minutes": 180.0,
45
+ "social_pain": 0.01,
46
+ "stress": 0.2358,
47
+ "v": 0.0142,
48
+ "valence_decay_minutes": 120.0
49
+ },
50
+ "days_known": 30.0,
51
+ "errors": [],
52
+ "history": [
53
+ {
54
+ "clarity": 0.7,
55
+ "heaviness": 0.3,
56
+ "tension": 0.3,
57
+ "ts": 300.0,
58
+ "v": 0.02,
59
+ "warmth": 0.6
60
+ },
61
+ {
62
+ "clarity": 0.7047,
63
+ "heaviness": 0.2965,
64
+ "tension": 0.2983,
65
+ "ts": 600.0,
66
+ "v": 0.0146,
67
+ "warmth": 0.5979
68
+ },
69
+ {
70
+ "clarity": 0.709,
71
+ "heaviness": 0.293,
72
+ "tension": 0.2967,
73
+ "ts": 900.0,
74
+ "v": 0.0142,
75
+ "warmth": 0.5959
76
+ }
77
+ ],
78
+ "last_turn": {
79
+ "intent": "hold",
80
+ "length_source": [
81
+ "exit_or_silence",
82
+ "metacog",
83
+ "state"
84
+ ],
85
+ "metacog_band": "中",
86
+ "prompt_diff": [
87
+ {
88
+ "chars": 53,
89
+ "position": "before_history"
90
+ },
91
+ {
92
+ "chars": 10,
93
+ "position": "before_history"
94
+ }
95
+ ],
96
+ "state_delta": [
97
+ {
98
+ "after": 0.6083,
99
+ "before": 0.5794,
100
+ "field": "social",
101
+ "source": "user"
102
+ },
103
+ {
104
+ "after": 0.2358,
105
+ "before": 0.2416,
106
+ "field": "stress",
107
+ "source": "user"
108
+ },
109
+ {
110
+ "after": 0.3544,
111
+ "before": 0.3516,
112
+ "field": "energy",
113
+ "source": "bio_tick"
114
+ },
115
+ {
116
+ "after": 0.084,
117
+ "before": 0.042,
118
+ "field": "sleep_debt",
119
+ "source": "bio_tick"
120
+ }
121
+ ],
122
+ "turn": {
123
+ "allow_correction": false,
124
+ "cap": 31,
125
+ "directive_sources": [
126
+ "exit_or_silence",
127
+ "metacog",
128
+ "state"
129
+ ],
130
+ "initiative": 0.446,
131
+ "length_factor": 1.025,
132
+ "target": 10
133
+ }
134
+ },
135
+ "memory": {
136
+ "count": 0,
137
+ "last_recall": null,
138
+ "pinned": 0,
139
+ "recent": [],
140
+ "tombstones": 0
141
+ },
142
+ "now": 900.0,
143
+ "relationship": {
144
+ "attachment_style": "secure",
145
+ "bids": 0.0,
146
+ "closeness": 0.5,
147
+ "conflict": 0.0,
148
+ "trust": 0.5
149
+ },
150
+ "seen": {
151
+ "8b336750aac42a94": 300.0,
152
+ "ba120377e35c39e3": 600.0,
153
+ "dfb0354180674cd9": 900.0
154
+ },
155
+ "session_id": "cli-demo",
156
+ "settings": {
157
+ "boundary_enabled": true,
158
+ "crisis_safety_enabled": true,
159
+ "proactive_send": false,
160
+ "safety_enabled": false
161
+ },
162
+ "turn": 3,
163
+ "version": 1
164
+ }
@@ -0,0 +1 @@
1
+ # -*- coding: utf-8 -*-