forge-openclaw-plugin 0.2.26 → 0.2.27

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 (108) hide show
  1. package/README.md +59 -3
  2. package/dist/assets/{board-ta0rUHOf.js → board-C6jCchjI.js} +2 -2
  3. package/dist/assets/{board-ta0rUHOf.js.map → board-C6jCchjI.js.map} +1 -1
  4. package/dist/assets/index-DVvS8iiU.css +1 -0
  5. package/dist/assets/index-zYB-9Dfo.js +85 -0
  6. package/dist/assets/index-zYB-9Dfo.js.map +1 -0
  7. package/dist/assets/knowledge-graph-layout.worker-DRvzPxhP.js +2 -0
  8. package/dist/assets/knowledge-graph-layout.worker-DRvzPxhP.js.map +1 -0
  9. package/dist/assets/{motion-fBKPB6yw.js → motion-DFHrH2rd.js} +2 -2
  10. package/dist/assets/{motion-fBKPB6yw.js.map → motion-DFHrH2rd.js.map} +1 -1
  11. package/dist/assets/{table-C-IGTQni.js → table-ZL7Di_u3.js} +2 -2
  12. package/dist/assets/{table-C-IGTQni.js.map → table-ZL7Di_u3.js.map} +1 -1
  13. package/dist/assets/{ui-DInOpaYF.js → ui-CKNPpz7q.js} +2 -2
  14. package/dist/assets/{ui-DInOpaYF.js.map → ui-CKNPpz7q.js.map} +1 -1
  15. package/dist/assets/vendor-DoNZuFhn.js +1247 -0
  16. package/dist/assets/vendor-DoNZuFhn.js.map +1 -0
  17. package/dist/index.html +7 -7
  18. package/dist/openclaw/local-runtime.js +16 -0
  19. package/dist/openclaw/routes.d.ts +27 -0
  20. package/dist/openclaw/routes.js +16 -12
  21. package/dist/server/server/migrations/037_workbench_public_inputs_and_run_inputs.sql +5 -0
  22. package/dist/server/server/migrations/038_data_management_settings.sql +11 -0
  23. package/dist/server/server/migrations/039_life_force_and_action_points.sql +114 -0
  24. package/dist/server/server/migrations/040_screen_time_domain.sql +89 -0
  25. package/dist/server/server/migrations/041_companion_source_states.sql +21 -0
  26. package/dist/server/server/migrations/042_movement_boxes.sql +47 -0
  27. package/dist/server/server/migrations/043_movement_box_overlap_overrides.sql +26 -0
  28. package/dist/server/server/src/app.js +1684 -117
  29. package/dist/server/server/src/connectors/box-registry.js +44 -9
  30. package/dist/server/server/src/data-management-types.js +107 -0
  31. package/dist/server/server/src/db.js +68 -4
  32. package/dist/server/server/src/demo-data.js +2 -2
  33. package/dist/server/server/src/health.js +702 -18
  34. package/dist/server/server/src/managers/platform/llm-manager.js +7 -4
  35. package/dist/server/server/src/managers/platform/mock-workbench-provider.js +149 -0
  36. package/dist/server/server/src/managers/platform/secrets-manager.js +18 -1
  37. package/dist/server/server/src/managers/runtime.js +9 -0
  38. package/dist/server/server/src/movement.js +1971 -112
  39. package/dist/server/server/src/openapi.js +489 -1
  40. package/dist/server/server/src/psyche-types.js +9 -1
  41. package/dist/server/server/src/repositories/activity-events.js +8 -0
  42. package/dist/server/server/src/repositories/ai-connectors.js +522 -74
  43. package/dist/server/server/src/repositories/habits.js +37 -1
  44. package/dist/server/server/src/repositories/model-settings.js +13 -3
  45. package/dist/server/server/src/repositories/notes.js +3 -0
  46. package/dist/server/server/src/repositories/settings.js +380 -18
  47. package/dist/server/server/src/repositories/tasks.js +170 -10
  48. package/dist/server/server/src/runtime-data-root.js +82 -0
  49. package/dist/server/server/src/screen-time.js +802 -0
  50. package/dist/server/server/src/services/data-management.js +788 -0
  51. package/dist/server/server/src/services/entity-crud.js +205 -2
  52. package/dist/server/server/src/services/knowledge-graph.js +1455 -0
  53. package/dist/server/server/src/services/life-force-model.js +197 -0
  54. package/dist/server/server/src/services/life-force.js +1270 -0
  55. package/dist/server/server/src/services/psyche-observation-calendar.js +383 -16
  56. package/dist/server/server/src/types.js +286 -13
  57. package/dist/server/server/src/web.js +228 -13
  58. package/dist/server/src/components/customization/utility-widgets.js +136 -27
  59. package/dist/server/src/components/ui/info-tooltip.js +25 -0
  60. package/dist/server/src/components/workbench-boxes/calendar/calendar-boxes.js +78 -0
  61. package/dist/server/src/components/workbench-boxes/goals/goals-boxes.js +62 -0
  62. package/dist/server/src/components/workbench-boxes/habits/habits-boxes.js +62 -0
  63. package/dist/server/src/components/workbench-boxes/health/health-boxes.js +63 -8
  64. package/dist/server/src/components/workbench-boxes/insights/insights-boxes.js +50 -0
  65. package/dist/server/src/components/workbench-boxes/kanban/kanban-boxes.js +62 -54
  66. package/dist/server/src/components/workbench-boxes/movement/movement-boxes.js +18 -8
  67. package/dist/server/src/components/workbench-boxes/notes/notes-boxes.js +56 -38
  68. package/dist/server/src/components/workbench-boxes/overview/overview-boxes.js +65 -0
  69. package/dist/server/src/components/workbench-boxes/preferences/preferences-boxes.js +78 -0
  70. package/dist/server/src/components/workbench-boxes/projects/projects-boxes.js +35 -30
  71. package/dist/server/src/components/workbench-boxes/psyche/psyche-boxes.js +88 -0
  72. package/dist/server/src/components/workbench-boxes/questionnaires/questionnaires-boxes.js +61 -0
  73. package/dist/server/src/components/workbench-boxes/review/review-boxes.js +53 -0
  74. package/dist/server/src/components/workbench-boxes/shared/define-workbench-box.js +3 -1
  75. package/dist/server/src/components/workbench-boxes/shared/generic-node-view.js +39 -3
  76. package/dist/server/src/components/workbench-boxes/strategies/strategies-boxes.js +62 -0
  77. package/dist/server/src/components/workbench-boxes/tasks/tasks-boxes.js +76 -0
  78. package/dist/server/src/components/workbench-boxes/today/today-boxes.js +47 -32
  79. package/dist/server/src/components/workbench-boxes/wiki/wiki-boxes.js +60 -0
  80. package/dist/server/src/lib/api.js +280 -21
  81. package/dist/server/src/lib/data-management-types.js +1 -0
  82. package/dist/server/src/lib/entity-visuals.js +279 -0
  83. package/dist/server/src/lib/knowledge-graph-types.js +276 -0
  84. package/dist/server/src/lib/knowledge-graph.js +470 -0
  85. package/dist/server/src/lib/schemas.js +4 -0
  86. package/dist/server/src/lib/snapshot-normalizer.js +43 -1
  87. package/dist/server/src/lib/workbench/contracts.js +229 -0
  88. package/dist/server/src/lib/workbench/nodes.js +200 -0
  89. package/dist/server/src/lib/workbench/registry.js +52 -5
  90. package/dist/server/src/lib/workbench/runtime.js +254 -38
  91. package/dist/server/src/lib/workbench/tool-catalog.js +68 -0
  92. package/openclaw.plugin.json +1 -1
  93. package/package.json +1 -1
  94. package/server/migrations/037_workbench_public_inputs_and_run_inputs.sql +5 -0
  95. package/server/migrations/038_data_management_settings.sql +11 -0
  96. package/server/migrations/039_life_force_and_action_points.sql +114 -0
  97. package/server/migrations/040_screen_time_domain.sql +89 -0
  98. package/server/migrations/041_companion_source_states.sql +21 -0
  99. package/server/migrations/042_movement_boxes.sql +47 -0
  100. package/server/migrations/043_movement_box_overlap_overrides.sql +26 -0
  101. package/skills/forge-openclaw/SKILL.md +24 -11
  102. package/skills/forge-openclaw/entity_conversation_playbooks.md +210 -34
  103. package/skills/forge-openclaw/psyche_entity_playbooks.md +113 -17
  104. package/dist/assets/index-Ro0ZF_az.css +0 -1
  105. package/dist/assets/index-ytlpSj23.js +0 -79
  106. package/dist/assets/index-ytlpSj23.js.map +0 -1
  107. package/dist/assets/vendor-lE3tZJcC.js +0 -876
  108. package/dist/assets/vendor-lE3tZJcC.js.map +0 -1
