cowork-dash 0.2.1__tar.gz → 0.2.2__tar.gz

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 (41) hide show
  1. {cowork_dash-0.2.1 → cowork_dash-0.2.2}/CHANGELOG.md +10 -0
  2. {cowork_dash-0.2.1 → cowork_dash-0.2.2}/PKG-INFO +1 -1
  3. {cowork_dash-0.2.1 → cowork_dash-0.2.2}/cowork_dash/agent.py +1 -1
  4. {cowork_dash-0.2.1 → cowork_dash-0.2.2}/cowork_dash/app.py +22 -5
  5. {cowork_dash-0.2.1 → cowork_dash-0.2.2}/cowork_dash/components.py +14 -1
  6. {cowork_dash-0.2.1 → cowork_dash-0.2.2}/cowork_dash/layout.py +3 -1
  7. {cowork_dash-0.2.1 → cowork_dash-0.2.2}/pyproject.toml +1 -1
  8. {cowork_dash-0.2.1 → cowork_dash-0.2.2}/.claude/settings.local.json +0 -0
  9. {cowork_dash-0.2.1 → cowork_dash-0.2.2}/.gitignore +0 -0
  10. {cowork_dash-0.2.1 → cowork_dash-0.2.2}/Dockerfile.test +0 -0
  11. {cowork_dash-0.2.1 → cowork_dash-0.2.2}/LICENSE +0 -0
  12. {cowork_dash-0.2.1 → cowork_dash-0.2.2}/MANIFEST.in +0 -0
  13. {cowork_dash-0.2.1 → cowork_dash-0.2.2}/README.md +0 -0
  14. {cowork_dash-0.2.1 → cowork_dash-0.2.2}/cowork_dash/__init__.py +0 -0
  15. {cowork_dash-0.2.1 → cowork_dash-0.2.2}/cowork_dash/__main__.py +0 -0
  16. {cowork_dash-0.2.1 → cowork_dash-0.2.2}/cowork_dash/assets/app.js +0 -0
  17. {cowork_dash-0.2.1 → cowork_dash-0.2.2}/cowork_dash/assets/favicon.ico +0 -0
  18. {cowork_dash-0.2.1 → cowork_dash-0.2.2}/cowork_dash/assets/favicon.svg +0 -0
  19. {cowork_dash-0.2.1 → cowork_dash-0.2.2}/cowork_dash/assets/styles.css +0 -0
  20. {cowork_dash-0.2.1 → cowork_dash-0.2.2}/cowork_dash/backends.py +0 -0
  21. {cowork_dash-0.2.1 → cowork_dash-0.2.2}/cowork_dash/canvas.py +0 -0
  22. {cowork_dash-0.2.1 → cowork_dash-0.2.2}/cowork_dash/cli.py +0 -0
  23. {cowork_dash-0.2.1 → cowork_dash-0.2.2}/cowork_dash/config.py +0 -0
  24. {cowork_dash-0.2.1 → cowork_dash-0.2.2}/cowork_dash/file_utils.py +0 -0
  25. {cowork_dash-0.2.1 → cowork_dash-0.2.2}/cowork_dash/sandbox.py +0 -0
  26. {cowork_dash-0.2.1 → cowork_dash-0.2.2}/cowork_dash/tools.py +0 -0
  27. {cowork_dash-0.2.1 → cowork_dash-0.2.2}/cowork_dash/virtual_fs.py +0 -0
  28. {cowork_dash-0.2.1 → cowork_dash-0.2.2}/docs/dark.png +0 -0
  29. {cowork_dash-0.2.1 → cowork_dash-0.2.2}/docs/light.png +0 -0
  30. {cowork_dash-0.2.1 → cowork_dash-0.2.2}/examples/example_agent.py +0 -0
  31. {cowork_dash-0.2.1 → cowork_dash-0.2.2}/examples/python_api_example.py +0 -0
  32. {cowork_dash-0.2.1 → cowork_dash-0.2.2}/templates/index.html +0 -0
  33. {cowork_dash-0.2.1 → cowork_dash-0.2.2}/tests/__init__.py +0 -0
  34. {cowork_dash-0.2.1 → cowork_dash-0.2.2}/tests/conftest.py +0 -0
  35. {cowork_dash-0.2.1 → cowork_dash-0.2.2}/tests/test_backends.py +0 -0
  36. {cowork_dash-0.2.1 → cowork_dash-0.2.2}/tests/test_canvas.py +0 -0
  37. {cowork_dash-0.2.1 → cowork_dash-0.2.2}/tests/test_core.py +0 -0
  38. {cowork_dash-0.2.1 → cowork_dash-0.2.2}/tests/test_file_utils.py +0 -0
  39. {cowork_dash-0.2.1 → cowork_dash-0.2.2}/tests/test_sandbox.py +0 -0
  40. {cowork_dash-0.2.1 → cowork_dash-0.2.2}/tests/test_virtual_fs.py +0 -0
  41. {cowork_dash-0.2.1 → cowork_dash-0.2.2}/uv.lock +0 -0
