momo-ai 1.0.20 → 1.0.22

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 (162) hide show
  1. package/.claude/skills/algorithmic-art/LICENSE.txt +202 -0
  2. package/.claude/skills/algorithmic-art/SKILL.md +405 -0
  3. package/.claude/skills/algorithmic-art/templates/generator_template.js +223 -0
  4. package/.claude/skills/algorithmic-art/templates/viewer.html +599 -0
  5. package/.claude/skills/r2mo-rad-lain/SKILL.md +101 -0
  6. package/.cursor/mcp.json +17 -0
  7. package/.obsidian/app.json +1 -0
  8. package/.obsidian/appearance.json +4 -0
  9. package/.obsidian/community-plugins.json +4 -0
  10. package/.obsidian/core-plugins.json +33 -0
  11. package/.obsidian/plugins/ai-agent/main.js +98495 -0
  12. package/.obsidian/plugins/ai-agent/manifest.json +11 -0
  13. package/.obsidian/plugins/ai-agent/styles.css +806 -0
  14. package/.obsidian/plugins/dataview/main.js +20876 -0
  15. package/.obsidian/plugins/dataview/manifest.json +11 -0
  16. package/.obsidian/plugins/dataview/styles.css +141 -0
  17. package/.obsidian/plugins/obsidian-excalidraw-plugin/main.js +10 -0
  18. package/.obsidian/plugins/obsidian-excalidraw-plugin/manifest.json +12 -0
  19. package/.obsidian/plugins/obsidian-excalidraw-plugin/styles.css +1 -0
  20. package/.obsidian/plugins/templater-obsidian/main.js +45 -0
  21. package/.obsidian/plugins/templater-obsidian/manifest.json +11 -0
  22. package/.obsidian/plugins/templater-obsidian/styles.css +226 -0
  23. package/.obsidian/plugins/terminal/main.js +200 -0
  24. package/.obsidian/plugins/terminal/manifest.json +14 -0
  25. package/.obsidian/plugins/terminal/styles.css +32 -0
  26. package/.obsidian/themes/AnuPpuccin/manifest.json +7 -0
  27. package/.obsidian/themes/AnuPpuccin/theme.css +9080 -0
  28. package/.obsidian/themes/Things/manifest.json +7 -0
  29. package/.obsidian/themes/Things/theme.css +1628 -0
  30. package/.obsidian/workspace.json +196 -0
  31. package/.trae/skills/algorithmic-art/LICENSE.txt +202 -0
  32. package/.trae/skills/algorithmic-art/SKILL.md +405 -0
  33. package/.trae/skills/algorithmic-art/templates/generator_template.js +223 -0
  34. package/.trae/skills/algorithmic-art/templates/viewer.html +599 -0
  35. package/.trae/skills/doc-coauthoring/SKILL.md +375 -0
  36. package/.trae/skills/frontend-design/LICENSE.txt +177 -0
  37. package/.trae/skills/frontend-design/SKILL.md +42 -0
  38. package/.trae/skills/r2mo-rad-lain/SKILL.md +101 -0
  39. package/README.md +12 -148
  40. package/docs/images/logo.jpeg +0 -0
  41. package/docs/images/r2mo-lain.png +0 -0
  42. package/install.sh +1 -0
  43. package/package.json +15 -11
  44. package/skills/r2mo-rad-domain/SKILL.md +70 -0
  45. package/skills/r2mo-rad-lain/SKILL.md +101 -0
  46. package/src/_mcp/skills-server.mjs +70 -0
  47. package/src/_skill/repositories.json +22 -0
  48. package/src/_template/LAIN/.obsidian/app.json +1 -0
  49. package/src/_template/LAIN/.obsidian/appearance.json +10 -0
  50. package/src/_template/LAIN/.obsidian/community-plugins.json +7 -0
  51. package/src/_template/LAIN/.obsidian/core-plugins.json +33 -0
  52. package/src/_template/LAIN/.obsidian/plugins/dataview/main.js +20876 -0
  53. package/src/_template/LAIN/.obsidian/plugins/dataview/manifest.json +11 -0
  54. package/src/_template/LAIN/.obsidian/plugins/dataview/styles.css +141 -0
  55. package/src/_template/LAIN/.obsidian/plugins/obsidian-excalidraw-plugin/data.json +815 -0
  56. package/src/_template/LAIN/.obsidian/plugins/obsidian-excalidraw-plugin/main.js +10 -0
  57. package/src/_template/LAIN/.obsidian/plugins/obsidian-excalidraw-plugin/manifest.json +12 -0
  58. package/src/_template/LAIN/.obsidian/plugins/obsidian-excalidraw-plugin/styles.css +1 -0
  59. package/src/_template/LAIN/.obsidian/plugins/obsidian-kanban/main.js +153 -0
  60. package/src/_template/LAIN/.obsidian/plugins/obsidian-kanban/manifest.json +11 -0
  61. package/src/_template/LAIN/.obsidian/plugins/obsidian-kanban/styles.css +1 -0
  62. package/src/_template/LAIN/.obsidian/plugins/obsidian-plantuml/main.js +7732 -0
  63. package/src/_template/LAIN/.obsidian/plugins/obsidian-plantuml/manifest.json +10 -0
  64. package/src/_template/LAIN/.obsidian/plugins/obsidian-plantuml/styles.css +38 -0
  65. package/src/_template/LAIN/.obsidian/plugins/obsidian-tasks-plugin/main.js +504 -0
  66. package/src/_template/LAIN/.obsidian/plugins/obsidian-tasks-plugin/manifest.json +12 -0
  67. package/src/_template/LAIN/.obsidian/plugins/obsidian-tasks-plugin/styles.css +1 -0
  68. package/src/_template/LAIN/.obsidian/snippets/body-font.css +27 -0
  69. package/src/_template/LAIN/.obsidian/themes/Primary/manifest.json +9 -0
  70. package/src/_template/LAIN/.obsidian/themes/Primary/theme.css +3878 -0
  71. package/src/_template/LAIN/.obsidian/themes/Retro Windows/manifest.json +7 -0
  72. package/src/_template/LAIN/.obsidian/themes/Retro Windows/theme.css +582 -0
  73. package/src/_template/LAIN/.obsidian/themes/RetroOS 98/manifest.json +9 -0
  74. package/src/_template/LAIN/.obsidian/themes/RetroOS 98/theme.css +2566 -0
  75. package/src/_template/LAIN/.obsidian/types.json +28 -0
  76. package/src/_template/LAIN/.obsidian/workspace.json +184 -0
  77. package/src/_template/LAIN/AGENTS.md +170 -16
  78. package/src/_template/R2MO/domain-enhance.md +10 -0
  79. package/src/commander/app.json +13 -0
  80. package/src/commander/apply.json +13 -0
  81. package/src/commander/ask.json +6 -0
  82. package/src/commander/docs.json +13 -0
  83. package/src/commander/domain.json +19 -0
  84. package/src/commander/help.json +5 -0
  85. package/src/commander/init.json +1 -1
  86. package/src/commander/mcp.json +13 -0
  87. package/src/commander/mmr0.json +6 -0
  88. package/src/commander/mmr2.json +6 -0
  89. package/src/commander/open.json +8 -2
  90. package/src/executor/executeApp.js +133 -0
  91. package/src/executor/executeApply.js +611 -0
  92. package/src/executor/executeAsk.js +274 -0
  93. package/src/executor/executeDocs.js +498 -0
  94. package/src/executor/executeDomain.js +293 -0
  95. package/src/executor/executeEnv.js +48 -38
  96. package/src/executor/executeHelp.js +77 -16
  97. package/src/executor/executeInit.js +176 -346
  98. package/src/executor/executeMcp.js +363 -0
  99. package/src/executor/executeMmr0.js +488 -0
  100. package/src/executor/executeMmr2.js +880 -0
  101. package/src/executor/executeOpen.js +144 -125
  102. package/src/executor/index.js +17 -39
  103. package/src/momo.js +2 -1
  104. package/src/python/r2mo_proto.py +418 -0
  105. package/src/python/r2mo_proto_database.py +369 -0
  106. package/src/python/r2mo_proto_domain.py +458 -0
  107. package/src/utils/momo-args.js +39 -0
  108. package/src/utils/momo-file-utils.js +75 -0
  109. package/src/utils/momo-menu.js +84 -0
  110. package/src/_template/LAIN/.momo/advanced/actor.md +0 -42
  111. package/src/_template/LAIN/.momo/advanced/refer.json +0 -46
  112. package/src/_template/LAIN/.momo/scripts/submodule-clean.sh +0 -56
  113. package/src/_template/LAIN/changes/proposal.md +0 -39
  114. package/src/_template/LAIN/changes/tasks/task-detail.md +0 -45
  115. package/src/_template/LAIN/changes/tasks.md +0 -49
  116. package/src/_template/LAIN/execute/admin-n-f-dashboard.md +0 -53
  117. package/src/_template/LAIN/execute/admin-n-f-form.md +0 -51
  118. package/src/_template/LAIN/execute/admin-n-f-home.md +0 -49
  119. package/src/_template/LAIN/execute/admin-n-f-list.md +0 -52
  120. package/src/_template/LAIN/execute/admin-n-f-login.md +0 -56
  121. package/src/_template/LAIN/specification/project-model.md +0 -13
  122. package/src/_template/LAIN/specification/project.md +0 -73
  123. package/src/_template/LAIN/specification/requirement.md +0 -25
  124. package/src/commander/actor.json +0 -12
  125. package/src/commander/actors.json +0 -6
  126. package/src/commander/add.json +0 -12
  127. package/src/commander/agent.json +0 -12
  128. package/src/commander/agentcfg.json +0 -5
  129. package/src/commander/archive.json +0 -12
  130. package/src/commander/commit.json +0 -12
  131. package/src/commander/console.json +0 -7
  132. package/src/commander/lain.json +0 -7
  133. package/src/commander/list.json +0 -7
  134. package/src/commander/plan.json +0 -12
  135. package/src/commander/project.json +0 -12
  136. package/src/commander/pull.json +0 -6
  137. package/src/commander/push.json +0 -6
  138. package/src/commander/repo.json +0 -18
  139. package/src/commander/run.json +0 -18
  140. package/src/commander/show.json +0 -12
  141. package/src/commander/tasks.json +0 -18
  142. package/src/commander/unlock.json +0 -6
  143. package/src/commander/validate.json +0 -12
  144. package/src/executor/executeActor.js +0 -133
  145. package/src/executor/executeActors.js +0 -58
  146. package/src/executor/executeAdd.js +0 -307
  147. package/src/executor/executeAgent.js +0 -299
  148. package/src/executor/executeAgentCfg.js +0 -210
  149. package/src/executor/executeArchive.js +0 -124
  150. package/src/executor/executeCommit.js +0 -202
  151. package/src/executor/executeConsole.js +0 -142
  152. package/src/executor/executeList.js +0 -133
  153. package/src/executor/executePlan.js +0 -164
  154. package/src/executor/executeProject.js +0 -313
  155. package/src/executor/executePull.js +0 -127
  156. package/src/executor/executePush.js +0 -243
  157. package/src/executor/executeRepo.js +0 -238
  158. package/src/executor/executeRun.js +0 -644
  159. package/src/executor/executeShow.js +0 -164
  160. package/src/executor/executeTasks.js +0 -384
  161. package/src/executor/executeUnlock.js +0 -110
  162. package/src/executor/executeValidate.js +0 -210