@@ -9,6 +9,8 @@ Forge without turning the conversation into a worksheet.
9
9
 
10
10
  - Sound like a careful, grounded therapist who is helping the person clarify their own
11
11
  experience, not like a schema form and not like a lecturer.
12
+ - Name the emotional center or lived stake in plain language before the next question
13
+ whenever that would help the user feel accurately understood.
12
14
  - Stay collaborative. Do not claim certainty about what a belief, pattern, or mode
13
15
  "really is".
14
16
  - Start from lived experience before abstraction.
@@ -36,6 +38,8 @@ Forge without turning the conversation into a worksheet.
36
38
  improves understanding and leave the others for later.
37
39
  - Before the next question, reflect back what you just heard in one or two sentences so
38
40
  the user can feel understood and correct you if needed.
41
+ - When the material is charged, ask permission before moving from understanding into
42
+ naming, challenging, or solution-finding.
39
43
  - Before you ask for change, naming, or repair, usually ask what the experience is
40
44
  trying to protect, prevent, or hold onto.
41
45
  - The warmth should come from accuracy and steadiness, not from extra softness,
@@ -49,6 +53,10 @@ Forge without turning the conversation into a worksheet.
49
53
  already grounded enough that it will deepen rather than blur the picture.
50
54
  - Before you ask for the user's preferred fix, understand what the response is trying
