flock-core 0.4.539__py3-none-any.whl → 0.4.541__py3-none-any.whl

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.

Potentially problematic release.


This version of flock-core might be problematic. Click here for more details.

@@ -29,7 +29,11 @@ main.main-content {
29
29
  margin-top: 3.5rem;
30
30
  background-color: var(--pico-background-color);
31
31
  /* ensure footer does not overlap scrolling content */
32
- padding-bottom: 50px;
32
+ padding-bottom: 3.75rem;
33
+ }
34
+
35
+ body.logs-expanded main.main-content {
36
+ padding-bottom: 18rem;
33
37
  }
34
38
 
35
39
  /* ---------- Footer ---------- */
@@ -40,7 +44,238 @@ footer.main-footer {
40
44
  width: 100%;
41
45
  background-color: var(--pico-card-background-color);
42
46
  border-top: 1px solid var(--pico-muted-border-color);
43
- padding: 0.5rem 1rem;
44
- text-align: center;
47
+ padding: 0.15rem 1.25rem 0.2rem;
45
48
  z-index: 1000;
46
- }
49
+ display: flex;
50
+ flex-direction: column;
51
+ gap: 0.18rem;
52
+ align-items: stretch;
53
+ box-sizing: border-box;
54
+ }
55
+
56
+
57
+ .footer-bar {
58
+ display: flex;
59
+ align-items: center;
60
+ gap: 0.25rem;
61
+ }
62
+
63
+ .live-log-toggle-link {
64
+ border: none;
65
+ background: none;
66
+ color: var(--pico-color-primary, #2e8aea);
67
+ font-size: 0.78rem;
68
+ font-weight: 500;
69
+ padding: 0;
70
+ cursor: pointer;
71
+ text-decoration: underline;
72
+ margin-left: auto;
73
+ line-height: 1;
74
+ }
75
+
76
+ .live-log-toggle-link:hover,
77
+ .live-log-toggle-link:focus-visible {
78
+ color: var(--pico-color-primary-contrast, #75b6ff);
79
+ text-decoration: none;
80
+ outline: none;
81
+ }
82
+
83
+ /* ---------- Live log footer panel ---------- */
84
+ .live-log-wrapper {
85
+ width: 100%;
86
+ max-width: none;
87
+ background-color: var(--pico-muted-background-color, rgba(0, 0, 0, 0.04));
88
+ border-radius: 0.6rem;
89
+ padding: 0.8rem 1rem 1rem;
90
+ box-shadow: inset 0 0 0 1px var(--pico-muted-border-color);
91
+ display: none;
92
+ flex-direction: column;
93
+ gap: 0.65rem;
94
+ min-height: 0;
95
+ }
96
+
97
+ footer.main-footer.expanded .live-log-wrapper {
98
+ display: flex;
99
+ }
100
+
101
+ .live-log-header {
102
+ display: flex;
103
+ justify-content: space-between;
104
+ align-items: flex-start;
105
+ gap: 0.75rem;
106
+ font-size: 0.8rem;
107
+ }
108
+
109
+ .live-log-title-group {
110
+ display: flex;
111
+ flex-direction: column;
112
+ gap: 0.2rem;
113
+ }
114
+
115
+ .live-log-actions {
116
+ display: flex;
117
+ align-items: center;
118
+ gap: 0.75rem;
119
+ flex-wrap: wrap;
120
+ justify-content: flex-end;
121
+ }
122
+
123
+ .live-log-filter {
124
+ display: flex;
125
+ align-items: center;
126
+ gap: 0.35rem;
127
+ font-size: 0.72rem;
128
+ margin: 0;
129
+ }
130
+
131
+ .live-log-option {
132
+ display: flex;
133
+ align-items: center;
134
+ gap: 0.35rem;
135
+ cursor: pointer;
136
+ }
137
+
138
+ .live-log-filter input[type="checkbox"],
139
+ .live-log-option input[type="checkbox"] {
140
+ margin: 0;
141
+ }
142
+
143
+ .live-log-title {
144
+ font-weight: 600;
145
+ letter-spacing: 0.03em;
146
+ text-transform: uppercase;
147
+ }
148
+
149
+ .live-log-hint {
150
+ color: var(--pico-muted-color, #778089);
151
+ font-size: 0.72rem;
152
+ font-style: italic;
153
+ }
154
+
155
+ .live-log-panel {
156
+ flex: 1 1 auto;
157
+ max-height: 220px;
158
+ overflow-y: auto;
159
+ font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace;
160
+ font-size: 0.78rem;
161
+ line-height: 1.35;
162
+ background-color: var(--pico-card-background-color);
163
+ border: 1px solid var(--pico-muted-border-color);
164
+ border-radius: 0.45rem;
165
+ padding: 0.5rem 0.6rem;
166
+ min-height: 0;
167
+ }
168
+
169
+ .live-log-buttons {
170
+ display: flex;
171
+ align-items: center;
172
+ gap: 0.5rem;
173
+ }
174
+
175
+ .live-log-action-button {
176
+ border: 1px solid var(--pico-muted-border-color);
177
+ background: var(--pico-card-background-color);
178
+ color: var(--pico-color-text, inherit);
179
+ border-radius: 0.45rem;
180
+ padding: 0.25rem 0.7rem;
181
+ font-size: 0.72rem;
182
+ cursor: pointer;
183
+ transition: background 0.2s ease, border-color 0.2s ease;
184
+ }
185
+
186
+ .live-log-action-button:hover,
187
+ .live-log-action-button:focus-visible {
188
+ border-color: var(--pico-color-primary, #2e8aea);
189
+ background: rgba(46, 138, 234, 0.08);
190
+ outline: none;
191
+ }
192
+
193
+ .live-log-entries {
194
+ display: flex;
195
+ flex-direction: column;
196
+ gap: 0.3rem;
197
+ }
198
+
199
+ .live-log-entry {
200
+ display: flex;
201
+ gap: 0.75rem;
202
+ align-items: baseline;
203
+ white-space: pre-wrap;
204
+ word-break: break-word;
205
+ min-height: 1.1em;
206
+ }
207
+
208
+ .live-log-entry.stdout .live-log-stream {
209
+ color: var(--pico-color-primary, #2e8aea);
210
+ }
211
+
212
+ .live-log-entry.stderr .live-log-stream {
213
+ color: var(--pico-color-danger, #e5534b);
214
+ }
215
+
216
+ .live-log-time {
217
+ color: var(--pico-muted-color, #858b94);
218
+ font-size: 0.72rem;
219
+ min-width: 3.5rem;
220
+ }
221
+
222
+ .live-log-stream {
223
+ font-weight: 600;
224
+ font-size: 0.72rem;
225
+ min-width: 3.8rem;
226
+ }
227
+
228
+ .live-log-text {
229
+ flex: 1 1 auto;
230
+ }
231
+
232
+ .live-log-empty {
233
+ color: var(--pico-muted-color, #858b94);
234
+ font-style: italic;
235
+ font-size: 0.78rem;
236
+ text-align: center;
237
+ }
238
+
239
+ body.logs-maximized {
240
+ overflow: hidden;
241
+ }
242
+
243
+ footer.main-footer.maximized {
244
+ top: 0;
245
+ bottom: 0;
246
+ height: auto;
247
+ padding: 1.4rem 2rem;
248
+ gap: 1rem;
249
+ }
250
+
251
+ footer.main-footer.maximized .footer-bar {
252
+ align-items: flex-start;
253
+ }
254
+
255
+ footer.main-footer.maximized .live-log-wrapper {
256
+ flex: 1 1 auto;
257
+ min-height: 0;
258
+ }
259
+
260
+ footer.main-footer.maximized .live-log-panel {
261
+ max-height: none;
262
+ flex: 1 1 auto;
263
+ min-height: 0;
264
+ }
265
+
266
+ footer.main-footer.maximized .live-log-wrapper {
267
+ display: flex;
268
+ }
269
+
270
+ .footer-meta {
271
+ font-size: 0.72rem;
272
+ color: var(--pico-muted-color, #6f7782);
273
+ text-align: center;
274
+ flex: 1;
275
+ margin: 0;
276
+ line-height: 1;
277
+ display: flex;
278
+ align-items: center;
279
+ justify-content: center;
280
+ min-height: 1.45rem;
281
+ }
@@ -80,8 +80,52 @@
80
80
  </template>
81
81
  </div>
82
82
 
83
- <footer class="main-footer">
84
- <small>Built with FastAPI, HTMX, Pico.CSS by 🤍 white duck 🦆 - Theme: {{ active_theme_name | default('default') }}</small>
83
+ <footer class="main-footer" data-expanded="false" data-maximized="false">
84
+ <div class="footer-bar">
85
+ <small class="footer-meta">Built with FastAPI, HTMX, Pico.CSS by 🤍 white duck 🦆 - Theme: {{ active_theme_name | default('default') }}</small>
86
+ <button id="live-log-toggle" class="live-log-toggle-link" type="button" aria-expanded="false" aria-controls="live-log-panel">
87
+ Show logs
88
+ </button>
89
+ </div>
90
+ <div class="live-log-wrapper" hidden>
91
+ <div class="live-log-header">
92
+ <div class="live-log-title-group">
93
+ <span class="live-log-title">Live CLI Logs</span>
94
+ <span class="live-log-hint">Mirrors recent stdout/stderr output</span>
95
+ </div>
96
+ <div class="live-log-actions">
97
+ <form id="live-log-filter-form" class="live-log-filter" onsubmit="return false;">
98
+ <label class="live-log-option">
99
+ <input type="checkbox" name="hide_polling" value="1" checked>
100
+ Hide poll requests
101
+ </label>
102
+ </form>
103
+ <label class="live-log-option" for="live-log-autoscroll">
104
+ <input type="checkbox" id="live-log-autoscroll" checked>
105
+ Auto-scroll
106
+ </label>
107
+ <div class="live-log-buttons">
108
+ <button id="live-log-copy" type="button" class="live-log-action-button" title="Copy visible logs" aria-label="Copy logs to clipboard">
109
+ Copy
110
+ </button>
111
+ <button id="live-log-maximize" type="button" class="live-log-action-button" aria-pressed="false">
112
+ Maximize
113
+ </button>
114
+ </div>
115
+ </div>
116
+ </div>
117
+ <div
118
+ id="live-log-panel"
119
+ class="live-log-panel"
120
+ hx-get="{{ url_for('htmx_live_cli_logs') }}"
121
+ hx-trigger="refresh"
122
+ hx-swap="innerHTML"
123
+ hx-target="this"
124
+ hx-include="#live-log-filter-form"
125
+ >
126
+ <div class="live-log-empty">Collecting CLI output...</div>
127
+ </div>
128
+ </div>
85
129
  </footer>
86
130
 
87
131
  <script>
@@ -138,6 +182,151 @@
138
182
  });
139
183
  </script>
140
184
  {# Global Toast Handler - identical to the one in chat.html #}
185
+ <script>
186
+ document.addEventListener('DOMContentLoaded', function () {
187
+ var footer = document.querySelector('.main-footer');
188
+ var toggleBtn = document.getElementById('live-log-toggle');
189
+ var wrapper = footer ? footer.querySelector('.live-log-wrapper') : null;
190
+ var panel = document.getElementById('live-log-panel');
191
+ var filterForm = document.getElementById('live-log-filter-form');
192
+ var autoScrollCheckbox = document.getElementById('live-log-autoscroll');
193
+ var maximizeBtn = document.getElementById('live-log-maximize');
194
+ var copyBtn = document.getElementById('live-log-copy');
195
+ var AUTO_SCROLL_STORAGE_KEY = 'flock.liveLogs.autoScroll';
196
+ var storageAvailable = false;
197
+
198
+ try {
199
+ if (window.localStorage) {
200
+ var probeKey = '__flock_live_log_probe__';
201
+ localStorage.setItem(probeKey, '1');
202
+ localStorage.removeItem(probeKey);
203
+ storageAvailable = true;
204
+ }
205
+ } catch (err) {
206
+ storageAvailable = false;
207
+ }
208
+
209
+ if (!footer || !toggleBtn || !wrapper || !panel) {
210
+ return;
211
+ }
212
+
213
+ var collapsedTrigger = 'refresh';
214
+ var expandedTrigger = 'refresh, every 2s, change from:#live-log-filter-form';
215
+
216
+ if (autoScrollCheckbox && storageAvailable) {
217
+ var stored = localStorage.getItem(AUTO_SCROLL_STORAGE_KEY);
218
+ if (stored === 'true' || stored === 'false') {
219
+ autoScrollCheckbox.checked = stored === 'true';
220
+ }
221
+ }
222
+
223
+ function updateLayout(expanded) {
224
+ if (!expanded) {
225
+ updateMaximize(false);
226
+ }
227
+
228
+ footer.classList.toggle('expanded', expanded);
229
+ document.body.classList.toggle('logs-expanded', expanded);
230
+ footer.dataset.expanded = expanded ? 'true' : 'false';
231
+ toggleBtn.setAttribute('aria-expanded', String(expanded));
232
+ toggleBtn.textContent = expanded ? 'Hide logs' : 'Show logs';
233
+ wrapper.hidden = !expanded;
234
+ panel.setAttribute('hx-trigger', expanded ? expandedTrigger : collapsedTrigger);
235
+
236
+ if (window.htmx) {
237
+ if (typeof window.htmx.stopPolling === 'function') {
238
+ window.htmx.stopPolling(panel);
239
+ }
240
+ if (expanded) {
241
+ window.htmx.process(panel);
242
+ window.htmx.trigger(panel, 'refresh');
243
+ }
244
+ }
245
+ }
246
+
247
+ function updateMaximize(maximized) {
248
+ footer.classList.toggle('maximized', maximized);
249
+ document.body.classList.toggle('logs-maximized', maximized);
250
+ footer.dataset.maximized = maximized ? 'true' : 'false';
251
+ if (maximizeBtn) {
252
+ maximizeBtn.setAttribute('aria-pressed', String(maximized));
253
+ maximizeBtn.textContent = maximized ? 'Minimize' : 'Maximize';
254
+ }
255
+
256
+ if (maximized) {
257
+ if (!footer.classList.contains('expanded')) {
258
+ updateLayout(true);
259
+ }
260
+
261
+ requestAnimationFrame(function () {
262
+ if (!autoScrollCheckbox || autoScrollCheckbox.checked) {
263
+ panel.scrollTop = panel.scrollHeight;
264
+ }
265
+ });
266
+ }
267
+ }
268
+
269
+ updateLayout(false);
270
+
271
+ toggleBtn.addEventListener('click', function () {
272
+ var expanded = !footer.classList.contains('expanded');
273
+ updateLayout(expanded);
274
+ });
275
+
276
+ if (maximizeBtn) {
277
+ maximizeBtn.addEventListener('click', function () {
278
+ var maximized = footer.classList.contains('maximized');
279
+ updateMaximize(!maximized);
280
+ });
281
+ }
282
+
283
+ if (copyBtn && navigator.clipboard && navigator.clipboard.writeText) {
284
+ copyBtn.addEventListener('click', function () {
285
+ var text = panel.innerText.trim();
286
+ if (!text) {
287
+ return;
288
+ }
289
+
290
+ navigator.clipboard.writeText(text).then(function () {
291
+ if (typeof triggerEvent === 'function') {
292
+ triggerEvent('showGlobalToast', { type: 'success', message: 'Logs copied to clipboard.' });
293
+ } else {
294
+ document.body.dispatchEvent(new CustomEvent('showGlobalToast', { detail: { type: 'success', message: 'Logs copied to clipboard.' } }));
295
+ }
296
+ }).catch(function () {
297
+ document.body.dispatchEvent(new CustomEvent('showGlobalToast', { detail: { type: 'error', message: 'Unable to copy logs.' } }));
298
+ });
299
+ });
300
+ } else if (copyBtn) {
301
+ copyBtn.disabled = true;
302
+ copyBtn.title = 'Clipboard API unavailable in this browser.';
303
+ }
304
+
305
+ if (autoScrollCheckbox && storageAvailable) {
306
+ autoScrollCheckbox.addEventListener('change', function () {
307
+ localStorage.setItem(AUTO_SCROLL_STORAGE_KEY, String(autoScrollCheckbox.checked));
308
+ });
309
+ }
310
+
311
+ if (window.htmx) {
312
+ document.body.addEventListener('htmx:afterSwap', function (event) {
313
+ if (event.target === panel) {
314
+ if (!autoScrollCheckbox || autoScrollCheckbox.checked) {
315
+ panel.scrollTop = panel.scrollHeight;
316
+ }
317
+ }
318
+ });
319
+ }
320
+
321
+ if (filterForm) {
322
+ filterForm.addEventListener('change', function () {
323
+ if (window.htmx && footer.classList.contains('expanded')) {
324
+ window.htmx.trigger(panel, 'refresh');
325
+ }
326
+ });
327
+ }
328
+ });
329
+ </script>
141
330
  <script>
142
331
  document.body.addEventListener('showGlobalToast', function (event) {
143
332
  const detail = event.detail;
@@ -197,4 +386,4 @@
197
386
  </script>
198
387
  </body>
199
388
 
200
- </html>
389
+ </html>
@@ -0,0 +1,13 @@
1
+ {% if logs %}
2
+ <div class="live-log-entries">
3
+ {% for entry in logs %}
4
+ <div class="live-log-entry {{ entry.css_class }}">
5
+ <span class="live-log-time">{{ entry.time_display }}</span>
6
+ <span class="live-log-stream">{{ entry.stream_label }}</span>
7
+ <span class="live-log-text">{{ entry.text }}</span>
8
+ </div>
9
+ {% endfor %}
10
+ </div>
11
+ {% else %}
12
+ <div class="live-log-empty">No CLI output captured yet.</div>
13
+ {% endif %}
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: flock-core
3
- Version: 0.4.539
3
+ Version: 0.4.541
4
4
  Summary: Declarative LLM Orchestration at Scale
5
5
  Author-email: Andre Ratzenberger <andre.ratzenberger@whiteduck.de>
6
6
  License-File: LICENSE
@@ -56,6 +56,7 @@ flock/core/execution/opik_executor.py,sha256=tl2Ti9NM_9WtcjXvJ0c7up-syRNq_OsLmiu
56
56
  flock/core/execution/temporal_executor.py,sha256=dHcb0xuzPFWU_wbwTgI7glLNyyppei93Txs2sapjhaw,6283
57
57
  flock/core/interpreter/python_interpreter.py,sha256=4-wRsxC6-gToEdRr_pp-n2idWwe_Y2zN0o3TbzUPhy0,26632
58
58
  flock/core/logging/__init__.py,sha256=xn5fC-8IgsdIv0ywe_cICK1KVhTrVD8t-jYORg0ETUA,155
59
+ flock/core/logging/live_capture.py,sha256=ur1mLAUd5mb4BvqppK1gvjDvbxMdaxgH_9SrQESzQ7o,4451
59
60
  flock/core/logging/logging.py,sha256=VyBsin-3q8UQ0DY-K72t8FtrGJQbUwIfzxaC7rIWMvQ,19820
60
61
  flock/core/logging/telemetry.py,sha256=Trssqx02SBovTL843YwY3L-ZGj3KvcfMHLMU7Syk8L0,6561
61
62
  flock/core/logging/trace_and_logged.py,sha256=5vNrK1kxuPMoPJ0-QjQg-EDJL1oiEzvU6UNi6X8FiMs,2117
@@ -488,23 +489,23 @@ flock/tools/markdown_tools.py,sha256=94fjGAJ5DEutoioD0ke-YRbxF6IWJQKuPVBLkNqdBo4
488
489
  flock/tools/system_tools.py,sha256=IUB8MiSxtQH5ZfTGOck3vl4TKva8m1lfU4-W5D5b-4w,202
489
490
  flock/tools/text_tools.py,sha256=mMQ8tkyYDxIorqqzl9ccGyWYjrSynYiYFIeP9qypfdg,22491
490
491
  flock/tools/web_tools.py,sha256=h44L5rknxGw1mVnFTYO-z0xwUr5ctOvMiJBIfeq56UE,2555
491
- flock/tools/zendesk_tools.py,sha256=zAPc69CuU3HOZ2_WvDMLfI-awG3jjnIJivBKKVGBi9E,9296
492
+ flock/tools/zendesk_tools.py,sha256=1uNHMvfjmbxkrJoBsXS5jDaOCeEcOEDQUKoGYFODj3o,19007
492
493
  flock/webapp/__init__.py,sha256=YtRbbyciN3Z2oMB9fdXZuvM3e49R8m2mY5qHLDoapRA,37
493
- flock/webapp/run.py,sha256=btKVwIqrFg3FhLRuj2RN_fazwaFat3Ue5yiFiIg60rQ,9054
494
+ flock/webapp/run.py,sha256=58oUBp8Bumhtigof6Q0nKbkI-vUai0r67qmzEfKZ1CA,9241
494
495
  flock/webapp/app/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
495
- flock/webapp/app/chat.py,sha256=cfEXOJRwobLZF6Ikj_x1Ev8ZVwhoukKF0xyklVKlCYk,30754
496
+ flock/webapp/app/chat.py,sha256=cGdmwJ6ME9zS61nR9Iuy1ujtL6nTyuxmsuEwn3WWm70,30848
496
497
  flock/webapp/app/config.py,sha256=lqmneujnNZk-EFJV5cWpvxkqisxH3T3zT_YOI0JYThE,4809
497
498
  flock/webapp/app/dependencies.py,sha256=JUcwY1N6SZplU141lMN2wk9dOC9er5HCedrKTJN9wJk,5533
498
- flock/webapp/app/main.py,sha256=J3NiwW4fFTrp_YKa-HFXs3gLtLC6qu9LjIb_i-jJHMk,58426
499
+ flock/webapp/app/main.py,sha256=fLOi5INA3FwaV-r_500RtkEB1MDhVYgKjr0jGz9c0js,60220
499
500
  flock/webapp/app/middleware.py,sha256=5gkM-gqD7C6-JrsoTB1_UWpf05JI1N8KIWajn60QZk0,5721
500
501
  flock/webapp/app/models_ui.py,sha256=vrEBLbhEp6FziAgBSFOLT1M7ckwadsTdT7qus5_NduE,329
501
- flock/webapp/app/theme_mapper.py,sha256=QzWwLWpED78oYp3FjZ9zxv1KxCyj43m8MZ0fhfzz37w,34302
502
+ flock/webapp/app/theme_mapper.py,sha256=WctP0aFWrASeb9jBRtpmjgHcmMR57J9ibaa6XLZA6r8,34294
502
503
  flock/webapp/app/utils.py,sha256=RF8DMKKAj1XPmm4txUdo2OdswI1ATQ7cqUm6G9JFDzA,2942
503
504
  flock/webapp/app/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
504
- flock/webapp/app/api/agent_management.py,sha256=5xqO94QjjAYvxImyjKV9EGUQOvo4n3eqs7pGwGPSQJ4,10394
505
- flock/webapp/app/api/execution.py,sha256=zkYR68QZkbEwwYwDldgL877xWVh5mEhJuvsFb9vUQI8,18348
506
- flock/webapp/app/api/flock_management.py,sha256=1o-6-36kTnUjI3am_BqLpdrcz0aqFXrxE-hQHIFcCsg,4869
507
- flock/webapp/app/api/registry_viewer.py,sha256=IoInxJiRR0yFlecG_l2_eRc6l35RQQyEDMG9BcBkipY,1020
505
+ flock/webapp/app/api/agent_management.py,sha256=1RtTLpGYH4OE5gsKJ2WxAQ8OshZw3Qb32exL88fR-YQ,10426
506
+ flock/webapp/app/api/execution.py,sha256=VI23d1UZegweXzMzkfvq_Lui0FWsVx4iqbOza1naJpA,18348
507
+ flock/webapp/app/api/flock_management.py,sha256=q81wjz0kHFyhREoxNRCKqCiaSQT8rQ4DwmaRo9ddJbU,4865
508
+ flock/webapp/app/api/registry_viewer.py,sha256=jb8rOm3U9CGJmeKMuSMU5CC66dtmdSLOGRJnFTEw1qY,1020
508
509
  flock/webapp/app/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
509
510
  flock/webapp/app/services/feedback_file_service.py,sha256=6WYJjml8lt_ULH5vq7JSWrPQPvUSLvp91qMBt-_tg5Q,9376
510
511
  flock/webapp/app/services/flock_service.py,sha256=Gmv4XFszqVOdnE4MYsVhvBCYNDiLzzgRmIMGwaUU2OU,15134
@@ -514,10 +515,10 @@ flock/webapp/app/templates/theme_mapper.html,sha256=z8ZY7nmk6PiUGzD_-px7wSXcEnuB
514
515
  flock/webapp/static/css/chat.css,sha256=Njc9gXfQzbXMrqtFJH2Yda-IQlwNPd2z4apXxzfA0sY,8169
515
516
  flock/webapp/static/css/components.css,sha256=WnicEHy3ptPzggKmyG9_oZp3X30EMJBUW3KEXaiUCUE,6018
516
517
  flock/webapp/static/css/header.css,sha256=E9MgItZCk34S65NfMJ001ZsRz4oyFSJex8KvINMtCn0,1043
517
- flock/webapp/static/css/layout.css,sha256=ocDd7dmezdQzNAQDuQSv1xZ8-pcbNgYLUYJB1SKcfvw,1526
518
+ flock/webapp/static/css/layout.css,sha256=gubuFBGH2kF31tbBae4GHP5XPikfLINwJgIjrLnOtdA,6224
518
519
  flock/webapp/static/css/sidebar.css,sha256=gCwLTAiIvmHGksm0rHDpMsOGCDKBMxqx_aEc8ZQcQF8,3066
519
520
  flock/webapp/static/css/two-pane.css,sha256=dTrCm5y3odO105Pt_yHtAl3uzUSy2fqDSCEC_jxeEDM,1181
520
- flock/webapp/templates/base.html,sha256=-XFV6cAyl77_fdF0_syUYYDmV1Rdje6ATEumxkyn7Gk,10006
521
+ flock/webapp/templates/base.html,sha256=ztecfPFD4_fRdvlweirMNrQWo4r9C6jU634Bd9yR9Jo,18569
521
522
  flock/webapp/templates/chat.html,sha256=kz1No9tZfOt6eFzI1KNmfYrSglWIr9bxkGZDEaBH9oc,7506
522
523
  flock/webapp/templates/chat_settings.html,sha256=eUHOOEt52jW8DxAMM6jLOPPsdHMdhiQzKuEdgeT0BOI,930
523
524
  flock/webapp/templates/flock_editor.html,sha256=Zlo-jLbNZshsxvC9vFDnqWNxdJiKelITlsvX5CAl4RI,547
@@ -544,6 +545,7 @@ flock/webapp/templates/partials/_flock_file_list.html,sha256=3F1RE1EaeRSQeyIWeA2
544
545
  flock/webapp/templates/partials/_flock_properties_form.html,sha256=kUHoxB6_C_R9nMDD_ClLRDL_9zQ6E8gFCrlkEkqcUYo,2904
545
546
  flock/webapp/templates/partials/_flock_upload_form.html,sha256=IK4Kk_82z3m9zlutKak58NBj9PMpTGXtTmeiPSoJVy0,965
546
547
  flock/webapp/templates/partials/_header_flock_status.html,sha256=reNB4Prsu9lObz5tFhGk3AMe4bNw92gDJZUKABVaVBM,158
548
+ flock/webapp/templates/partials/_live_logs.html,sha256=B0D_Y3-WXPEUwE-AAFkP0IiyIw0rD5vwIO0Dp30bIGU,438
547
549
  flock/webapp/templates/partials/_load_manager_view.html,sha256=lu_2yKJcBPF8yZEeA0rnCPpYODieVfQgjq8HzKoPTzs,2950
548
550
  flock/webapp/templates/partials/_registry_table.html,sha256=z4EW5G3DTknymBeSlpL2PZLcb2143P35upMnmHFfeJs,715
549
551
  flock/webapp/templates/partials/_registry_viewer_content.html,sha256=rF3jFxP6mNkuf-nRRG_a0S8wWL4gdgoMRgxfpQGy0P4,3067
@@ -563,8 +565,8 @@ flock/workflow/agent_execution_activity.py,sha256=hLqWEWsxwTgjsE9wvBejf3pN2TdIfU
563
565
  flock/workflow/flock_workflow.py,sha256=iSUF_soFvWar0ffpkzE4irkDZRx0p4HnwmEBi_Ne2sY,9666
564
566
  flock/workflow/temporal_config.py,sha256=3_8O7SDEjMsSMXsWJBfnb6XTp0TFaz39uyzSlMTSF_I,3988
565
567
  flock/workflow/temporal_setup.py,sha256=YIHnSBntzOchHfMSh8hoLeNXrz3B1UbR14YrR6soM7A,1606
566
- flock_core-0.4.539.dist-info/METADATA,sha256=_cq-9opPfTInXKCVmS0_-KZ1HBzJhwlBiXYDcr_ARPs,22800
567
- flock_core-0.4.539.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
568
- flock_core-0.4.539.dist-info/entry_points.txt,sha256=rWaS5KSpkTmWySURGFZk6PhbJ87TmvcFQDi2uzjlagQ,37
569
- flock_core-0.4.539.dist-info/licenses/LICENSE,sha256=iYEqWy0wjULzM9GAERaybP4LBiPeu7Z1NEliLUdJKSc,1072
570
- flock_core-0.4.539.dist-info/RECORD,,
568
+ flock_core-0.4.541.dist-info/METADATA,sha256=sKIt_GB6E2T_Zq4c4QE4PdMT7cFSTKmk7v8yAQBzt98,22800
569
+ flock_core-0.4.541.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
570
+ flock_core-0.4.541.dist-info/entry_points.txt,sha256=rWaS5KSpkTmWySURGFZk6PhbJ87TmvcFQDi2uzjlagQ,37
571
+ flock_core-0.4.541.dist-info/licenses/LICENSE,sha256=iYEqWy0wjULzM9GAERaybP4LBiPeu7Z1NEliLUdJKSc,1072
572
+ flock_core-0.4.541.dist-info/RECORD,,