@aryacode/dsh-engineering 0.3.0 → 0.4.1
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 +29 -0
- package/README.md +12 -10
- package/cordis.patch.yml +7 -6
- package/lib/client.js +3448 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.js +9 -0
- package/package.json +23 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,34 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.4.1] - 2026-10-25
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
|
|
7
|
+
- **The bundle could not be installed.** `dependencies` pointed at the Optix component through a GitHub
|
|
8
|
+
release tarball, and pnpm refuses a URL inside any subdependency:
|
|
9
|
+
`ERR_PNPM_EXOTIC_SUBDEP ... when blockExoticSubdeps is enabled`, which is the default. Every install
|
|
10
|
+
from the market or the registry failed this way. The dependency is now the registry range
|
|
11
|
+
`@aryacode/dsh-tool-ft-optix@0.2.1-rc.3`, which is the same build (its `lib/index.js` is
|
|
12
|
+
byte-identical to the tarball's), so nothing in the bundle changes except that it installs.
|
|
13
|
+
- The `optix` row names that package too. The row previously kept the old `@deepseek-ai/` name while
|
|
14
|
+
the dependency was renamed, which would have left the row unable to mount even once the install
|
|
15
|
+
succeeded.
|
|
16
|
+
- `test/docs.spec.mjs` now fails when any dependency, optional dependency or peer is a URL, git, file,
|
|
17
|
+
link or workspace spec, so the tarball spec cannot come back quietly.
|
|
18
|
+
|
|
19
|
+
## [0.4.0] - 2026-10-25
|
|
20
|
+
|
|
21
|
+
### Changed
|
|
22
|
+
|
|
23
|
+
- **One package, one client bundle.** The L5X ladder viewer and the FactoryTalk View ME display preview now ship inside `@aryacode/dsh-engineering` itself: `lib/client.js` registers once, under the bundle's own package name, and runs both faces inside that one factory. `@aryacode/dsh-engineering-l5x-viewer` and `@aryacode/dsh-engineering-ftview-viewer` are no longer dependencies, so the bundle declares no `@aryacode/*` dependency at all.
|
|
24
|
+
- The `l5x-viewer` and `ftview-viewer` rows collapse into one `viewers` row that mounts the bundle package itself. A client bundle is only discovered through a mounted row, and a package registers exactly one bundle, so both previews mount together; the tool rows stay independent of it.
|
|
25
|
+
- The bundle package gains a host half (`lib/index.js`): an entry that registers nothing of its own, present because the Shell scans the client face of packages that a row mounts.
|
|
26
|
+
|
|
27
|
+
### Added
|
|
28
|
+
|
|
29
|
+
- `scripts/build-client.mjs` builds `lib/client.js` from the two committed face bundles. The face bodies are copied verbatim, each in its own closure, and the merged plugin exports the union of both faces' services. `pnpm build:client` regenerates the artifact; `pnpm pack` runs it first.
|
|
30
|
+
- `test/client-face.spec.mjs` holds the three properties that would otherwise fail silently in the app: the registration id equals the package name, the factory materializes with both faces and merges their services, and `apply` mounts both previews. It also fails when `lib/client.js` is stale against its faces.
|
|
31
|
+
|
|
3
32
|
## [0.3.0] - 2026-10-23
|
|
4
33
|
|
|
5
34
|
### Added
|
package/README.md
CHANGED
|
@@ -5,7 +5,7 @@ MotionWorks IEC and FactoryTalk Optix sit behind a single install, one row per c
|
|
|
5
5
|
switch per product — so the switch removes tool schemas from the request instead of leaving them
|
|
6
6
|
visible after the guidance is off.
|
|
7
7
|
|
|
8
|
-
`@aryacode/dsh-engineering` · 79 tools ·
|
|
8
|
+
`@aryacode/dsh-engineering` · 79 tools · 16 rows · 4 products · MIT
|
|
9
9
|
|
|
10
10
|
---
|
|
11
11
|
|
|
@@ -24,8 +24,9 @@ the skill that governs it. Turning a product off removes **both** its guidance a
|
|
|
24
24
|
| `rockwell-l5x` skill **off** | neither |
|
|
25
25
|
|
|
26
26
|
The heavy surfaces are separate rows on purpose. A read-only profile pays for the read tools and
|
|
27
|
-
nothing else, and the
|
|
28
|
-
the ladder viewer.
|
|
27
|
+
nothing else, and the previews are independent of the tools — switching L5X tools off does not remove
|
|
28
|
+
the ladder viewer. Both previews mount from **one** row (`viewers`), because a package registers
|
|
29
|
+
exactly one browser bundle.
|
|
29
30
|
|
|
30
31
|
## What it supports
|
|
31
32
|
|
|
@@ -100,14 +101,15 @@ Where each surface actually stands, based on what has been exercised.
|
|
|
100
101
|
|
|
101
102
|
| Version | What landed |
|
|
102
103
|
|---|---|
|
|
104
|
+
| **0.4.0** | Both previews fold into the bundle's own client face — one package, one browser bundle, 16 rows |
|
|
103
105
|
| **0.3.0** | FactoryTalk Optix becomes a bundle component; 79 tools total |
|
|
104
106
|
| **0.2.0** | MotionWorks IEC ports into the bundle — 24 tools over the COM bridge and saved-model engine, verified live; edit off by default |
|
|
105
107
|
| **0.1.2** | Harness filesystem contract fixed across L5X and FactoryTalk View; every L5X tool linked to its capability by name; generated tool reference, examples and architecture docs |
|
|
106
108
|
|
|
107
109
|
## Install
|
|
108
110
|
|
|
109
|
-
The bundle
|
|
110
|
-
Installing a component on its own gives you tools **without** the policy.
|
|
111
|
+
The bundle carries its components (`vendor/`), its own browser face (both previews) and the
|
|
112
|
+
tool-exposure policy. Installing a component on its own gives you tools **without** the policy.
|
|
111
113
|
|
|
112
114
|
```sh
|
|
113
115
|
# in the AryaCode profile
|
|
@@ -139,8 +141,8 @@ flowchart TB
|
|
|
139
141
|
Bundle -->|insert| L5XEdit["l5x-editing (off)"]
|
|
140
142
|
Bundle -->|insert| L5XStudio["l5x-studio (off)"]
|
|
141
143
|
Bundle -->|insert| L5XLive["l5x-live (off)"]
|
|
142
|
-
Bundle -->|insert|
|
|
143
|
-
Bundle -->|insert| FTV["ftview-read / edit / studio
|
|
144
|
+
Bundle -->|insert| Viewers["viewers (on) — ladder + ME display previews"]
|
|
145
|
+
Bundle -->|insert| FTV["ftview-read / edit / studio (on)"]
|
|
144
146
|
Bundle -->|insert| MWI["mwi-session / read / verify (on), edit (off)"]
|
|
145
147
|
Bundle -->|insert| Optix["optix (on)"]
|
|
146
148
|
Policy -->|"rockwell-l5x governs 35 tools"| L5XRead
|
|
@@ -158,12 +160,11 @@ even when the implementation behind a row is replaced.
|
|
|
158
160
|
| `l5x-editing` | `dsh-engineering-l5x/editing` | off |
|
|
159
161
|
| `l5x-studio` | `dsh-engineering-l5x/studio` | off |
|
|
160
162
|
| `l5x-live` | `dsh-engineering-l5x/live` | off |
|
|
161
|
-
| `
|
|
163
|
+
| `viewers` | `@aryacode/dsh-engineering` (its own client face: ladder + ME display previews) | on |
|
|
162
164
|
| `ftview-read` | `dsh-engineering-ftview` | on |
|
|
163
165
|
| `ftview-read-skill` | `dsh-engineering-ftview/skill` | on |
|
|
164
166
|
| `ftview-edit` | `dsh-engineering-ftview/edit` | on |
|
|
165
167
|
| `ftview-studio` | `dsh-engineering-ftview/studio` | on |
|
|
166
|
-
| `ftview-viewer` | `dsh-engineering-ftview-viewer` | on |
|
|
167
168
|
| `mwi-session` | `dsh-engineering-mwi` | on |
|
|
168
169
|
| `mwi-read` | `dsh-engineering-mwi/read` | on |
|
|
169
170
|
| `mwi-read-skill` | `dsh-engineering-mwi/skill` | on |
|
|
@@ -216,7 +217,8 @@ even when the implementation behind a row is replaced.
|
|
|
216
217
|
|
|
217
218
|
```sh
|
|
218
219
|
pnpm install
|
|
219
|
-
pnpm
|
|
220
|
+
pnpm build:client # regenerate lib/client.js from the committed face bundles
|
|
221
|
+
pnpm test # patch, docs, tool-reference, manifest and client-face checks
|
|
220
222
|
pnpm docs:tools # regenerate the tool reference from the registered definitions
|
|
221
223
|
pnpm docs:check # fail if the committed reference has drifted
|
|
222
224
|
```
|
package/cordis.patch.yml
CHANGED
|
@@ -90,9 +90,12 @@
|
|
|
90
90
|
- id: l5x-live
|
|
91
91
|
name: '@aryacode/dsh-engineering/l5x/live'
|
|
92
92
|
disabled: true
|
|
93
|
-
#
|
|
94
|
-
|
|
95
|
-
|
|
93
|
+
# Both previews (the L5X ladder viewer and the FactoryTalk View ME display
|
|
94
|
+
# preview) are this bundle's own client face. A package registers exactly one
|
|
95
|
+
# browser bundle, so one row mounts both; switching the L5X or FTView *tools*
|
|
96
|
+
# off leaves this row alone, because a client face adds no model context.
|
|
97
|
+
- id: viewers
|
|
98
|
+
name: '@aryacode/dsh-engineering'
|
|
96
99
|
# FactoryTalk View ME: read, edit and Studio entries plus the display
|
|
97
100
|
# preview. The old plugin is retired, so these mount by default.
|
|
98
101
|
- id: ftview-read
|
|
@@ -103,8 +106,6 @@
|
|
|
103
106
|
name: '@aryacode/dsh-engineering/ftview/edit'
|
|
104
107
|
- id: ftview-studio
|
|
105
108
|
name: '@aryacode/dsh-engineering/ftview/studio'
|
|
106
|
-
- id: ftview-viewer
|
|
107
|
-
name: '@aryacode/dsh-engineering/ftview-viewer'
|
|
108
109
|
# MotionWorks IEC: the redesigned rows. Editing is off by default, like L5X.
|
|
109
110
|
- id: mwi-session
|
|
110
111
|
name: '@aryacode/dsh-engineering/mwi'
|
|
@@ -119,4 +120,4 @@
|
|
|
119
120
|
disabled: true
|
|
120
121
|
# FactoryTalk Optix stays a separate package, mounted as a component row.
|
|
121
122
|
- id: optix
|
|
122
|
-
name: '@
|
|
123
|
+
name: '@aryacode/dsh-tool-ft-optix'
|