51
55
  to protect, achieve, or prevent.
56
+ - If several Psyche entities are visible at once, choose the clearest primary
57
+ container first and hold the others lightly until the user wants to map them.
58
+ - When the user has said enough for an accurate working formulation, stop deepening and
59
+ help them name it cleanly.
52
60
 
53
61
  ## Therapist micro-skills
54
62
 
@@ -58,6 +66,10 @@ Reflect:
58
66
 
59
67
  - briefly mirror the user's felt sense, stake, or sequence in plain language
60
68
 
69
+ Contain:
70
+
71
+ - give a short summary that makes the moment feel holdable before you deepen or name it
72
+
61
73
  Locate:
62
74
 
63
75
  - ask where this shows up most clearly: the last moment, the first cue, the body
@@ -86,6 +98,23 @@ Connect:
86
98
  - when another record is clearly present, ask whether the user wants to link it now,
87
99
  save it separately later, or just keep it in the note/context for now
88
100
 
101
+ ## Therapeutic Direction Check
102
+
103
+ Before each follow-up, quickly decide what therapeutic job the next question should do.
104
+
105
+ 1. Contain: does the user first need a short accurate summary so the experience feels
106
+ held?
107
+ 2. Locate: do you still need the concrete moment, cue, body signal, or sequence?
108
+ 3. Deepen: is the next useful lane situation, meaning, protection, cost, longing, or
109
+ naming?
110
+ 4. Formulate: is the experience coherent enough that a candidate sentence or title
111
+ would now help?
112
+ 5. Connect: is there an adjacent value, belief, mode, pattern, note, or task that is
113
+ clear enough to link without derailing the main work?
114
+
115
+ If the answer is formulate or connect, do not ask another exploratory question first
116
+ unless something still feels materially unclear.
117
+
89
118
  ## First-turn rule
90
119
 
91
120
  When the user wants help understanding a Psyche issue before saving it:
@@ -113,6 +142,51 @@ opening:
113
142
  - one missing-detail question
114
143
  - then move toward the write instead of forcing exploration
115
144
 
