portacode 0.3.16.dev6__tar.gz → 0.3.16.dev7__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 (44) hide show
  1. {portacode-0.3.16.dev6 → portacode-0.3.16.dev7}/PKG-INFO +1 -1
  2. {portacode-0.3.16.dev6 → portacode-0.3.16.dev7}/portacode/_version.py +2 -2
  3. {portacode-0.3.16.dev6 → portacode-0.3.16.dev7}/portacode/connection/handlers/project_state_handlers.py +21 -6
  4. {portacode-0.3.16.dev6 → portacode-0.3.16.dev7}/portacode.egg-info/PKG-INFO +1 -1
  5. {portacode-0.3.16.dev6 → portacode-0.3.16.dev7}/.claude/agents/communication-manager.md +0 -0
  6. {portacode-0.3.16.dev6 → portacode-0.3.16.dev7}/.claude/settings.local.json +0 -0
  7. {portacode-0.3.16.dev6 → portacode-0.3.16.dev7}/.gitignore +0 -0
  8. {portacode-0.3.16.dev6 → portacode-0.3.16.dev7}/.gitmodules +0 -0
  9. {portacode-0.3.16.dev6 → portacode-0.3.16.dev7}/LICENSE +0 -0
  10. {portacode-0.3.16.dev6 → portacode-0.3.16.dev7}/MANIFEST.in +0 -0
  11. {portacode-0.3.16.dev6 → portacode-0.3.16.dev7}/Makefile +0 -0
  12. {portacode-0.3.16.dev6 → portacode-0.3.16.dev7}/README.md +0 -0
  13. {portacode-0.3.16.dev6 → portacode-0.3.16.dev7}/backup.sh +0 -0
  14. {portacode-0.3.16.dev6 → portacode-0.3.16.dev7}/docker-compose.yaml +0 -0
  15. {portacode-0.3.16.dev6 → portacode-0.3.16.dev7}/portacode/README.md +0 -0
  16. {portacode-0.3.16.dev6 → portacode-0.3.16.dev7}/portacode/__init__.py +0 -0
  17. {portacode-0.3.16.dev6 → portacode-0.3.16.dev7}/portacode/__main__.py +0 -0
  18. {portacode-0.3.16.dev6 → portacode-0.3.16.dev7}/portacode/cli.py +0 -0
  19. {portacode-0.3.16.dev6 → portacode-0.3.16.dev7}/portacode/connection/README.md +0 -0
  20. {portacode-0.3.16.dev6 → portacode-0.3.16.dev7}/portacode/connection/__init__.py +0 -0
  21. {portacode-0.3.16.dev6 → portacode-0.3.16.dev7}/portacode/connection/client.py +0 -0
  22. {portacode-0.3.16.dev6 → portacode-0.3.16.dev7}/portacode/connection/handlers/README.md +0 -0
  23. {portacode-0.3.16.dev6 → portacode-0.3.16.dev7}/portacode/connection/handlers/WEBSOCKET_PROTOCOL.md +0 -0
  24. {portacode-0.3.16.dev6 → portacode-0.3.16.dev7}/portacode/connection/handlers/__init__.py +0 -0
  25. {portacode-0.3.16.dev6 → portacode-0.3.16.dev7}/portacode/connection/handlers/base.py +0 -0
  26. {portacode-0.3.16.dev6 → portacode-0.3.16.dev7}/portacode/connection/handlers/file_handlers.py +0 -0
  27. {portacode-0.3.16.dev6 → portacode-0.3.16.dev7}/portacode/connection/handlers/registry.py +0 -0
  28. {portacode-0.3.16.dev6 → portacode-0.3.16.dev7}/portacode/connection/handlers/session.py +0 -0
  29. {portacode-0.3.16.dev6 → portacode-0.3.16.dev7}/portacode/connection/handlers/system_handlers.py +0 -0
  30. {portacode-0.3.16.dev6 → portacode-0.3.16.dev7}/portacode/connection/handlers/terminal_handlers.py +0 -0
  31. {portacode-0.3.16.dev6 → portacode-0.3.16.dev7}/portacode/connection/multiplex.py +0 -0
  32. {portacode-0.3.16.dev6 → portacode-0.3.16.dev7}/portacode/connection/terminal.py +0 -0
  33. {portacode-0.3.16.dev6 → portacode-0.3.16.dev7}/portacode/data.py +0 -0
  34. {portacode-0.3.16.dev6 → portacode-0.3.16.dev7}/portacode/keypair.py +0 -0
  35. {portacode-0.3.16.dev6 → portacode-0.3.16.dev7}/portacode/service.py +0 -0
  36. {portacode-0.3.16.dev6 → portacode-0.3.16.dev7}/portacode.egg-info/SOURCES.txt +0 -0
  37. {portacode-0.3.16.dev6 → portacode-0.3.16.dev7}/portacode.egg-info/dependency_links.txt +0 -0
  38. {portacode-0.3.16.dev6 → portacode-0.3.16.dev7}/portacode.egg-info/entry_points.txt +0 -0
  39. {portacode-0.3.16.dev6 → portacode-0.3.16.dev7}/portacode.egg-info/requires.txt +0 -0
  40. {portacode-0.3.16.dev6 → portacode-0.3.16.dev7}/portacode.egg-info/top_level.txt +0 -0
  41. {portacode-0.3.16.dev6 → portacode-0.3.16.dev7}/pyproject.toml +0 -0
  42. {portacode-0.3.16.dev6 → portacode-0.3.16.dev7}/restore.sh +0 -0
  43. {portacode-0.3.16.dev6 → portacode-0.3.16.dev7}/setup.cfg +0 -0
  44. {portacode-0.3.16.dev6 → portacode-0.3.16.dev7}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: portacode