@@ -0,0 +1,806 @@
1
+ /* ==============================
2
+ CLASS NAMES CONVENTION
3
+ .obsidian-agent__file-name__main-component__optional-subcomponent
4
+ ============================== */
5
+
6
+ /* ==============================
7
+ LAYOUT
8
+ ============================== */
9
+ /* hr */
10
+ .obsidian-agent__hr {
11
+ margin-top: 0.4rem;
12
+ margin-bottom: 0.4rem;
13
+ }
14
+
15
+ /* Chat.tsx */
16
+ .obsidian-agent__chat-main__container {
17
+ display: flex;
18
+ flex-direction: column;
19
+ position: relative;
20
+ height: 100%;
21
+ overflow: hidden;
22
+ padding: 1rem;
23
+ margin-bottom: 1rem;
24
+ gap: 0;
25
+ }
26
+
27
+ /* Form.tsx */
28
+ .obsidian-agent__chat-form {
29
+ display: flex;
30
+ justify-content: space-between;
31
+ align-items: center;
32
+ }
33
+
34
+ .obsidian-agent__chat-form__title {
35
+ padding: 0.5rem;
36
+
37
+ color: var(--text-normal) !important;
38
+ font-size: var(--font-ui-medium);
39
+ background: var(--background-primary) !important;
40
+ box-shadow: none !important;
41
+ border-radius: var(--radius-s);
42
+
43
+ cursor: pointer;
44
+ }
45
+
46
+ .obsidian-agent__chat-form__actions {
47
+ display: flex;
48
+ align-items: center;
49
+ gap: 0.5rem;
50
+ }
51
+
52
+ /* History.tsx */
53
+ .obsidian-agent__chat-messages {
54
+ flex-grow: 1;
55
+ overflow-y: auto;
56
+ background-color: var(--background-secondary);
57
+ border: none;
58
+ border-radius: var(--radius-s);
59
+ padding: 0;
60
+ min-height: 0;
61
+ }
62
+
63
+ .obsidian-agent__empty-chat {
64
+ flex-grow: 1;
65
+ display: flex;
66
+ padding: 0 1rem;
67
+ flex-direction: column;
68
+ align-items: center;
69
+ justify-content: center;
70
+ text-align: center;
71
+ font-size: medium;
72
+ font-weight: 500;
73
+ color: var(--text-faint);
74
+ }
75
+
76
+ /* Message.tsx */
77
+ .obsidian-agent__chat-single-message__user-message {
78
+ position: relative;
79
+ background-color: var(--background-primary);
80
+
81
+ border-radius: var(--radius-s);
82
+
83
+ padding: 0.8rem;
84
+ margin: 0 0.2rem 0 0;
85
+ cursor: pointer;
86
+
87
+ z-index: 3;
88
+ }
89
+
90
+ .obsidian-agent__chat-single-message__user-message-border {
91
+ position: relative;
92
+ overflow: hidden;
93
+ padding: 1px;
94
+ }
95
+
96
+ .obsidian-agent__chat-single-message__user-message-border.loading-border::before {
97
+ position: absolute;
98
+ content: "";
99
+ width: 150%;
100
+ height: 150%;
101
+ background-image: conic-gradient(from 270deg, transparent 90%, var(--text-faint) 100%);
102
+ left: -25%;
103
+ top: -25%;
104
+ z-index: 1;
105
+ animation: rotate 2s linear infinite;
106
+ }
107
+
108
+ .obsidian-agent__chat-single-message__user-message-border.loading-border::after {
109
+ position: absolute;
110
+ content: "";
111
+ width: 150%;
112
+ height: 150%;
113
+ background-image: conic-gradient(from 90deg, transparent 90%, var(--text-faint) 100%);
114
+ left: -25%;
115
+ top: -25%;
116
+ z-index: 2;
117
+ animation: rotate 2s linear infinite;
118
+ }
119
+
120
+ @keyframes rotate {
121
+ 100% {
122
+ transform: rotate(360deg);
123
+ }
124
+ }
125
+
126
+ .obsidian-agent__chat-single-message__user-message-content {
127
+ margin-top: 4px;
128
+ color: var(--text-muted);
129
+ white-space: pre-wrap;
130
+ word-break: break-word;
131
+ }
132
+
133
+ .obsidian-agent__chat-single-message__bot-message {
134
+ margin: 0;
135
+ margin-bottom: 1rem;
136
+ }
137
+
138
+ .obsidian-agent__chat-single-message__bot-message-content {
139
+ overflow-x: auto;
140
+ padding-left: 0.5rem;
141
+ padding-right: 1rem;
142
+ white-space: normal;
143
+ word-break: break-word;
144
+ color: var(--text-normal);
145
+ }
146
+
147
+ /* Input.tsx */
148
+ .obsidian-agent__input__container {
149
+ display: flex;
150
+ flex-shrink: 0;
151
+ flex-direction: column;
152
+ align-items: flex-start;
153
+
154
+ background-color: var(--background-primary);
155
+ border: 1px solid var(--background-secondary-alt);
156
+ border-radius: var(--radius-s);
157
+
158
+ padding: 10px;
159
+ width: 100%;
160
+ position: relative;
161
+ }
162
+
163
+ .obsidian-agent__input__context-container {
164
+ display: flex;
165
+ flex-wrap: wrap;
166
+ align-items: center;
167
+ justify-content: start;
168
+ gap: 0.5rem;
169
+ }
170
+
171
+ .obsidian-agent__input__context-row {
172
+ display: flex;
173
+ flex-wrap: wrap;
174
+ align-items: center;
175
+
176
+ gap: 0.5rem;
177
+ }
178
+
179
+ .obsidian-agent__input__attachment-tag {
180
+ display: inline-flex;
181
+ align-items: center;
182
+
183
+ font-size: var(--font-ui-small);
184
+ background: none;
185
+ border: 1px solid var(--background-secondary-alt);
186
+ border-radius: var(--radius-s);
187
+
188
+ max-width: 100%;
189
+ height: 28px;
190
+ padding: 0rem 0.5rem;
191
+ }
192
+
193
+ .obsidian-agent__input__remove-attachment-button {
194
+ width: auto;
195
+ color: var(--text-muted) !important;
196
+ background: none !important;
197
+ box-shadow: none !important;
198
+ border: none;
199
+ cursor: pointer;
200
+ padding: 0;
201
+ }
202
+ .obsidian-agent__input__remove-attachment-button:hover {
203
+ color: var(--text-normal) !important;
204
+ }
205
+
206
+ .obsidian-agent__input__attachment-text {
207
+ white-space: nowrap;
208
+ overflow: hidden;
209
+ text-overflow: ellipsis;
210
+ margin-right: 6px;
211
+
212
+ max-width: 120px;
213
+ }
214
+
215
+ .obsidian-agent__input__attachment-image {
216
+ object-fit: cover;
217
+ border-radius: var(--radius-s);
218
+ margin-right: 0.25rem;
219
+
220
+ width: 1rem;
221
+ height: 1rem;
222
+ }
223
+
224
+ .obsidian-agent__input__textarea {
225
+ flex: 1;
226
+
227
+ font-size: var(--font-ui-medium);
228
+ font-family: inherit;
229
+ color: var(--text-normal);
230
+ border: none;
231
+ outline: none;
232
+ background-color: transparent;
233
+ box-shadow: none;
234
+ resize: none;
235
+ overflow: auto;
236
+
237
+ min-height: 4rem;
238
+ padding: 0 2px;
239
+ height: auto;
240
+ width: 100%;
241
+ line-height: 1.4;
242
+ }
243
+
244
+ .obsidian-agent__input__textarea-container {
245
+ display: flex;
246
+ width: 100%;
247
+ margin-top: 4px;
248
+ }
249
+
250
+ .obsidian-agent__input__textarea:focus {
251
+ box-shadow: none !important;
252
+ background: none;
253
+ }
254
+
255
+ .obsidian-agent__input__textarea:hover {
256
+ box-shadow: none !important;
257
+ background: none;
258
+ }
259
+
260
+ .obsidian-agent__input__actions {
261
+ display: flex;
262
+ align-items: center;
263
+ justify-content: space-between;
264
+
265
+ margin-top: 1rem;
266
+ width: 100%;
267
+ }
268
+
269
+ .obsidian-agent__input__right-actions {
270
+ display: flex;
271
+ flex-direction: row;
272
+ gap: 4px;
273
+ }
274
+
275
+ .obsidian-agent__input__select-model-button {
276
+ background: none !important;
277
+ display: flex;
278
+ gap: 2px;
279
+ align-items:center;
280
+ justify-content: center;
281
+ border: none !important;
282
+ box-shadow: none !important;
283
+ cursor: pointer;
284
+ padding: 0;
285
+ height: auto;
286
+ color: var(--text-faint) !important;
287
+ }
288
+ .obsidian-agent__input__select-model-button:hover {
289
+ color: var(--text-muted) !important;
290
+ }
291
+
292
+ .obsidian-agent__input__attach-image-button {
293
+ color: var(--text-faint) !important;
294
+ background: transparent !important;
295
+ box-shadow: none !important;
296
+ border: none;
297
+ cursor: pointer;
298
+ width: 28px;
299
+ height: 28px;
300
+ padding: 0;
301
+ }
302
+ .obsidian-agent__input__attach-image-button:hover {
303
+ color: var(--text-muted) !important;
304
+ }
305
+
306
+ .obsidian-agent__input__add-context-button {
307
+ border: 1px solid var(--background-secondary-alt) !important;
308
+ background: none !important;
309
+ box-shadow: none !important;
310
+ cursor: pointer;
311
+ padding: 0 8px;
312
+ color: var(--text-faint) !important;
313
+
314
+ }
315
+ .obsidian-agent__input__add-context-button:hover {
316
+ background-color: var(--background-secondary) !important;
317
+ color: var(--text-muted) !important;
318
+ }
319
+
320
+ .obsidian-agent__input__submit_button {
321
+ width: auto;
322
+ display: flex;
323
+ padding: 0 8px;
324
+ align-items: center;
325
+ gap: 4px;
326
+ border-radius: var(--radius-s);
327
+ border: none;
328
+ cursor: pointer;
329
+ }
330
+
331
+ .obsidian-agent__input__submit_button:disabled {
332
+ cursor: not-allowed;
333
+ color: var(--text-muted) !important;
334
+ }
335
+
336
+ /* SettingsTab.tsx */
337
+ .obsidian-agent__settings-rules-container {
338
+ flex-direction: column;
339
+ align-items: stretch;
340
+ }
341
+
342
+ .obsidian-agent__settings-rules-control {
343
+ width: 100%;
344
+ }
345
+
346
+ .obsidian-agent__settings-rules-textarea {
347
+ width: 100%;
348
+ min-height: 120px;
349
+
350
+ font-size: 1em;
351
+
352
+ resize: vertical;
353
+ margin-top: 0.5em;
354
+ }
355
+
356
+ /* ==============================
357
+ COMPONENTS
358
+ ============================== */
359
+ /* Input.tsx */
360
+ .obsidian-agent__input__context-button {
361
+ display: flex;
362
+ align-items: center;
363
+
364
+ color: var(--text-muted) !important;
365
+ background: transparent !important;
366
+ box-shadow: none !important;
367
+ border: none;
368
+
369
+ gap: 0.25rem;
370
+ padding: 0.4rem;
371
+ }
372
+
373
+ .obsidian-agent__input__context-button:hover {
374
+ color: var(--text-normal) !important;
375
+ background: var(--background-secondary-alt) !important;
376
+ transition: 0.3s ease;
377
+ }
378
+
379
+ .obsidian-agent__input__model-button {
380
+ color: var(--text-muted) !important;
381
+ background-color: var(--background-secondary-alt) !important;
382
+ border: none;
383
+ border-radius: var(--radius-s) !important;
384
+
385
+ padding: 0.5rem;
386
+ cursor: pointer;
387
+ }
388
+
389
+ /* ChooseModelModal.tsx */
390
+ .obsidian-agent__model-modal__suggestion-wrapper {
391
+ display: flex;
392
+ align-items: center;
393
+
394
+ gap: 10px;
395
+ padding: 6px;
396
+ }
397
+
398
+ .obsidian-agent__model-modal__color-circle {
399
+ flex-shrink: 0;
400
+
401
+ border-radius: 50%;
402
+
403
+ width: 14px;
404
+ height: 14px;
405
+ }
406
+
407
+ .obsidian-agent__model-modal__text-container {
408
+ display: flex;
409
+ flex-direction: column;
410
+ }
411
+
412
+ .obsidian-agent__model-modal__name {
413
+ font-weight: bold;
414
+ margin-bottom: 2px;
415
+ }
416
+
417
+ .obsidian-agent__model-modal__info {
418
+ font-size: 0.85em;
419
+ color: var(--text-faint);
420
+ }
421
+ .obsidian-agent__model-modal__info-bold {
422
+ font-size: 0.85em;
423
+ font-weight: bold;
424
+ color: var(--text-muted);
425
+ }
426
+
427
+ /* DeleteChatModal.tsx */
428
+ .obsidian-agent__delete-chat-modal__container {
429
+ display: flex;
430
+ flex-direction: column;
431
+ gap: 20px;
432
+ min-width: 300px;
433
+ }
434
+
435
+ .obsidian-agent__delete-chat-modal__header-wraper {
436
+ white-space: pre-wrap;
437
+ }
438
+
439
+ .obsidian-agent__delete-chat-modal__button-wraper {
440
+ display: flex;
441
+ justify-content: flex-end;
442
+ gap: 10px;
443
+ }
444
+
445
+ /* DiffReviewModal.tsx */
446
+ .obsidian-agent__diff-review-modal__container {
447
+ display: flex;
448
+ flex-direction: column;
449
+ align-content: center;
450
+ justify-content: space-between;
451
+ height: 100%;
452
+ }
453
+
454
+ .obsidian-agent__diff-review-modal__diff-container {
455
+ overflow: auto;
456
+ max-height: 600px;
457
+ margin-bottom: 10px;
458
+ }
459
+
460
+ .obsidian-agent__diff-review-modal__unchanged-content {
461
+ padding: 5px 10px;
462
+ background-color: #1e1e1e;
463
+ color: #d4d4d4;
464
+ font-size: 14px;
465
+ white-space: pre-wrap;
466
+ word-break: break-word;
467
+ }
468
+
469
+ .obsidian-agent__diff-review-modal__change-container {
470
+ margin-bottom: 10px;
471
+ }
472
+
473
+ .obsidian-agent__diff-review-modal__change-content {
474
+ padding: 5px 10px;
475
+ margin: 2px 0;
476
+ border-radius: 4px;
477
+ font-size: 14px;
478
+ white-space: pre-wrap;
479
+ word-break: break-word;
480
+ }
481
+
482
+ .obsidian-agent__diff-review-modal__change-content-declined {
483
+ opacity: 0.5;
484
+ color: var(--text-muted);
485
+ }
486
+
487
+ .obsidian-agent__diff-review-modal__change-content-added {
488
+ background: #90ee9038;
489
+ }
490
+
491
+ .obsidian-agent__diff-review-modal__change-content-removed {
492
+ background: #ff6b6b33;
493
+ }
494
+
495
+ .obsidian-agent__diff-review-modal__changes-actions-container {
496
+ display: flex;
497
+ gap: 10px;
498
+ margin-top: 8px;
499
+ margin-bottom: 5px;
500
+ padding-left: 5px;
501
+ }
502
+
503
+ .obsidian-agent__diff-review-modal__confirmation-buttons-container {
504
+ display: flex;
505
+ justify-content: space-between;
506
+ align-items: center;
507
+ margin-top: 10px;
508
+ padding-top: 10px;
509
+ border-top: 1px solid #444;
510
+ }
511
+
512
+
513
+ /* Tool Call Styling */
514
+ .obsidian-agent__tool-call__container {
515
+ display: flex;
516
+ flex-direction: column;
517
+ gap: 1rem;
518
+ margin-top: 1rem;
519
+ margin-right: 0.2rem;
520
+ }
521
+
522
+ .obsidian-agent__tool-call {
523
+ font-family: var(--font-monospace);
524
+ background: var(--background-secondary);
525
+ border: 1px solid var(--background-modifier-border);
526
+ border-radius: 8px;
527
+ padding: 0.5rem;
528
+ }
529
+
530
+ .obsidian-agent__tool-call__header {
531
+ display: flex;
532
+ align-items: center;
533
+ gap: 0.5rem;
534
+ }
535
+
536
+ .obsidian-agent__tool-call__name {
537
+ color: var(--text-muted);
538
+ }
539
+
540
+ .obsidian-agent__tool-call__args,
541
+ .obsidian-agent__tool-call__result {
542
+ margin-top: 0.5rem;
543
+ }
544
+
545
+ .obsidian-agent__tool-call__args-header {
546
+ font-size: 0.85em;
547
+ letter-spacing: 0.5px;
548
+ color: var(--text-muted);
549
+ }
550
+
551
+ .obsidian-agent__tool-call__result-header {
552
+ font-size: 0.85em;
553
+ color: var(--text-muted);
554
+ position: relative;
555
+ display: flex;
556
+ align-items: center;
557
+ justify-content: space-between;
558
+ }
559
+
560
+ .obsidian-agent__tool-call__copy-button {
561
+ color: var(--text-faint) !important;
562
+ background: transparent !important;
563
+ box-shadow: none !important;
564
+ border: none;
565
+ cursor: pointer;
566
+ padding: auto;
567
+ display: flex;
568
+ align-items: center;
569
+ justify-content: center;
570
+ border-radius: var(--radius-s);
571
+ transition: 0.2s ease;
572
+ }
573
+
574
+ .obsidian-agent__tool-call__copy-button:hover {
575
+ color: var(--text-normal) !important;
576
+ background: var(--background-secondary-alt) !important;
577
+ }
578
+
579
+ .obsidian-agent__tool-call__args-pre,
580
+ .obsidian-agent__tool-call__result-pre {
581
+ font-size: 0.85em;
582
+ overflow-x: auto;
583
+ color: var(--text-normal);
584
+ background: var(--background-primary);
585
+ border: 1px solid var(--background-modifier-border);
586
+ border-radius: 4px;
587
+
588
+ margin-top: 0.25rem;
589
+ padding: 0.5rem;
590
+ }
591
+
592
+ /* Tool call dropdown styles */
593
+ .obsidian-agent__tool-call__dropdown-header {
594
+ user-select: none;
595
+ transition: background 0.2s;
596
+ }
597
+ .obsidian-agent__tool-call__dropdown-arrow {
598
+ display: flex;
599
+ font-size: 1.1em;
600
+ margin-left: 0.5rem;
601
+ transform: rotate(0deg);
602
+ transition: transform 0.2s;
603
+ color: var(--text-faint);
604
+ }
605
+ .obsidian-agent__tool-call-open .obsidian-agent__tool-call__dropdown-arrow {
606
+ transform: rotate(90deg);
607
+ }
608
+
609
+ /* Reasoning Block Styling */
610
+ .obsidian-agent__reasoning-block__container {
611
+ display: flex;
612
+ flex-direction: column;
613
+ gap: 0.3rem;
614
+ margin-top: 1rem;
615
+ padding-left: 0.5rem;
616
+ padding-right: 1rem;
617
+ }
618
+
619
+ .obsidian-agent__reasoning-block {
620
+ display: flex;
621
+ flex-direction: column;
622
+ background: var(--background-secondary);
623
+ }
624
+
625
+ .obsidian-agent__reasoning-block__header {
626
+ display: flex;
627
+ color: var(--text-faint);
628
+ font-weight: 400;
629
+ font-size: var(--font-ui-medium);
630
+ align-items: flex-start;
631
+ }
632
+
633
+ .obsidian-agent__reasoning-block__content {
634
+ white-space: pre-wrap;
635
+ word-break: break-word;
636
+ color: var(--text-faint);
637
+ font-style: italic;
638
+ font-size: var(--font-ui-medium);
639
+ margin-right: 0.2rem;
640
+ }
641
+ .obsidian-agent__reasoning-block__content p {
642
+ margin-top: 0 !important;
643
+ margin-bottom: 0 !important;
644
+ }
645
+
646
+ /* Reasoning block dropdown styles */
647
+ .obsidian-agent__reasoning-block__dropdown-header {
648
+ user-select: none;
649
+ transition: background 0.2s;
650
+ }
651
+
652
+ .obsidian-agent__reasoning-block__dropdown-arrow {
653
+ display: inline-block;
654
+ font-size: 1.1em;
655
+ margin-left: 0.5rem;
656
+ transform: rotate(0deg);
657
+ transition: transform 0.2s;
658
+ color: var(--text-faint);
659
+ }
660
+
661
+ .obsidian-agent__reasoning-block-open .obsidian-agent__reasoning-block__dropdown-arrow {
662
+ transform: rotate(90deg);
663
+ }
664
+
665
+ /* Buttons */
666
+ .obsidian-agent__button-icon {
667
+ color: var(--text-muted) !important;
668
+ background: transparent !important;
669
+ box-shadow: none !important;
670
+ border: none;
671
+ cursor: pointer;
672
+
673
+ width: 28px;
674
+ height: 28px;
675
+ padding: 0;
676
+ }
677
+
678
+ .obsidian-agent__button-icon:hover {
679
+ color: var(--text-normal) !important;
680
+ background: var(--background-secondary-alt) !important;
681
+ transition: 0.2s ease;
682
+ }
683
+
684
+ .obsidian-agent__button-icon:disabled {
685
+ color: var(--text-faint) !important;
686
+ cursor: not-allowed;
687
+ }
688
+
689
+ .obsidian-agent__button-icon-primary {
690
+ color: var(--interactive-accent) !important;
691
+ background: transparent !important;
692
+ box-shadow: none !important;
693
+ border: none;
694
+ cursor: pointer;
695
+
696
+ width: 28px;
697
+ height: 28px;
698
+ padding: 0;
699
+ }
700
+
701
+ .obsidian-agent__button-icon-primary:hover {
702
+ color: var(--interactive-accent-hover) !important;
703
+ background: var(--background-secondary-alt) !important;
704
+ transition: 0.2s ease;
705
+ }
706
+
707
+ .obsidian-agent__button-icon-primary:disabled {
708
+ color: var(--text-faint) !important;
709
+ cursor: not-allowed;
710
+ }
711
+
712
+ .obsidian-agent__button-background {
713
+ display: flex;
714
+ align-items: center;
715
+ justify-content: center;
716
+
717
+ background-color: var(--background-primary) !important;
718
+ border-radius: var(--radius-s);
719
+
720
+ padding: 0.5rem;
721
+ }
722
+
723
+ .obsidian-agent__button-background:hover {
724
+ background-color: var(--background-modifier-hover) !important;
725
+ transition: 0.2s ease;
726
+ }
727
+
728
+ .obsidian-agent__button-background-primary {
729
+ color: var(--text-muted);
730
+ background-color: var(--interactive-accent) !important;
731
+ }
732
+
733
+ .obsidian-agent__button-background-primary:hover {
734
+ color: var(--text-normal);
735
+ background-color: var(--interactive-accent-hover) !important;
736
+ transition: 0.2s ease;
737
+ }
738
+
739
+ .obsidian-agent__button-exit-editing {
740
+ position: absolute !important;
741
+ top: 8px !important;
742
+ right: 12px !important;
743
+ transform: none !important;
744
+ z-index: 10 !important;
745
+ }
746
+
747
+
748
+ /* ==============================
749
+ UTILS
750
+ ============================== */
751
+ .obsidian-agent__display-none {
752
+ display: none !important;
753
+ }
754
+ .obsidian-agent__width-auto {
755
+ width: auto !important;
756
+ }
757
+ .obsidian-agent__cursor-pointer {
758
+ cursor: pointer !important;
759
+ }
760
+ .obsidian-agent__margin-left-auto {
761
+ margin-left: auto !important;
762
+ }
763
+
764
+ /* ==============================
765
+ MEDIA QUERIES & KEYFRAMES
766
+ ============================== */
767
+ /* Animación para el icono de check al copiar */
768
+ .obsidian-agent__animate__copy-check-animate {
769
+ animation: obsidian-agent__animation__pop-fade 0.6s cubic-bezier(0.4, 0, 0.2, 1);
770
+ }
771
+ @keyframes obsidian-agent__animation__pop-fade {
772
+ 0% {
773
+ opacity: 0;
774
+ transform: scale(0.7);
775
+ }
776
+ 40% {
777
+ opacity: 1;
778
+ transform: scale(1.2);
779
+ }
780
+ 70% {
781
+ opacity: 1;
782
+ transform: scale(1);
783
+ }
784
+ 100% {
785
+ opacity: 1;
786
+ transform: scale(1);
787
+ }
788
+ }
789
+
790
+ /* Dropdown animation for tool calls */
791
+ .obsidian-agent__animate__tool-call-dropdown-content {
792
+ margin-top: 0.5rem;
793
+ animation: obsidian-agent__animation__dropdown-fade-in 0.2s;
794
+ }
795
+
796
+ /* Dropdown animation for reasoning block */
797
+ .obsidian-agent__animate__reasoning-block-dropdown-content {
798
+ margin-top: 0.5rem;
799
+ margin-bottom: 0.5rem;
800
+ animation: obsidian-agent__animation__dropdown-fade-in 0.2s;
801
+ }
802
+
803
+ @keyframes obsidian-agent__animation__dropdown-fade-in {
804
+ from { opacity: 0; transform: translateY(-5px); }
805
+ to { opacity: 1; transform: translateY(0); }
806
+ }