systemlink-cli 1.8.1__tar.gz → 1.9.1__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 (79) hide show
  1. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/PKG-INFO +1 -1
  2. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/pyproject.toml +1 -1
  3. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/_version.py +1 -1
  4. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/mcp_click.py +22 -14
  5. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/skills/slcli/SKILL.md +22 -0
  6. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/LICENSE +0 -0
  7. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/dff-editor/editor.js +0 -0
  8. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/dff-editor/index.html +0 -0
  9. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/__init__.py +0 -0
  10. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/__main__.py +0 -0
  11. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/asset_click.py +0 -0
  12. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/cli_formatters.py +0 -0
  13. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/cli_utils.py +0 -0
  14. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/comment_click.py +0 -0
  15. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/completion_click.py +0 -0
  16. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/config.py +0 -0
  17. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/config_click.py +0 -0
  18. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/dff_click.py +0 -0
  19. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/dff_decorators.py +0 -0
  20. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/example_click.py +0 -0
  21. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/example_loader.py +0 -0
  22. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/example_provisioner.py +0 -0
  23. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/examples/README.md +0 -0
  24. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/examples/_schema/schema-v1.0.json +0 -0
  25. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/examples/demo-complete-workflow/README.md +0 -0
  26. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/examples/demo-complete-workflow/config.yaml +0 -0
  27. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/examples/demo-test-plans/README.md +0 -0
  28. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/examples/demo-test-plans/config.yaml +0 -0
  29. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/examples/exercise-5-1-parametric-insights/README.md +0 -0
  30. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/examples/exercise-5-1-parametric-insights/config.yaml +0 -0
  31. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/examples/exercise-7-1-test-plans/README.md +0 -0
  32. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/examples/exercise-7-1-test-plans/config.yaml +0 -0
  33. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/examples/spec-compliance-notebooks/README.md +0 -0
  34. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/examples/spec-compliance-notebooks/config.yaml +0 -0
  35. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/examples/spec-compliance-notebooks/notebooks/SpecAnalysis_ComplianceCalculation.ipynb +0 -0
  36. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/examples/spec-compliance-notebooks/notebooks/SpecComplianceCalculation.ipynb +0 -0
  37. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/examples/spec-compliance-notebooks/notebooks/SpecfileExtractionAndIngestion.ipynb +0 -0
  38. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/examples/spec-compliance-notebooks/spec_template.xlsx +0 -0
  39. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/feed_click.py +0 -0
  40. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/file_click.py +0 -0
  41. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/function_click.py +0 -0
  42. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/function_templates.py +0 -0
  43. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/main.py +0 -0
  44. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/mcp_server.py +0 -0
  45. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/notebook_click.py +0 -0
  46. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/platform.py +0 -0
  47. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/policy_click.py +0 -0
  48. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/policy_utils.py +0 -0
  49. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/profiles.py +0 -0
  50. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/response_handlers.py +0 -0
  51. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/rich_output.py +0 -0
  52. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/routine_click.py +0 -0
  53. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/skill_click.py +0 -0
  54. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/skills/slcli/references/analysis-recipes.md +0 -0
  55. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/skills/slcli/references/filtering.md +0 -0
  56. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/skills/systemlink-notebook/SKILL.md +0 -0
  57. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/skills/systemlink-notebook/references/interfaces.md +0 -0
  58. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/skills/systemlink-notebook/references/notebook-patterns.md +0 -0
  59. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/skills/systemlink-webapp/SKILL.md +0 -0
  60. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/skills/systemlink-webapp/references/deployment.md +0 -0
  61. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/skills/systemlink-webapp/references/layout-patterns.md +0 -0
  62. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/skills/systemlink-webapp/references/nimble-angular.md +0 -0
  63. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/skills/systemlink-webapp/references/systemlink-services.md +0 -0
  64. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/ssl_trust.py +0 -0
  65. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/system_click.py +0 -0
  66. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/table_utils.py +0 -0
  67. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/tag_click.py +0 -0
  68. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/templates_click.py +0 -0
  69. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/testmonitor_click.py +0 -0
  70. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/universal_handlers.py +0 -0
  71. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/user_click.py +0 -0
  72. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/utils.py +0 -0
  73. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/web_editor.py +0 -0
  74. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/webapp_click.py +0 -0
  75. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/workflow_preview.py +0 -0
  76. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/workflows_click.py +0 -0
  77. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/workitem_click.py +0 -0
  78. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/workspace_click.py +0 -0
  79. {systemlink_cli-1.8.1 → systemlink_cli-1.9.1}/slcli/workspace_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: systemlink-cli
3
- Version: 1.8.1
3
+ Version: 1.9.1
4
4
  Summary: SystemLink Integrator CLI - cross-platform CLI for SystemLink workflows and templates.
5
5
  License-File: LICENSE
6
6
  Author: Fred Visser
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "systemlink-cli"
3
- version = "1.8.1"
3
+ version = "1.9.1"
4
4
  description = "SystemLink Integrator CLI - cross-platform CLI for SystemLink workflows and templates."
5
5
  authors = ["Fred Visser <fred.visser@emerson.com>"]
6
6
  packages = [{ include = "slcli" }]
@@ -1,4 +1,4 @@
1
1
  """Version information for slcli."""
2
2
 
3
3
  # This file is auto-generated. Do not edit manually.
