@githolon/dsl 0.103.5 → 0.103.7

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@githolon/dsl",
3
- "version": "0.103.5",
3
+ "version": "0.103.7",
4
4
  "type": "module",
5
5
  "sideEffects": false,
6
6
  "description": "Nomos 2 domain-authoring DSL: aggregates + directives in TS, executed and encoded to the Rust kernel's wire shapes.",
@@ -1647,7 +1647,7 @@ const NOMOS_TYPES_DEP = "^0.8.3";
1647
1647
  // DomainNotInstalledForSession, engine.follow, pendingConflicts lanes) — the generated client
1648
1648
  // REQUIRES this surface. 0.48.1 fixes NomosSession.watchPendingConflicts delegation.
1649
1649
  const NOMOS_CLIENT_DEP = "^0.64.6";
1650
- const NOMOS_FLUTTER_DEP = "^0.63.7";
1650
+ const NOMOS_FLUTTER_DEP = "^0.63.9";
1651
1651
  // DRIFT TRIPWIRE: pubspec_pins.test.ts asserts these equal the CURRENT versions in dsl/dart/pubspec.yaml
1652
1652
  // and dsl/dart_types/pubspec.yaml — a Dart release without this bump fails the suite, so tenants never
1653
1653
  // land back in dependency_overrides (the exact co2 report this closes, third occurrence).
@@ -2544,7 +2544,7 @@ function emitDartPackages(
2544
2544
  "library;",
2545
2545
  "",
2546
2546
  `export 'package:${packages.types}/${genRel}/${businessSharedFile}';`,
2547
- `export 'package:nomos_flutter/src/generated_application_host.dart' show ApplicationModelDecision, ApplicationModelReview;`,
2547
+ `export 'package:nomos_flutter/src/generated_application_host.dart' show ApplicationModelApproval, ApplicationModelDecision, ApplicationModelPolicy, ApplicationModelReview;`,
2548
2548
  ...tenantTypesExportKeys
2549
2549
  .map((file) => {
2550
2550
  const names = tenantDartExportNames(typesSources.get(file) ?? "");
@@ -5561,6 +5561,13 @@ async function main(): Promise<void> {
5561
5561
  writeFileSync(file, text, "utf8");
5562
5562
  };
5563
5563
  for (const pkg of pkgDirs) {
5564
+ // Layered Dart output is generated-owned, including the compiler's temporary source-dogfood
5565
+ // override. A package may have been generated previously by a source checkout and then rebuilt
5566
+ // by the published compiler. In that transition, doing nothing here leaves the old absolute
5567
+ // checkout paths live and silently defeats the hosted-package release boundary. Clear the
5568
+ // compiler-owned file on every compile, then recreate it only for an actual source checkout.
5569
+ const overrideFile = path.join(pkg, "pubspec_overrides.yaml");
5570
+ rmSync(overrideFile, { force: true });
5564
5571
  if (localDart) {
5565
5572
  const spec = readFileSync(path.join(pkg, "pubspec.yaml"), "utf8");
5566
5573
  const lines = ["dependency_overrides:"];
@@ -5581,7 +5588,7 @@ async function main(): Promise<void> {
5581
5588
  // when its own pubspec does not name nomos_flutter directly.
5582
5589
  if ((usesFlutter || usesClient) && localDart.flutter) lines.push(` nomos_flutter:`, ` path: ${localDart.flutter}`);
5583
5590
  if (lines.length > 1) {
5584
- writeTextIfChanged(path.join(pkg, "pubspec_overrides.yaml"), lines.join("\n") + "\n");
5591
+ writeTextIfChanged(overrideFile, lines.join("\n") + "\n");
5585
5592
  }
5586
5593
  }
5587
5594
  }
@@ -5605,9 +5612,16 @@ async function main(): Promise<void> {
5605
5612
  "pubspec_overrides.yaml",
5606
5613
  path.join(".dart_tool", "package_config.json"),
5607
5614
  ].map((name) => ({ name, file: path.join(pkg, name) }));
5608
- if (files.some(({ file }) => !existsSync(file))) return undefined;
5615
+ // `pubspec_overrides.yaml` is intentionally absent for installed compilers. Its absence is an
5616
+ // input to the proof, not proof that dependency resolution can never be current.
5617
+ if (files.some(({ name, file }) => name !== "pubspec_overrides.yaml" && !existsSync(file))) return undefined;
5609
5618
  const hash = createHash("sha256").update(`${dartResolutionFormat}\0`);
5610
- for (const { name, file } of files) hash.update(name).update("\0").update(readFileSync(file)).update("\0");
5619
+ for (const { name, file } of files) {
5620
+ hash.update(name).update("\0");
5621
+ if (existsSync(file)) hash.update("present\0").update(readFileSync(file));
5622
+ else hash.update("absent");
5623
+ hash.update("\0");
5624
+ }
5611
5625
  return hash.digest("hex");
5612
5626
  };
5613
5627
  const dartPackageResolutionCurrent = (pkg: string): boolean => {