@company-semantics/contracts 6.4.0 → 6.6.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/package.json +1 -1
- package/src/org/schemas.ts +8 -0
- package/src/org/types.ts +10 -0
package/package.json
CHANGED
package/src/org/schemas.ts
CHANGED
|
@@ -826,6 +826,14 @@ export const OwnerAuthoritySchema = z.object({
|
|
|
826
826
|
mutability: AuthorityMutabilitySchema,
|
|
827
827
|
derivedFromUnitId: z.string().uuid(),
|
|
828
828
|
derivedFromUnitName: z.string().min(1).optional(),
|
|
829
|
+
/**
|
|
830
|
+
* True when this authority derives from the org ROOT unit — i.e. the holder
|
|
831
|
+
* is a CEO (a structural leader of the org root, observed locally on the root
|
|
832
|
+
* or as inherited authority on a descendant). Lets consumers classify CEO
|
|
833
|
+
* without a separate org-tree lookup, the same way `mechanism === 'rbac'`
|
|
834
|
+
* identifies an org admin. Omitted (falsy) for non-root derivations.
|
|
835
|
+
*/
|
|
836
|
+
derivedFromRoot: z.boolean().optional(),
|
|
829
837
|
derivedFromUserId: z.string().uuid().nullable().optional(),
|
|
830
838
|
/**
|
|
831
839
|
* Human-readable reason this authority applies, built at serialize time from
|
package/src/org/types.ts
CHANGED
|
@@ -104,6 +104,16 @@ export interface WorkspaceMember {
|
|
|
104
104
|
id: string;
|
|
105
105
|
name: string;
|
|
106
106
|
email: string;
|
|
107
|
+
/**
|
|
108
|
+
* Resolved avatar photo URL for the member, or `null`/absent when none is
|
|
109
|
+
* stored. SOURCE-AGNOSTIC: today the backend resolves this from the Slack
|
|
110
|
+
* profile photo cached on the user record, but the field name deliberately
|
|
111
|
+
* does not encode the origin so future sources (in-app upload, etc.) slot in
|
|
112
|
+
* behind the backend avatar resolver without a contract change. UI MUST fall
|
|
113
|
+
* back to initials when this is absent. Optional because it is an additive
|
|
114
|
+
* display-only enrichment (see ADR-CONTRACTS-055).
|
|
115
|
+
*/
|
|
116
|
+
avatarUrl?: string | null;
|
|
107
117
|
/** Free-text job title (`users.job_title`). Null when unset. */
|
|
108
118
|
jobTitle: string | null;
|
|
109
119
|
/**
|