@@ -5,6 +5,15 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.2.2] - 2026-02-03
9
+
10
+ ### Fixed
11
+ - **Sidebar collapse**: Sidebar now fully collapses with minimal expand button width
12
+ - **Chat panel expansion**: Chat panel expands to fill space when sidebar is hidden
13
+
14
+ ### Changed
15
+ - **Tool call display**: Tool calls now show first 100 characters of arguments in header
16
+
8
17
  ## [0.2.1] - 2026-02-03
9
18
 
10
19
  ### Added
@@ -188,6 +197,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
188
197
  - Resizable split-pane interface
189
198
  - Upload/download functionality for files
190
199
 
200
+ [0.2.2]: https://github.com/dkedar7/cowork-dash/compare/v0.2.1...v0.2.2
191
201
  [0.2.1]: https://github.com/dkedar7/cowork-dash/compare/v0.2.0...v0.2.1
192
202
  [0.2.0]: https://github.com/dkedar7/cowork-dash/compare/v0.1.9...v0.2.0
193
203
  [0.1.9]: https://github.com/dkedar7/cowork-dash/compare/v0.1.8...v0.1.9
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cowork-dash
3
- Version: 0.2.1
3
+ Version: 0.2.2
4
4
  Summary: AI Agent Web Interface with Filesystem and Canvas Visualization
5
5
  Project-URL: Homepage, https://github.com/dkedar7/cowork-dash
6
6
  Project-URL: Documentation, https://github.com/dkedar7/cowork-dash/blob/main/README.md
@@ -137,7 +137,7 @@ agent = create_deep_agent(
137
137
  name="Cowork Dash",
138
138
  backend=backend,
139
139
  tools=AGENT_TOOLS,
140
- interrupt_on=dict(bash=True),
140
+ # interrupt_on=dict(bash=True),
141
141
  checkpointer=InMemorySaver()
142
142
  )
143
143
 
@@ -2918,7 +2918,8 @@ def toggle_view(view_value):
2918
2918
  [Output("sidebar-panel", "style"),
2919
2919
  Output("sidebar-expand-btn", "style"),
2920
2920
  Output("resize-handle", "style"),
2921
- Output("sidebar-collapsed", "data")],
2921
+ Output("sidebar-collapsed", "data"),
2922
+ Output("chat-panel", "style")],
2922
2923
  [Input("collapse-sidebar-btn", "n_clicks"),
2923
2924
  Input("expand-sidebar-btn", "n_clicks")],
2924
2925
  [State("sidebar-collapsed", "data")],
@@ -2941,21 +2942,30 @@ def toggle_sidebar_collapse(collapse_clicks, expand_clicks, is_collapsed):
2941
2942
  raise PreventUpdate
2942
2943
 
2943
2944
  if new_collapsed:
