buildx-cli 1.8.30 → 1.8.32

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/README.md CHANGED
@@ -466,6 +466,10 @@ Writes:
466
466
  - `collections.manifest.json`
467
467
  - `SCHEMA_AS_CODE.md` (generated usage guide for human/AI collaborators)
468
468
 
469
+ Source-of-truth behavior:
470
+ - `collections.json` is pulled from remote `/project/:project_id/collections` payload directly (with only lightweight normalization for internal keys).
471
+ - CLI does not reconstruct `collections.json` from `types.ts` during `schema:pull`.
472
+
469
473
  System-managed fields:
470
474
  - when `timestamps: true`, pulled `types.ts` includes `createdAt/updatedAt` (`BxDateTime`)
471
475
  - when `auditable: true`, pulled `types.ts` includes `createdBy/updatedBy` (`BxAuth`)
@@ -542,10 +546,25 @@ Field annotations (JSDoc in `types.ts`) are supported:
542
546
  - `@bx.required` or `@bx.required false`
543
547
  - `@bx.ref <collection_id_or_enum_key>`
544
548
  - `@bx.choices value1:Label 1|value2:Label 2` (for `Choices`/`MultipleChoices`)
549
+ - `@bx.type <SchemaType>` (force schema field type, useful for unions)
550
+ - `@bx.default <json>`
551
+ - `@bx.format <json_or_string>`
552
+ - `@bx.validate <json_or_string>`
553
+ - `@bx.props <json-object>` (merge custom keys into `propertiesScheme`)
545
554
 
546
555
  System-managed fields:
547
556
  - `createdAt`, `updatedAt`, `createdBy`, `updatedBy` in `types.ts` are ignored by convert output and never synced back
548
557
 
558
+ Embedded object fidelity:
559
+ - inline object/list members are restored as structured `children` (not collapsed to `item: Text`).
560
+ - nested relation refs are normalized to collection IDs (for example `Partial<Workflows>` -> `workflows`).
561
+ - when merging with base `collections.json`, nested child metadata is preserved by child name when possible.
562
+ - dynamic object/list fallback stays as `BxObject` / `BxList` at type layer and `Object` / `List` in collection schema layer.
563
+ - temporary compatibility: `string[]` / `BxText[]` converts to `MultipleChoices` instead of generic `List`.
564
+ - `schema:pull` annotation style:
565
+ - emits multiline JSDoc tags for readability
566
+ - emits `@bx.type` only for lossy relation kinds (`ReverseReference`, `ReverseReferences`, `Virtual`)
567
+
549
568
  Example:
550
569
  ```ts
551
570
  export type Employees = {
package/dist/README.md CHANGED
@@ -466,6 +466,10 @@ Writes:
466
466
  - `collections.manifest.json`
467
467
  - `SCHEMA_AS_CODE.md` (generated usage guide for human/AI collaborators)
468
468
 
469
+ Source-of-truth behavior:
470
+ - `collections.json` is pulled from remote `/project/:project_id/collections` payload directly (with only lightweight normalization for internal keys).
471
+ - CLI does not reconstruct `collections.json` from `types.ts` during `schema:pull`.
472
+
469
473
  System-managed fields:
470
474
  - when `timestamps: true`, pulled `types.ts` includes `createdAt/updatedAt` (`BxDateTime`)
471
475
  - when `auditable: true`, pulled `types.ts` includes `createdBy/updatedBy` (`BxAuth`)
@@ -542,10 +546,25 @@ Field annotations (JSDoc in `types.ts`) are supported:
542
546
  - `@bx.required` or `@bx.required false`
543
547
  - `@bx.ref <collection_id_or_enum_key>`
544
548
  - `@bx.choices value1:Label 1|value2:Label 2` (for `Choices`/`MultipleChoices`)
549
+ - `@bx.type <SchemaType>` (force schema field type, useful for unions)
550
+ - `@bx.default <json>`
551
+ - `@bx.format <json_or_string>`
552
+ - `@bx.validate <json_or_string>`
553
+ - `@bx.props <json-object>` (merge custom keys into `propertiesScheme`)
545
554
 
546
555
  System-managed fields:
547
556
  - `createdAt`, `updatedAt`, `createdBy`, `updatedBy` in `types.ts` are ignored by convert output and never synced back
548
557
 
558
+ Embedded object fidelity:
559
+ - inline object/list members are restored as structured `children` (not collapsed to `item: Text`).
560
+ - nested relation refs are normalized to collection IDs (for example `Partial<Workflows>` -> `workflows`).
561
+ - when merging with base `collections.json`, nested child metadata is preserved by child name when possible.
562
+ - dynamic object/list fallback stays as `BxObject` / `BxList` at type layer and `Object` / `List` in collection schema layer.
563
+ - temporary compatibility: `string[]` / `BxText[]` converts to `MultipleChoices` instead of generic `List`.
564
+ - `schema:pull` annotation style:
565
+ - emits multiline JSDoc tags for readability
566
+ - emits `@bx.type` only for lossy relation kinds (`ReverseReference`, `ReverseReferences`, `Virtual`)
567
+
549
568
  Example:
550
569
  ```ts
551
570
  export type Employees = {