3
- Version: 0.3.16.dev6
3
+ Version: 0.3.16.dev7
4
4
  Summary: Portacode CLI client and SDK
5
5
  Home-page: https://github.com/portacode/portacode
6
6
  Author: Meena Erian
@@ -17,5 +17,5 @@ __version__: str
17
17
  __version_tuple__: VERSION_TUPLE
18
18
  version_tuple: VERSION_TUPLE
19
19
 
20
- __version__ = version = '0.3.16.dev6'
21
- __version_tuple__ = version_tuple = (0, 3, 16, 'dev6')
20
+ __version__ = version = '0.3.16.dev7'
21
+ __version_tuple__ = version_tuple = (0, 3, 16, 'dev7')
@@ -49,6 +49,7 @@ class FileItem:
49
49
  is_git_tracked: Optional[bool] = None
50
50
  git_status: Optional[str] = None
51
51
  is_hidden: bool = False
52
+ is_ignored: bool = False
52
53
  children: Optional[List['FileItem']] = None
53
54
  is_expanded: bool = False
54
55
  is_loaded: bool = False
@@ -107,12 +108,21 @@ class GitManager:
107
108
  def get_file_status(self, file_path: str) -> Dict[str, Any]:
108
109
  """Get Git status for a specific file."""
109
110
  if not self.is_git_repo or not self.repo:
110
- return {"is_tracked": False, "status": None}
111
+ return {"is_tracked": False, "status": None, "is_ignored": False}
111
112
 
112
113
  try:
113
114
  # Convert to relative path from repo root
114
115
  rel_path = os.path.relpath(file_path, self.repo.working_dir)
115
116
 
117
+ # Check if file is ignored
118
+ is_ignored = False
119
+ try:
120
+ # Use git check-ignore to see if file is ignored
121
+ self.repo.git.check_ignore(rel_path)
122
+ is_ignored = True
123
+ except Exception:
124
+ is_ignored = False
125
+
116
126
  # Check if file is tracked
117
127
  try:
118
128
  self.repo.git.ls_files(rel_path, error_unmatch=True)
@@ -128,16 +138,18 @@ class GitManager:
128
138
  status = "modified"
129
139
  else:
130
140
  status = "clean"
141
+ elif is_ignored:
142
+ status = "ignored"
131
143
  else:
132
144
  # Check if it's untracked
133
145
  if os.path.exists(file_path):
134
146
  status = "untracked"
135
147
 
136
- return {"is_tracked": is_tracked, "status": status}
148
+ return {"is_tracked": is_tracked, "status": status, "is_ignored": is_ignored}
137
149
 
138
150
  except Exception as e:
139
151
  logger.debug("Error getting Git status for %s: %s", file_path, e)
140
- return {"is_tracked": False, "status": None}
152
+ return {"is_tracked": False, "status": None, "is_ignored": False}
141
153
 
142
154
  def get_status_summary(self) -> Dict[str, int]:
143
155
  """Get summary of Git status."""
@@ -342,22 +354,24 @@ class ProjectStateManager:
342
354
  is_hidden = entry.name.startswith('.')
343
355
 
344
356
  # Get Git status if available
345
- git_info = {"is_tracked": False, "status": None}
357
+ git_info = {"is_tracked": False, "status": None, "is_ignored": False}
346
358
  if git_manager:
347
359
  git_info = git_manager.get_file_status(entry.path)
348
360
 
349
361
  # Check if this directory is expanded
350
- is_expanded = entry.path in project_state.expanded_folders if entry.is_dir() else False
362
+ is_expanded = False
351
363
 
352
364
  file_item = FileItem(
353
365
  name=entry.name,
354
366
  path=entry.path,
355
367
  is_directory=entry.is_dir(),
368
+ parent_path=directory_path,
356
369
  size=stat_info.st_size if entry.is_file() else None,
357
370
  modified_time=stat_info.st_mtime,
358
371
  is_git_tracked=git_info["is_tracked"],
359
372
  git_status=git_info["status"],
360
373
  is_hidden=is_hidden,
374
+ is_ignored=git_info["is_ignored"],
361
375
  is_expanded=is_expanded,
362
376
  is_loaded=not entry.is_dir() # Files are always "loaded", directories need expansion
363
377
  )
@@ -426,7 +440,7 @@ class ProjectStateManager:
426
440
  is_hidden = entry.name.startswith('.')
427
441
 
428
442
  # Get Git status if available
429
- git_info = {"is_tracked": False, "status": None}
443
+ git_info = {"is_tracked": False, "status": None, "is_ignored": False}
430
444
  if git_manager:
431
445
  git_info = git_manager.get_file_status(entry.path)
432
446
 
@@ -446,6 +460,7 @@ class ProjectStateManager:
446
460
  is_git_tracked=git_info["is_tracked"],
447
461
  git_status=git_info["status"],
448
462
  is_hidden=is_hidden,
463
+ is_ignored=git_info["is_ignored"],
449
464
  is_expanded=is_expanded,
450
465
  is_loaded=not entry.is_dir()
451
466
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: portacode
3
- Version: 0.3.16.dev6
3
+ Version: 0.3.16.dev7
4
4
  Summary: Portacode CLI client and SDK
5
5
  Home-page: https://github.com/portacode/portacode
6
6
  Author: Meena Erian
File without changes