2944
- # Collapsed state - hide sidebar, show expand button
2945
+ # Collapsed state - hide sidebar, show expand button, expand chat panel
2945
2946
  return (
2946
2947
  {"display": "none"}, # Hide sidebar panel
2947
- { # Show expand button
2948
+ { # Show expand button - minimal width
2948
2949
  "display": "flex",
2949
2950
  "alignItems": "flex-start",
2950
- "paddingTop": "10px",
2951
+ "paddingTop": "8px",
2952
+ "paddingLeft": "2px",
2953
+ "paddingRight": "2px",
2951
2954
  "borderLeft": "1px solid var(--mantine-color-default-border)",
2952
2955
  "background": "var(--mantine-color-body)",
2953
2956
  },
2954
2957
  {"display": "none"}, # Hide resize handle
2955
2958
  True, # Store collapsed state
2959
+ { # Expand chat panel to fill space
2960
+ "flex": "1",
2961
+ "display": "flex",
2962
+ "flexDirection": "column",
2963
+ "background": "var(--mantine-color-body)",
2964
+ "minWidth": "0",
2965
+ },
2956
2966
  )
2957
2967
  else:
2958
- # Expanded state - show sidebar, hide expand button
2968
+ # Expanded state - show sidebar, hide expand button, restore chat panel
2959
2969
  return (
2960
2970
  { # Show sidebar panel
2961
2971
  "flex": "1",
@@ -2974,6 +2984,13 @@ def toggle_sidebar_collapse(collapse_clicks, expand_clicks, is_collapsed):
2974
2984
  "flexShrink": "0",
2975
2985
  },
2976
2986
  False, # Store expanded state
2987
+ { # Restore chat panel to original flex
2988
+ "flex": "3",
2989
+ "display": "flex",
2990
+ "flexDirection": "column",
2991
+ "background": "var(--mantine-color-body)",
2992
+ "minWidth": "0",
2993
+ },
2977
2994
  )
2978
2995
 
2979
2996
 
@@ -291,13 +291,23 @@ def format_tool_call(tool_call: Dict, colors: Dict, is_completed: bool = False):
291
291
 
292
292
  # Format args for display (truncate if too long)
293
293
  args_display = ""
294
+ args_preview = "" # Short preview for header
294
295
  if tool_args:
295
296
  try:
297
+ # Compact JSON for preview (no indentation)
298
+ args_compact = json.dumps(tool_args, separators=(',', ':'))
299
+ if len(args_compact) > 100:
300
+ args_preview = args_compact[:100] + "..."
301
+ else:
302
+ args_preview = args_compact
303
+
304
+ # Full JSON for expanded view
296
305
  args_str = json.dumps(tool_args, indent=2)
297
306
  if len(args_str) > 500:
298
307
  args_str = args_str[:500] + "..."
299
308
  args_display = args_str
300
309
  except:
310
+ args_preview = str(tool_args)[:100]
301
311
  args_display = str(tool_args)[:500]
302
312
 
303
313
  # Build inner content (shown when expanded)
@@ -325,11 +335,14 @@ def format_tool_call(tool_call: Dict, colors: Dict, is_completed: bool = False):
325
335
  html.Pre(result_display, className="tool-call-result")
326
336
  ]))
327
337
 
338
+ # Build header text: tool_name(args_preview)
339
+ header_text = f"{tool_name}({args_preview})" if args_preview else tool_name
340
+
328
341
  # Wrap entire tool call in a details element
329
342
  return html.Details([
330
343
  html.Summary([
331
344
  html.Span(className="tool-call-status-dot"),
332
- html.Span(tool_name, className="tool-call-name"),
345
+ html.Span(header_text, className="tool-call-name"),
333
346
  ], className="tool-call-header"),
334
347
  html.Div(inner_children, className="tool-call-body") if inner_children else None
335
348
  ], className=f"tool-call {status_class}")
@@ -383,7 +383,9 @@ def create_layout(workspace_root, app_title, app_subtitle, colors, styles, agent
383
383
  ], id="sidebar-expand-btn", style={
384
384
  "display": "none",
385
385
  "alignItems": "flex-start",
386
- "paddingTop": "10px",
386
+ "paddingTop": "8px",
387
+ "paddingLeft": "2px",
388
+ "paddingRight": "2px",
387
389
  "borderLeft": "1px solid var(--mantine-color-default-border)",
388
390
  "background": "var(--mantine-color-body)",
389
391
  }),
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "cowork-dash"
7
- version = "0.2.1"
7
+ version = "0.2.2"
8
8
  description = "AI Agent Web Interface with Filesystem and Canvas Visualization"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes