@polderlabs/bizar 4.4.13 → 4.5.1

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 (118) hide show
  1. package/bizar-dash/CHANGELOG.md +37 -276
  2. package/bizar-dash/dist/assets/__vite-browser-external-BIHI7g3E.js +2 -0
  3. package/bizar-dash/dist/assets/__vite-browser-external-BIHI7g3E.js.map +1 -0
  4. package/bizar-dash/dist/assets/main-eWZ4NlCL.css +1 -0
  5. package/bizar-dash/dist/assets/main-usWhlPWa.js +362 -0
  6. package/bizar-dash/dist/assets/main-usWhlPWa.js.map +1 -0
  7. package/bizar-dash/dist/assets/{mobile-DSb-t42Y.js → mobile-DQLFCjwJ.js} +2 -2
  8. package/bizar-dash/dist/assets/{mobile-DSb-t42Y.js.map → mobile-DQLFCjwJ.js.map} +1 -1
  9. package/bizar-dash/dist/assets/mobile-O6ANdD4W.js +352 -0
  10. package/bizar-dash/dist/assets/mobile-O6ANdD4W.js.map +1 -0
  11. package/bizar-dash/dist/index.html +3 -3
  12. package/bizar-dash/dist/mobile.html +2 -2
  13. package/bizar-dash/skills/agent-baseline/SKILL.md +80 -0
  14. package/bizar-dash/skills/bizar/SKILL.md +116 -0
  15. package/bizar-dash/skills/chat/SKILL.md +74 -0
  16. package/bizar-dash/skills/headroom/SKILL.md +94 -0
  17. package/bizar-dash/skills/lightrag/SKILL.md +86 -0
  18. package/bizar-dash/skills/minimax/SKILL.md +80 -0
  19. package/bizar-dash/skills/obsidian/SKILL.md +68 -0
  20. package/bizar-dash/skills/providers/SKILL.md +75 -0
  21. package/bizar-dash/skills/sdk/SKILL.md +138 -0
  22. package/bizar-dash/skills/self-improvement/SKILL.md +53 -0
  23. package/bizar-dash/skills/skills-cli/SKILL.md +94 -0
  24. package/bizar-dash/skills/usage/SKILL.md +62 -0
  25. package/bizar-dash/src/server/api.mjs +18 -0
  26. package/bizar-dash/src/server/headroom.mjs +645 -0
  27. package/bizar-dash/src/server/memory-lightrag.mjs +272 -2
  28. package/bizar-dash/src/server/memory-obsidian.mjs +230 -0
  29. package/bizar-dash/src/server/memory-store.mjs +189 -0
  30. package/bizar-dash/src/server/minimax-usage-store.mjs +372 -0
  31. package/bizar-dash/src/server/minimax.mjs +196 -5
  32. package/bizar-dash/src/server/providers-store.mjs +956 -0
  33. package/bizar-dash/src/server/routes/_shared.mjs +17 -0
  34. package/bizar-dash/src/server/routes/config.mjs +52 -1
  35. package/bizar-dash/src/server/routes/env-vars.mjs +165 -0
  36. package/bizar-dash/src/server/routes/headroom.mjs +126 -0
  37. package/bizar-dash/src/server/routes/lightrag.mjs +154 -0
  38. package/bizar-dash/src/server/routes/memory.mjs +668 -1
  39. package/bizar-dash/src/server/routes/opencode-session-detail.mjs +14 -29
  40. package/bizar-dash/src/server/routes/opencode-sessions.mjs +205 -3
  41. package/bizar-dash/src/server/routes/providers.mjs +266 -5
  42. package/bizar-dash/src/server/routes/skills.mjs +32 -43
  43. package/bizar-dash/src/server/routes/update.mjs +340 -0
  44. package/bizar-dash/src/server/routes/usage.mjs +136 -0
  45. package/bizar-dash/src/server/serve-info.mjs +135 -4
  46. package/bizar-dash/src/server/server.mjs +20 -0
  47. package/bizar-dash/src/server/skills-store.mjs +152 -262
  48. package/bizar-dash/src/web/App.tsx +120 -29
  49. package/bizar-dash/src/web/components/EnvVarManager.tsx +247 -0
  50. package/bizar-dash/src/web/components/HeadroomSettings.tsx +418 -0
  51. package/bizar-dash/src/web/components/HeadroomStatus.tsx +158 -0
  52. package/bizar-dash/src/web/components/SettingsSearch.tsx +213 -0
  53. package/bizar-dash/src/web/components/Topbar.tsx +2 -1
  54. package/bizar-dash/src/web/components/UsageChart.tsx +250 -0
  55. package/bizar-dash/src/web/components/UsageTable.tsx +90 -0
  56. package/bizar-dash/src/web/components/chat/ChatComposer.tsx +21 -25
  57. package/bizar-dash/src/web/components/chat/ChatInfoPanel.tsx +199 -37
  58. package/bizar-dash/src/web/components/chat/ChatThread.tsx +29 -17
  59. package/bizar-dash/src/web/components/chat/FloatingComposer.tsx +7 -1
  60. package/bizar-dash/src/web/components/chat/InfoPanel.tsx +71 -6
  61. package/bizar-dash/src/web/components/chat/useChat.ts +751 -257
  62. package/bizar-dash/src/web/lib/api.ts +43 -0
  63. package/bizar-dash/src/web/lib/types.ts +16 -0
  64. package/bizar-dash/src/web/main.tsx +2 -0
  65. package/bizar-dash/src/web/mobile/views/MobileChat.tsx +110 -35
  66. package/bizar-dash/src/web/styles/chat.css +135 -1
  67. package/bizar-dash/src/web/styles/main.css +46 -0
  68. package/bizar-dash/src/web/styles/memory.css +955 -0
  69. package/bizar-dash/src/web/styles/minimax-usage.css +335 -0
  70. package/bizar-dash/src/web/styles/settings.css +418 -0
  71. package/bizar-dash/src/web/styles/skills.css +302 -0
  72. package/bizar-dash/src/web/styles/tasks.css +288 -0
  73. package/bizar-dash/src/web/views/Chat.tsx +276 -48
  74. package/bizar-dash/src/web/views/Config.tsx +3 -2065
  75. package/bizar-dash/src/web/views/Memory.tsx +140 -0
  76. package/bizar-dash/src/web/views/MiniMaxUsage.tsx +476 -461
  77. package/bizar-dash/src/web/views/Overview.tsx +3 -0
  78. package/bizar-dash/src/web/views/Settings.tsx +36 -0
  79. package/bizar-dash/src/web/views/Skills.tsx +208 -260
  80. package/bizar-dash/src/web/views/Tasks.tsx +348 -1119
  81. package/bizar-dash/src/web/views/memory/ConfigPanel.tsx +289 -0
  82. package/bizar-dash/src/web/views/memory/GitSyncPanel.tsx +220 -0
  83. package/bizar-dash/src/web/views/memory/LightragPanel.tsx +307 -0
  84. package/bizar-dash/src/web/views/memory/MemoryOverview.tsx +354 -0
  85. package/bizar-dash/src/web/views/memory/MemoryStatusCard.tsx +160 -0
  86. package/bizar-dash/src/web/views/memory/ObsidianPanel.tsx +642 -0
  87. package/bizar-dash/src/web/views/memory/SemanticSearchPanel.tsx +194 -0
  88. package/bizar-dash/tests/chat-session-create.test.mjs +391 -0
  89. package/bizar-dash/tests/chat-session-stream.test.mjs +308 -0
  90. package/bizar-dash/tests/env-vars-store.test.mjs +216 -0
  91. package/bizar-dash/tests/headroom-install.test.mjs +173 -0
  92. package/bizar-dash/tests/headroom-settings.test.mjs +126 -0
  93. package/bizar-dash/tests/headroom-status.test.mjs +117 -0
  94. package/bizar-dash/tests/lightrag-defaults.node.test.mjs +118 -0
  95. package/bizar-dash/tests/memory-lightrag-extended.test.mjs +162 -0
  96. package/bizar-dash/tests/memory-obsidian.test.mjs +269 -0
  97. package/bizar-dash/tests/memory-tab.test.mjs +322 -0
  98. package/bizar-dash/tests/minimax-chat-usage.test.mjs +178 -0
  99. package/bizar-dash/tests/minimax-usage-store.node.test.mjs +293 -0
  100. package/bizar-dash/tests/mod-upgrade.node.test.mjs +1 -1
  101. package/bizar-dash/tests/opencode-sessions-detail.test.mjs +12 -9
  102. package/bizar-dash/tests/providers-store-backup-keys.node.test.mjs +479 -3
  103. package/bizar-dash/tests/providers-store-search.node.test.mjs +166 -0
  104. package/bizar-dash/tests/skills-list.test.mjs +232 -0
  105. package/bizar-dash/tests/skills-search.test.mjs +222 -0
  106. package/bizar-dash/tests/submit-feedback.test.mjs +6 -6
  107. package/bizar-dash/tests/tasks-create.test.mjs +187 -0
  108. package/bizar-dash/tests/update-check.test.mjs +127 -0
  109. package/bizar-dash/tests/update-run.test.mjs +266 -0
  110. package/cli/bin.mjs +247 -1
  111. package/cli/provision.mjs +118 -4
  112. package/config/agents/_shared/SKILLS.md +109 -0
  113. package/package.json +1 -1
  114. package/bizar-dash/dist/assets/main-BB5mJurD.js +0 -352
  115. package/bizar-dash/dist/assets/main-BB5mJurD.js.map +0 -1
  116. package/bizar-dash/dist/assets/main-BsnQLXdh.css +0 -1
  117. package/bizar-dash/dist/assets/mobile-Dl1q7Cyq.js +0 -354
  118. package/bizar-dash/dist/assets/mobile-Dl1q7Cyq.js.map +0 -1