145
+ ## Therapeutic turn shapes
146
+
147
+ Keep the pacing human and intentional.
148
+
149
+ Opening turn:
150
+
151
+ - one short reflection that names the felt stake
152
+ - one grounded question about the nearest real moment
153
+
154
+ Middle turn:
155
+
156
+ - reflect what became clearer
157
+ - name the function, fear, cost, or longing that seems most central now
158
+ - ask one question that deepens only that lane
159
+
160
+ Naming turn:
161
+
162
+ - offer one careful sentence or title when the experience is coherent enough
163
+ - ask whether it feels true, too sharp, or still incomplete
164
+
165
+ Closing turn:
166
+
167
+ - summarize the working formulation in the user's language
168
+ - ask whether it feels true enough to save and whether anything adjacent should be
169
+ linked
170
+ - if the user says it lands, move toward the write instead of reopening exploration
171
+
172
+ ## Name, Define, Connect
173
+
174
+ Use this checkpoint once the material is coherent enough.
175
+
176
+ Name:
177
+
178
+ - offer one careful sentence or title that captures the core lived meaning
179
+
180
+ Define:
181
+
182
+ - clarify what makes this belief, pattern, mode, value, behavior, or report distinct
183
+ from nearby possibilities
184
+
185
+ Connect:
186
+
187
+ - only after the primary formulation feels steady, ask whether an adjacent value,
188
+ belief, mode, pattern, note, or task should be linked or mapped separately
189
+
116
190
  ## Lane chooser
117
191
 
118
192
  After each real answer, choose the next best lane. Do not mix several lanes at once.
@@ -163,7 +237,7 @@ Link lane:
163
237
  A strong follow-up usually has three parts:
164
238
 
165
239
  1. one short reflection grounded in the user's words
166
- 2. one sentence naming what feels most important so far
240
+ 2. one sentence naming what feels most threatened, protected, or important so far
167
241
  3. one focused next question
168
242
 
169
243
  Example shape:
@@ -182,11 +256,17 @@ Another strong shape when the user is getting abstract:
182
256
  - Do not front-load a finished case formulation.
183
257
  - Do not introduce replacement beliefs, softer reframes, or tidy interpretations until
184
258
  the user has answered at least one real exploratory question.
259
+ - Do not ask for evidence, alternative beliefs, or repair plans before the user has had
260
+ a fair chance to feel that the original experience was captured accurately.
261
+ - Do not make the user prove the experience before you have helped them feel that you
262
+ understood it.
185
263
  - Help the user recognize the experience before you help them improve it.
186
264
  - When the user is close to the feeling but far from the wording, offer one careful
187
265
  candidate sentence or title and ask whether it fits.
188
266
  - If nuance matters, preserve it in a linked Markdown `note` instead of forcing every
189
267
  detail into normalized fields.
268
+ - Do not widen into adjacent entities until the current one has a working sentence the
269
+ user recognizes.
190
270
  - Before saving, give a short working summary in the user's own language and ask
191
271
  whether it feels true enough.
192
272
  - A good final check is often:
@@ -215,6 +295,7 @@ Sometimes the user asks to save a Psyche entity directly.
215
295
  If the entity is already clear:
216
296
 
217
297
  - reflect briefly
298
+ - name the core meaning in the user's language
218
299
  - ask only for the one missing structural detail
219
300
  - save without forcing extra exploration
220
301
 
@@ -224,6 +305,8 @@ If the entity is not yet clear:
224
305
  - prefer a question about the most recent example, the protective job, or the core
225
306
  meaning
226
307
  - then move toward naming and save
308
+ - once the user accepts the wording, do not reopen deeper exploration unless they ask
309
+ for it
227
310
 
228
311
  ## Psyche update loop
229
312
 
@@ -236,6 +319,9 @@ from scratch.
236
319
  4. Ask for one concrete recent example if the update is abstract or sweeping.
237
320
  5. Then change only the parts the new understanding actually affects.
238
321
 
322
+ If the update is mostly about wording, offer one revised sentence yourself and ask
323
+ whether it lands more accurately before you reopen the whole exploration.
324
+
239
325
  Good update opener:
240
326
 
241
327
  - "Before we change it, what feels newly true about this now, and what still feels basically right?"
@@ -254,10 +340,11 @@ Aim: clarify a direction to live toward, not a goal to complete.
254
340
  Arc:
255
341
 
256
342
  1. Ask when the pull or absence of the value felt noticeable recently.
