emdash-cli 0.1.35__py3-none-any.whl → 0.1.67__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.
Files changed (50) hide show
  1. emdash_cli/client.py +41 -22
  2. emdash_cli/clipboard.py +30 -61
  3. emdash_cli/commands/__init__.py +2 -2
  4. emdash_cli/commands/agent/__init__.py +14 -0
  5. emdash_cli/commands/agent/cli.py +100 -0
  6. emdash_cli/commands/agent/constants.py +63 -0
  7. emdash_cli/commands/agent/file_utils.py +178 -0
  8. emdash_cli/commands/agent/handlers/__init__.py +51 -0
  9. emdash_cli/commands/agent/handlers/agents.py +449 -0
  10. emdash_cli/commands/agent/handlers/auth.py +69 -0
  11. emdash_cli/commands/agent/handlers/doctor.py +319 -0
  12. emdash_cli/commands/agent/handlers/hooks.py +121 -0
  13. emdash_cli/commands/agent/handlers/index.py +183 -0
  14. emdash_cli/commands/agent/handlers/mcp.py +183 -0
  15. emdash_cli/commands/agent/handlers/misc.py +319 -0
  16. emdash_cli/commands/agent/handlers/registry.py +72 -0
  17. emdash_cli/commands/agent/handlers/rules.py +411 -0
  18. emdash_cli/commands/agent/handlers/sessions.py +168 -0
  19. emdash_cli/commands/agent/handlers/setup.py +715 -0
  20. emdash_cli/commands/agent/handlers/skills.py +478 -0
  21. emdash_cli/commands/agent/handlers/telegram.py +475 -0
  22. emdash_cli/commands/agent/handlers/todos.py +119 -0
  23. emdash_cli/commands/agent/handlers/verify.py +653 -0
  24. emdash_cli/commands/agent/help.py +236 -0
  25. emdash_cli/commands/agent/interactive.py +842 -0
  26. emdash_cli/commands/agent/menus.py +760 -0
  27. emdash_cli/commands/agent/onboarding.py +619 -0
  28. emdash_cli/commands/agent/session_restore.py +210 -0
  29. emdash_cli/commands/agent.py +7 -1321
  30. emdash_cli/commands/index.py +111 -13
  31. emdash_cli/commands/registry.py +635 -0
  32. emdash_cli/commands/server.py +99 -40
  33. emdash_cli/commands/skills.py +72 -6
  34. emdash_cli/design.py +328 -0
  35. emdash_cli/diff_renderer.py +438 -0
  36. emdash_cli/integrations/__init__.py +1 -0
  37. emdash_cli/integrations/telegram/__init__.py +15 -0
  38. emdash_cli/integrations/telegram/bot.py +402 -0
  39. emdash_cli/integrations/telegram/bridge.py +865 -0
  40. emdash_cli/integrations/telegram/config.py +155 -0
  41. emdash_cli/integrations/telegram/formatter.py +385 -0
  42. emdash_cli/main.py +52 -2
  43. emdash_cli/server_manager.py +70 -10
  44. emdash_cli/sse_renderer.py +659 -167
  45. {emdash_cli-0.1.35.dist-info → emdash_cli-0.1.67.dist-info}/METADATA +2 -4
  46. emdash_cli-0.1.67.dist-info/RECORD +63 -0
  47. emdash_cli/commands/swarm.py +0 -86
  48. emdash_cli-0.1.35.dist-info/RECORD +0 -30
  49. {emdash_cli-0.1.35.dist-info → emdash_cli-0.1.67.dist-info}/WHEEL +0 -0
  50. {emdash_cli-0.1.35.dist-info → emdash_cli-0.1.67.dist-info}/entry_points.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: emdash-cli
3
- Version: 0.1.35
3
+ Version: 0.1.67
4
4
  Summary: EmDash CLI - Command-line interface for code intelligence
5
5
  Author: Em Dash Team
6
6
  Requires-Python: >=3.10,<4.0