@@ -0,0 +1,288 @@
1
+ /*
2
+ * src/web/styles/tasks.css — Task board view styles.
3
+ *
4
+ * v4.6.0 — Simplified UI tokens. Uses the shared --space-* and
5
+ * --spacing-* tokens from main.css so padding/margin stay consistent
6
+ * with the rest of the dashboard. Per-view overrides are kept tight
7
+ * (column widths, drag-over highlight, status dot).
8
+ */
9
+
10
+ /* ── Toolbar ──────────────────────────────────────────────────────── */
11
+
12
+ .tasks-toolbar {
13
+ display: flex;
14
+ align-items: center;
15
+ gap: var(--space-3);
16
+ padding: var(--space-3) var(--space-4);
17
+ background: var(--bg-elev);
18
+ border: 1px solid var(--border);
19
+ border-radius: var(--radius);
20
+ flex-wrap: wrap;
21
+ }
22
+
23
+ .tasks-toolbar-group {
24
+ display: flex;
25
+ align-items: center;
26
+ gap: var(--space-2);
27
+ }
28
+
29
+ .tasks-toolbar-divider {
30
+ width: 1px;
31
+ align-self: stretch;
32
+ background: var(--border);
33
+ margin: 0 var(--space-1);
34
+ }
35
+
36
+ .tasks-toolbar-label {
37
+ font-size: 11px;
38
+ text-transform: uppercase;
39
+ letter-spacing: 0.04em;
40
+ color: var(--text-dim);
41
+ margin-right: var(--space-1);
42
+ }
43
+
44
+ .tasks-toolbar-spacer {
45
+ flex: 1;
46
+ }
47
+
48
+ /* ── Bulk action bar ─────────────────────────────────────────────── */
49
+
50
+ .task-bulk-bar {
51
+ display: flex;
52
+ align-items: center;
53
+ gap: var(--space-3);
54
+ padding: var(--space-2) var(--space-3);
55
+ background: var(--accent-bg);
56
+ border: 1px solid var(--accent-border);
57
+ border-radius: var(--radius);
58
+ }
59
+
60
+ .task-bulk-bar-actions {
61
+ display: flex;
62
+ gap: var(--space-2);
63
+ margin-left: auto;
64
+ }
65
+
66
+ /* ── Kanban ──────────────────────────────────────────────────────── */
67
+
68
+ .kanban {
69
+ display: grid;
70
+ grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
71
+ gap: var(--space-4);
72
+ align-items: start;
73
+ min-height: 200px;
74
+ }
75
+
76
+ .kanban-column {
77
+ display: flex;
78
+ flex-direction: column;
79
+ gap: var(--space-2);
80
+ background: var(--bg-elev);
81
+ border: 1px solid var(--border);
82
+ border-radius: var(--radius);
83
+ padding: var(--space-3);
84
+ min-height: 240px;
85
+ transition: border-color var(--motion-base) var(--ease),
86
+ background var(--motion-base) var(--ease);
87
+ }
88
+
89
+ .kanban-column-drop {
90
+ border-color: var(--accent-border);
91
+ background: var(--accent-soft);
92
+ }
93
+
94
+ .kanban-col-header {
95
+ display: flex;
96
+ align-items: center;
97
+ gap: var(--space-2);
98
+ padding-bottom: var(--space-2);
99
+ border-bottom: 1px solid var(--border);
100
+ }
101
+
102
+ .kanban-col-header .card-title {
103
+ flex: 1;
104
+ display: flex;
105
+ align-items: center;
106
+ gap: var(--space-2);
107
+ margin: 0;
108
+ font-size: 13px;
109
+ font-weight: 600;
110
+ text-transform: uppercase;
111
+ letter-spacing: 0.04em;
112
+ }
113
+
114
+ .kanban-col-count {
115
+ font-size: 11px;
116
+ color: var(--text-dim);
117
+ background: var(--bg-elev-2);
118
+ padding: 2px var(--space-2);
119
+ border-radius: var(--radius-sm);
120
+ }
121
+
122
+ .kanban-col-body {
123
+ display: flex;
124
+ flex-direction: column;
125
+ gap: var(--space-2);
126
+ min-height: 120px;
127
+ }
128
+
129
+ .kanban-empty {
130
+ text-align: center;
131
+ padding: var(--space-6) var(--space-2);
132
+ color: var(--text-dim);
133
+ font-size: 12px;
134
+ font-style: italic;
135
+ }
136
+
137
+ /* Status dot used in column header */
138
+ .status-dot {
139
+ display: inline-block;
140
+ width: 8px;
141
+ height: 8px;
142
+ border-radius: 50%;
143
+ flex-shrink: 0;
144
+ }
145
+
146
+ .status-info { background: var(--info); }
147
+ .status-accent { background: var(--accent); }
148
+ .status-success { background: var(--success); }
149
+ .status-warning { background: var(--warning); }
150
+ .status-error { background: var(--error); }
151
+
152
+ /* ── Task card ───────────────────────────────────────────────────── */
153
+
154
+ .task-card {
155
+ display: flex;
156
+ flex-direction: column;
157
+ gap: var(--space-2);
158
+ padding: var(--space-3);
159
+ background: var(--bg-elev-2);
160
+ border: 1px solid var(--border);
161
+ border-radius: var(--radius);
162
+ cursor: grab;
163
+ transition: transform var(--motion-fast) var(--ease),
164
+ border-color var(--motion-base) var(--ease);
165
+ }
166
+
167
+ .task-card:hover {
168
+ border-color: var(--border-strong);
169
+ }
170
+
171
+ .task-card:active {
172
+ cursor: grabbing;
173
+ transform: scale(0.99);
174
+ }
175
+
176
+ .task-card-head {
177
+ display: flex;
178
+ align-items: flex-start;
179
+ gap: var(--space-2);
180
+ }
181
+
182
+ .task-card-title {
183
+ flex: 1;
184
+ font-size: 13px;
185
+ font-weight: 500;
186
+ color: var(--text);
187
+ line-height: 1.3;
188
+ word-break: break-word;
189
+ }
190
+
191
+ .task-card-desc {
192
+ font-size: 12px;
193
+ color: var(--text-dim);
194
+ line-height: 1.4;
195
+ display: -webkit-box;
196
+ -webkit-line-clamp: 3;
197
+ line-clamp: 3;
198
+ -webkit-box-orient: vertical;
199
+ overflow: hidden;
200
+ }
201
+
202
+ .task-card-badges {
203
+ display: flex;
204
+ flex-wrap: wrap;
205
+ gap: var(--space-1);
206
+ }
207
+
208
+ .task-card-badge {
209
+ display: inline-flex;
210
+ align-items: center;
211
+ gap: 4px;
212
+ padding: 2px var(--space-1);
213
+ font-size: 10px;
214
+ color: var(--text-dim);
215
+ background: var(--bg);
216
+ border: 1px solid var(--border);
217
+ border-radius: var(--radius-sm);
218
+ }
219
+
220
+ .task-card-footer {
221
+ display: flex;
222
+ align-items: center;
223
+ justify-content: space-between;
224
+ gap: var(--space-2);
225
+ padding-top: var(--space-1);
226
+ border-top: 1px solid var(--border);
227
+ }
228
+
229
+ .task-card-time {
230
+ font-size: 10px;
231
+ }
232
+
233
+ .task-card-actions {
234
+ display: flex;
235
+ gap: 2px;
236
+ }
237
+
238
+ /* Priority dot in card head */
239
+ .priority-dot {
240
+ display: inline-block;
241
+ width: 6px;
242
+ height: 6px;
243
+ border-radius: 50%;
244
+ flex-shrink: 0;
245
+ margin-top: 6px;
246
+ }
247
+
248
+ /* ── Form (modal) ────────────────────────────────────────────────── */
249
+
250
+ .task-form {
251
+ display: flex;
252
+ flex-direction: column;
253
+ gap: var(--space-2);
254
+ }
255
+
256
+ .task-form-row {
257
+ display: flex;
258
+ gap: var(--space-3);
259
+ }
260
+
261
+ .task-form-field {
262
+ display: flex;
263
+ flex-direction: column;
264
+ gap: var(--space-1);
265
+ flex: 1;
266
+ min-width: 0;
267
+ }
268
+
269
+ /* Priority accents on cards */
270
+ .task-card.priority-high {
271
+ border-left: 3px solid var(--warning);
272
+ }
273
+ .task-card.priority-normal {
274
+ border-left: 3px solid var(--info);
275
+ }
276
+ .task-card.priority-low {
277
+ border-left: 3px solid var(--text-dim);
278
+ opacity: 0.85;
279
+ }
280
+
281
+ /* Loading state */
282
+ .view-loading {
283
+ display: flex;
284
+ align-items: center;
285
+ justify-content: center;
286
+ padding: var(--space-12);
287
+ color: var(--text-dim);
288
+ }