yaicli 0.5.5__py3-none-any.whl → 0.5.6__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.
pyproject.toml CHANGED
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "yaicli"
3
- version = "0.5.5"
3
+ version = "0.5.6"
4
4
  description = "A simple CLI tool to interact with LLM"
5
5
  authors = [{ name = "belingud", email = "im.victor@qq.com" }]
6
6
  readme = "README.md"
@@ -51,6 +51,18 @@ Documentation = "https://github.com/belingud/yaicli"
51
51
  ai = "yaicli.entry:app"
52
52
  yaicli = "yaicli.entry:app"
53
53
 
54
+ [tool.pytest.ini_options]
55
+ testpaths = ["tests"]
56
+ python_files = ["test_*.py"]
57
+ python_functions = ["test_*"]
58
+ filterwarnings = [
59
+ "ignore::DeprecationWarning",
60
+ "ignore::PendingDeprecationWarning",
61
+ "ignore::UserWarning",
62
+ "ignore::pydantic.PydanticDeprecatedSince20",
63
+ "ignore:.*There is no current event loop.*:DeprecationWarning"
64
+ ]
65
+
54
66
  [tool.uv]
55
67
  resolution = "highest"
56
68
 
yaicli/printer.py CHANGED
@@ -93,13 +93,7 @@ class Printer:
93
93
  """
94
94
  # Process reasoning field first (if present)
95
95
  if chunk_reasoning:
96
- if self.in_reasoning:
97
- # Already in reasoning mode, append to reasoning
98
- reasoning += chunk_reasoning
99
- else:
100
- # Force reasoning mode for explicit reasoning field
101
- self.in_reasoning = True
102
- reasoning += chunk_reasoning
96
+ reasoning += chunk_reasoning
103
97
 
104
98
  # Then process content field (if present)
105
99
  if chunk_content:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: yaicli
3
- Version: 0.5.5
3
+ Version: 0.5.6
4
4
  Summary: A simple CLI tool to interact with LLM
5
5
  Project-URL: Homepage, https://github.com/belingud/yaicli
6
6
  Project-URL: Repository, https://github.com/belingud/yaicli
@@ -481,50 +481,50 @@ ai --verbose "Explain quantum computing"
481
481
  YAICLI: Your AI assistant in the command line.
482
482
  Call with a PROMPT to get a direct answer, use --shell to execute as command, or use --chat for an interactive session.
483
483
 
484
- ╭─ Arguments ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
485
- │ prompt [PROMPT] The prompt to send to the LLM. Reads from stdin if available. [default: None]
486
- ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
487
- ╭─ Options ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
488
- │ --install-completion Install completion for the current shell.
489
- │ --show-completion Show completion for the current shell, to copy it or customize the installation.
490
- │ --help -h Show this message and exit.
491
- ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
492
- ╭─ LLM Options ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
493
- │ --model -M TEXT Specify the model to use.
494
- │ --temperature -T FLOAT RANGE [0.0<=x<=2.0] Specify the temperature to use. [default: 0.5]
495
- │ --top-p -P FLOAT RANGE [0.0<=x<=1.0] Specify the top-p to use. [default: 1.0]
496
- │ --max-tokens -M INTEGER RANGE [x>=1] Specify the max tokens to use. [default: 1024]
497
- │ --stream --no-stream Specify whether to stream the response. (default: stream)
498
- ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
499
- ╭─ Role Options ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
500
- │ --role -r TEXT Specify the assistant role to use. [default: DEFAULT]
501
- │ --create-role TEXT Create a new role with the specified name.
502
- │ --delete-role TEXT Delete a role with the specified name.
503
- │ --list-roles List all available roles.
504
- │ --show-role TEXT Show the role with the specified name.
505
- ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
506
- ╭─ Chat Options ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
507
- │ --chat -c Start in interactive chat mode.
508
- │ --list-chats List saved chat sessions.
509
- ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
510
- ╭─ Shell Options ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
511
- │ --shell -s Generate and optionally execute a shell command (non-interactive).
512
- ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
513
- ╭─ Code Options ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
514
- │ --code Generate code in plaintext (non-interactive).
515
- ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
516
- ╭─ Other Options ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
517
- │ --verbose -V Show verbose output (e.g., loaded config).
518
- │ --template Show the default config file template and exit.
519
- │ --show-reasoning --hide-reasoning Show reasoning content from the LLM. (default: show)
520
- │ --justify -j [default|left|center|right|full] Specify the justify to use. [default: default]
521
- ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
522
- ╭─ Function Options ────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
523
- │ --install-functions Install default functions.
524
- │ --list-functions List all available functions.
525
- │ --enable-functions --disable-functions Enable/disable function calling in API requests (default: disabled)
526
- │ --show-function-output --hide-function-output Show the output of functions (default: show)
527
- ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
484
+ ╭─ Arguments ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
485
+ │ prompt [PROMPT] The prompt to send to the LLM. Reads from stdin if available. [default: None]
486
+ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
487
+ ╭─ Options ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
488
+ │ --install-completion Install completion for the current shell.
489
+ │ --show-completion Show completion for the current shell, to copy it or customize the installation.
490
+ │ --help -h Show this message and exit.
491
+ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
492
+ ╭─ LLM Options ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
493
+ │ --model -M TEXT Specify the model to use.
494
+ │ --temperature -T FLOAT RANGE [0.0<=x<=2.0] Specify the temperature to use. [default: 0.5]
495
+ │ --top-p -P FLOAT RANGE [0.0<=x<=1.0] Specify the top-p to use. [default: 1.0]
496
+ │ --max-tokens INTEGER RANGE [x>=1] Specify the max tokens to use. [default: 1024]
497
+ │ --stream --no-stream Specify whether to stream the response. (default: stream)
498
+ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
499
+ ╭─ Role Options ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
500
+ │ --role -r TEXT Specify the assistant role to use. [default: DEFAULT]
501
+ │ --create-role TEXT Create a new role with the specified name.
502
+ │ --delete-role TEXT Delete a role with the specified name.
503
+ │ --list-roles List all available roles.
504
+ │ --show-role TEXT Show the role with the specified name.
505
+ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
506
+ ╭─ Chat Options ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
507
+ │ --chat -c Start in interactive chat mode.
508
+ │ --list-chats List saved chat sessions.
509
+ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
510
+ ╭─ Shell Options ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
511
+ │ --shell -s Generate and optionally execute a shell command (non-interactive).
512
+ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
513
+ ╭─ Code Options ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
514
+ │ --code Generate code in plaintext (non-interactive).
515
+ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
516
+ ╭─ Other Options ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
517
+ │ --verbose -V Show verbose output (e.g., loaded config).
518
+ │ --template Show the default config file template and exit.
519
+ │ --show-reasoning --hide-reasoning Show reasoning content from the LLM. (default: show)
520
+ │ --justify -j [default|left|center|right|full] Specify the justify to use. [default: default]
521
+ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
522
+ ╭─ Function Options ───────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
523
+ │ --install-functions Install default functions.
524
+ │ --list-functions List all available functions.
525
+ │ --enable-functions --disable-functions Enable/disable function calling in API requests (default: disabled)
526
+ │ --show-function-output --hide-function-output Show the output of functions (default: show)
527
+ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
528
528
  ```
529
529
 
530
530
  ### Interactive Mode Features
@@ -1,4 +1,4 @@
1
- pyproject.toml,sha256=bFPTKVIFeSvLyWCIEZPvU_jtlcuOyrAv55R0XDudNzM,1615
1
+ pyproject.toml,sha256=6p1uC3kyuCkJEw7qEwIFWQ2wgiAV9fqpDmGr6u9hsAs,1963
2
2
  yaicli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
3
  yaicli/chat.py,sha256=DeTmOeBPU-oiOAIaDj2h-auJor0GyVVhrViLYF6zGIM,13638
4
4
  yaicli/cli.py,sha256=1Flt0FgrKzbabjJpZJCcvnUjXaaLwyD2paRyMixEQV0,22985
@@ -9,7 +9,7 @@ yaicli/const.py,sha256=FYW8cNqFzZwnYbgr_HXZSzSS8OIU_UsFIn4SZ0zOJ8U,8129
9
9
  yaicli/entry.py,sha256=gKzN8Yar3tpBd2Z2a80gD3k0W4Sf3lL7jdyws-2y-H0,8687
10
10
  yaicli/exceptions.py,sha256=WBYg8OTJJzaj7lt6HE7ZyBoe5T6A3yZRNCRfWd4iN0c,372
11
11
  yaicli/history.py,sha256=s-57X9FMsaQHF7XySq1gGH_jpd_cHHTYafYu2ECuG6M,2472
12
- yaicli/printer.py,sha256=c6Y5uN5yR7GKGT2OgZyrHCLYThAeu8fNjrhUGig873s,8644
12
+ yaicli/printer.py,sha256=a409R_4-ppNnen31Pt7KvaaNAFVCzBARYC0T0_EtMbU,8369
13
13
  yaicli/render.py,sha256=k8o2P8fI44PJlyQbs7gmMiu2x2prwajdWn5JIt15BIA,505
14
14
  yaicli/role.py,sha256=PfwiVJIlzg7EzlvMM-kIy6vBK0d5d_J4M1I_fIZGnWk,7399
15
15
  yaicli/schemas.py,sha256=PiuSY7ORZaA4OL_tYm0inwqirHp5M-F3zcCipLwsH9E,571
@@ -17,8 +17,8 @@ yaicli/tools.py,sha256=d-5LXbEB-1Uq5VKSgwlAiNDVOGrHkku2DpmZoorq1zw,3098
17
17
  yaicli/utils.py,sha256=bpo3Xhozpxsaci3FtEIKZ32l4ZdyWMsrHjYGX0tB4J4,4541
18
18
  yaicli/functions/__init__.py,sha256=_FJooQ9GkijG8xLwuU0cr5GBrGnC9Nc6bnCeUjrsT0k,1271
19
19
  yaicli/functions/buildin/execute_shell_command.py,sha256=unl1-F8p6QZajeHdA0u5UpURMJM0WhdWMUWCCCHVRcI,1320
20
- yaicli-0.5.5.dist-info/METADATA,sha256=xP25HRcZiT53Wqr9w7d6gupEmMxuBQRuTzv8FcMdxwM,49274
21
- yaicli-0.5.5.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
22
- yaicli-0.5.5.dist-info/entry_points.txt,sha256=iYVyQP0PJIm9tQnlQheqT435kK_xdGoi5j9aswGV9hA,66
23
- yaicli-0.5.5.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
24
- yaicli-0.5.5.dist-info/RECORD,,
20
+ yaicli-0.5.6.dist-info/METADATA,sha256=Vxp8bZrO89wYwWhtXB00o_2XVyF-6UyprAQd8bfVh1g,49194
21
+ yaicli-0.5.6.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
22
+ yaicli-0.5.6.dist-info/entry_points.txt,sha256=iYVyQP0PJIm9tQnlQheqT435kK_xdGoi5j9aswGV9hA,66
23
+ yaicli-0.5.6.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
24
+ yaicli-0.5.6.dist-info/RECORD,,
File without changes