@@ -10,10 +10,8 @@ Classifier: Programming Language :: Python :: 3.11
10
10
  Classifier: Programming Language :: Python :: 3.12
11
11
  Classifier: Programming Language :: Python :: 3.13
12
12
  Classifier: Programming Language :: Python :: 3.14
13
- Provides-Extra: images
14
13
  Requires-Dist: click (>=8.1.7,<9.0.0)
15
- Requires-Dist: emdash-core (>=0.1.35)
14
+ Requires-Dist: emdash-core (>=0.1.67)
16
15
  Requires-Dist: httpx (>=0.25.0)
17
- Requires-Dist: pillow (>=10.0.0) ; extra == "images"
18
16
  Requires-Dist: prompt_toolkit (>=3.0.43,<4.0.0)
19
17
  Requires-Dist: rich (>=13.7.0)
@@ -0,0 +1,63 @@
1
+ emdash_cli/__init__.py,sha256=21JmQcWge3QOM4hLjtBdu-7AoxJonJuIwMeobWIjr2w,690
2
+ emdash_cli/client.py,sha256=yTICBIhqGm3RWuoQUqp0JEBcfVGMvUFJ3-n-i4r9xbE,21546
3
+ emdash_cli/clipboard.py,sha256=3iwkfj4Od1gPSsMbIBc6sx9XH2XCNgvc5Uu2pPRGcpw,2371
4
+ emdash_cli/commands/__init__.py,sha256=kApebp8AegR0ULBvRVSu36RpMrVluvKq1oN2W0f1onQ,721
5
+ emdash_cli/commands/agent/__init__.py,sha256=Q02HtlODcid-YS_HDqBjbW6V8Xg9pYy0gWvrxn1EB9E,410
6
+ emdash_cli/commands/agent/cli.py,sha256=bfRSRAo6exy3llBoHS81AgGKP36xJ3MyL9eoLBtnJW4,2975
7
+ emdash_cli/commands/agent/constants.py,sha256=9v5WCV66wK0WYKfrFX4T-9LAT3be1QYtMdYRniH7qIU,2409
8
+ emdash_cli/commands/agent/file_utils.py,sha256=2YOKybPVGyjmImbqLHQOIL7zDKeVjQMWssAh9ZX1_Vc,5257
9
+ emdash_cli/commands/agent/handlers/__init__.py,sha256=GxVjekZX-H0QaUs0t0-7mO9AVHOJhNzv4MdkuqvyHqc,1210
10
+ emdash_cli/commands/agent/handlers/agents.py,sha256=T0f0qqYedHX80JCgCPTvHAuyYiLldZlXu7ICjsMnOOM,16002
11
+ emdash_cli/commands/agent/handlers/auth.py,sha256=L2CrWdHg7Xb8e1l3UEGaYPmLubIx1r-e__qkzy5mQZ0,2401
12
+ emdash_cli/commands/agent/handlers/doctor.py,sha256=yECBNFgHzHS2m-P2xmXkZ4AKpTMhT2IYS-Dz4NcoM94,10019
13
+ emdash_cli/commands/agent/handlers/hooks.py,sha256=vZUdzppD6ztw8S757Rb6FMmWhU7n3SIayHHIIry41yU,5176
14
+ emdash_cli/commands/agent/handlers/index.py,sha256=fgA1PuhGES93rfTpC4lNW0a1y1u9gwSpt8AThpIXIyk,6716
15
+ emdash_cli/commands/agent/handlers/mcp.py,sha256=ei76RZQ6bniaxxMX8yh9aIkKJET5aKFT7oj4GiPQ2wM,6255
16
+ emdash_cli/commands/agent/handlers/misc.py,sha256=3Jv29A2-mS1eiCfGUQZsiuJwhuplsOM-u6w7CCIGd78,11973
17
+ emdash_cli/commands/agent/handlers/registry.py,sha256=P0Ab_7Y99P4_vBJ82r6FGpBCzDvMEqHVOZi6lXAIqh8,2795
18
+ emdash_cli/commands/agent/handlers/rules.py,sha256=N84ngO9yGIEMFIGlyd8Ga2pHpTKAYOFWldLm-fiep3c,13167
19
+ emdash_cli/commands/agent/handlers/sessions.py,sha256=hx4Mri4pGu0sb6xkotBYG8SkuhDbg40JntjbW8qQp9Y,6610
20
+ emdash_cli/commands/agent/handlers/setup.py,sha256=i9k3WMSIcFlB2JdxWto5bW5C3Q93iK_qS5QKPV2f5qA,20840
21
+ emdash_cli/commands/agent/handlers/skills.py,sha256=yL2GkChl9WG4fvs1-Ep3JnZfqBH2ZsCcPKkrrPyTPPM,15864
22
+ emdash_cli/commands/agent/handlers/telegram.py,sha256=aDpgHEa2Zm6d8ngNGY28_gnuIihfCq5qcXJ3tBaydp4,18239
23
+ emdash_cli/commands/agent/handlers/todos.py,sha256=otvtDKetsqcXKWRL82Ja8-FrpwTd-3iNRhAWCXboYqQ,4931
24
+ emdash_cli/commands/agent/handlers/verify.py,sha256=5i4qbRbisRcFau8_Btpi-SbZDEyFb-pY9w8_WbE-qyQ,20919
25
+ emdash_cli/commands/agent/help.py,sha256=-3L--ja02ikS163k4jUa7yvSAH6N7T1lZgY3ad8olrc,8730
26
+ emdash_cli/commands/agent/interactive.py,sha256=aSkqCXozIICRLl-r3gtHAbtJiSo3mM-vWEXn6AUzP_M,32076
27
+ emdash_cli/commands/agent/menus.py,sha256=S6AylgFuAWmZHr-ix43sp_Y1U627Ltz2eyX6we5amhE,22865
28
+ emdash_cli/commands/agent/onboarding.py,sha256=fAqY9zR1gGCnwT0o0h3QmWLRg-PQpiQ_SyulUKBsX78,21617
29
+ emdash_cli/commands/agent/session_restore.py,sha256=cbGVlkNtcZFahFuCBWpDY0FIYBGnUaIxX2i_CxmP-xo,6231
30
+ emdash_cli/commands/agent.py,sha256=fJmiBecmnjdaeNwHIpexC4O6sISIqVD8SKiySBoBWvY,321
31
+ emdash_cli/commands/analyze.py,sha256=c9ztbv0Ra7g2AlDmMOy-9L51fDVuoqbuzxnRfomoFIQ,4403
32
+ emdash_cli/commands/auth.py,sha256=SpWdqO1bJCgt4x1B4Pr7hNOucwTuBFJ1oGPOzXtvwZM,3816
33
+ emdash_cli/commands/db.py,sha256=nZK7gLDVE2lAQVYrMx6Swscml5OAtkbg-EcSNSvRIlA,2922
34
+ emdash_cli/commands/embed.py,sha256=kqP5jtYCsZ2_s_I1DjzIUgaod1VUvPiRO0jIIY0HtCs,3244
35
+ emdash_cli/commands/index.py,sha256=8VYGMdor4-Tox324IOVHEqq1Xv38gfTP1bJs3LUq5cQ,10783
36
+ emdash_cli/commands/plan.py,sha256=BRiyIhfy_zz2PYy4Qo3a0t77GwHhdssZk6NImOkPi-w,2189
37
+ emdash_cli/commands/projectmd.py,sha256=4y4cn_yFw85jMUm52nGjpqnd-YWvs6ZNEMWJGeJC17Q,1605
38
+ emdash_cli/commands/registry.py,sha256=2otCqXDwlcjBlmca9oUdVoEJua7BZANX6MBmpay7KeU,19960
39
+ emdash_cli/commands/research.py,sha256=xtI9_9emY7-rGQD5xJALTxtgTFmI4dplYW148dtTaTs,1553
40
+ emdash_cli/commands/rules.py,sha256=n85CCG0WNIBEsUK9STJetPmZxoypQtest5BGPsXl0ac,2712
41
+ emdash_cli/commands/search.py,sha256=DrSv_oN2xF1NaKCBICdyII7eupVRsDQ2ysW-TPSU0X0,1661
42
+ emdash_cli/commands/server.py,sha256=uqgp0DH7bJhu8E3k8PM1IaPLAogTtjCXu6iaZyfiOOw,5868
43
+ emdash_cli/commands/skills.py,sha256=ikY-9GnoFImjgu6qQktMGa1nkrk_AiJ8nOl_ngq33Fc,12098
44
+ emdash_cli/commands/spec.py,sha256=qafDmzKyRH035p3xTm_VTUsQLDZblIzIg-dxjEPv6tM,1494
45
+ emdash_cli/commands/tasks.py,sha256=TdyunjSV5w7jpNFwv0fTL-_No5Fyvdm7Z2nXqxWSJec,1635
46
+ emdash_cli/commands/team.py,sha256=K1-IJg6iG-9HMF_3JmpNDlNs1PYbb-ThFHU9KU_jKRo,1430
47
+ emdash_cli/design.py,sha256=boCHjrOcNrNk_sumLLKb2BK0Q0RuaXBO52DL1mAyjDw,15528
48
+ emdash_cli/diff_renderer.py,sha256=OrYsKcYZZob6nQ-z7xB_jseGYLoK8czTDJrOiriWlOo,15388
49
+ emdash_cli/integrations/__init__.py,sha256=9SFXQiGeuVpLw21_kKBZgToAHC_9gQ31xDMffUaGo70,31
50
+ emdash_cli/integrations/telegram/__init__.py,sha256=mULT7y1k1CTvBLeuckBh_nBS_gCzU_t9r0U0AIT1lrY,369
51
+ emdash_cli/integrations/telegram/bot.py,sha256=3qTYPue9XJeZi3sqlu4B9WQ1lxwXaWIOaE2O9hDAKTI,11032
52
+ emdash_cli/integrations/telegram/bridge.py,sha256=dTT3wQxXhLMUCxLbAvSjaDDsFb3ovPUu2jUolHo8IXU,31420
53
+ emdash_cli/integrations/telegram/config.py,sha256=RQxm3Qw9L7mepRm6YgbndVy35rc_RBaE7th_XjFtKoI,4546
54
+ emdash_cli/integrations/telegram/formatter.py,sha256=RkW24K6pef57Ogx8M_9NdUVI8sk1Xa1rzZjqPtwr3g0,12197
55
+ emdash_cli/keyboard.py,sha256=haYYAuhYGtdjomzhIFy_3Z3eN3BXfMdb4uRQjwB0tbk,4593
56
+ emdash_cli/main.py,sha256=ZtESOZsr9ocljiIjijaRnz-9IiepNbwhJZOj-7MhLzA,4111
57
+ emdash_cli/server_manager.py,sha256=saSxTaCu-b2n2-cIA3VzUe-Tj8ABpeZ39TPOdqjBzVI,9397
58
+ emdash_cli/session_store.py,sha256=GjS73GLSZ3oTNtrFHMcyiP6GnH0Dvfvs6r4s3-bfEaM,9424
59
+ emdash_cli/sse_renderer.py,sha256=6kDiL2otmZYy--WRI8X0FuDYtW-hY4UAqvqVCoexCOg,48864
60
+ emdash_cli-0.1.67.dist-info/METADATA,sha256=xTKZmM1ushcb-PDdI0AfBvzvRwUqW4RdNRutTHeR0cI,662
61
+ emdash_cli-0.1.67.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
62
+ emdash_cli-0.1.67.dist-info/entry_points.txt,sha256=31CuYD0k-tM8csFWDunc-JoZTxXaifj3oIXz4V0p6F0,122
63
+ emdash_cli-0.1.67.dist-info/RECORD,,
@@ -1,86 +0,0 @@
1
- """Swarm multi-agent CLI commands."""
2
-
3
- import click
4
- from rich.console import Console
5
-
6
- from ..client import EmdashClient
7
- from ..server_manager import get_server_manager
8
- from ..sse_renderer import SSERenderer
9
-
10
- console = Console()
11
-
12
-
13
- @click.group()
14
- def swarm():
15
- """Multi-agent parallel execution with git worktrees."""
16
- pass
17
-
18
-
19
- @swarm.command("run")
20
- @click.argument("tasks", nargs=-1, required=True)
21
- @click.option("--model", "-m", default=None, help="Model to use")
22
- @click.option("--auto-merge", is_flag=True, help="Automatically merge completed tasks")
23
- @click.option("--quiet", "-q", is_flag=True, help="Hide progress output")
24
- def swarm_run(tasks: tuple, model: str, auto_merge: bool, quiet: bool):
25
- """Run multiple tasks in parallel using git worktrees.
26
-
27
- Each task runs in its own worktree with a dedicated agent.
28
- Tasks can be merged after completion.
29
-
30
- Examples:
31
- emdash swarm run "Fix login bug" "Add logout button"
32
- emdash swarm run "Task 1" "Task 2" "Task 3" --auto-merge
33
- """
34
- server = get_server_manager()
35
- client = EmdashClient(server.get_server_url())
36
- renderer = SSERenderer(console=console, verbose=not quiet)
37
-
38
- try:
39
- console.print(f"[cyan]Starting swarm with {len(tasks)} tasks...[/cyan]")
40
- console.print()
41
-
42
- stream = client.swarm_run_stream(
43
- tasks=list(tasks),
44
- model=model,
45
- auto_merge=auto_merge,
46
- )
47
- renderer.render_stream(stream)
48
-
49
- except Exception as e:
50
- console.print(f"[red]Error: {e}[/red]")
51
- raise click.Abort()
52
-
53
-
54
- @swarm.command("status")
55
- def swarm_status():
56
- """Show status of current swarm execution."""
57
- server = get_server_manager()
58
- client = EmdashClient(server.get_server_url())
59
-
60
- try:
61
- status = client.swarm_status()
62
-
63
- if not status.get("active"):
64
- console.print("[dim]No active swarm execution[/dim]")
65
- return
66
-
67
- console.print("[bold]Swarm Status[/bold]")
68
- console.print()
69
-
70
- tasks = status.get("tasks", [])
71
- for task in tasks:
72
- task_status = task.get("status", "unknown")
73
- name = task.get("name", "Unknown task")
74
-
75
- if task_status == "completed":
76
- console.print(f" [green]✓[/green] {name}")
77
- elif task_status == "running":
78
- console.print(f" [cyan]⟳[/cyan] {name}")
79
- elif task_status == "failed":
80
- console.print(f" [red]✗[/red] {name}")
81
- else:
82
- console.print(f" [dim]○[/dim] {name}")
83
-
84
- except Exception as e:
85
- console.print(f"[red]Error: {e}[/red]")
86
- raise click.Abort()
@@ -1,30 +0,0 @@
1
- emdash_cli/__init__.py,sha256=21JmQcWge3QOM4hLjtBdu-7AoxJonJuIwMeobWIjr2w,690
2
- emdash_cli/client.py,sha256=MZCyajCM7UghFVv_lKoPAaX0lUUDTe4FI4qlIPCYvcc,21008
3
- emdash_cli/clipboard.py,sha256=hcg5sbIhbixqzpJdonoFLGBlSo2AKjplNrWy5PGnqaY,3564
4
- emdash_cli/commands/__init__.py,sha256=D9edXBHm69tueUtE4DggTA1_Yjsl9YZaKjBVDY2D_gQ,712
5
- emdash_cli/commands/agent.py,sha256=ZBCJWxX-Ze6UlmU3POO3EMjCdOc6D_akxlr6T4U-p74,48445
6
- emdash_cli/commands/analyze.py,sha256=c9ztbv0Ra7g2AlDmMOy-9L51fDVuoqbuzxnRfomoFIQ,4403
7
- emdash_cli/commands/auth.py,sha256=SpWdqO1bJCgt4x1B4Pr7hNOucwTuBFJ1oGPOzXtvwZM,3816
8
- emdash_cli/commands/db.py,sha256=nZK7gLDVE2lAQVYrMx6Swscml5OAtkbg-EcSNSvRIlA,2922
9
- emdash_cli/commands/embed.py,sha256=kqP5jtYCsZ2_s_I1DjzIUgaod1VUvPiRO0jIIY0HtCs,3244
10
- emdash_cli/commands/index.py,sha256=uFNC5whhU9JdF_59FeM99OPdzKLBTJLkLO6vp9pt944,6959
11
- emdash_cli/commands/plan.py,sha256=BRiyIhfy_zz2PYy4Qo3a0t77GwHhdssZk6NImOkPi-w,2189
12
- emdash_cli/commands/projectmd.py,sha256=4y4cn_yFw85jMUm52nGjpqnd-YWvs6ZNEMWJGeJC17Q,1605
13
- emdash_cli/commands/research.py,sha256=xtI9_9emY7-rGQD5xJALTxtgTFmI4dplYW148dtTaTs,1553
14
- emdash_cli/commands/rules.py,sha256=n85CCG0WNIBEsUK9STJetPmZxoypQtest5BGPsXl0ac,2712
15
- emdash_cli/commands/search.py,sha256=DrSv_oN2xF1NaKCBICdyII7eupVRsDQ2ysW-TPSU0X0,1661
16
- emdash_cli/commands/server.py,sha256=UTmLAVolT0krN9xCtMcCSvmQZ9k1QwpFFmXGg9BulRY,3459
17
- emdash_cli/commands/skills.py,sha256=8N4279Hr8u2L8AgVjSTRVBLJBcXhN5DN7dn5fME62bs,9989
18
- emdash_cli/commands/spec.py,sha256=qafDmzKyRH035p3xTm_VTUsQLDZblIzIg-dxjEPv6tM,1494
19
- emdash_cli/commands/swarm.py,sha256=s_cntuorNdtNNTD2Qs1p2IcHghMrBMOQuturPS3y9mM,2661
20
- emdash_cli/commands/tasks.py,sha256=TdyunjSV5w7jpNFwv0fTL-_No5Fyvdm7Z2nXqxWSJec,1635
21
- emdash_cli/commands/team.py,sha256=K1-IJg6iG-9HMF_3JmpNDlNs1PYbb-ThFHU9KU_jKRo,1430
22
- emdash_cli/keyboard.py,sha256=haYYAuhYGtdjomzhIFy_3Z3eN3BXfMdb4uRQjwB0tbk,4593
23
- emdash_cli/main.py,sha256=c-faWp-jzf9a0BbXhVoPvPQfGWSryXpYfswehqZCYPM,2593
24
- emdash_cli/server_manager.py,sha256=RrLteSHUmcFV4cyHJAEmgM9qHru2mJS08QNLWno6Y3Y,7051
25
- emdash_cli/session_store.py,sha256=GjS73GLSZ3oTNtrFHMcyiP6GnH0Dvfvs6r4s3-bfEaM,9424
26
- emdash_cli/sse_renderer.py,sha256=QRykGh1BirtRC_2_3X48zJ0gctDEF7OV5VgiM0QUwtQ,27750
27
- emdash_cli-0.1.35.dist-info/METADATA,sha256=Imi3rtfGyvWLC_ddLV8GiPPeSQlavqcB78XgowoJufg,738
28
- emdash_cli-0.1.35.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
29
- emdash_cli-0.1.35.dist-info/entry_points.txt,sha256=31CuYD0k-tM8csFWDunc-JoZTxXaifj3oIXz4V0p6F0,122
30
- emdash_cli-0.1.35.dist-info/RECORD,,