@githolon/dsl 0.95.0 → 0.95.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/dart/pubspec.lock CHANGED
@@ -191,7 +191,7 @@ packages:
191
191
  path: "../dart_types"
192
192
  relative: true
193
193
  source: path
194
- version: "0.5.0"
194
+ version: "0.6.0"
195
195
  package_config:
196
196
  dependency: transitive
197
197
  description:
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.59.0
14
+ version: 0.60.0
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.95.0",
3
+ "version": "0.95.2",
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",
@@ -1047,11 +1047,11 @@ const DART_TYPES_IMPORT = `import 'package:nomos_types/nomos_types.dart';`;
1047
1047
  * just the floor generated code needs — a lagging pin forces tenants into dependency_overrides. */
1048
1048
  // 0.3.0: SurfacedValue<T>/SurfacedObservation/PendingConflictRow — generated Surfaced-field typing +
1049
1049
  // the pendingConflicts read rows.
1050
- const NOMOS_TYPES_DEP = "^0.5.0";
1050
+ const NOMOS_TYPES_DEP = "^0.6.0";
1051
1051
  // 0.48.x: session-bound clients (XClient.bind/NomosClientInterface/DomainClientSessionMismatch/
1052
1052
  // DomainNotInstalledForSession, engine.follow, pendingConflicts lanes) — the generated client
1053
1053
  // REQUIRES this surface. 0.48.1 fixes NomosSession.watchPendingConflicts delegation.
1054
- const NOMOS_CLIENT_DEP = "^0.58.0";
1054
+ const NOMOS_CLIENT_DEP = "^0.60.0";
1055
1055
  // DRIFT TRIPWIRE: pubspec_pins.test.ts asserts these equal the CURRENT versions in dsl/dart/pubspec.yaml
1056
1056
  // and dsl/dart_types/pubspec.yaml — a Dart release without this bump fails the suite, so tenants never
1057
1057
  // land back in dependency_overrides (the exact co2 report this closes, third occurrence).
@@ -329,8 +329,11 @@ export const enrollFirstDevice = directive("enrollFirstDevice")
329
329
  * walk (`verify_to_root`, keyless branch) RE-VERIFIES the token against the platform-attested
330
330
  * AuthProvider (bound to K_root by the terminal platform_cert), so a forged/swapped cert fails the
331
331
  * child's own gate. Writing it as the user's `SignerDelegation` is what lets `birthHome`'s offer-effect
332
- * assemble a WARRANTED travelling chain (closes co2's `birth-cert-not-seeded` / empty signerDelegation). */
333
- delegationCert: z.string().min(1),
332
+ * assemble a WARRANTED travelling chain (closes co2's `birth-cert-not-seeded` / empty signerDelegation).
333
+ * OPTIONAL — an enroll-only flow (seat the signer, no imminent home birth) omits it and seeds no
334
+ * delegation (backward-compatible with every pre-B `enrollFirstDevice` caller). The keyless home-birth
335
+ * ceremony ALWAYS supplies it (that is what seeds the delegation the chain needs). */
336
+ delegationCert: z.string().min(1).optional(),
334
337
  }),
335
338
  )
336
339
  .plan((p, ctx) => {
@@ -354,6 +357,8 @@ export const enrollFirstDevice = directive("enrollFirstDevice")
354
357
  // The delegation is keyed by the AUTHENTICATED principal — EXACTLY the `founder` the kernel's birth
355
358
  // offer-effect reads it back by (`read_signer_delegation(state, &founder)`, founder == captured principal
356
359
  // == this `rawPrincipal`, already in `user:<uid>` form). Do NOT re-prefix.
360
+ // Absent delegationCert ⇒ enroll-only (no delegation seeded), byte-identical to a pre-B enroll.
361
+ if (!p.delegationCert) return tupleOps;
357
362
  const d = instance(SignerDelegation, signerDelegationInstanceId(rawPrincipal));
358
363
  const delegationOps: PlannedOp[] = [
359
364
  withMarker(set(d, "user", rawPrincipal), "ensures"),