systemlink-cli 1.12.0__tar.gz → 1.13.0__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 (90) hide show
  1. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/PKG-INFO +1 -1
  2. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/pyproject.toml +1 -1
  3. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/_version.py +1 -1
  4. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/main.py +2 -0
  5. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/skills/slcli/SKILL.md +25 -2
  6. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/skills/slcli/references/commands.md +50 -0
  7. systemlink_cli-1.13.0/slcli/state_click.py +1104 -0
  8. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/utils.py +13 -2
  9. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/LICENSE +0 -0
  10. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/dff-editor/editor.js +0 -0
  11. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/dff-editor/index.html +0 -0
  12. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/__init__.py +0 -0
  13. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/__main__.py +0 -0
  14. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/asset_click.py +0 -0
  15. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/cli_formatters.py +0 -0
  16. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/cli_utils.py +0 -0
  17. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/comment_click.py +0 -0
  18. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/completion_click.py +0 -0
  19. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/config.py +0 -0
  20. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/config_click.py +0 -0
  21. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/dataframe_click.py +0 -0
  22. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/dff_click.py +0 -0
  23. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/dff_decorators.py +0 -0
  24. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/example_click.py +0 -0
  25. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/example_loader.py +0 -0
  26. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/example_provisioner.py +0 -0
  27. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/examples/README.md +0 -0
  28. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/examples/_schema/schema-v1.0.json +0 -0
  29. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/examples/demo-complete-workflow/README.md +0 -0
  30. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/examples/demo-complete-workflow/config.yaml +0 -0
  31. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/examples/demo-test-plans/README.md +0 -0
  32. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/examples/demo-test-plans/config.yaml +0 -0
  33. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/examples/exercise-5-1-parametric-insights/README.md +0 -0
  34. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/examples/exercise-5-1-parametric-insights/config.yaml +0 -0
  35. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/examples/exercise-7-1-test-plans/README.md +0 -0
  36. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/examples/exercise-7-1-test-plans/config.yaml +0 -0
  37. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/examples/spec-compliance-notebooks/README.md +0 -0
  38. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/examples/spec-compliance-notebooks/config.yaml +0 -0
  39. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/examples/spec-compliance-notebooks/notebooks/SpecAnalysis_ComplianceCalculation.ipynb +0 -0
  40. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/examples/spec-compliance-notebooks/notebooks/SpecComplianceCalculation.ipynb +0 -0
  41. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/examples/spec-compliance-notebooks/notebooks/SpecfileExtractionAndIngestion.ipynb +0 -0
  42. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/examples/spec-compliance-notebooks/spec_template.xlsx +0 -0
  43. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/feed_click.py +0 -0
  44. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/file_click.py +0 -0
  45. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/function_click.py +0 -0
  46. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/function_templates.py +0 -0
  47. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/mcp_click.py +0 -0
  48. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/mcp_reachability.py +0 -0
  49. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/mcp_server.py +0 -0
  50. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/notebook_click.py +0 -0
  51. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/platform.py +0 -0
  52. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/policy_click.py +0 -0
  53. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/policy_utils.py +0 -0
  54. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/profiles.py +0 -0
  55. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/response_handlers.py +0 -0
  56. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/rich_output.py +0 -0
  57. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/routine_click.py +0 -0
  58. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/skill_click.py +0 -0
  59. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/skills/nipkg-file-package/SKILL.md +0 -0
  60. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/skills/slcli/references/analysis-recipes.md +0 -0
  61. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/skills/slcli/references/datasheet-workflow.md +0 -0
  62. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/skills/slcli/references/filtering.md +0 -0
  63. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/skills/slcli/references/troubleshooting.md +0 -0
  64. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/skills/systemlink-job-debugging/SKILL.md +0 -0
  65. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/skills/systemlink-notebook/SKILL.md +0 -0
  66. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/skills/systemlink-notebook/references/interfaces.md +0 -0
  67. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/skills/systemlink-notebook/references/notebook-patterns.md +0 -0
  68. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/skills/systemlink-python-test/SKILL.md +0 -0
  69. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/skills/systemlink-webapp/SKILL.md +0 -0
  70. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/skills/systemlink-webapp/references/deployment.md +0 -0
  71. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/skills/systemlink-webapp/references/layout-patterns.md +0 -0
  72. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/skills/systemlink-webapp/references/nimble-angular.md +0 -0
  73. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/skills/systemlink-webapp/references/systemlink-services.md +0 -0
  74. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/spec_click.py +0 -0
  75. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/ssl_trust.py +0 -0
  76. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/system_click.py +0 -0
  77. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/system_query_utils.py +0 -0
  78. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/table_utils.py +0 -0
  79. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/tag_click.py +0 -0
  80. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/templates_click.py +0 -0
  81. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/testmonitor_click.py +0 -0
  82. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/universal_handlers.py +0 -0
  83. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/user_click.py +0 -0
  84. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/web_editor.py +0 -0
  85. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/webapp_click.py +0 -0
  86. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/workflow_preview.py +0 -0
  87. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/workflows_click.py +0 -0
  88. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/workitem_click.py +0 -0
  89. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/workspace_click.py +0 -0
  90. {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/workspace_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: systemlink-cli
3
- Version: 1.12.0
3
+ Version: 1.13.0
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.12.0"
3
+ version = "1.13.0"
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.12.0"
4
+ __version__ = "1.13.0"
@@ -30,6 +30,7 @@ from .routine_click import register_routine_commands
30
30
  from .skill_click import register_skill_commands
31
31
  from .spec_click import register_spec_commands
32
32
  from .ssl_trust import OS_TRUST_INJECTED, OS_TRUST_REASON
33
+ from .state_click import register_state_commands
33
34
  from .system_click import register_system_commands
34
35
  from .tag_click import register_tag_commands
35
36
  from .templates_click import register_templates_commands
@@ -431,6 +432,7 @@ register_templates_commands(cli)
431
432
  register_notebook_commands(cli)
432
433
  register_policy_commands(cli)
433
434
  register_routine_commands(cli)
435
+ register_state_commands(cli)
434
436
  register_system_commands(cli)
435
437
  register_spec_commands(cli)
436
438
  register_tag_commands(cli)
@@ -2,7 +2,7 @@
2
2
  name: slcli
3
3
  description: >-
4
4
  Query and manage NI SystemLink resources using the slcli command-line interface.
5
- Covers test results, assets, systems, tags, feeds, files, notebooks,
5
+ Covers test results, assets, systems, software states, tags, feeds, files, notebooks,
6
6
  dataframe tables,
7
7
  routines, work items, work item templates, workflows, test plan templates,
8
8
  specifications, products, datasheet-to-specification ingestion (PDF and CSV),
@@ -10,13 +10,14 @@ description: >-
10
10
  Use when the user asks about test data analysis, asset management, calibration status,
11
11
  system fleet health, operator performance, failure analysis, production metrics,
12
12
  equipment utilization, dataframe schema inspection, row export or append workflows,
13
+ software state lifecycle management,
13
14
  work order tracking, specification management,
14
15
  importing datasheets, creating products from spec sheets,
15
16
  or any SystemLink resource operations.
16
17
  Supports filtering, aggregation, summary statistics, and JSON output for programmatic processing.
17
18
  argument-hint: >-
18
19
  Describe what you want to do: query test results, inspect a dataframe schema,
19
- export table rows, import a datasheet, list assets, manage work items, etc.
20
+ export table rows, import a datasheet, manage saved software states, list assets, manage work items, etc.
20
21
  compatibility: >-
21
22
  Requires slcli installed and authenticated (slcli login). Python 3.10+.
22
23
  Requires network access to a SystemLink server instance.
@@ -89,6 +90,27 @@ slcli webapp delete <WEBAPP_ID>
89
90
  slcli webapp open <WEBAPP_ID> # Open webapp URL in browser
90
91
  ```
91
92
 
93
+ ### state — Software state management
94
+
95
+ Create, inspect, import, export, and revert saved software states managed by the SystemLink Systems State service.
96
+
97
+ ```bash
98
+ slcli state list [-w WORKSPACE] [--architecture CHOICE] [--distribution CHOICE] [-t INT] [-f json]
99
+ slcli state get <STATE_ID> [-f json]
100
+ slcli state create --name TEXT --distribution CHOICE --architecture CHOICE [OPTIONS]
101
+ slcli state update <STATE_ID> [OPTIONS]
102
+ slcli state delete <STATE_ID> [--yes]
103
+
104
+ slcli state import --name TEXT --distribution CHOICE --architecture CHOICE --file PATH [OPTIONS]
105
+ slcli state replace-content <STATE_ID> --file PATH [--change-description TEXT] [-f json]
106
+ slcli state export <STATE_ID> [--version VERSION] [--inline | --output FILE]
107
+ slcli state capture <SYSTEM_ID> [--inline | --output FILE]
108
+
109
+ slcli state history <STATE_ID> [-t INT] [-f json]
110
+ slcli state version <STATE_ID> <VERSION> [-f json]
111
+ slcli state revert <STATE_ID> <VERSION> [--yes]
112
+ ```
113
+
92
114
  `webapp init` creates the SystemLink Angular starter, not a generic HTML app. The starter installs
93
115
  project-scoped skills into `.agents/skills/` and creates `PROMPTS.md` plus `START_HERE.md` so an
94
116
  AI assistant can bootstrap the Angular workspace in place with the same Nimble/SystemLink
@@ -188,6 +210,7 @@ to disable caching for debugging.
188
210
  | `spec` | Specifications | `list`, `query`, `get`, `create`, `import`, `export` |
189
211
  | `asset` | Assets & calibration | `list`, `get`, `summary`, `calibration` |
190
212
  | `system` | System fleet | `list`, `get`, `compare`, `summary`, `job` |
213
+ | `state` | Software states | `list`, `get`, `create`, `update`, `delete`, `import`, `replace-content`, `export`, `capture`, `history`, `version`, `revert` |
191
214
  | `dataframe` | DataFrame tables | `list`, `schema`, `query`, `export`, `append` |
192
215
  | `tag` | Tag read/write | `list`, `get-value`, `set-value`, `create` |
193
216
  | `routine` | Event-action routines | `list`, `create`, `enable/disable` (v1 + v2) |
@@ -216,6 +216,56 @@ slcli system job summary [-f json]
216
216
  slcli system job cancel <JOB_ID>
217
217
  ```
218
218
 
219
+ ## state — Software state management
220
+
221
+ ```bash
222
+ # List saved states
223
+ slcli state list [OPTIONS]
224
+
225
+ --workspace, -w TEXT # Filter by workspace name or ID
226
+ --architecture CHOICE # ARM, X64, X86, ANY
227
+ --distribution CHOICE # NI_LINUXRT, NI_LINUXRT_NXG, WINDOWS, ANY
228
+ --take, -t INTEGER # Default 25
229
+ -f [table|json]
230
+
231
+ # Get state details
232
+ slcli state get <STATE_ID> [-f json]
233
+
234
+ # Create or update a package/feed-defined state
235
+ slcli state create --name TEXT --distribution CHOICE --architecture CHOICE [OPTIONS]
236
+ --workspace, -w TEXT
237
+ --property KEY=VALUE # Repeatable custom property
238
+ --feed JSON_OR_@FILE # Repeatable feed object
239
+ --package JSON_OR_@FILE # Repeatable package object
240
+ --system-image JSON_OR_@FILE
241
+ --request FILE # Raw JSON request override
242
+ -f [table|json]
243
+
244
+ slcli state update <STATE_ID> [OPTIONS]
245
+ --name TEXT
246
+ --description TEXT
247
+ --distribution CHOICE
248
+ --architecture CHOICE
249
+ --workspace, -w TEXT
250
+ --property KEY=VALUE # Replaces properties when provided
251
+ --request FILE # Raw JSON patch override
252
+ -f [table|json]
253
+
254
+ # Destructive operations
255
+ slcli state delete <STATE_ID> [--yes]
256
+ slcli state revert <STATE_ID> <VERSION> [--yes]
257
+
258
+ # SLS file workflows
259
+ slcli state import --name TEXT --distribution CHOICE --architecture CHOICE --file PATH [OPTIONS]
260
+ slcli state replace-content <STATE_ID> --file PATH [--change-description TEXT] [-f json]
261
+ slcli state export <STATE_ID> [--version VERSION] [--inline | --output FILE]
262
+ slcli state capture <SYSTEM_ID> [--inline | --output FILE]
263
+
264
+ # Version history
265
+ slcli state history <STATE_ID> [-t INT] [-f json]
266
+ slcli state version <STATE_ID> <VERSION> [-f json]
267
+ ```
268
+
219
269
  ## dataframe — DataFrame tables and row access
220
270
 
221
271
  > **Requires:** DataFrame service (SLE only). Check `slcli info` for availability.