systemlink-cli 1.27.0__tar.gz → 1.27.2__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.27.0 → systemlink_cli-1.27.2}/PKG-INFO +1 -1
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/pyproject.toml +1 -1
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/_version.py +1 -1
- systemlink_cli-1.27.2/slcli/skills/slcli/SKILL.md +204 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/skills/slcli/references/analysis-recipes.md +87 -2
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/skills/slcli/references/commands.md +110 -68
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/skills/slcli/references/filtering.md +3 -1
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/skills/slcli/references/python-test/overview.md +1 -1
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/skills/slcli/references/troubleshooting.md +19 -0
- systemlink_cli-1.27.2/slcli/skills/slcli/references/webapp/deployment.md +332 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/skills/slcli/references/webapp/overview.md +42 -15
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/webapp_click.py +3 -2
- systemlink_cli-1.27.0/slcli/skills/slcli/SKILL.md +0 -91
- systemlink_cli-1.27.0/slcli/skills/slcli/references/webapp/deployment.md +0 -147
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/LICENSE +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/dff-editor/editor.js +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/dff-editor/index.html +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/__init__.py +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/__main__.py +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/alarm_click.py +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/asset_click.py +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/cli_formatters.py +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/cli_utils.py +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/comment_click.py +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/completion_click.py +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/config.py +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/config_click.py +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/dataframe_click.py +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/dff_click.py +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/dff_decorators.py +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/example_click.py +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/example_loader.py +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/example_provisioner.py +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/examples/README.md +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/examples/_schema/schema-v1.0.json +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/examples/demo-data-1/README.md +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/examples/demo-data-1/config.yaml +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/examples/demo-data-2/README.md +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/examples/demo-data-2/config.yaml +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/examples/demo-data-3/config.yaml +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/examples/demo-data-3/leakage-current-results.json +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/examples/demo-data-3/overvoltage-results.json +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/examples/demo-data-3/product-xyz-compliance-report.json +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/examples/demo-data-3/product-xyz-specification.csv +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/examples/demo-data-3/thermal-response-results.json +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/examples/exercise-5-1-parametric-insights/README.md +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/examples/exercise-5-1-parametric-insights/config.yaml +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/examples/exercise-7-1-test-plans/README.md +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/examples/exercise-7-1-test-plans/config.yaml +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/examples/spec-compliance-notebooks/README.md +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/examples/spec-compliance-notebooks/config.yaml +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/examples/spec-compliance-notebooks/notebooks/SpecAnalysis_ComplianceCalculation.ipynb +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/examples/spec-compliance-notebooks/notebooks/SpecComplianceCalculation.ipynb +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/examples/spec-compliance-notebooks/notebooks/SpecfileExtractionAndIngestion.ipynb +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/examples/spec-compliance-notebooks/spec_template.xlsx +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/feed_click.py +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/file_click.py +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/function_click.py +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/function_templates.py +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/main.py +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/mcp_click.py +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/mcp_reachability.py +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/mcp_server.py +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/notebook_click.py +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/pkce.py +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/platform.py +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/policy_click.py +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/policy_utils.py +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/profiles.py +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/response_handlers.py +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/rich_output.py +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/routine_click.py +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/skill_click.py +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/skills/slcli/references/datasheet-workflow.md +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/skills/slcli/references/example-authoring.md +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/skills/slcli/references/import-specs.min.json +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/skills/slcli/references/job-debugging/overview.md +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/skills/slcli/references/nipkg/overview.md +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/skills/slcli/references/notebook/interfaces.md +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/skills/slcli/references/notebook/notebook-patterns.md +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/skills/slcli/references/notebook/overview.md +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/skills/slcli/references/routine-examples.md +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/skills/slcli/references/webapp/angular-ui-packages.md +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/skills/slcli/references/webapp/layout-patterns.md +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/skills/slcli/references/webapp/nimble-angular.md +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/skills/slcli/references/webapp/systemlink-services.md +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/skills/slcli/references/webapp/troubleshooting.md +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/skills/slcli/scripts/spec_import_helper.py +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/spec_click.py +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/ssl_trust.py +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/state_click.py +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/system_click.py +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/system_query_utils.py +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/systemlink-logo.svg +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/table_utils.py +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/tag_click.py +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/templates_click.py +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/testmonitor_click.py +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/universal_handlers.py +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/user_click.py +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/utils.py +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/web_editor.py +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/webapp_bootstrap.py +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/.gitignore +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/README.md +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/angular.json +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/package.json +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/scripts/filter-sbom.js +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/app-routing.module.ts +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/app.component.html +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/app.component.scss +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/app.component.ts +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/app.module.ts +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/core/layout/app-shell.component.html +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/core/layout/app-shell.component.scss +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/core/layout/app-shell.component.ts +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/core/state/app-view-state.service.ts +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/core/systemlink/systemlink-context.service.ts +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/core/systemlink/theme-sync.service.ts +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/core/systemlink/webapp-home-data.service.ts +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/features/assets/assets-page.component.html +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/features/assets/assets-page.component.scss +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/features/assets/assets-page.component.ts +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/features/datasets/datasets-page.component.html +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/features/datasets/datasets-page.component.scss +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/features/datasets/datasets-page.component.ts +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/features/home/home-page.component.html +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/features/home/home-page.component.scss +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/features/home/home-page.component.ts +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/features/master-detail/master-detail-page.component.html +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/features/master-detail/master-detail-page.component.scss +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/features/master-detail/master-detail-page.component.ts +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/features/operations/operations-page.component.html +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/features/operations/operations-page.component.scss +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/features/operations/operations-page.component.ts +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/features/settings/settings-page.component.html +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/features/settings/settings-page.component.scss +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/features/settings/settings-page.component.ts +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/shared/components/empty-state.component.html +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/shared/components/empty-state.component.scss +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/shared/components/empty-state.component.ts +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/shared/components/error-banner.component.html +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/shared/components/error-banner.component.scss +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/shared/components/error-banner.component.ts +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/shared/components/loading-state.component.html +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/shared/components/loading-state.component.scss +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/shared/components/loading-state.component.ts +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/shared/states/view-state.model.ts +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/assets/README.md +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/index.html +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/main.ts +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/styles.scss +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/tsconfig.app.json +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/tsconfig.json +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/workflow_preview.py +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/workflows_click.py +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/workitem_click.py +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/workspace_click.py +0 -0
- {systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/workspace_utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "systemlink-cli"
|
|
3
|
-
version = "1.27.
|
|
3
|
+
version = "1.27.2"
|
|
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" }]
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: slcli
|
|
3
|
+
description: >-
|
|
4
|
+
Query and manage NI SystemLink resources using the slcli command-line interface.
|
|
5
|
+
Use when the user asks about test results, assets, systems, work items,
|
|
6
|
+
specifications, webapps, notebooks, dataframes, files, feeds, tags,
|
|
7
|
+
authorization, users, example fixture authoring, example config.yaml files,
|
|
8
|
+
or other SystemLink resource workflows. Use it when the user asks to create,
|
|
9
|
+
validate, review, install, or troubleshoot a SystemLink example fixture.
|
|
10
|
+
argument-hint: >-
|
|
11
|
+
Describe the SystemLink workflow you want to inspect, automate, scaffold, or
|
|
12
|
+
troubleshoot.
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# SystemLink CLI
|
|
16
|
+
|
|
17
|
+
Use this skill when the task is primarily about `slcli` commands or a
|
|
18
|
+
SystemLink resource workflow that should be driven from the CLI.
|
|
19
|
+
|
|
20
|
+
## When to use it
|
|
21
|
+
|
|
22
|
+
- Querying or managing SystemLink resources through `slcli`
|
|
23
|
+
- Looking up exact command syntax, flags, or JSON output patterns
|
|
24
|
+
- Building command sequences for analysis, provisioning, packaging, or cleanup
|
|
25
|
+
- Creating, validating, or reviewing `slcli example` fixture YAML
|
|
26
|
+
- Troubleshooting CLI behavior, platform gating, or command selection
|
|
27
|
+
|
|
28
|
+
## Reference docs
|
|
29
|
+
|
|
30
|
+
Load only what the current task needs.
|
|
31
|
+
|
|
32
|
+
| Topic | File | When to load |
|
|
33
|
+
| --- | --- | --- |
|
|
34
|
+
| CLI command reference | [commands.md](./references/commands.md) | Looking up command syntax, options, or examples |
|
|
35
|
+
| Example fixture authoring | [example-authoring.md](./references/example-authoring.md) | Creating or reviewing `config.yaml`, resource references, file-backed fixtures, or validation behavior |
|
|
36
|
+
| Datasheet-to-spec workflow | [datasheet-workflow.md](./references/datasheet-workflow.md) | Importing specifications from PDF, CSV, or structured text |
|
|
37
|
+
| Minimal spec import payload | [import-specs.min.json](./references/import-specs.min.json) | Need a bundled create-compatible starter payload or conditions |
|
|
38
|
+
| Spec import helper | [spec_import_helper.py](./scripts/spec_import_helper.py) | Scaffold or validate a datasheet spec import payload |
|
|
39
|
+
| Filtering guide | [filtering.md](./references/filtering.md) | Advanced filters, LINQ syntax, and query composition |
|
|
40
|
+
| Analysis recipes | [analysis-recipes.md](./references/analysis-recipes.md) | Multi-step analysis workflows and reporting patterns |
|
|
41
|
+
| Troubleshooting | [troubleshooting.md](./references/troubleshooting.md) | SSL, workspace IDs, encoding, or scripting pitfalls |
|
|
42
|
+
| Notebook workflow | [notebook/overview.md](./references/notebook/overview.md) | Creating notebooks for SystemLink |
|
|
43
|
+
| Webapp workflow | [webapp/overview.md](./references/webapp/overview.md) | Hosted Angular webapp scaffolding and deployment |
|
|
44
|
+
| Python test workflow | [python-test/overview.md](./references/python-test/overview.md) | Python test app structure and deployment |
|
|
45
|
+
| Job debugging | [job-debugging/overview.md](./references/job-debugging/overview.md) | Salt job triage and recovery |
|
|
46
|
+
| NI package files | [nipkg/overview.md](./references/nipkg/overview.md) | File-package assembly and `nipkg pack` guidance |
|
|
47
|
+
|
|
48
|
+
## Default approach
|
|
49
|
+
|
|
50
|
+
1. Prefer long-form flags in generated commands.
|
|
51
|
+
2. Use `--format json` when the result will be filtered, transformed, or piped
|
|
52
|
+
into other tools.
|
|
53
|
+
3. Use `--summary --group-by` for aggregation before fetching large raw result sets.
|
|
54
|
+
4. Use convenience filters first, then fall back to `--filter` with `--substitution` for complex queries.
|
|
55
|
+
5. Stay scoped to the user’s requested resource or workflow.
|
|
56
|
+
6. Load deeper references only when the command surface alone is not enough.
|
|
57
|
+
7. For example authoring or review, load `example-authoring.md` before proposing YAML.
|
|
58
|
+
8. Prefer workspace IDs over names in scripted workflows when an endpoint is strict about identity.
|
|
59
|
+
9. Use `make_api_request` from `slcli.utils` for helper scripts so auth, SSL, and error handling stay consistent.
|
|
60
|
+
10. For datasheet imports, default to autonomy when the product or workspace can be resolved unambiguously.
|
|
61
|
+
|
|
62
|
+
## Common command groups
|
|
63
|
+
|
|
64
|
+
| Group | Purpose | Key subcommands |
|
|
65
|
+
| --- | --- | --- |
|
|
66
|
+
| `testmonitor` | Test results and products | `result list/get`, `product list/create/update` |
|
|
67
|
+
| `alarm` | Alarm monitoring and lifecycle actions | `list`, `get`, `acknowledge`, `force-clear`, `delete`, `transition`, `monitor` |
|
|
68
|
+
| `spec` | Specifications | `list`, `query`, `get`, `create`, `import`, `export` |
|
|
69
|
+
| `asset` | Assets and calibration | `list`, `get`, `summary`, `calibration` |
|
|
70
|
+
| `system` | System fleet | `list`, `get`, `compare`, `summary`, `job` |
|
|
71
|
+
| `tag` | Tag read/write | `list`, `get-value`, `set-value`, `create` |
|
|
72
|
+
| `routine` | Event-action routines | `list`, `create`, `enable/disable` |
|
|
73
|
+
| `comment` | Resource comments | `list`, `add`, `update`, `delete` |
|
|
74
|
+
| `workitem` | Work items and workflows | `list`, `create`, `schedule`, `template`, `workflow` |
|
|
75
|
+
| `file` | File management | `list`, `upload`, `download`, `query`, `watch` |
|
|
76
|
+
| `notebook` | Jupyter notebooks | `manage list/create`, `execute start/sync` |
|
|
77
|
+
| `feed` | Package feeds | `list`, `create`, `package upload` |
|
|
78
|
+
| `customfield` | Dynamic form fields | `list`, `create`, `export`, `edit` |
|
|
79
|
+
| `template` | Test plan templates | `list`, `import`, `export` |
|
|
80
|
+
| `webapp` | Web applications | `new`, `pack`, `publish`, `list` |
|
|
81
|
+
| `config` | Connection profiles | `list`, `use`, `add`, `delete` |
|
|
82
|
+
| `user` | User management | `list`, `get`, `create`, `update` |
|
|
83
|
+
| `auth` | Authorization policies | `policy list/create`, `template list` |
|
|
84
|
+
| `workspace` | Workspaces | `list`, `get` |
|
|
85
|
+
| `skill` | AI skill installation | `install` |
|
|
86
|
+
| `example` | Demo provisioning | `list`, `install`, `delete` |
|
|
87
|
+
|
|
88
|
+
Example package fixtures are declared as `package` resources after a `feed`
|
|
89
|
+
resource. Use `source.type: dummy` for deterministic packages, `file` for a
|
|
90
|
+
fixture-relative `.nipkg`, or `repository` for an explicit HTTPS package URL.
|
|
91
|
+
The repository catalog can identify packages and feeds, but package bytes must
|
|
92
|
+
come from a direct package URL or an existing feed download path.
|
|
93
|
+
|
|
94
|
+
## Mandatory scope resolution
|
|
95
|
+
|
|
96
|
+
Before the first resource query, resolve the profile and workspace separately.
|
|
97
|
+
Treat a workspace supplied by the user as a workspace identifier, never as a
|
|
98
|
+
profile name. Match it exactly against either the workspace name or UUID.
|
|
99
|
+
|
|
100
|
+
1. Run `slcli config list --format json` and select profiles whose `workspace`
|
|
101
|
+
field matches the requested workspace name. If the user supplied a UUID,
|
|
102
|
+
probe configured profiles sequentially instead. Do not infer a profile from
|
|
103
|
+
a similar name such as `demo-fred` or `fred-roaster`.
|
|
104
|
+
2. Use the global `--profile NAME` override on every command. The option goes
|
|
105
|
+
before the command group, for example:
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
slcli --profile PROFILE_NAME workspace list --format json
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
This preserves the user's global active profile.
|
|
112
|
+
3. If several profiles match, probe them sequentially with
|
|
113
|
+
`slcli --profile NAME info --skip-health --format json`. Continue past a
|
|
114
|
+
missing credential, unavailable endpoint, or permission error. Confirm the
|
|
115
|
+
selected candidate with one read-only workspace query before issuing the
|
|
116
|
+
actual resource query. Do not fan out the same query across candidates.
|
|
117
|
+
4. Use the first authorized candidate. Ask the user only when several
|
|
118
|
+
candidates are authorized and the choice could change the answer.
|
|
119
|
+
5. With the selected profile, run `workspace list --format json` and resolve
|
|
120
|
+
the requested workspace by exact name or UUID. Carry both the display name
|
|
121
|
+
and UUID, but use the UUID for subsequent queries when the command accepts
|
|
122
|
+
it.
|
|
123
|
+
|
|
124
|
+
When reading `slcli info --format json`, use `active_profile_name` as the
|
|
125
|
+
effective profile after CLI or environment overrides. `current_profile` is the
|
|
126
|
+
persisted config pointer and may differ. Use `api_url_source` to confirm where
|
|
127
|
+
the effective endpoint came from; never use `current_profile` alone to decide
|
|
128
|
+
which profile served a query.
|
|
129
|
+
|
|
130
|
+
## Mandatory non-interactive webapp deployment protocol
|
|
131
|
+
|
|
132
|
+
For every webapp creation, publish, redeploy, or update task, load
|
|
133
|
+
[deployment.md](./references/webapp/deployment.md) and follow its ordered
|
|
134
|
+
protocol. Do not build or upload an artifact until the deployment target has
|
|
135
|
+
been resolved. The protocol is non-interactive: use JSON output and bounded
|
|
136
|
+
inventory commands, and do not rely on table pagination or terminal prompts.
|
|
137
|
+
|
|
138
|
+
1. Discover the installed command surface before composing commands:
|
|
139
|
+
```bash
|
|
140
|
+
slcli config list --format json
|
|
141
|
+
slcli webapp publish -h
|
|
142
|
+
slcli webapp list -h
|
|
143
|
+
```
|
|
144
|
+
Installed `--help` wins over this skill and its references. Confirm every
|
|
145
|
+
option on the installed CLI; `webapp publish` currently has `--id`, `--name`,
|
|
146
|
+
and `--workspace`, while `webapp list` has bounded JSON output and `-f`.
|
|
147
|
+
Prefer long options in generated commands after confirming they exist.
|
|
148
|
+
2. Resolve the effective profile and target workspace separately. Probe a
|
|
149
|
+
candidate with `info --skip-health --format json`, resolve the workspace
|
|
150
|
+
display name to its UUID with `workspace list --format json`, and carry the
|
|
151
|
+
UUID into every later command. Never use a similar profile name as a
|
|
152
|
+
substitute for workspace identity.
|
|
153
|
+
3. Resolve the exact webapp target before building or uploading. Use a
|
|
154
|
+
bounded, filtered, non-interactive inventory, for example:
|
|
155
|
+
```bash
|
|
156
|
+
slcli --profile PROFILE webapp list \
|
|
157
|
+
--workspace WORKSPACE_ID --filter "Coffee Tasting" \
|
|
158
|
+
--take 10 --format json
|
|
159
|
+
```
|
|
160
|
+
The server-side `--filter` is a substring filter, so compare returned names
|
|
161
|
+
locally. One exact name match means update that webapp with its returned ID
|
|
162
|
+
by default. Multiple exact matches are ambiguous and require a selected ID.
|
|
163
|
+
No exact match means report that a new resource would be created and obtain
|
|
164
|
+
explicit confirmation or an explicit create instruction before using
|
|
165
|
+
`--name`; never create a duplicate as an implicit fallback.
|
|
166
|
+
4. Inspect the project contract before running its dev server or production
|
|
167
|
+
build. Read `package.json` and `angular.json`; do not append `--host` when
|
|
168
|
+
the package script already supplies it. Remove or correct legacy Angular
|
|
169
|
+
options such as `buildOptimizer` and `vendorChunk` when they make `ng serve`
|
|
170
|
+
reject the configuration. Run the production build, detect its actual
|
|
171
|
+
output directory, and verify the hosted routing, CSP, authentication, and
|
|
172
|
+
service/workspace contract. The Test Monitor results service prefix is
|
|
173
|
+
`/nitest/v2/query-results`, not `/nitestmonitor/v2/query-results`; do not
|
|
174
|
+
hardcode `workspace=Default` when the target workspace was resolved.
|
|
175
|
+
5. Publish only after steps 1-4 pass. Pass the resolved workspace for a new
|
|
176
|
+
webapp, or the exact existing webapp ID for an update. Capture the returned
|
|
177
|
+
webapp ID, published URL, and publish timestamp in the task record.
|
|
178
|
+
6. Validate at three levels: deployment metadata with `webapp get`, an
|
|
179
|
+
authenticated CLI query for the target workspace and required resources,
|
|
180
|
+
and an authenticated browser check of the hosted URL. A reachable URL is
|
|
181
|
+
not proof of an authenticated app. If the browser redirects to login or
|
|
182
|
+
returns 401, report exactly: `deployment reachable, interactive hosted
|
|
183
|
+
validation pending.`
|
|
184
|
+
|
|
185
|
+
## Product lookup and overview defaults
|
|
186
|
+
|
|
187
|
+
For product discovery, use this order:
|
|
188
|
+
|
|
189
|
+
1. Try an exact or likely part number with `testmonitor product list
|
|
190
|
+
--part-number`.
|
|
191
|
+
2. Try the name and family convenience filters.
|
|
192
|
+
3. If a convenience filter returns `[]`, treat that as inconclusive. Scan the
|
|
193
|
+
resolved workspace catalog with a bounded JSON query and match name or part
|
|
194
|
+
number locally with `jq`.
|
|
195
|
+
4. Fetch the selected product with `testmonitor product get <PRODUCT_ID>`.
|
|
196
|
+
|
|
197
|
+
For a product overview, fetch the product record and directly linked metadata
|
|
198
|
+
only. Use `--summary` for counts and statuses, and grouped summaries for
|
|
199
|
+
profiles, programs, or other supported dimensions. For result data, use only
|
|
200
|
+
dimensions exposed by the command, such as `status` and `programName`. Fetch
|
|
201
|
+
only the latest 5 to 10 results, projecting relevant fields with `jq`. Fetch
|
|
202
|
+
full result details only for a specific run or failure. Record an explicit UTC
|
|
203
|
+
`as of` time and treat counts from separate live queries as separate
|
|
204
|
+
observations.
|
{systemlink_cli-1.27.0 → systemlink_cli-1.27.2}/slcli/skills/slcli/references/analysis-recipes.md
RENAMED
|
@@ -17,10 +17,94 @@ Each recipe maps to a real-world scenario and shows the exact commands needed.
|
|
|
17
17
|
- [Recipe 9: Product family workload distribution](#recipe-9-product-family-workload-distribution)
|
|
18
18
|
- [Recipe 10: Environmental condition failure patterns](#recipe-10-environmental-condition-failure-patterns)
|
|
19
19
|
- [Recipe 11: Create and schedule a work item on a specific fixture/slot and system](#recipe-11-create-and-schedule-a-work-item-on-a-specific-fixtureslot-and-system)
|
|
20
|
+
- [Product discovery and overview](#product-discovery-and-overview)
|
|
20
21
|
- [General tips](#general-tips)
|
|
21
22
|
|
|
22
23
|
---
|
|
23
24
|
|
|
25
|
+
## Product discovery and overview
|
|
26
|
+
|
|
27
|
+
**Question:** Tell me about a product in a specific workspace without
|
|
28
|
+
producing an oversized, inconsistent report.
|
|
29
|
+
|
|
30
|
+
**Prerequisite:** Complete the mandatory profile and workspace resolution in
|
|
31
|
+
the main `slcli` skill. Set `PROFILE` to the selected profile and
|
|
32
|
+
`WORKSPACE_ID` to the resolved workspace UUID. Capture the observation time
|
|
33
|
+
before querying live data:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
PROFILE="<PROFILE_NAME>"
|
|
37
|
+
WORKSPACE_ID="<WORKSPACE_UUID>"
|
|
38
|
+
AS_OF="$(date -u +"%Y-%m-%dT%H:%M:%SZ")"
|
|
39
|
+
printf 'As of %s\n' "$AS_OF"
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
**Lookup order:**
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
# 1. Exact or likely part number
|
|
46
|
+
slcli --profile "$PROFILE" testmonitor product list \
|
|
47
|
+
--workspace "$WORKSPACE_ID" --part-number "<PART_NUMBER>" \
|
|
48
|
+
--format json --take 25
|
|
49
|
+
|
|
50
|
+
# 2. Name or family convenience filters, when the part-number lookup is empty
|
|
51
|
+
slcli --profile "$PROFILE" testmonitor product list \
|
|
52
|
+
--workspace "$WORKSPACE_ID" --name "<PRODUCT_NAME>" \
|
|
53
|
+
--format json --take 25
|
|
54
|
+
slcli --profile "$PROFILE" testmonitor product list \
|
|
55
|
+
--workspace "$WORKSPACE_ID" --family "<FAMILY>" \
|
|
56
|
+
--format json --take 25
|
|
57
|
+
|
|
58
|
+
# 3. Bounded workspace catalog fallback when convenience filters are empty
|
|
59
|
+
slcli --profile "$PROFILE" testmonitor product list \
|
|
60
|
+
--workspace "$WORKSPACE_ID" --format json --take 100 |
|
|
61
|
+
jq --arg name "<PRODUCT_NAME>" --arg part "<PART_NUMBER>" '
|
|
62
|
+
[ .[] | select(
|
|
63
|
+
(($name != "") and ((.name // "" | ascii_downcase) | contains($name | ascii_downcase)))
|
|
64
|
+
or (($part != "") and ((.partNumber // "" | ascii_downcase) | contains($part | ascii_downcase)))
|
|
65
|
+
) | {id, name, partNumber, family, workspace} ]'
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
An empty result from a name or family filter does not prove that the product is
|
|
69
|
+
absent. Increase the bounded catalog limit only deliberately, and project the
|
|
70
|
+
candidate fields in `jq` before displaying them. Fetch the selected record only
|
|
71
|
+
after identifying its ID:
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
slcli --profile "$PROFILE" testmonitor product get <PRODUCT_ID> --format json
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
**Overview budget:**
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
# Directly linked metadata, only when relevant to the question
|
|
81
|
+
slcli --profile "$PROFILE" spec list --product <PRODUCT_ID> --format json
|
|
82
|
+
|
|
83
|
+
# Compact counts and status breakdown
|
|
84
|
+
slcli --profile "$PROFILE" testmonitor result list \
|
|
85
|
+
--part-number "<PART_NUMBER>" --summary --group-by status \
|
|
86
|
+
--format json
|
|
87
|
+
|
|
88
|
+
# Grouped program summary
|
|
89
|
+
slcli --profile "$PROFILE" testmonitor result list \
|
|
90
|
+
--part-number "<PART_NUMBER>" --summary --group-by programName \
|
|
91
|
+
--format json
|
|
92
|
+
|
|
93
|
+
# Latest 5 to 10 results, projected to relevant fields
|
|
94
|
+
slcli --profile "$PROFILE" testmonitor result list \
|
|
95
|
+
--part-number "<PART_NUMBER>" --order-by STARTED_AT --descending \
|
|
96
|
+
--take 10 --format json |
|
|
97
|
+
jq '[.[] | {id, status: .status.statusType, startedAt, programName,
|
|
98
|
+
partNumber, serialNumber}]'
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
Use `testmonitor result get <RESULT_ID> --include-steps --format json` only
|
|
102
|
+
when the user asks about a particular run or failure. Counts from separate
|
|
103
|
+
commands are not one atomic snapshot; report the `as of` time and call out
|
|
104
|
+
live-data changes when totals do not agree.
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
24
108
|
## Recipe 1: Operator failure rate analysis
|
|
25
109
|
|
|
26
110
|
**Question:** Which operators have the highest failure rates and what should they
|
|
@@ -482,8 +566,9 @@ slcli workitem schedule wi-12345 \
|
|
|
482
566
|
- **Start with `--summary`** to understand data shape before fetching raw records.
|
|
483
567
|
- **Use `--group-by`** with `--summary` for aggregation: `status`, `programName`,
|
|
484
568
|
`serialNumber`, `operator`, `hostName`, `systemId`.
|
|
485
|
-
- **Chain with `jq`** for complex transformations — always use
|
|
486
|
-
- **Use `--take` wisely** — start
|
|
569
|
+
- **Chain with `jq`** for complex transformations — always use `--format json`.
|
|
570
|
+
- **Use `--take` wisely** — start with 5-10 for recent detail and a bounded
|
|
571
|
+
catalog query for discovery; increase only when the question requires it.
|
|
487
572
|
- **For rate calculations**, query total count and filtered count separately, then divide.
|
|
488
573
|
- **Use `--order-by TOTAL_TIME_IN_SECONDS --descending`** to find slowest tests quickly.
|
|
489
574
|
- **Asset `--connected` flag** limits to assets in currently connected systems.
|
|
@@ -28,6 +28,31 @@ Complete option reference for all `slcli` command groups.
|
|
|
28
28
|
- [webapp — Web application management](#webapp--web-application-management)
|
|
29
29
|
- [skill — AI skill installation](#skill--ai-skill-installation)
|
|
30
30
|
- [example — Built-in example resource provisioning](#example--built-in-example-resource-provisioning)
|
|
31
|
+
- [Scope and capability discovery](#scope-and-capability-discovery)
|
|
32
|
+
|
|
33
|
+
## Scope and capability discovery
|
|
34
|
+
|
|
35
|
+
Resolve a requested workspace before querying its resources. `--profile` is a
|
|
36
|
+
global option and must precede the command group:
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
# Find profiles mapped to the requested workspace
|
|
40
|
+
slcli config list --format json | \
|
|
41
|
+
jq -r --arg workspace "Fred" '.[] | select((.workspace // "") == $workspace) | .name'
|
|
42
|
+
|
|
43
|
+
# Probe candidates one at a time without changing the active profile
|
|
44
|
+
slcli --profile <PROFILE_NAME> info --skip-health --format json
|
|
45
|
+
slcli --profile <PROFILE_NAME> workspace list --format json
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
In `info` JSON, `active_profile_name` is the effective profile for the command,
|
|
49
|
+
while `current_profile` is the persisted config pointer. `api_url_source`
|
|
50
|
+
identifies the source of the effective API URL. Use the effective fields when
|
|
51
|
+
they disagree; `current_profile` alone is not a reliable query-scope signal.
|
|
52
|
+
|
|
53
|
+
Consult `<command> --help` whenever a flag or alias is uncertain. Format aliases
|
|
54
|
+
are command-specific, and the installed CLI help is authoritative. Generated
|
|
55
|
+
commands should prefer the long form `--format json`.
|
|
31
56
|
|
|
32
57
|
## testmonitor — Test data analysis
|
|
33
58
|
|
|
@@ -78,7 +103,7 @@ slcli testmonitor product list [OPTIONS]
|
|
|
78
103
|
--workspace, -w TEXT # Filter by workspace name or ID
|
|
79
104
|
--summary # Show summary statistics
|
|
80
105
|
--take, -t INTEGER # Items per page (default 25)
|
|
81
|
-
-f [table|json]
|
|
106
|
+
--format, -f [table|json]
|
|
82
107
|
|
|
83
108
|
# Get a single product
|
|
84
109
|
slcli testmonitor product get <PRODUCT_ID> [-f json]
|
|
@@ -427,11 +452,11 @@ slcli dataframe delete <TABLE_ID>... [--yes]
|
|
|
427
452
|
|
|
428
453
|
```bash
|
|
429
454
|
slcli tag list [OPTIONS] # List tags (filter by path glob, workspace)
|
|
430
|
-
slcli tag get <TAG_PATH>
|
|
455
|
+
slcli tag get <TAG_PATH> # Get tag metadata
|
|
431
456
|
slcli tag get-value <TAG_PATH> # Read current tag value
|
|
432
457
|
slcli tag history <TAG_PATH> [-w WORKSPACE] [-t TAKE] [-f json] [--graph] # Read or graph history
|
|
433
458
|
slcli tag set-value <TAG_PATH> <VALUE> # Write a tag value
|
|
434
|
-
slcli tag create
|
|
459
|
+
slcli tag create <TAG_PATH> --type <TYPE> [OPTIONS] # Create a new tag
|
|
435
460
|
slcli tag update <TAG_PATH> [OPTIONS] # Update tag metadata
|
|
436
461
|
slcli tag delete <TAG_PATH> # Delete a tag
|
|
437
462
|
```
|
|
@@ -665,8 +690,9 @@ slcli comment delete <ID1> <ID2> <ID3>
|
|
|
665
690
|
## workspace — Workspace management
|
|
666
691
|
|
|
667
692
|
```bash
|
|
668
|
-
slcli workspace list [
|
|
669
|
-
slcli workspace get
|
|
693
|
+
slcli workspace list [--format json]
|
|
694
|
+
slcli workspace get --workspace WORKSPACE_ID [--format json]
|
|
695
|
+
slcli workspace disable --id WORKSPACE_ID [--yes]
|
|
670
696
|
```
|
|
671
697
|
|
|
672
698
|
## config — Profile and credential management
|
|
@@ -680,10 +706,10 @@ slcli logout [--profile NAME] [--all] [--force]
|
|
|
680
706
|
slcli info [-f json] [--skip-health] # Show active profile and service health
|
|
681
707
|
slcli completion [--shell SHELL] [--install] # Generate or install shell tab completion
|
|
682
708
|
|
|
683
|
-
slcli config list [
|
|
709
|
+
slcli config list [--format json] # List all profiles
|
|
684
710
|
slcli config current # Show the active profile name
|
|
685
711
|
slcli config use <PROFILE> # Switch the active profile
|
|
686
|
-
slcli config view [
|
|
712
|
+
slcli config view [-f json] [--show-secrets] # Show stored profile details
|
|
687
713
|
slcli config add [--profile NAME] [OPTIONS] # Add or update a profile
|
|
688
714
|
slcli config delete <PROFILE> [--force] # Delete a profile
|
|
689
715
|
slcli config migrate # Migrate legacy keyring credentials
|
|
@@ -693,10 +719,10 @@ slcli config migrate # Migrate legacy keyring credent
|
|
|
693
719
|
|
|
694
720
|
```bash
|
|
695
721
|
slcli user list [--workspace NAME] [-t INT] [-f json]
|
|
696
|
-
slcli user get
|
|
722
|
+
slcli user get [--id USER_ID | --email EMAIL] [-f json]
|
|
697
723
|
slcli user create [OPTIONS] # Create a new user
|
|
698
|
-
slcli user update
|
|
699
|
-
slcli user delete
|
|
724
|
+
slcli user update --id USER_ID [OPTIONS]
|
|
725
|
+
slcli user delete --id USER_ID [--yes]
|
|
700
726
|
```
|
|
701
727
|
|
|
702
728
|
## auth — Authorization policies and templates
|
|
@@ -705,10 +731,10 @@ slcli user delete <USER_ID>
|
|
|
705
731
|
# Policies
|
|
706
732
|
slcli auth policy list [--type CHOICE] [--builtin] [-t INT] [-f json]
|
|
707
733
|
slcli auth policy get <POLICY_ID> [-f json]
|
|
708
|
-
slcli auth policy create --name TEXT [OPTIONS]
|
|
734
|
+
slcli auth policy create TEMPLATE_ID --name TEXT --workspace WORKSPACE [OPTIONS]
|
|
709
735
|
slcli auth policy update <POLICY_ID> [OPTIONS]
|
|
710
736
|
slcli auth policy delete <POLICY_ID>
|
|
711
|
-
slcli auth policy diff <
|
|
737
|
+
slcli auth policy diff <POLICY_ID_1> <POLICY_ID_2> # Compare two policies
|
|
712
738
|
|
|
713
739
|
# Policy templates
|
|
714
740
|
slcli auth template list [-t INT] [-f json]
|
|
@@ -723,28 +749,29 @@ Supports Windows (.nipkg) and NI Linux RT (.ipk/.deb).
|
|
|
723
749
|
|
|
724
750
|
```bash
|
|
725
751
|
slcli feed list [-w WORKSPACE] [-t INT] [-f json]
|
|
726
|
-
slcli feed get
|
|
752
|
+
slcli feed get --id FEED_ID [-f json]
|
|
727
753
|
slcli feed create --name TEXT [--workspace NAME] [OPTIONS]
|
|
728
|
-
slcli feed delete
|
|
729
|
-
slcli feed replicate --
|
|
754
|
+
slcli feed delete --id FEED_ID [--yes] [--wait] [--timeout INT]
|
|
755
|
+
slcli feed replicate --name NAME --platform [windows|ni-linux-rt] --url URL [OPTIONS]
|
|
730
756
|
|
|
731
757
|
# Packages within a feed
|
|
732
|
-
slcli feed package list --feed-id FEED_ID [
|
|
758
|
+
slcli feed package list --feed-id FEED_ID [--take INT] [--format json]
|
|
733
759
|
slcli feed package upload --feed-id FEED_ID --file PATH
|
|
734
|
-
slcli feed package delete --
|
|
760
|
+
slcli feed package delete --id PACKAGE_ID [--yes] [--wait] [--timeout INT]
|
|
735
761
|
```
|
|
736
762
|
|
|
737
763
|
## file — File Service management
|
|
738
764
|
|
|
739
765
|
```bash
|
|
740
|
-
slcli file list [--workspace NAME] [--
|
|
766
|
+
slcli file list [--workspace NAME] [--filter TEXT] [--id-filter IDS] [-t INT] [-f json]
|
|
741
767
|
slcli file get <FILE_ID> [-f json]
|
|
742
|
-
slcli file upload --
|
|
743
|
-
slcli file download <FILE_ID> -o OUTPUT_PATH
|
|
744
|
-
slcli file delete
|
|
768
|
+
slcli file upload FILE_PATH [--workspace NAME] [--name NAME] [--properties JSON]
|
|
769
|
+
slcli file download <FILE_ID> [-o OUTPUT_PATH] [--force]
|
|
770
|
+
slcli file delete --id FILE_ID [--force]
|
|
745
771
|
slcli file query [--filter TEXT] [-t INT] [-f json] # Advanced filter query
|
|
746
772
|
slcli file update-metadata <FILE_ID> [OPTIONS]
|
|
747
|
-
slcli file watch [--workspace NAME] [--
|
|
773
|
+
slcli file watch WATCH_DIR [--workspace NAME] [--move-to DIRECTORY | --delete-after-upload]
|
|
774
|
+
[--pattern GLOB] [--debounce SECONDS] [--recursive]
|
|
748
775
|
```
|
|
749
776
|
|
|
750
777
|
## notebook — Jupyter Notebook management and execution
|
|
@@ -754,21 +781,26 @@ slcli file watch [--workspace NAME] [--filter TEXT] # Stream new file event
|
|
|
754
781
|
slcli notebook init [--name NAME] [--directory DIR] # Create a local .ipynb template
|
|
755
782
|
|
|
756
783
|
# Remote notebook management
|
|
757
|
-
slcli notebook manage list [-w WORKSPACE] [-t INT] [-f json]
|
|
758
|
-
slcli notebook manage get
|
|
759
|
-
slcli notebook manage create --file PATH [--workspace NAME]
|
|
760
|
-
slcli notebook manage update
|
|
761
|
-
slcli notebook manage set-interface
|
|
762
|
-
slcli notebook manage download
|
|
763
|
-
|
|
784
|
+
slcli notebook manage list [-w WORKSPACE] [--filter TEXT] [-t INT] [-f json]
|
|
785
|
+
slcli notebook manage get --id NOTEBOOK_ID [-f json]
|
|
786
|
+
slcli notebook manage create [--file PATH] [--workspace NAME] --name NAME [--interface CHOICE]
|
|
787
|
+
slcli notebook manage update --id NOTEBOOK_ID [--metadata FILE] [--content FILE] [--interface CHOICE]
|
|
788
|
+
slcli notebook manage set-interface --id NOTEBOOK_ID --interface CHOICE
|
|
789
|
+
slcli notebook manage download [--id NOTEBOOK_ID | --name NAME] [--workspace NAME]
|
|
790
|
+
[--output PATH] [--type CHOICE]
|
|
791
|
+
slcli notebook manage delete --id NOTEBOOK_ID [--yes]
|
|
764
792
|
|
|
765
793
|
# Notebook executions
|
|
766
|
-
slcli notebook execute list [-w WORKSPACE] [
|
|
767
|
-
|
|
768
|
-
slcli notebook execute
|
|
769
|
-
slcli notebook execute
|
|
770
|
-
|
|
771
|
-
slcli notebook execute
|
|
794
|
+
slcli notebook execute list [-w WORKSPACE] [--status STATUS] [--notebook-id NOTEBOOK_ID]
|
|
795
|
+
[-t INT] [-f json]
|
|
796
|
+
slcli notebook execute get --id EXECUTION_ID [-f json]
|
|
797
|
+
slcli notebook execute start --notebook-id NOTEBOOK_ID [--workspace NAME] [--parameters JSON]
|
|
798
|
+
[--timeout INT] [--no-cache] [--format table|json]
|
|
799
|
+
slcli notebook execute sync --notebook-id NOTEBOOK_ID [--workspace NAME] [--parameters JSON]
|
|
800
|
+
[--timeout INT] [--poll-interval FLOAT] [--max-wait INT]
|
|
801
|
+
[--format table|json] [--no-cache]
|
|
802
|
+
slcli notebook execute cancel --id EXECUTION_ID
|
|
803
|
+
slcli notebook execute retry --id EXECUTION_ID
|
|
772
804
|
```
|
|
773
805
|
|
|
774
806
|
## customfield — Custom field (DFF) configuration
|
|
@@ -776,14 +808,15 @@ slcli notebook execute retry <EXECUTION_ID>
|
|
|
776
808
|
Manage Dynamic Form Field definitions used to attach custom metadata to resources.
|
|
777
809
|
|
|
778
810
|
```bash
|
|
779
|
-
slcli customfield list [-w WORKSPACE] [
|
|
780
|
-
slcli customfield get
|
|
781
|
-
slcli customfield create --
|
|
782
|
-
slcli customfield update
|
|
783
|
-
slcli customfield delete
|
|
784
|
-
|
|
785
|
-
slcli customfield
|
|
786
|
-
slcli customfield
|
|
811
|
+
slcli customfield list [-w WORKSPACE] [--take INT] [-f json]
|
|
812
|
+
slcli customfield get --id FIELD_ID [-f json]
|
|
813
|
+
slcli customfield create --file FILE
|
|
814
|
+
slcli customfield update --file FILE
|
|
815
|
+
slcli customfield delete --id CONFIG_ID [--group-id GROUP_ID] [--field-id FIELD_ID]
|
|
816
|
+
[--no-recursive] [--yes]
|
|
817
|
+
slcli customfield export --id CONFIG_ID [-o FILE] # Export a configuration to JSON
|
|
818
|
+
slcli customfield init [--name NAME] [--workspace NAME] [--resource-type TYPE] [-o FILE]
|
|
819
|
+
slcli customfield edit [--file FILE] [--id CONFIG_ID] [--port INT] [--no-browser]
|
|
787
820
|
```
|
|
788
821
|
|
|
789
822
|
## template — Test plan template management
|
|
@@ -795,12 +828,12 @@ slcli customfield edit [--directory DIR] # Interactively edit +
|
|
|
795
828
|
> when provisioning new test plan instances.
|
|
796
829
|
|
|
797
830
|
```bash
|
|
798
|
-
slcli template init [--name TEXT] [--
|
|
831
|
+
slcli template init [--name TEXT] [--template-group TEXT] [-o FILE] # Scaffold a local template file
|
|
799
832
|
slcli template list [-w WORKSPACE] [-t INT] [-f json]
|
|
800
|
-
slcli template get
|
|
801
|
-
slcli template export [
|
|
802
|
-
slcli template import --file PATH
|
|
803
|
-
slcli template delete
|
|
833
|
+
slcli template get [--id TEMPLATE_ID | --name NAME] [-f json]
|
|
834
|
+
slcli template export [--id TEMPLATE_ID | --name NAME] [-o FILE] # Export templates to JSON
|
|
835
|
+
slcli template import --file PATH # Import templates from JSON
|
|
836
|
+
slcli template delete --id TEMPLATE_ID [--yes]
|
|
804
837
|
```
|
|
805
838
|
|
|
806
839
|
## workitem — Work item, template, and workflow management
|
|
@@ -846,13 +879,13 @@ slcli workitem template delete <TEMPLATE_ID>... [--yes]
|
|
|
846
879
|
# Workflow subgroup
|
|
847
880
|
slcli workitem workflow list [-w WORKSPACE] [-t INT] [-f json]
|
|
848
881
|
slcli workitem workflow get [--id WORKFLOW_ID] [--name NAME] [-f json]
|
|
849
|
-
slcli workitem workflow init [--name TEXT] [--
|
|
850
|
-
slcli workitem workflow create --file PATH [-w WORKSPACE] # Create from JSON file
|
|
882
|
+
slcli workitem workflow init [--name TEXT] [--description TEXT] [--workspace NAME] [-o FILE]
|
|
851
883
|
slcli workitem workflow import --file PATH [-w WORKSPACE] # Import workflow from JSON
|
|
852
884
|
slcli workitem workflow export [--id WORKFLOW_ID] [--name NAME] [-o FILE] # Export to JSON
|
|
853
885
|
slcli workitem workflow update --id WORKFLOW_ID --file PATH # Update from JSON file
|
|
854
886
|
slcli workitem workflow delete --id WORKFLOW_ID [--yes]
|
|
855
|
-
slcli workitem workflow preview [--file PATH
|
|
887
|
+
slcli workitem workflow preview [--file PATH | --id WORKFLOW_ID] [--format html|mmd]
|
|
888
|
+
[--no-emoji] [--no-legend] [--no-open] [-o FILE]
|
|
856
889
|
```
|
|
857
890
|
|
|
858
891
|
**Create work item options:**
|
|
@@ -878,23 +911,33 @@ slcli workitem create \
|
|
|
878
911
|
|
|
879
912
|
## webapp — Web application management
|
|
880
913
|
|
|
881
|
-
|
|
914
|
+
Create, package, and publish custom web applications to SystemLink.
|
|
915
|
+
|
|
916
|
+
For new applications, use `slcli webapp new <app-name>`. Treat the older
|
|
917
|
+
`slcli webapp init` command as a compatibility-only manual bootstrap path; it
|
|
918
|
+
is intentionally omitted from the recommended command sequence.
|
|
882
919
|
|
|
883
920
|
```bash
|
|
884
|
-
slcli webapp
|
|
921
|
+
slcli webapp new <APP_NAME> [OPTIONS] # Generate a hosted Angular webapp
|
|
885
922
|
slcli webapp manifest init <DIRECTORY> [OPTIONS] # Create nipkg.config.json for packaging
|
|
886
|
-
slcli webapp pack [FOLDER] [--config FILE] [
|
|
887
|
-
slcli webapp list [-w WORKSPACE] [
|
|
888
|
-
slcli webapp get
|
|
889
|
-
slcli webapp publish PATH
|
|
890
|
-
slcli webapp
|
|
891
|
-
slcli webapp
|
|
923
|
+
slcli webapp pack [FOLDER] [--config FILE] [--output OUTPUT_FILE] # Package a webapp into a .nipkg
|
|
924
|
+
slcli webapp list [-w WORKSPACE] [--filter TEXT] [--take INT] [--format FORMAT] [-f FORMAT]
|
|
925
|
+
slcli webapp get --id WEBAPP_ID [--format json]
|
|
926
|
+
slcli webapp publish PATH --id WEBAPP_ID # Update an existing webapp
|
|
927
|
+
slcli webapp publish PATH --name NAME --workspace NAME # Create metadata and upload
|
|
928
|
+
slcli webapp delete --id WEBAPP_ID [--yes]
|
|
929
|
+
slcli webapp open --id WEBAPP_ID # Open webapp URL in browser
|
|
892
930
|
```
|
|
893
931
|
|
|
894
|
-
`webapp
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
932
|
+
`webapp list` supports both `--format` and `-f` in the current CLI. Older
|
|
933
|
+
installed versions may expose only the long form, so use `slcli webapp list
|
|
934
|
+
--help` to verify the local command surface before scripting against it.
|
|
935
|
+
`webapp publish` has no output-format option; use `webapp get --format json`
|
|
936
|
+
after publishing when structured deployment metadata is needed.
|
|
937
|
+
|
|
938
|
+
For an existing Angular project, work in that project directly and load the
|
|
939
|
+
webapp references as needed. Do not introduce the legacy `webapp init` step
|
|
940
|
+
into a new project workflow.
|
|
898
941
|
|
|
899
942
|
`webapp manifest init` writes `nipkg.config.json` using the Plugin Manager field names
|
|
900
943
|
(`section`, `maintainer`, `homepage`, `xbPlugin`, `slPluginManagerTags`,
|
|
@@ -921,7 +964,6 @@ Notes:
|
|
|
921
964
|
|
|
922
965
|
- `agents` is the default client in interactive mode.
|
|
923
966
|
- The bundled `slcli` skill now covers the previous standalone workflow skills.
|
|
924
|
-
- `webapp init` installs project-scoped skills into `.agents/skills/` by default.
|
|
925
967
|
|
|
926
968
|
## example — Built-in example resource provisioning
|
|
927
969
|
|
|
@@ -930,10 +972,10 @@ for training, testing, or evaluation.
|
|
|
930
972
|
|
|
931
973
|
```bash
|
|
932
974
|
slcli example list [-f json] # List available examples
|
|
933
|
-
slcli example info <
|
|
934
|
-
slcli example install
|
|
935
|
-
slcli example install --file PATH
|
|
936
|
-
slcli example delete <
|
|
975
|
+
slcli example info <EXAMPLE_NAME> # Show example details
|
|
976
|
+
slcli example install [EXAMPLE_NAME] --workspace NAME # Provision example resources
|
|
977
|
+
slcli example install --file PATH --workspace NAME # Install a local fixture
|
|
978
|
+
slcli example delete <EXAMPLE_NAME> --workspace NAME # Remove provisioned resources
|
|
937
979
|
```
|
|
938
980
|
|
|
939
981
|
For a local fixture, `PATH` points to its `config.yaml`; referenced files are
|