257
- 2. Ask how living it would look in ordinary behavior.
258
- 3. Separate the value from a performance target.
259
- 4. Ask what gets in the way.
260
- 5. Land on one concrete expression or committed action.
343
+ 2. Reflect the longing, pain, or importance that makes the value alive right now.
344
+ 3. Ask how living it would look in ordinary behavior.
345
+ 4. Separate the value from a performance target.
346
+ 5. Ask what gets in the way.
347
+ 6. Land on one concrete expression or committed action.
261
348
 
262
349
  Helpful follow-up lanes:
263
350
 
@@ -367,9 +454,12 @@ Arc:
367
454
  1. Ask what the experience starts telling the user in that moment.
368
455
  2. Help condense it into one belief sentence in the user's own language.
369
456
  3. Clarify whether it is `absolute` or `conditional`.
370
- 4. Ask how true it feels from `0` to `100`.
371
- 5. Gather one or two pieces of supporting evidence and one or two strains against it.
372
- 6. Ask where the rule feels learned, reinforced, or familiar.
457
+ 4. Ask how true it feels from `0` to `100` only if that helps the user feel the force
458
+ of it more clearly.
459
+ 5. Ask where the rule feels learned, reinforced, or familiar if that would deepen the
460
+ formulation.
461
+ 6. Gather supporting or weakening evidence only if the user wants fuller examination
462
+ or if the wording is still fuzzy.
373
463
  7. Offer a more flexible alternative only if the user wants that and only after the
374
464
  belief itself is clear.
375
465
 
@@ -378,8 +468,8 @@ Helpful follow-up lanes:
378
468
  - the feared consequence inside the belief
379
469
  - what the moment seems to prove
380
470
  - how old or familiar the rule feels
381
- - evidence for
382
- - evidence against
471
+ - evidence for only if the user wants to examine it
472
+ - evidence against only if the user wants to examine it
383
473
  - whether the user wants help drafting a more flexible version
384
474
 
385
475
  Likely linked entities:
@@ -392,7 +482,7 @@ Ready to save when:
392
482
 
393
483
  - the belief can be written as one sentence
394
484
  - `beliefType` is clear
395
- - there is at least some confidence and one piece of supporting or weakening evidence
485
+ - the emotional meaning of the sentence is clear enough to recognize later
396
486
 
397
487
  Preferred opening question:
398
488
 
@@ -411,6 +501,8 @@ Arc:
411
501
  5. Choose the mode family only after the lived description is clearer.
412
502
  6. Ask when it first became necessary or familiar.
413
503
  7. Ask what a healthier relationship to the mode would require.
504
+ 8. Offer one candidate formulation yourself when the user has the experience but not
505
+ the wording.
414
506
 
415
507
  Helpful follow-up lanes:
416
508
 
@@ -446,7 +538,9 @@ Arc:
446
538
  2. Ask what the part is feeling, saying, stopping, or pushing for.
447
539
  3. Ask what it fears and what it seems to need.
448
540
  4. Reflect the answers before suggesting interpretations.
449
- 5. Offer one or two candidate mode labels only after enough evidence exists.
541
+ 5. Ask permission before moving from exploration into candidate labels if the material
542
+ still feels charged.
543
+ 6. Offer one or two candidate mode labels only after enough evidence exists.
450
544
 
451
545
  Helpful follow-up lanes:
452
546
 
@@ -480,11 +574,13 @@ Arc:
480
574
 
481
575
  1. Anchor the report in one specific episode.
482
576
  2. Ask what happened as concretely as possible.
483
- 3. Ask what emotions, thoughts, and body signals showed up.
484
- 4. Ask what the user did next and what happened after.
485
- 5. Ask what helped short term and what the consequences were later.
486
- 6. Ask what pattern, belief, mode, or value seems most active here.
487
- 7. Ask what would help next time only after the episode itself is clear.
577
+ 3. If the episode still feels hot or confusing, stay with one slice before trying to
578
+ cover the whole chain.
579
+ 4. Ask what emotions, thoughts, and body signals showed up.
580
+ 5. Ask what the user did next and what happened after.
581
+ 6. Ask what helped short term and what the consequences were later.
582
+ 7. Ask what pattern, belief, mode, or value seems most active here.
583
+ 8. Ask what would help next time only after the episode itself is clear.
488
584
 
489
585
  Helpful follow-up lanes:
490
586