@mars-sea/dsh-commandcode-provider 0.11.3 → 0.11.4
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 +5 -0
- package/lib/client.js +8 -6
- package/lib/client.js.map +1 -1
- package/lib/index.js +7 -5
- package/lib/index.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,11 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [0.11.4] - 2026-09-17
|
|
10
|
+
|
|
11
|
+
### Fixed
|
|
12
|
+
- **The Command Code Remotes keep registering on the next Harness generation** ([#49](https://github.com/Mars-Sea/dsh-commandcode-provider/issues/49)). The Typert protocol changed the strict result codec's shape inside the same `mode: 'strict'` tag: every released engine (`0.1.2-rc.1` … `0.1.6-alpha.1`, all 21 published versions) declares `schema: TypertSchema` and refuses registration with `strict codec has no parse() method` without it, while master after `e459e3263` replaced that member with the lazy factory `create: () => TypertSchema` and refuses with `strict codec has no create() factory`. All six Command Code Remotes (`report`, `models`, `prices`, `loginBegin`, `loginStatus`, `loginCancel`) come from one descriptor factory that carried `schema` alone, so on that newer generation none of them registers: the settings page's account card, the plans & quota panel, the price table and the browser login all lose their Host data. `makeRemoteDescriptor()` now carries both members, where `create: () => schema` names the same hand-rolled validator rather than a second copy, so the two generations can never validate against different rules. This is a version-agnostic fix instead of a runtime probe: neither generation inspects the member it does not know, and the member the running engine ignores is inert — which matters because a single-member codec is broken in either direction, and the one-line patch the issue proposed (`schema` → `create`) would have fixed unreleased master by breaking every install that exists today. `tests/wire-shared.test.ts` pins it by running both generations' real validators over every shipped descriptor, with negative controls proving that a codec carrying only one member is rejected by the other generation. The helper is inlined into both `lib/index.js` and `lib/client.js`, so a fix is dead until the bundle is rebuilt — hence the rebuilt bundles in this release.
|
|
13
|
+
|
|
9
14
|
## [0.11.3] - 2026-09-16
|
|
10
15
|
|
|
11
16
|
### Added
|
package/lib/client.js
CHANGED
|
@@ -1678,6 +1678,12 @@ window.__ModuleLoader__.load({
|
|
|
1678
1678
|
* only its own facts.
|
|
1679
1679
|
*/
|
|
1680
1680
|
function makeRemoteDescriptor(endpoint, method, typeSymbol, schema) {
|
|
1681
|
+
const result = {
|
|
1682
|
+
mode: "strict",
|
|
1683
|
+
typeSymbol,
|
|
1684
|
+
schema,
|
|
1685
|
+
create: () => schema
|
|
1686
|
+
};
|
|
1681
1687
|
return {
|
|
1682
1688
|
id: `${REMOTE_PACKAGE}#${endpoint}`,
|
|
1683
1689
|
service: REMOTE_SERVICE,
|
|
@@ -1685,11 +1691,7 @@ window.__ModuleLoader__.load({
|
|
|
1685
1691
|
method,
|
|
1686
1692
|
invocation: { kind: "direct" },
|
|
1687
1693
|
parameters: [],
|
|
1688
|
-
result
|
|
1689
|
-
mode: "strict",
|
|
1690
|
-
typeSymbol,
|
|
1691
|
-
schema
|
|
1692
|
-
}
|
|
1694
|
+
result
|
|
1693
1695
|
};
|
|
1694
1696
|
}
|
|
1695
1697
|
//#endregion
|
|
@@ -2155,7 +2157,7 @@ window.__ModuleLoader__.load({
|
|
|
2155
2157
|
}
|
|
2156
2158
|
//#endregion
|
|
2157
2159
|
//#region package.json
|
|
2158
|
-
var version = "0.11.
|
|
2160
|
+
var version = "0.11.4";
|
|
2159
2161
|
var repository = {
|
|
2160
2162
|
"type": "git",
|
|
2161
2163
|
"url": "git+https://github.com/Mars-Sea/dsh-commandcode-provider.git"
|