@githolon/dsl 0.97.1 → 0.97.3

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/dart/CHANGELOG.md CHANGED
@@ -1,3 +1,14 @@
1
+ ## 0.61.2
2
+
3
+ - cloudBound works against PRIVATE platforms/homes (declared read caps — the co2 shape): the device
4
+ ceremony uses a LOCAL scratch session (never clones the platform), and the born home mounts with the
5
+ dev-IdP token when the caller passes none (a private ledger serves only a VERIFIED principal).
6
+
7
+ ## 0.61.1
8
+
9
+ - Runner entry resolution prefers the BUILT `@githolon/client/runner/node-entry.mjs` (published consumers:
10
+ node refuses type-stripping under node_modules, so the raw .ts entry only booted in-repo — DEFECT P3-002).
11
+
1
12
  ## 0.61.0
2
13
 
3
14
  - **ERA-0 cloud-bound harness** — `NomosTestHarness.cloudBound` now runs the full WARRANTED onboarding
@@ -810,13 +810,17 @@ class NomosTestHarness {
810
810
  timeout: phaseTimeout ?? _kInstallDeadline,
811
811
  onDiagnostic: onDiagnostic,
812
812
  run: () async {
813
- // The runner's crypto ops (authorKeygen/signBirthCert) run on a CONNECTED holon — open an
814
- // onboarding session against the PLATFORM first (reads are open; this is the enrol surface).
813
+ // The runner's crypto ops (authorKeygen/signBirthCert) run on a CONNECTED holon — open a
814
+ // SCRATCH session on an unborn name (allowUnborn ⇒ an empty local holon; the pull-miss is
815
+ // tolerated): a PRIVATE platform (declared read caps — co2's shape) refuses an
816
+ // unauthenticated ledger clone, and the ceremony never needs the platform's ledger anyway
817
+ // (its writes go over the HTTP gateway below).
815
818
  await plane.connect(
816
819
  cloud: cloud.origin,
817
- workspace: platformWorkspace,
820
+ workspace: '$clientId-onboard-scratch',
821
+ session: '$clientId-onboard-scratch',
818
822
  clientId: '$clientId-onboard',
819
- authToken: authToken,
823
+ allowUnborn: true,
820
824
  );
821
825
  final kp = await plane.authorKeygen();
822
826
  final publicB64 = (kp['public'] ?? '').toString();
@@ -895,7 +899,9 @@ class NomosTestHarness {
895
899
  cloud: cloud.origin,
896
900
  workspace: home!,
897
901
  clientId: clientId,
898
- authToken: authToken,
902
+ // A PRIVATE home (declared read caps — co2's shape) serves its ledger only to a VERIFIED
903
+ // principal: ride the caller's token when given, else the dev-IdP token the ceremony minted.
904
+ authToken: authToken ?? device.idpToken,
899
905
  // The home was born WARRANTED with THIS device enrolled in its genesis (ownerKeyHash) —
900
906
  // connect with the same key so every write is signed and the home's own `.births()` offers
901
907
  // (estates/catalogues) are device-attested (the client signs the birth cert automatically).
@@ -1263,18 +1269,24 @@ class NomosTestHarness {
1263
1269
  }
1264
1270
 
1265
1271
  static Future<String> _resolveEntry(String node, String from) async {
1266
- final r = await Process.run(
1267
- node,
1268
- ['-p', "require.resolve('@githolon/client/runner/node-entry.ts')"],
1269
- workingDirectory: from,
1270
- );
1271
- final out = (r.stdout as String).trim();
1272
- if (r.exitCode != 0 || out.isEmpty) {
1273
- throw NomosTestHarnessException(
1274
- 'cannot resolve @githolon/client/runner/node-entry.ts from $from — '
1275
- 'is @githolon/client installed (npm install)? Pass nodeEntry: to override. stderr: ${r.stderr}');
1272
+ // PREFER the BUILT .mjs (the published-consumer entry): node refuses type-stripping under node_modules
1273
+ // (ERR_UNSUPPORTED_NODE_MODULES_TYPE_STRIPPING — co2 DEFECT P3-002), so the raw .ts entry only boots
1274
+ // in-repo. The .mjs ships from @githolon/client ≥0.97.2; the .ts fallback keeps in-repo dev working.
1275
+ for (final entry in const [
1276
+ '@githolon/client/runner/node-entry.mjs',
1277
+ '@githolon/client/runner/node-entry.ts',
1278
+ ]) {
1279
+ final r = await Process.run(
1280
+ node,
1281
+ ['-p', "require.resolve('$entry')"],
1282
+ workingDirectory: from,
1283
+ );
1284
+ final out = (r.stdout as String).trim();
1285
+ if (r.exitCode == 0 && out.isNotEmpty) return out;
1276
1286
  }
1277
- return out;
1287
+ throw NomosTestHarnessException(
1288
+ 'cannot resolve @githolon/client/runner/node-entry.{mjs,ts} from $from — '
1289
+ 'is @githolon/client installed (npm install)? Pass nodeEntry: to override.');
1278
1290
  }
1279
1291
  }
1280
1292
 
package/dart/pubspec.yaml CHANGED
@@ -11,7 +11,7 @@ description: >-
11
11
  Nomos 2 Dart frontend types — the hand-written kernel wire types plus the
12
12
  code-generated per-domain aggregate + directive-payload types. (De)serializes
13
13
  the EXACT serde JSON the Rust kernel + projection produce/consume.
14
- version: 0.61.0
14
+ version: 0.61.2
15
15
 
16
16
  environment:
17
17
  sdk: ^3.5.0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@githolon/dsl",
3
- "version": "0.97.1",
3
+ "version": "0.97.3",
4
4
  "type": "module",
5
5
  "description": "Nomos 2 domain-authoring DSL: aggregates + directives in TS, executed and encoded to the Rust kernel's wire shapes.",
6
6
  "license": "SEE LICENSE IN LICENSE.md",