@proteos/sdk 0.54.0 → 0.55.0

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/src/meta/types.ts CHANGED
@@ -646,6 +646,17 @@ export const EntityContactBindingSchema = z.object({
646
646
  duplicate_policy: z.enum(['reject', 'flag']),
647
647
  })
648
648
 
649
+ /**
650
+ * The write-side shape of the contact-binding setting. `duplicate_policy` is
651
+ * optional here so an EMPTY object can be sent: that is how a writer says
652
+ * "clear this entity's binding back to null", which is distinct from omitting
653
+ * the field (which leaves whatever is stored alone). Reads never return the
654
+ * empty shape — the server stores null instead.
655
+ */
656
+ export interface EntityContactBindingInput {
657
+ duplicate_policy?: ContactBindingDuplicatePolicy
658
+ }
659
+
649
660
  export interface Entity extends AuditFields {
650
661
  slug: string
651
662
  name: string
@@ -660,8 +671,10 @@ export interface Entity extends AuditFields {
660
671
  */
661
672
  public_record_access: PublicAccessOperation[]
662
673
  /**
663
- * Contact-binding setting (see `EntityContactBinding`). Optional: a Go
664
- * build that predates the setting omits it, which means `flag`.
674
+ * Contact-binding setting (see `EntityContactBinding`). Absent on every
675
+ * entity that never declared one — which is most of them, since the setting
676
+ * is meaningful only alongside a `contact-address` attribute. Absent means
677
+ * the effective default, `flag`.
665
678
  */
666
679
  contact_binding?: EntityContactBinding
667
680
  module_slug: string
@@ -730,9 +743,12 @@ export interface CreateEntityRequest {
730
743
  */
731
744
  public_record_access?: PublicAccessOperation[]
732
745
  /**
733
- * Contact-binding setting; full-replacement on upsert (omitted = `flag`).
746
+ * Contact-binding setting. Full-replacement on upsert, and its reset target
747
+ * is ABSENT rather than a materialized default: an upsert that omits the
748
+ * field clears it back to null, so a manifest that never declares it stays
749
+ * in sync. Absent behaves as `flag`.
734
750
  */
735
- contact_binding?: EntityContactBinding
751
+ contact_binding?: EntityContactBindingInput
736
752
  module_slug: string
737
753
  description: string
738
754
  title_template?: string
@@ -746,7 +762,11 @@ export interface UpdateEntityRequest {
746
762
  name?: string
747
763
  is_remote?: boolean
748
764
  public_record_access?: PublicAccessOperation[]
749
- contact_binding?: EntityContactBinding
765
+ /**
766
+ * Omitted leaves the stored binding alone; an EMPTY object clears it back
767
+ * to null (see `EntityContactBindingInput`).
768
+ */
769
+ contact_binding?: EntityContactBindingInput
750
770
  module_slug?: string
751
771
  description?: string
752
772
  title_template?: string
@@ -165,7 +165,9 @@ export type PropertyType =
165
165
  | 'credentials_select'
166
166
  | 'button'
167
167
  /** Edits a platform attribute list (`Attribute[]`) via the shared attribute schema builder. */
168
- | 'attribute_schema'
168
+ /** Edits a decision-question map (model-decide `questions`) via the questions builder, with a raw-JSON mode. */
169
+ | 'decision_questions'
170
+ | 'attribute_schema'
169
171
  // Wave 2 (editor support lands with Phase 3):
170
172
  | 'resource_locator'
171
173
  | 'resource_mapper'