forge-openclaw-plugin 0.2.26 → 0.2.28

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 (109) hide show
  1. package/README.md +60 -3
  2. package/dist/assets/{board-ta0rUHOf.js → board-DPFvZf-D.js} +2 -2
  3. package/dist/assets/{board-ta0rUHOf.js.map → board-DPFvZf-D.js.map} +1 -1
  4. package/dist/assets/index-Auw3JrdE.css +1 -0
  5. package/dist/assets/index-D1H7myQH.js +85 -0
  6. package/dist/assets/index-D1H7myQH.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-Bvwc85ch.js} +2 -2
  10. package/dist/assets/{motion-fBKPB6yw.js.map → motion-Bvwc85ch.js.map} +1 -1
  11. package/dist/assets/{table-C-IGTQni.js → table-FJQTJvUR.js} +2 -2
  12. package/dist/assets/{table-C-IGTQni.js.map → table-FJQTJvUR.js.map} +1 -1
  13. package/dist/assets/{ui-DInOpaYF.js → ui-GXFcgvSw.js} +2 -2
  14. package/dist/assets/{ui-DInOpaYF.js.map → ui-GXFcgvSw.js.map} +1 -1
  15. package/dist/assets/vendor-Cwf49UMz.js +1247 -0
  16. package/dist/assets/vendor-Cwf49UMz.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 +1900 -91
  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 +1390 -105
  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/calendar.js +151 -0
  44. package/dist/server/server/src/repositories/habits.js +37 -1
  45. package/dist/server/server/src/repositories/model-settings.js +13 -3
  46. package/dist/server/server/src/repositories/notes.js +3 -0
  47. package/dist/server/server/src/repositories/settings.js +380 -18
  48. package/dist/server/server/src/repositories/tasks.js +170 -10
  49. package/dist/server/server/src/runtime-data-root.js +82 -0
  50. package/dist/server/server/src/screen-time.js +802 -0
  51. package/dist/server/server/src/services/data-management.js +788 -0
  52. package/dist/server/server/src/services/entity-crud.js +205 -2
  53. package/dist/server/server/src/services/knowledge-graph.js +1455 -0
  54. package/dist/server/server/src/services/life-force-model.js +217 -0
  55. package/dist/server/server/src/services/life-force.js +2506 -0
  56. package/dist/server/server/src/services/psyche-observation-calendar.js +383 -16
  57. package/dist/server/server/src/types.js +307 -14
  58. package/dist/server/server/src/web.js +228 -13
  59. package/dist/server/src/components/customization/utility-widgets.js +136 -27
  60. package/dist/server/src/components/ui/info-tooltip.js +25 -0
  61. package/dist/server/src/components/workbench-boxes/calendar/calendar-boxes.js +78 -0
  62. package/dist/server/src/components/workbench-boxes/goals/goals-boxes.js +62 -0
  63. package/dist/server/src/components/workbench-boxes/habits/habits-boxes.js +62 -0
  64. package/dist/server/src/components/workbench-boxes/health/health-boxes.js +63 -8
  65. package/dist/server/src/components/workbench-boxes/insights/insights-boxes.js +50 -0
  66. package/dist/server/src/components/workbench-boxes/kanban/kanban-boxes.js +62 -54
  67. package/dist/server/src/components/workbench-boxes/movement/movement-boxes.js +18 -8
  68. package/dist/server/src/components/workbench-boxes/notes/notes-boxes.js +56 -38
  69. package/dist/server/src/components/workbench-boxes/overview/overview-boxes.js +65 -0
  70. package/dist/server/src/components/workbench-boxes/preferences/preferences-boxes.js +78 -0
  71. package/dist/server/src/components/workbench-boxes/projects/projects-boxes.js +35 -30
  72. package/dist/server/src/components/workbench-boxes/psyche/psyche-boxes.js +88 -0
  73. package/dist/server/src/components/workbench-boxes/questionnaires/questionnaires-boxes.js +61 -0
  74. package/dist/server/src/components/workbench-boxes/review/review-boxes.js +53 -0
  75. package/dist/server/src/components/workbench-boxes/shared/define-workbench-box.js +3 -1
  76. package/dist/server/src/components/workbench-boxes/shared/generic-node-view.js +39 -3
  77. package/dist/server/src/components/workbench-boxes/strategies/strategies-boxes.js +62 -0
  78. package/dist/server/src/components/workbench-boxes/tasks/tasks-boxes.js +76 -0
  79. package/dist/server/src/components/workbench-boxes/today/today-boxes.js +47 -32
  80. package/dist/server/src/components/workbench-boxes/wiki/wiki-boxes.js +60 -0
  81. package/dist/server/src/lib/api.js +280 -21
  82. package/dist/server/src/lib/data-management-types.js +1 -0
  83. package/dist/server/src/lib/entity-visuals.js +279 -0
  84. package/dist/server/src/lib/knowledge-graph-types.js +276 -0
  85. package/dist/server/src/lib/knowledge-graph.js +470 -0
  86. package/dist/server/src/lib/schemas.js +4 -0
  87. package/dist/server/src/lib/snapshot-normalizer.js +45 -1
  88. package/dist/server/src/lib/workbench/contracts.js +229 -0
  89. package/dist/server/src/lib/workbench/nodes.js +200 -0
  90. package/dist/server/src/lib/workbench/registry.js +52 -5
  91. package/dist/server/src/lib/workbench/runtime.js +254 -38
  92. package/dist/server/src/lib/workbench/tool-catalog.js +68 -0
  93. package/openclaw.plugin.json +1 -1
  94. package/package.json +1 -1
  95. package/server/migrations/037_workbench_public_inputs_and_run_inputs.sql +5 -0
  96. package/server/migrations/038_data_management_settings.sql +11 -0
  97. package/server/migrations/039_life_force_and_action_points.sql +114 -0
  98. package/server/migrations/040_screen_time_domain.sql +89 -0
  99. package/server/migrations/041_companion_source_states.sql +21 -0
  100. package/server/migrations/042_movement_boxes.sql +47 -0
  101. package/server/migrations/043_movement_box_overlap_overrides.sql +26 -0
  102. package/skills/forge-openclaw/SKILL.md +41 -11
  103. package/skills/forge-openclaw/entity_conversation_playbooks.md +448 -34
  104. package/skills/forge-openclaw/psyche_entity_playbooks.md +170 -17
  105. package/dist/assets/index-Ro0ZF_az.css +0 -1
  106. package/dist/assets/index-ytlpSj23.js +0 -79
  107. package/dist/assets/index-ytlpSj23.js.map +0 -1
  108. package/dist/assets/vendor-lE3tZJcC.js +0 -876
  109. package/dist/assets/vendor-lE3tZJcC.js.map +0 -1
