applied-cli 0.5.62__tar.gz → 0.5.63__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 (27) hide show
  1. {applied_cli-0.5.62 → applied_cli-0.5.63}/PKG-INFO +1 -1
  2. {applied_cli-0.5.62 → applied_cli-0.5.63}/applied_cli/__init__.py +1 -1
  3. {applied_cli-0.5.62 → applied_cli-0.5.63}/applied_cli/cli.py +56 -0
  4. {applied_cli-0.5.62 → applied_cli-0.5.63}/applied_cli.egg-info/PKG-INFO +1 -1
  5. {applied_cli-0.5.62 → applied_cli-0.5.63}/pyproject.toml +1 -1
  6. {applied_cli-0.5.62 → applied_cli-0.5.63}/README.md +0 -0
  7. {applied_cli-0.5.62 → applied_cli-0.5.63}/applied_cli/agent_scoped_flows.py +0 -0
  8. {applied_cli-0.5.62 → applied_cli-0.5.63}/applied_cli/client.py +0 -0
  9. {applied_cli-0.5.62 → applied_cli-0.5.63}/applied_cli/conversation_lookup.py +0 -0
  10. {applied_cli-0.5.62 → applied_cli-0.5.63}/applied_cli/conversations.py +0 -0
  11. {applied_cli-0.5.62 → applied_cli-0.5.63}/applied_cli/credentials.py +0 -0
  12. {applied_cli-0.5.62 → applied_cli-0.5.63}/applied_cli/flow_helpers.py +0 -0
  13. {applied_cli-0.5.62 → applied_cli-0.5.63}/applied_cli/formatters.py +0 -0
  14. {applied_cli-0.5.62 → applied_cli-0.5.63}/applied_cli/tools.py +0 -0
  15. {applied_cli-0.5.62 → applied_cli-0.5.63}/applied_cli.egg-info/SOURCES.txt +0 -0
  16. {applied_cli-0.5.62 → applied_cli-0.5.63}/applied_cli.egg-info/dependency_links.txt +0 -0
  17. {applied_cli-0.5.62 → applied_cli-0.5.63}/applied_cli.egg-info/entry_points.txt +0 -0
  18. {applied_cli-0.5.62 → applied_cli-0.5.63}/applied_cli.egg-info/requires.txt +0 -0
  19. {applied_cli-0.5.62 → applied_cli-0.5.63}/applied_cli.egg-info/top_level.txt +0 -0
  20. {applied_cli-0.5.62 → applied_cli-0.5.63}/setup.cfg +0 -0
  21. {applied_cli-0.5.62 → applied_cli-0.5.63}/tests/test_agent_scoped_flows.py +0 -0
  22. {applied_cli-0.5.62 → applied_cli-0.5.63}/tests/test_audit_tools.py +0 -0
  23. {applied_cli-0.5.62 → applied_cli-0.5.63}/tests/test_benchmark_scenario_tools.py +0 -0
  24. {applied_cli-0.5.62 → applied_cli-0.5.63}/tests/test_cli.py +0 -0
  25. {applied_cli-0.5.62 → applied_cli-0.5.63}/tests/test_client.py +0 -0
  26. {applied_cli-0.5.62 → applied_cli-0.5.63}/tests/test_conversation_tools.py +0 -0
  27. {applied_cli-0.5.62 → applied_cli-0.5.63}/tests/test_flow_tools.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: applied-cli
3
- Version: 0.5.62
3
+ Version: 0.5.63
4
4
  Summary: CLI and shared client library for Applied Labs AI support agents
5
5
  Author: Applied Labs
6
6
  License-Expression: MIT
@@ -4,6 +4,6 @@ from applied_cli import tools
4
4
  from applied_cli.client import AppliedClient
5
5
  from applied_cli.formatters import to_csv, to_json
6
6
 
7
- __version__ = "0.5.62"
7
+ __version__ = "0.5.63"
8
8
 
9
9
  __all__ = ["AppliedClient", "tools", "to_csv", "to_json", "__version__"]
@@ -2161,6 +2161,62 @@ def taxonomy_delete(
2161
2161
  typer.echo(result)
2162
2162
 
2163
2163
 
2164
+ @app.command("products")
2165
+ def products(
2166
+ status: str = typer.Option(None, "--status", "-s", help="Filter: Active, Draft, Pending"),
2167
+ search: str = typer.Option(None, "--search", "-q", help="Full-text search"),
2168
+ format: str = typer.Option("csv", "--format", "-f", help="Output format: csv or json"),
2169
+ shop_id: str = typer.Option(None, "--shop-id", help="Override shop ID"),
2170
+ ) -> None:
2171
+ """List products."""
2172
+ client = get_client(shop_id=shop_id)
2173
+ result = asyncio.run(
2174
+ tools.product_list(client, status=status, search=search, output_format=format)
2175
+ )
2176
+ typer.echo(result)
2177
+
2178
+
2179
+ @app.command("product")
2180
+ def product(
2181
+ id: str = typer.Argument(..., help="Product ID"),
2182
+ shop_id: str = typer.Option(None, "--shop-id", help="Override shop ID"),
2183
+ ) -> None:
2184
+ """Get a single product."""
2185
+ client = get_client(shop_id=shop_id)
2186
+ result = asyncio.run(tools.product_get(client, id))
2187
+ typer.echo(result)
2188
+
2189
+
2190
+ @app.command("product-update")
2191
+ def product_update(
2192
+ id: str = typer.Argument(..., help="Product ID"),
2193
+ title: str = typer.Option(None, "--title", help="Product title"),
2194
+ description: str = typer.Option(None, "--description", help="Product description"),
2195
+ status: str = typer.Option(None, "--status", help="Status: Active, Draft, Pending"),
2196
+ auto_generate_kb: bool = typer.Option(
2197
+ None, "--auto-generate-kb/--no-auto-generate-kb", help="Auto-generate Q&A"
2198
+ ),
2199
+ used_for_rag: bool = typer.Option(
2200
+ None, "--used-for-rag/--not-used-for-rag", help="Include in knowledge base"
2201
+ ),
2202
+ shop_id: str = typer.Option(None, "--shop-id", help="Override shop ID"),
2203
+ ) -> None:
2204
+ """Update a product."""
2205
+ client = get_client(shop_id=shop_id)
2206
+ result = asyncio.run(
2207
+ tools.product_update(
2208
+ client,
2209
+ id,
2210
+ title=title,
2211
+ description=description,
2212
+ status=status,
2213
+ auto_generate_kb=auto_generate_kb,
2214
+ used_for_rag=used_for_rag,
2215
+ )
2216
+ )
2217
+ typer.echo(result)
2218
+
2219
+
2164
2220
  def main() -> None:
2165
2221
  """CLI entrypoint."""
2166
2222
  nested_exit_code = run_agent_scoped_flow_command(sys.argv[1:], get_client)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: applied-cli
3
- Version: 0.5.62
3
+ Version: 0.5.63
4
4
  Summary: CLI and shared client library for Applied Labs AI support agents
5
5
  Author: Applied Labs
6
6
  License-Expression: MIT
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "applied-cli"
3
- version = "0.5.62"
3
+ version = "0.5.63"
4
4
  description = "CLI and shared client library for Applied Labs AI support agents"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11"
File without changes
File without changes