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.
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/PKG-INFO +1 -1
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/pyproject.toml +1 -1
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/_version.py +1 -1
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/main.py +2 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/skills/slcli/SKILL.md +25 -2
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/skills/slcli/references/commands.md +50 -0
- systemlink_cli-1.13.0/slcli/state_click.py +1104 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/utils.py +13 -2
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/LICENSE +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/dff-editor/editor.js +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/dff-editor/index.html +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/__init__.py +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/__main__.py +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/asset_click.py +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/cli_formatters.py +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/cli_utils.py +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/comment_click.py +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/completion_click.py +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/config.py +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/config_click.py +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/dataframe_click.py +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/dff_click.py +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/dff_decorators.py +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/example_click.py +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/example_loader.py +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/example_provisioner.py +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/examples/README.md +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/examples/_schema/schema-v1.0.json +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/examples/demo-complete-workflow/README.md +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/examples/demo-complete-workflow/config.yaml +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/examples/demo-test-plans/README.md +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/examples/demo-test-plans/config.yaml +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/examples/exercise-5-1-parametric-insights/README.md +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/examples/exercise-5-1-parametric-insights/config.yaml +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/examples/exercise-7-1-test-plans/README.md +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/examples/exercise-7-1-test-plans/config.yaml +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/examples/spec-compliance-notebooks/README.md +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/examples/spec-compliance-notebooks/config.yaml +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/examples/spec-compliance-notebooks/notebooks/SpecAnalysis_ComplianceCalculation.ipynb +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/examples/spec-compliance-notebooks/notebooks/SpecComplianceCalculation.ipynb +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/examples/spec-compliance-notebooks/notebooks/SpecfileExtractionAndIngestion.ipynb +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/examples/spec-compliance-notebooks/spec_template.xlsx +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/feed_click.py +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/file_click.py +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/function_click.py +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/function_templates.py +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/mcp_click.py +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/mcp_reachability.py +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/mcp_server.py +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/notebook_click.py +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/platform.py +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/policy_click.py +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/policy_utils.py +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/profiles.py +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/response_handlers.py +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/rich_output.py +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/routine_click.py +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/skill_click.py +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/skills/nipkg-file-package/SKILL.md +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/skills/slcli/references/analysis-recipes.md +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/skills/slcli/references/datasheet-workflow.md +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/skills/slcli/references/filtering.md +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/skills/slcli/references/troubleshooting.md +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/skills/systemlink-job-debugging/SKILL.md +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/skills/systemlink-notebook/SKILL.md +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/skills/systemlink-notebook/references/interfaces.md +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/skills/systemlink-notebook/references/notebook-patterns.md +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/skills/systemlink-python-test/SKILL.md +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/skills/systemlink-webapp/SKILL.md +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/skills/systemlink-webapp/references/deployment.md +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/skills/systemlink-webapp/references/layout-patterns.md +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/skills/systemlink-webapp/references/nimble-angular.md +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/skills/systemlink-webapp/references/systemlink-services.md +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/spec_click.py +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/ssl_trust.py +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/system_click.py +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/system_query_utils.py +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/table_utils.py +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/tag_click.py +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/templates_click.py +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/testmonitor_click.py +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/universal_handlers.py +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/user_click.py +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/web_editor.py +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/webapp_click.py +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/workflow_preview.py +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/workflows_click.py +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/workitem_click.py +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/workspace_click.py +0 -0
- {systemlink_cli-1.12.0 → systemlink_cli-1.13.0}/slcli/workspace_utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "systemlink-cli"
|
|
3
|
-
version = "1.
|
|
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" }]
|
|
@@ -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.
|