@@ -9,6 +9,17 @@ 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.
14
+ - Begin close to the living center of the moment:
15
+ danger,
16
+ shame,
17
+ grief,
18
+ anger,
19
+ collapse,
20
+ longing,
21
+ pressure,
22
+ or protection.
12
23
  - Stay collaborative. Do not claim certainty about what a belief, pattern, or mode
13
24
  "really is".
14
25
  - Start from lived experience before abstraction.
@@ -36,6 +47,10 @@ Forge without turning the conversation into a worksheet.
36
47
  improves understanding and leave the others for later.
37
48
  - Before the next question, reflect back what you just heard in one or two sentences so
38
49
  the user can feel understood and correct you if needed.
50
+ - When the material is charged, ask permission before moving from understanding into
51
+ naming, challenging, or solution-finding.
52
+ - Your first job is not interpretation. It is to make the moment feel graspable enough
53
+ that the user can stay with it and describe it.
39
54
  - Before you ask for change, naming, or repair, usually ask what the experience is
40
55
  trying to protect, prevent, or hold onto.
41
56
  - The warmth should come from accuracy and steadiness, not from extra softness,
@@ -49,6 +64,46 @@ Forge without turning the conversation into a worksheet.
49
64
  already grounded enough that it will deepen rather than blur the picture.
50
65
  - Before you ask for the user's preferred fix, understand what the response is trying
51
66
  to protect, achieve, or prevent.
67
+ - If several Psyche entities are visible at once, choose the clearest primary
68
+ container first and hold the others lightly until the user wants to map them.
69
+ - When the user has said enough for an accurate working formulation, stop deepening and
70
+ help them name it cleanly.
71
+
72
+ ## First reflection menu
73
+
74
+ Use one brief reflection that matches the center of the moment before you deepen.
75
+
76
+ Threat:
77
+
78
+ - "Something in this landed as danger very quickly."
79
+
80
+ Shame or collapse:
81
+
82
+ - "The painful part seems to be what this starts to say about your worth."
83
+
84
+ Pressure or control:
85
+
86
+ - "It sounds like a part of you moved fast to keep things from getting worse."
87
+
88
+ Loss or longing:
89
+
90
+ - "There is a lot of ache in what mattered there."
91
+
92
+ Confusion:
93
+
94
+ - "The moment still feels tangled, so let us stay close to one slice of it."
95
+
96
+ ## Permission pivots
97
+
98
+ Use these when you are about to move from understanding into naming, interpretation,
99
+ or change.
100
+
101
+ - "I think I have the shape of it more clearly now. Do you want me to stay with the
102
+ experience a little longer, or try putting language around it?"
103
+ - "There may be a belief or mode here. Do you want a tentative formulation, or should
104
+ we keep clarifying the moment first?"
105
+ - "I can help think about what might help next time, but I want to check whether the
106
+ experience itself feels understood enough first."
52
107
 
53
108
  ## Therapist micro-skills
54
109
 
@@ -58,6 +113,10 @@ Reflect:
58
113
 
59
114
  - briefly mirror the user's felt sense, stake, or sequence in plain language
60
115
 
116
+ Contain:
117
+
118
+ - give a short summary that makes the moment feel holdable before you deepen or name it
119
+
61
120
  Locate:
62
121
 
63
122
  - ask where this shows up most clearly: the last moment, the first cue, the body
@@ -86,6 +145,23 @@ Connect:
86
145
  - when another record is clearly present, ask whether the user wants to link it now,
87
146
  save it separately later, or just keep it in the note/context for now
88
147
 
148
+ ## Therapeutic Direction Check
149
+
150
+ Before each follow-up, quickly decide what therapeutic job the next question should do.
151
+
152
+ 1. Contain: does the user first need a short accurate summary so the experience feels
153
+ held?
154
+ 2. Locate: do you still need the concrete moment, cue, body signal, or sequence?
155
+ 3. Deepen: is the next useful lane situation, meaning, protection, cost, longing, or
156
+ naming?
157
+ 4. Formulate: is the experience coherent enough that a candidate sentence or title
158
+ would now help?
159
+ 5. Connect: is there an adjacent value, belief, mode, pattern, note, or task that is
160
+ clear enough to link without derailing the main work?
161
+
162
+ If the answer is formulate or connect, do not ask another exploratory question first
163
+ unless something still feels materially unclear.
164
+
89
165
  ## First-turn rule
90
166
 
91
167
  When the user wants help understanding a Psyche issue before saving it:
@@ -113,6 +189,51 @@ opening:
113
189
  - one missing-detail question
114
190
  - then move toward the write instead of forcing exploration
115
191
 