4
- __version__ = "1.8.1"
4
+ __version__ = "1.9.1"
@@ -149,29 +149,32 @@ def register_mcp_commands(cli: Any) -> None:
149
149
  @click.option(
150
150
  "--transport",
151
151
  "-T",
152
- type=click.Choice(["stdio", "sse"]),
152
+ type=click.Choice(["stdio", "streamable-http"]),
153
153
  default="stdio",
154
154
  show_default=True,
155
- help="Transport layer: 'stdio' for AI client integration, 'sse' for HTTP/SSE.",
155
+ help=(
156
+ "Transport layer: 'stdio' for AI client integration, "
157
+ "'streamable-http' for HTTP transport."
158
+ ),
156
159
  )
157
160
  @click.option(
158
161
  "--port",
159
162
  "-p",
160
163
  default=8000,
161
164
  show_default=True,
162
- help="Port to bind to (SSE transport only).",
165
+ help="Port to bind to (streamable HTTP transport only).",
163
166
  )
164
167
  @click.option(
165
168
  "--host",
166
169
  default="127.0.0.1",
167
170
  show_default=True,
168
- help="Host to bind to (SSE transport only).",
171
+ help="Host to bind to (streamable HTTP transport only).",
169
172
  )
170
173
  def serve(transport: str, port: int, host: str) -> None:
171
174
  """Start the MCP server.
172
175
 
173
176
  Defaults to stdio transport for direct AI client integration (VS Code
174
- Copilot, Claude Desktop, Cursor). Switch to SSE transport to serve
177
+ Copilot, Claude Desktop, Cursor). Switch to streamable HTTP transport to serve
175
178
  over HTTP — useful for the MCP Inspector, browser-based tooling, or
176
179
  any client that prefers a persistent HTTP connection.
177
180
 
@@ -180,15 +183,15 @@ def register_mcp_commands(cli: Any) -> None:
180
183
  slcli mcp serve
181
184
 
182
185
  \b
183
- SSE (HTTP server on http://127.0.0.1:8000/sse):
184
- slcli mcp serve --transport sse
185
- slcli mcp serve --transport sse --host 0.0.0.0 --port 9000
186
+ Streamable HTTP (HTTP server on http://127.0.0.1:8000/mcp):
187
+ slcli mcp serve --transport streamable-http
188
+ slcli mcp serve --transport streamable-http --host 0.0.0.0 --port 9000
186
189
 
187
190
  \b
188
- Test with the MCP Inspector (SSE):
189
- slcli mcp serve --transport sse
191
+ Test with the MCP Inspector (Streamable HTTP):
192
+ slcli mcp serve --transport streamable-http
190
193
  npx @modelcontextprotocol/inspector
191
- # connect to http://127.0.0.1:8000/sse (transport: SSE)
194
+ # connect to http://127.0.0.1:8000/mcp (transport: Streamable HTTP)
192
195
  """
193
196
  try:
194
197
  from .mcp_server import main as run_mcp_server
@@ -208,13 +211,18 @@ def register_mcp_commands(cli: Any) -> None:
208
211
  mcp_server.settings.host = host
209
212
  mcp_server.settings.port = port
210
213
 
211
- click.echo(f"✓ slcli MCP server starting in SSE mode on http://{host}:{port}/sse")
214
+ click.echo(
215
+ "✓ slcli MCP server starting in streamable HTTP mode on "
216
+ f"http://{host}:{port}/mcp"
217
+ )
212
218
  click.echo(" Open the Inspector: npx @modelcontextprotocol/inspector")
213
- click.echo(f" Then connect to: http://{host}:{port}/sse (transport: SSE)")
219
+ click.echo(
220
+ f" Then connect to: http://{host}:{port}/mcp " "(transport: Streamable HTTP)"
221
+ )
214
222
  click.echo(" Press Ctrl+C to stop.\n")
215
223
 
216
224
  try:
217
- mcp_server.run(transport="sse")
225
+ mcp_server.run(transport="streamable-http")
218
226
  except KeyboardInterrupt:
219
227
  click.echo("\nslcli MCP server stopped")
220
228
  sys.exit(0)
@@ -45,6 +45,12 @@ slcli workitem list --format json --take 25
45
45
 
46
46
  # create a work item
47
47
  slcli workitem create --name "Battery Cycle Test" --type testplan --state NEW --part-number "P-001" --workspace Default
48
+
49
+ # register the MCP server for VS Code Copilot Agent mode
50
+ slcli mcp install
51
+
52
+ # run the MCP server over streamable HTTP for local inspector testing
53
+ slcli mcp serve --transport streamable-http
48
54
  ```
49
55
 
50
56
  ## Output formats
@@ -58,6 +64,22 @@ Always use `-f json` when you need to process, filter, or aggregate output progr
58
64
 
59
65
  ## Commands
60
66
 
67
+ ### mcp - Model Context Protocol server
68
+
69
+ Use this command group to register slcli as an MCP server for supported AI clients
70
+ or to serve the MCP endpoint directly for local testing.
71
+
72
+ ```bash
73
+ # Install config for a specific AI client
74
+ slcli mcp install [--target vscode|claude|cursor|codex|all]
75
+
76
+ # Start the default stdio transport
77
+ slcli mcp serve
78
+
79
+ # Start streamable HTTP for the MCP Inspector or browser tooling
80
+ slcli mcp serve --transport streamable-http [--host 127.0.0.1] [--port 8000]
81
+ ```
82
+
61
83
  ### testmonitor — Test data analysis
62
84
 
63
85
  The primary command group for test result queries and product analysis.
File without changes