@aryacode/dsh-engineering 0.4.1 → 0.4.2
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.
- package/CHANGELOG.md +21 -0
- package/README.md +39 -36
- package/cordis.patch.yml +14 -70
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.4.2] - 2026-10-25
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
|
|
7
|
+
- **The bundle now installs and mounts in AryaCode.** 0.4.1 fixed the pnpm error, but the install still
|
|
8
|
+
failed one step later, when the profile tried to apply the bundle: the patch's first entry targeted
|
|
9
|
+
the `tool-capability-policy` row, and no such row exists in an AryaCode profile, so composition threw
|
|
10
|
+
`dsh: [@aryacode/dsh-engineering] patch: entry "tool-capability-policy" not found` and the plugin
|
|
11
|
+
manager rolled the install back — which is what the market card reported as *Cannot install*.
|
|
12
|
+
|
|
13
|
+
### Removed
|
|
14
|
+
|
|
15
|
+
- **The per-skill tool filter.** `policyOnly` / `toolPolicy` / `capabilities` are an AryaAI harness
|
|
16
|
+
feature: AryaAI's fork of `@deepseek-ai/dsh-tool-skill` implements them, and the AryaCode line's copy
|
|
17
|
+
of the same package does not. In this product the layer never filtered anything — an older harness
|
|
18
|
+
skipped the missing row with a warning, the current one treats it as fatal. Rows are the switch:
|
|
19
|
+
disabling `l5x-editing`, `l5x-studio`, `l5x-live` or `mwi-edit` unmounts that plugin and removes its
|
|
20
|
+
tool schemas from the request, which is the same context saving by a mechanism this harness has.
|
|
21
|
+
- The patch is now **inserts only**, and `test/patch.spec.mjs` fails if any entry targets a row another
|
|
22
|
+
bundle owns. `test/docs.spec.mjs` fails if the README still promises a capability policy.
|
|
23
|
+
|
|
3
24
|
## [0.4.1] - 2026-10-25
|
|
4
25
|
|
|
5
26
|
### Fixed
|
package/README.md
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
# AryaCode Engineering
|
|
2
2
|
|
|
3
3
|
**One bundle for automation-engineering work in AryaCode.** Studio 5000 L5X, FactoryTalk View ME,
|
|
4
|
-
MotionWorks IEC and FactoryTalk Optix sit behind a single install, one row per
|
|
5
|
-
switch
|
|
6
|
-
visible after the guidance is off.
|
|
4
|
+
MotionWorks IEC and FactoryTalk Optix sit behind a single install, one row per surface. A row is the
|
|
5
|
+
switch: disable it and that plugin unloads, so its tool schemas leave the request.
|
|
7
6
|
|
|
8
7
|
`@aryacode/dsh-engineering` · 79 tools · 16 rows · 4 products · MIT
|
|
9
8
|
|
|
@@ -15,18 +14,19 @@ A general assistant pays for every tool schema on every request. An automation e
|
|
|
15
14
|
surfaces — reading a 3 MB L5X, comparing two projects, staging ladder edits, talking to a controller —
|
|
16
15
|
but only one or two of them at a time.
|
|
17
16
|
|
|
18
|
-
This bundle splits those surfaces into independently switchable rows
|
|
19
|
-
|
|
17
|
+
This bundle splits those surfaces into independently switchable rows. The expensive ones are off by
|
|
18
|
+
default, so a read-only profile pays for the read tools and nothing else:
|
|
20
19
|
|
|
21
|
-
|
|
|
22
|
-
|
|
23
|
-
| `
|
|
24
|
-
| `
|
|
20
|
+
| Row | Default | What a disabled row removes |
|
|
21
|
+
|---|---|---|
|
|
22
|
+
| `l5x-editing` | off | the nine `draft_*` schemas |
|
|
23
|
+
| `l5x-studio` | off | the Logix Designer SDK and supervised controller schemas |
|
|
24
|
+
| `l5x-live` | off | the EtherNet/IP polling and trend schemas |
|
|
25
|
+
| `mwi-edit` | off | the seven MotionWorks edit schemas |
|
|
25
26
|
|
|
26
|
-
The
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
exactly one browser bundle.
|
|
27
|
+
The previews are independent of the tools — switching L5X tools off does not remove the ladder viewer.
|
|
28
|
+
Both previews mount from **one** row (`viewers`), because a package registers exactly one browser
|
|
29
|
+
bundle.
|
|
30
30
|
|
|
31
31
|
## What it supports
|
|
32
32
|
|
|
@@ -45,25 +45,32 @@ Tool groups, by product:
|
|
|
45
45
|
- **MotionWorks IEC** — 7 session, 7 saved-project reads, 3 verify, 7 staged edits
|
|
46
46
|
- **Optix** — 6 tools, unlinked to a skill until one exists
|
|
47
47
|
|
|
48
|
-
##
|
|
48
|
+
## Switches
|
|
49
49
|
|
|
50
|
-
|
|
51
|
-
|
|
50
|
+
A row is a plugin. Disabling it in the profile (or on the Plugins page) unmounts that plugin and its
|
|
51
|
+
tool schemas stop being sent; the guidance skill keeps its own row so reading guidance and reading
|
|
52
|
+
tools switch separately.
|
|
52
53
|
|
|
53
|
-
|
|
|
54
|
-
|
|
55
|
-
| `
|
|
56
|
-
| `
|
|
57
|
-
| `
|
|
58
|
-
|
|
|
59
|
-
|
|
60
|
-
`
|
|
61
|
-
|
|
62
|
-
|
|
54
|
+
| Row | Surface | Default | Why the default |
|
|
55
|
+
|---|---|---|---|
|
|
56
|
+
| `l5x-read`, `l5x-read-skill` | offline reads, checks, comparison + guidance | on | cheap and safe |
|
|
57
|
+
| `l5x-editing` | nine staged `draft_*` tools | **off** | a read-only profile should not pay for them |
|
|
58
|
+
| `l5x-studio` | Logix Designer SDK and supervised controller | **off** | needs Studio 5000 installed |
|
|
59
|
+
| `l5x-live` | EtherNet/IP polling and trends | **off** | needs a controller address |
|
|
60
|
+
| `viewers` | ladder + ME display previews | on | adds no model context |
|
|
61
|
+
| `ftview-read`, `ftview-read-skill`, `ftview-edit`, `ftview-studio` | FactoryTalk View ME read, edits, Studio handoff | on | small enough to default on |
|
|
62
|
+
| `mwi-session`, `mwi-read`, `mwi-read-skill`, `mwi-verify` | MotionWorks IEC session, reads, verify + guidance | on | — |
|
|
63
|
+
| `mwi-edit` | seven staged MotionWorks edits | **off** | the largest schemas in the bundle |
|
|
64
|
+
| `optix` | FactoryTalk Optix Studio authoring | on | separate component package |
|
|
65
|
+
|
|
66
|
+
**No capability policy.** Earlier releases also carried a per-skill tool filter (`policyOnly` /
|
|
67
|
+
`toolPolicy`) that gated tools by skill state. That filter is an AryaAI harness feature and is **not
|
|
68
|
+
part of this product line** — `@deepseek-ai/dsh-tool-skill` here has no such config. Rows are the
|
|
69
|
+
switch. Do not re-add a patch entry that targets another bundle's row: composition fails when the row
|
|
70
|
+
is absent, and that is what made 0.4.0 and 0.4.1 uninstallable.
|
|
63
71
|
|
|
64
72
|
The reference in [docs/reference/tools.md](docs/reference/tools.md) is generated from the registered
|
|
65
|
-
definitions, and `pnpm test` fails when
|
|
66
|
-
drifts.
|
|
73
|
+
definitions, and `pnpm test` fails when the committed reference drifts.
|
|
67
74
|
|
|
68
75
|
## Status
|
|
69
76
|
|
|
@@ -108,8 +115,8 @@ Where each surface actually stands, based on what has been exercised.
|
|
|
108
115
|
|
|
109
116
|
## Install
|
|
110
117
|
|
|
111
|
-
The bundle carries its components (`vendor/`), its own browser face (both previews) and the
|
|
112
|
-
|
|
118
|
+
The bundle carries its components (`vendor/`), its own browser face (both previews) and the rows.
|
|
119
|
+
Installing a component on its own gives you tools **without** the rows that switch them.
|
|
113
120
|
|
|
114
121
|
```sh
|
|
115
122
|
# in the AryaCode profile
|
|
@@ -129,13 +136,12 @@ development home mounts the same rows.
|
|
|
129
136
|
|
|
130
137
|
## How it composes
|
|
131
138
|
|
|
132
|
-
The bundle adds one loader layer after the Web app
|
|
133
|
-
|
|
139
|
+
The bundle adds one loader layer after the Web app: it **inserts** its own rows and never touches a row
|
|
140
|
+
another bundle owns.
|
|
134
141
|
|
|
135
142
|
```mermaid
|
|
136
143
|
flowchart TB
|
|
137
144
|
Profile["Profile bundle list"] --> Bundle["@aryacode/dsh-engineering"]
|
|
138
|
-
Bundle -->|"id-targeted config override"| Policy["tool-capability-policy"]
|
|
139
145
|
Bundle -->|insert| L5XRead["l5x-read (on)"]
|
|
140
146
|
L5XRead --> L5XSkill["l5x-read-skill (on)"]
|
|
141
147
|
Bundle -->|insert| L5XEdit["l5x-editing (off)"]
|
|
@@ -145,9 +151,6 @@ flowchart TB
|
|
|
145
151
|
Bundle -->|insert| FTV["ftview-read / edit / studio (on)"]
|
|
146
152
|
Bundle -->|insert| MWI["mwi-session / read / verify (on), edit (off)"]
|
|
147
153
|
Bundle -->|insert| Optix["optix (on)"]
|
|
148
|
-
Policy -->|"rockwell-l5x governs 35 tools"| L5XRead
|
|
149
|
-
Policy -->|"factorytalk-view governs ftview_*"| FTV
|
|
150
|
-
Policy -->|"motionworks-iec governs mw_*"| MWI
|
|
151
154
|
```
|
|
152
155
|
|
|
153
156
|
Row ids are stable. Profiles and patches address these ids, so per-row enable state survives upgrades
|
package/cordis.patch.yml
CHANGED
|
@@ -1,77 +1,21 @@
|
|
|
1
1
|
# AryaCode engineering bundle.
|
|
2
2
|
#
|
|
3
|
-
#
|
|
3
|
+
# One layer lives here: the product rows. Each row mounts one surface of the
|
|
4
|
+
# bundle, and the row is the switch — disabling `l5x-editing`, `l5x-studio`,
|
|
5
|
+
# `l5x-live` or `mwi-edit` unloads that plugin, so its tool schemas never reach
|
|
6
|
+
# the request. Row ids are stable, so per-entry enable state survives upgrades
|
|
7
|
+
# even as the package behind a row is rebuilt.
|
|
4
8
|
#
|
|
5
|
-
#
|
|
6
|
-
#
|
|
7
|
-
#
|
|
8
|
-
#
|
|
9
|
+
# The patch only ever inserts. It must never target a row another bundle owns:
|
|
10
|
+
# a profile without that row makes composition fail ("patch: entry ... not
|
|
11
|
+
# found"), and in 0.4.0/0.4.1 that is exactly why the bundle could not be
|
|
12
|
+
# installed.
|
|
9
13
|
#
|
|
10
|
-
#
|
|
11
|
-
#
|
|
12
|
-
#
|
|
13
|
-
#
|
|
14
|
-
#
|
|
15
|
-
# Optix has no skill yet, so `optix_*` stays unlinked and always visible. Link
|
|
16
|
-
# it here once a FactoryTalk Optix skill registers one.
|
|
17
|
-
#
|
|
18
|
-
# 2. The product rows. Mounts the rebuilt L5X and FactoryTalk View surfaces and
|
|
19
|
-
# their guidance as components of this bundle. The row ids are stable, so per-entry enable
|
|
20
|
-
# state survives upgrades even as the package behind them is rebuilt.
|
|
21
|
-
- id: tool-capability-policy
|
|
22
|
-
config:
|
|
23
|
-
policyOnly: true
|
|
24
|
-
toolPolicy:
|
|
25
|
-
onDemand: false
|
|
26
|
-
capabilities:
|
|
27
|
-
- skill: rockwell-l5x
|
|
28
|
-
# The rebuilt L5X tools keep descriptive names (open_project,
|
|
29
|
-
# draft_apply, ...). This exact list is what the skill switch
|
|
30
|
-
# governs; `l5x_` stays linked for any prefixed tool added later.
|
|
31
|
-
tools:
|
|
32
|
-
- open_project
|
|
33
|
-
- project_overview
|
|
34
|
-
- list_components
|
|
35
|
-
- get_component
|
|
36
|
-
- search_logic
|
|
37
|
-
- find_references
|
|
38
|
-
- trace_dependencies
|
|
39
|
-
- resolve_tag
|
|
40
|
-
- usage_map
|
|
41
|
-
- run_checks
|
|
42
|
-
- compare_projects
|
|
43
|
-
- draft_rung
|
|
44
|
-
- draft_st
|
|
45
|
-
- draft_routine
|
|
46
|
-
- draft_tag
|
|
47
|
-
- draft_tag_description
|
|
48
|
-
- draft_udt_member
|
|
49
|
-
- draft_udt_description
|
|
50
|
-
- draft_validate
|
|
51
|
-
- draft_apply
|
|
52
|
-
- studio_sdk_status
|
|
53
|
-
- studio_capabilities
|
|
54
|
-
- export_acd_to_l5x
|
|
55
|
-
- verify_offline_l5x
|
|
56
|
-
- build_acd_from_draft
|
|
57
|
-
- studio_review_evidence
|
|
58
|
-
- controller_approval_status
|
|
59
|
-
- capture_controller_snapshot
|
|
60
|
-
- go_online
|
|
61
|
-
- read_controller_mode
|
|
62
|
-
- read_live_tag
|
|
63
|
-
- change_controller_mode
|
|
64
|
-
- download_project
|
|
65
|
-
- poll_live_tags
|
|
66
|
-
- start_plc_trend
|
|
67
|
-
prefixes:
|
|
68
|
-
- l5x_
|
|
69
|
-
- skill: factorytalk-view
|
|
70
|
-
prefixes:
|
|
71
|
-
- ftview_
|
|
72
|
-
- skill: motionworks-iec
|
|
73
|
-
prefixes:
|
|
74
|
-
- mw_
|
|
14
|
+
# The per-skill tool filter (`policyOnly` / `toolPolicy` / `capabilities`) is an
|
|
15
|
+
# AryaAI harness feature. The AryaCode line's `@deepseek-ai/dsh-tool-skill` has
|
|
16
|
+
# no such config, so a capability layer here would either fail composition or be
|
|
17
|
+
# rejected by the plugin's schema. Rows are the switch in this product; when
|
|
18
|
+
# that filter ships here, it belongs in a bundle mount of its own.
|
|
75
19
|
- insert:
|
|
76
20
|
- id: l5x-read
|
|
77
21
|
name: '@aryacode/dsh-engineering/l5x'
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aryacode/dsh-engineering",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.2",
|
|
4
4
|
"description": "AryaCode engineering bundle: one install surface and one tool-exposure policy for the Studio 5000 L5X, FactoryTalk View and MotionWorks IEC plugins, with skill links for Optix and CAD.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"dsh",
|