192
+ ## Therapeutic turn shapes
193
+
194
+ Keep the pacing human and intentional.
195
+
196
+ Opening turn:
197
+
198
+ - one short reflection that names the felt stake
199
+ - one grounded question about the nearest real moment
200
+
201
+ Middle turn:
202
+
203
+ - reflect what became clearer
204
+ - name the function, fear, cost, or longing that seems most central now
205
+ - ask one question that deepens only that lane
206
+
207
+ Naming turn:
208
+
209
+ - offer one careful sentence or title when the experience is coherent enough
210
+ - ask whether it feels true, too sharp, or still incomplete
211
+
212
+ Closing turn:
213
+
214
+ - summarize the working formulation in the user's language
215
+ - ask whether it feels true enough to save and whether anything adjacent should be
216
+ linked
217
+ - if the user says it lands, move toward the write instead of reopening exploration
218
+
219
+ ## Name, Define, Connect
220
+
221
+ Use this checkpoint once the material is coherent enough.
222
+
223
+ Name:
224
+
225
+ - offer one careful sentence or title that captures the core lived meaning
226
+
227
+ Define:
228
+
229
+ - clarify what makes this belief, pattern, mode, value, behavior, or report distinct
230
+ from nearby possibilities
231
+
232
+ Connect:
233
+
234
+ - only after the primary formulation feels steady, ask whether an adjacent value,
235
+ belief, mode, pattern, note, or task should be linked or mapped separately
236
+
116
237
  ## Lane chooser
117
238
 
118
239
  After each real answer, choose the next best lane. Do not mix several lanes at once.
@@ -163,7 +284,7 @@ Link lane:
163
284
  A strong follow-up usually has three parts:
164
285
 
165
286
  1. one short reflection grounded in the user's words
166
- 2. one sentence naming what feels most important so far
287
+ 2. one sentence naming what feels most threatened, protected, or important so far
167
288
  3. one focused next question
168
289
 
169
290
  Example shape:
@@ -182,11 +303,17 @@ Another strong shape when the user is getting abstract:
182
303
  - Do not front-load a finished case formulation.
183
304
  - Do not introduce replacement beliefs, softer reframes, or tidy interpretations until
184
305
  the user has answered at least one real exploratory question.
306
+ - Do not ask for evidence, alternative beliefs, or repair plans before the user has had
307
+ a fair chance to feel that the original experience was captured accurately.
308
+ - Do not make the user prove the experience before you have helped them feel that you
309
+ understood it.
185
310
  - Help the user recognize the experience before you help them improve it.
186
311
  - When the user is close to the feeling but far from the wording, offer one careful
187
312
  candidate sentence or title and ask whether it fits.
188
313
  - If nuance matters, preserve it in a linked Markdown `note` instead of forcing every
189
314
  detail into normalized fields.
315
+ - Do not widen into adjacent entities until the current one has a working sentence the
316
+ user recognizes.
190
317
  - Before saving, give a short working summary in the user's own language and ask
191
318
  whether it feels true enough.
192
319
  - A good final check is often:
@@ -201,6 +328,7 @@ When the lived experience is clear enough to name:
201
328
  - invite correction without defensiveness
202
329
  - if the wording is close but not right, revise it with the user once instead of
203
330
  restarting the whole intake
331
+ - say in plain language what makes you think the proposed wording fits
204
332
 
205
333
  Example shape:
206
334
 
@@ -215,6 +343,7 @@ Sometimes the user asks to save a Psyche entity directly.
215
343
  If the entity is already clear:
216
344
 
217
345
  - reflect briefly
346
+ - name the core meaning in the user's language
218
347
  - ask only for the one missing structural detail
219
348
  - save without forcing extra exploration
220
349
 
@@ -224,6 +353,17 @@ If the entity is not yet clear:
224
353
  - prefer a question about the most recent example, the protective job, or the core
225
354
  meaning
226
355
  - then move toward naming and save
356
+ - once the user accepts the wording, do not reopen deeper exploration unless they ask
357
+ for it
358
+
359
+ ## Change and save pivots
360
+
361
+ - Before change-oriented questions, check whether the user wants understanding,
362
+ naming, or next-step help.
363
+ - When the user says the formulation lands, summarize it once in their language and
364
+ move to the write.
365
+ - If another belief, value, pattern, mode, or note becomes visible, name it gently but
366
+ do not switch containers unless the user wants to.
227
367
 
228
368
  ## Psyche update loop
229
369
 
@@ -236,6 +376,9 @@ from scratch.
236
376
  4. Ask for one concrete recent example if the update is abstract or sweeping.
237
377
  5. Then change only the parts the new understanding actually affects.
238
378
 
379
+ If the update is mostly about wording, offer one revised sentence yourself and ask
380
+ whether it lands more accurately before you reopen the whole exploration.
381
+
239
382
  Good update opener:
240
383
 
241
384
  - "Before we change it, what feels newly true about this now, and what still feels basically right?"
@@ -254,10 +397,11 @@ Aim: clarify a direction to live toward, not a goal to complete.
254
397
  Arc:
255
398
 
256
399
  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.
400
+ 2. Reflect the longing, pain, or importance that makes the value alive right now.
401
+ 3. Ask how living it would look in ordinary behavior.
402
+ 4. Separate the value from a performance target.
403
+ 5. Ask what gets in the way.
404
+ 6. Land on one concrete expression or committed action.
261
405
 
262
406
  Helpful follow-up lanes:
263
407
 
@@ -367,9 +511,12 @@ Arc:
367
511
  1. Ask what the experience starts telling the user in that moment.
368
512
  2. Help condense it into one belief sentence in the user's own language.
369
513
  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.
514
+ 4. Ask how true it feels from `0` to `100` only if that helps the user feel the force
515
+ of it more clearly.
516
+ 5. Ask where the rule feels learned, reinforced, or familiar if that would deepen the
517
+ formulation.
518
+ 6. Gather supporting or weakening evidence only if the user wants fuller examination
519
+ or if the wording is still fuzzy.
373
520
  7. Offer a more flexible alternative only if the user wants that and only after the
374
521
  belief itself is clear.
375
522
 
@@ -378,8 +525,8 @@ Helpful follow-up lanes:
378
525
  - the feared consequence inside the belief
379
526
  - what the moment seems to prove
380
527
  - how old or familiar the rule feels
381
- - evidence for
382
- - evidence against
528
+ - evidence for only if the user wants to examine it
529
+ - evidence against only if the user wants to examine it
383
530
  - whether the user wants help drafting a more flexible version
384
531
 
385
532
  Likely linked entities:
@@ -392,7 +539,7 @@ Ready to save when:
392
539
 
393
540
  - the belief can be written as one sentence
394
541
  - `beliefType` is clear
395
- - there is at least some confidence and one piece of supporting or weakening evidence
542
+ - the emotional meaning of the sentence is clear enough to recognize later
396
543
 
397
544
  Preferred opening question:
398
545
 
@@ -411,6 +558,8 @@ Arc:
411
558
  5. Choose the mode family only after the lived description is clearer.
412
559
  6. Ask when it first became necessary or familiar.
413
560
  7. Ask what a healthier relationship to the mode would require.
561
+ 8. Offer one candidate formulation yourself when the user has the experience but not
562
+ the wording.
414
563
 
415
564
  Helpful follow-up lanes:
416
565
 
@@ -446,7 +595,9 @@ Arc:
446
595
  2. Ask what the part is feeling, saying, stopping, or pushing for.
447
596
  3. Ask what it fears and what it seems to need.
448
597
  4. Reflect the answers before suggesting interpretations.
449
- 5. Offer one or two candidate mode labels only after enough evidence exists.
598
+ 5. Ask permission before moving from exploration into candidate labels if the material
599
+ still feels charged.
600
+ 6. Offer one or two candidate mode labels only after enough evidence exists.
450
601
 
451
602
  Helpful follow-up lanes:
452
603
 
@@ -480,11 +631,13 @@ Arc:
480
631
 
481
632
  1. Anchor the report in one specific episode.
482
633
  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.
634
+ 3. If the episode still feels hot or confusing, stay with one slice before trying to
635
+ cover the whole chain.
636
+ 4. Ask what emotions, thoughts, and body signals showed up.
637
+ 5. Ask what the user did next and what happened after.
638
+ 6. Ask what helped short term and what the consequences were later.
639
+ 7. Ask what pattern, belief, mode, or value seems most active here.
640
+ 8. Ask what would help next time only after the episode itself is clear.
488
641
 
489
642
  Helpful follow-up lanes:
490
643