@stndrds/schema 1.0.0-alpha.298 → 1.0.0-alpha.299
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/dist/{all-BekDmUP1.d.mts → all-A2bb4nkl.d.mts} +3 -3
- package/dist/{all-Bl3DlCEn.d.ts → all-pjzlyj8G.d.ts} +3 -3
- package/dist/{attributes-SIbTof03.d.ts → attributes-DfhBu4HT.d.ts} +7 -1
- package/dist/{attributes-CtS5Gf_i.d.mts → attributes-Zw-DDGE7.d.mts} +7 -1
- package/dist/{chunk-GWAHL4A2.mjs → chunk-MQO25YZ6.mjs} +1 -1
- package/dist/{chunk-SDOYGWU4.js → chunk-VJYVPQ5E.js} +1 -1
- package/dist/exceptions.d.mts +2 -2
- package/dist/exceptions.d.ts +2 -2
- package/dist/{helpers-BUsoR80N.d.mts → helpers-BeDYpa3f.d.mts} +3 -3
- package/dist/{helpers-DZFOorZt.d.ts → helpers-D4S6olXa.d.ts} +3 -3
- package/dist/{index-DaY37pqb.d.ts → index-bLWyLCrA.d.ts} +4 -2
- package/dist/{index-EHhbbH-p.d.mts → index-vpNijPxd.d.mts} +4 -2
- package/dist/index.d.mts +41 -16
- package/dist/index.d.ts +41 -16
- package/dist/index.js +18 -18
- package/dist/index.mjs +15 -15
- package/dist/{migrations-DhQ05TqN.d.ts → migrations-B1Wl_3RY.d.ts} +1 -1
- package/dist/{migrations-DRBic-QO.d.mts → migrations-BG2mNaJn.d.mts} +1 -1
- package/dist/{objects-KU7alqZq.d.mts → objects-CmdtJjMN.d.mts} +2 -2
- package/dist/{objects-DMOfJNYg.d.ts → objects-DyVm3xIi.d.ts} +2 -2
- package/dist/{types-ldo4nJxP.d.mts → types-M5L07ItN.d.mts} +1 -1
- package/dist/{types-BNaHEz_n.d.ts → types-R2f1GdCB.d.ts} +1 -1
- package/dist/validation/all.d.mts +7 -7
- package/dist/validation/all.d.ts +7 -7
- package/dist/validation/all.js +1 -1
- package/dist/validation/all.mjs +1 -1
- package/dist/validation/complex/currency.d.mts +2 -2
- package/dist/validation/complex/currency.d.ts +2 -2
- package/dist/validation/complex/location.d.mts +2 -2
- package/dist/validation/complex/location.d.ts +2 -2
- package/dist/validation/complex/phone.d.mts +2 -2
- package/dist/validation/complex/phone.d.ts +2 -2
- package/dist/validation/complex/relation.d.mts +2 -2
- package/dist/validation/complex/relation.d.ts +2 -2
- package/dist/validation/complex/richtext.d.mts +2 -2
- package/dist/validation/complex/richtext.d.ts +2 -2
- package/dist/validation/complex/select.d.mts +2 -2
- package/dist/validation/complex/select.d.ts +2 -2
- package/dist/validation/complex/user.d.mts +2 -2
- package/dist/validation/complex/user.d.ts +2 -2
- package/dist/validation/computed/formula.d.mts +2 -2
- package/dist/validation/computed/formula.d.ts +2 -2
- package/dist/validation/computed/rollup.d.mts +2 -2
- package/dist/validation/computed/rollup.d.ts +2 -2
- package/dist/validation/config/index.d.mts +4 -4
- package/dist/validation/config/index.d.ts +4 -4
- package/dist/validation/core/index.d.mts +3 -3
- package/dist/validation/core/index.d.ts +3 -3
- package/dist/validation/object/index.d.mts +5 -5
- package/dist/validation/object/index.d.ts +5 -5
- package/dist/validation/primitives/checkbox.d.mts +2 -2
- package/dist/validation/primitives/checkbox.d.ts +2 -2
- package/dist/validation/primitives/date.d.mts +2 -2
- package/dist/validation/primitives/date.d.ts +2 -2
- package/dist/validation/primitives/number.d.mts +2 -2
- package/dist/validation/primitives/number.d.ts +2 -2
- package/dist/validation/primitives/text.d.mts +2 -2
- package/dist/validation/primitives/text.d.ts +2 -2
- package/package.json +2 -2
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import './types-
|
|
1
|
+
import './types-M5L07ItN.mjs';
|
|
2
2
|
import './validation/core/index.mjs';
|
|
3
|
-
import { D as DetailViewConfig, i as ListViewConfig, V as ViewType, a as ViewConfig } from './index-
|
|
3
|
+
import { D as DetailViewConfig, i as ListViewConfig, V as ViewType, a as ViewConfig } from './index-vpNijPxd.mjs';
|
|
4
4
|
import { z } from 'zod';
|
|
5
|
-
import './helpers-
|
|
5
|
+
import './helpers-BeDYpa3f.mjs';
|
|
6
6
|
|
|
7
7
|
declare const SCHEMA_LIMITS: {
|
|
8
8
|
readonly attributesPerObject: 300;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import './types-
|
|
1
|
+
import './types-R2f1GdCB.js';
|
|
2
2
|
import './validation/core/index.js';
|
|
3
|
-
import { D as DetailViewConfig, i as ListViewConfig, V as ViewType, a as ViewConfig } from './index-
|
|
3
|
+
import { D as DetailViewConfig, i as ListViewConfig, V as ViewType, a as ViewConfig } from './index-bLWyLCrA.js';
|
|
4
4
|
import { z } from 'zod';
|
|
5
|
-
import './helpers-
|
|
5
|
+
import './helpers-D4S6olXa.js';
|
|
6
6
|
|
|
7
7
|
declare const SCHEMA_LIMITS: {
|
|
8
8
|
readonly attributesPerObject: 300;
|
|
@@ -395,6 +395,12 @@ type RelationAttribute = SingleRelationAttribute | MultiRelationAttribute;
|
|
|
395
395
|
* Check if a relation attribute is universal (can link to any object)
|
|
396
396
|
* Universal relations have `targets: [{ object: "*" }]`
|
|
397
397
|
*/
|
|
398
|
+
/**
|
|
399
|
+
* The object names a relation attribute can point at, universal marker
|
|
400
|
+
* stripped. Any other attribute type — and a relation row whose config lost
|
|
401
|
+
* its `targets` — yields no names.
|
|
402
|
+
*/
|
|
403
|
+
declare function relationTargetsOf(attribute: Attribute): string[];
|
|
398
404
|
declare function isUniversalRelation(attr: RelationAttribute): boolean;
|
|
399
405
|
/**
|
|
400
406
|
* Check if a relation attribute has bilateral synchronization enabled
|
|
@@ -581,4 +587,4 @@ declare function isAttributeSortable(attr: {
|
|
|
581
587
|
type: AttributeType;
|
|
582
588
|
}): boolean;
|
|
583
589
|
|
|
584
|
-
export { type OptionPropertyAttribute as $, type Attribute as A, type BilateralConfig as B, type CheckboxAttribute as C, type DateAttribute as D, ATTRIBUTE_TYPES as E, type FormulaAttribute as F, type AttributeGroup as G, type BaseAttribute as H, type ComputedFieldKind as I, type ComputedFormulaBinaryNode as J, type ComputedFormulaBinaryOperator as K, type LocationAttribute as L, type MultiselectAttribute as M, type NumberAttribute as N, type Option as O, type PhoneAttribute as P, type ComputedFormulaCallNode as Q, type RichtextAttribute as R, type SelectAttribute as S, type TextAttribute as T, type UserAttribute as U, type ComputedFormulaLiteralNode as V, ComputedFormulaParseError as W, type ComputedFormulaPathNode as X, type DateFormat as Y, type DateValue as Z, type NumberUnit as _, type CurrencyAttribute as a, type PropertyType as a0, RELATION_TARGET_ANY as a1, type RichTextAttribute as a2, type StatusGroup as a3, hasOptions as a4, inferInverseCardinality as a5, isAttributeSortable as a6, isBilateralRelation as a7, isUniversalRelation as a8, parseComputedFormula as a9,
|
|
590
|
+
export { type OptionPropertyAttribute as $, type Attribute as A, type BilateralConfig as B, type CheckboxAttribute as C, type DateAttribute as D, ATTRIBUTE_TYPES as E, type FormulaAttribute as F, type AttributeGroup as G, type BaseAttribute as H, type ComputedFieldKind as I, type ComputedFormulaBinaryNode as J, type ComputedFormulaBinaryOperator as K, type LocationAttribute as L, type MultiselectAttribute as M, type NumberAttribute as N, type Option as O, type PhoneAttribute as P, type ComputedFormulaCallNode as Q, type RichtextAttribute as R, type SelectAttribute as S, type TextAttribute as T, type UserAttribute as U, type ComputedFormulaLiteralNode as V, ComputedFormulaParseError as W, type ComputedFormulaPathNode as X, type DateFormat as Y, type DateValue as Z, type NumberUnit as _, type CurrencyAttribute as a, type PropertyType as a0, RELATION_TARGET_ANY as a1, type RichTextAttribute as a2, type StatusGroup as a3, hasOptions as a4, inferInverseCardinality as a5, isAttributeSortable as a6, isBilateralRelation as a7, isUniversalRelation as a8, parseComputedFormula as a9, relationTargetsOf as aa, resolvePropertyDefinitions as ab, type StatusAttribute as b, type MultiRelationAttribute as c, type RelationAttribute as d, type SingleRelationAttribute as e, type RollupAttribute as f, type AttributeType as g, type ComputedValueType as h, type ComputedReturnType as i, type ComputedOptionsSource as j, type ComputedDependency as k, type ComputedPlan as l, type ComputedFormulaAstNode as m, type LocationGranularity as n, type Location as o, type DateRangeValue as p, type DocumentAttribute as q, type Phone as r, type Currency as s, type PropertySchema as t, type TimeFormat as u, type PropertyAttribute as v, type FormulaReturnType as w, type RelationTarget as x, type RollupFunction as y, type UserReferenceType as z };
|
|
@@ -395,6 +395,12 @@ type RelationAttribute = SingleRelationAttribute | MultiRelationAttribute;
|
|
|
395
395
|
* Check if a relation attribute is universal (can link to any object)
|
|
396
396
|
* Universal relations have `targets: [{ object: "*" }]`
|
|
397
397
|
*/
|
|
398
|
+
/**
|
|
399
|
+
* The object names a relation attribute can point at, universal marker
|
|
400
|
+
* stripped. Any other attribute type — and a relation row whose config lost
|
|
401
|
+
* its `targets` — yields no names.
|
|
402
|
+
*/
|
|
403
|
+
declare function relationTargetsOf(attribute: Attribute): string[];
|
|
398
404
|
declare function isUniversalRelation(attr: RelationAttribute): boolean;
|
|
399
405
|
/**
|
|
400
406
|
* Check if a relation attribute has bilateral synchronization enabled
|
|
@@ -581,4 +587,4 @@ declare function isAttributeSortable(attr: {
|
|
|
581
587
|
type: AttributeType;
|
|
582
588
|
}): boolean;
|
|
583
589
|
|
|
584
|
-
export { type OptionPropertyAttribute as $, type Attribute as A, type BilateralConfig as B, type CheckboxAttribute as C, type DateAttribute as D, ATTRIBUTE_TYPES as E, type FormulaAttribute as F, type AttributeGroup as G, type BaseAttribute as H, type ComputedFieldKind as I, type ComputedFormulaBinaryNode as J, type ComputedFormulaBinaryOperator as K, type LocationAttribute as L, type MultiselectAttribute as M, type NumberAttribute as N, type Option as O, type PhoneAttribute as P, type ComputedFormulaCallNode as Q, type RichtextAttribute as R, type SelectAttribute as S, type TextAttribute as T, type UserAttribute as U, type ComputedFormulaLiteralNode as V, ComputedFormulaParseError as W, type ComputedFormulaPathNode as X, type DateFormat as Y, type DateValue as Z, type NumberUnit as _, type CurrencyAttribute as a, type PropertyType as a0, RELATION_TARGET_ANY as a1, type RichTextAttribute as a2, type StatusGroup as a3, hasOptions as a4, inferInverseCardinality as a5, isAttributeSortable as a6, isBilateralRelation as a7, isUniversalRelation as a8, parseComputedFormula as a9,
|
|
590
|
+
export { type OptionPropertyAttribute as $, type Attribute as A, type BilateralConfig as B, type CheckboxAttribute as C, type DateAttribute as D, ATTRIBUTE_TYPES as E, type FormulaAttribute as F, type AttributeGroup as G, type BaseAttribute as H, type ComputedFieldKind as I, type ComputedFormulaBinaryNode as J, type ComputedFormulaBinaryOperator as K, type LocationAttribute as L, type MultiselectAttribute as M, type NumberAttribute as N, type Option as O, type PhoneAttribute as P, type ComputedFormulaCallNode as Q, type RichtextAttribute as R, type SelectAttribute as S, type TextAttribute as T, type UserAttribute as U, type ComputedFormulaLiteralNode as V, ComputedFormulaParseError as W, type ComputedFormulaPathNode as X, type DateFormat as Y, type DateValue as Z, type NumberUnit as _, type CurrencyAttribute as a, type PropertyType as a0, RELATION_TARGET_ANY as a1, type RichTextAttribute as a2, type StatusGroup as a3, hasOptions as a4, inferInverseCardinality as a5, isAttributeSortable as a6, isBilateralRelation as a7, isUniversalRelation as a8, parseComputedFormula as a9, relationTargetsOf as aa, resolvePropertyDefinitions as ab, type StatusAttribute as b, type MultiRelationAttribute as c, type RelationAttribute as d, type SingleRelationAttribute as e, type RollupAttribute as f, type AttributeType as g, type ComputedValueType as h, type ComputedReturnType as i, type ComputedOptionsSource as j, type ComputedDependency as k, type ComputedPlan as l, type ComputedFormulaAstNode as m, type LocationGranularity as n, type Location as o, type DateRangeValue as p, type DocumentAttribute as q, type Phone as r, type Currency as s, type PropertySchema as t, type TimeFormat as u, type PropertyAttribute as v, type FormulaReturnType as w, type RelationTarget as x, type RollupFunction as y, type UserReferenceType as z };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import {a as a$1,c}from'./chunk-RFKNNT2Q.mjs';import {h}from'./chunk-PT25FZ62.mjs';import {a}from'./chunk-KSPJP74K.mjs';import {z}from'zod';/*! © 2025-2026 AND YOU CREATE SAS (RCS Paris 940 190 614). Proprietary — see LICENSE (Standards SDK License 1.0). */
|
|
2
|
-
var Pt={createdAt:"createdAt",updatedAt:"updatedAt",createdBy:"createdBy",lastUpdatedBy:"lastUpdatedBy",attachments:"attachments"};function ur(t){return Pt[t]}a(ur,"getSystemAttributeI18nKey");var kt={createdAt:{id:"system:createdAt",name:"createdAt",label:"Created time",type:"date",required:false,system:true,icon:"clock-circle",description:"When this record was created"},updatedAt:{id:"system:updatedAt",name:"updatedAt",label:"Last edited time",type:"date",required:false,system:true,icon:"clock-circle",description:"When this record was last modified"},createdBy:{id:"system:createdBy",name:"createdBy",label:"Created by",type:"user",required:false,system:true,multiple:false,icon:"user",description:"Actor who created this record"},lastUpdatedBy:{id:"system:lastUpdatedBy",name:"lastUpdatedBy",label:"Last edited by",type:"user",required:false,system:true,multiple:false,icon:"user",description:"Actor who last modified this record"},attachments:{id:"system:attachments",name:"attachments",label:"Attachments",type:"document",required:false,system:true,hidden:true,icon:"paperclip",description:"Free-form document attachments"}};function cr(){return Object.values(kt)}a(cr,"getSystemAttributeList");function G(t){return t.id?.startsWith("system:")??false}a(G,"isManagedSystemAttribute");var Q=["is","is_not","contains","not_contains","starts_with","ends_with","is_empty","is_not_empty"],K=["is","is_not","less_than","greater_than","less_or_equal","greater_or_equal","is_empty","is_not_empty"],Bt=["is"],Lt=["is","is_not","less_than","greater_than","less_or_equal","greater_or_equal","is_within","on_day_month","is_empty","is_not_empty"],J=["is","is_not","any_of","none_of","is_empty","is_not_empty"],jt=["any_of","none_of","is_empty","is_not_empty"],H=["is","is_not","any_of","none_of","is_empty","is_not_empty"],Nt=["is_empty","is_not_empty"],Mt=["is","is_not","less_than","greater_than","less_or_equal","greater_or_equal","contains","not_contains","is_empty","is_not_empty"],w=["city","postalCode","country"];function F(t){return w.includes(t)}a(F,"isLocationFilterProperty");function br(t){return Q.includes(t)}a(br,"isLocationPartOperator");var y={text:Q,richtext:[],number:K,checkbox:Bt,date:Lt,phone:["is","is_not","contains","not_contains","starts_with","is_empty","is_not_empty"],currency:K,status:J,select:J,multiselect:jt,location:[],user:H,relation:H,formula:Mt,document:Nt},Ut=new Set(["formula","rollup"]),qt=new Set(["user","relation","document"]),$t=new Set(["text","richtext","number","select","multiselect","status","date","phone","currency","location","user","relation","document"]),zt=new Set(["text","number","date","phone","currency","select","multiselect"]),Yt=new Set(["text","phone","status","select","multiselect"]),Wt=new Set(["text","number","checkbox","date","phone","currency","status","select"]);function g(t){let r=!!(t.hidden||t.archived),i=!t.archived,n=Ut.has(t.type),a=t.type==="document",s=qt.has(t.type),l=Kt(t),u=r?[]:Gt(t),c=u.length>0&&!r,h=!r&&Yt.has(t.type),_=!r&&Wt.has(t.type),T=!r&&oe(t.type),R=!r&&t.type==="status",It=G(t),q=n||a||It,O=!(r||q),vt=Xt(t.type)?"forbidden":"allowed",Dt=Zt(t.type),$=Ht(t),z=zt.has(t.type),Y=!!(t.deprecated&&!r),W=re(t);return {lifecycle:{active:i,deprecated:!!t.deprecated,visibleInArchitect:true,visibleInRuntime:!r,warningWhenDeprecated:Y},storage:{mode:n?"computed":s?"edge":"value",cardinality:l,edgeBacked:s,preservesExistingValues:!!t.archived,qualifiedProperties:Qt(t.type),polymorphic:Jt(t),maxItems:$},authoring:{editable:O,readOnly:q,directEdit:O&&W==="inline",required:vt,defaultValue:Dt,placeholder:z,maxItems:$},presentation:{formField:!r&&ee(t.type),tableCell:!r&&Z(t.type),defaultColumn:!r&&te(t.type),compactDisplay:!r,popoverEditor:!r&&W==="popover",placeholder:z,warningWhenDeprecated:Y},query:{filterable:c,searchable:h,sortable:_,groupable:T,kanbanGroupable:R,operators:u},agent:{readable:!r,writable:O&&!a,compactReadable:!r,contentReadable:!r&&ie(t.type),requiresDedicatedTool:a},exchange:{importable:!r,exportable:!r,schemaExportable:true,metadataExportable:false}}}a(g,"getAttributeCapabilities");function X(t){return g(t).query.operators}a(X,"getAttributeFilterOperators");function yr(t){return g(t).query.filterable}a(yr,"isAttributeFilterable");function fr(t){return g(t).query.searchable}a(fr,"isAttributeSearchable");function hr(t){return g(t).query.sortable}a(hr,"isAttributeSortable");function _r(t){return g(t).query.groupable}a(_r,"isAttributeGroupable");function gr(t){return g(t).query.kanbanGroupable}a(gr,"isAttributeKanbanGroupable");function C(t){if(t.type!=="rollup")return t.type;let r=t;if(r.function==="earliest"||r.function==="latest")return "date";if(r.function==="original"){let i=r.targetAttributeType;if(i&&tt(i))return i}return "number"}a(C,"resolveEffectiveFilterType");function V(t){let r=C(t);return tt(r)?y[r]:y.number}a(V,"getRollupFilterOperators");function Gt(t){return t.type==="rollup"?V(t):y[t.type]??[]}a(Gt,"getRawFilterOperators");function Kt(t){return t.type==="multiselect"||t.type==="document"||t.type==="user"&&t.multiple===true||t.type==="relation"&&t.cardinality==="many"?"many":"one"}a(Kt,"getAttributeCardinality");function Jt(t){if(t.type!=="relation")return "none";let i=t.targets??[];return i.length===1&&i[0]?.object==="*"?"internal":i.length>1?"code-only":"none"}a(Jt,"getPolymorphicCapability");function Ht(t){return t.type==="multiselect"?true:t.type==="relation"?t.cardinality==="many":false}a(Ht,"supportsMaxItems");function Qt(t){return t==="relation"||t==="document"}a(Qt,"supportsQualifiedProperties");function Xt(t){return t==="checkbox"||t==="formula"||t==="rollup"}a(Xt,"isRequiredForbidden");function Zt(t){return t==="checkbox"?"automatic":t==="formula"||t==="rollup"?"forbidden":$t.has(t)?"static":"forbidden"}a(Zt,"getDefaultValueCapability");function te(t){return Z(t)}a(te,"isDefaultColumnType");function Z(t){return t!=="richtext"&&t!=="document"}a(Z,"isTableCellType");function ee(t){return t!=="richtext"}a(ee,"isFormFieldType");function re(t){switch(t.type){case "checkbox":return "inline";case "number":return t.renderAs==="rating"?"inline":"default";case "select":case "multiselect":return t.renderAs==="badges"?"inline":"popover";case "status":case "relation":case "user":case "date":return "popover";default:return "default"}}a(re,"resolveEditMode");function oe(t){return t==="status"||t==="currency"}a(oe,"isGroupableType");function ie(t){return t==="richtext"||t==="document"}a(ie,"isContentReadableType");function tt(t){return Object.prototype.hasOwnProperty.call(y,t)}a(tt,"hasFilterOperatorEntry");var f=y,ne=["is_empty","is_not_empty"];function et(t){return ne.includes(t)}a(et,"isNoValueOperator");function Er(t){return V(t)}a(Er,"getRollupFilterOperators");function A(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)&&"dynamic"in t}a(A,"isDynamicValue");function Or(){return {dynamic:"actor",ref:"current"}}a(Or,"currentActor");function wr(){return {dynamic:"date",anchor:"today"}}a(wr,"today");function Fr(){return {dynamic:"date",anchor:"now"}}a(Fr,"now");function rt(t){if(typeof t=="number")return Number.isFinite(t)?t:null;if(typeof t=="string"&&t.trim()!==""){let r=Number(t);return Number.isFinite(r)?r:null}return null}a(rt,"toAmount");function ot(t){return t!==null&&typeof t=="object"?"value"in t?rt(t.value):null:rt(t)}a(ot,"extractCurrencyFilterValue");function Ir(t){return t==null?null:typeof t=="object"&&"value"in t?t.value??null:t}a(Ir,"extractFilterValue");var ae=new Set(["is_not","not_contains","none_of","is_empty"]),se={is_not:"is",not_contains:"contains",none_of:"any_of",is_empty:"is_not_empty"};function Pr(t){return ae.has(t)?"none":"any"}a(Pr,"getOperatorPolarity");function kr(t){return se[t]??t}a(kr,"normalizeForEdgeRpc");var it={is:"any_of",is_not:"none_of"};function Br(t){return it[t]??t}a(Br,"toMultiValueOperator");var le=new Set(Object.values(it).filter(t=>t!==void 0));function nt(t){return le.has(t)}a(nt,"isSetMembershipOperator");function at(t,r){let i=t.value;if(et(t.operator)||i==null||A(i))return;if(nt(t.operator)){Array.isArray(i)||(t.value=[i]);return}if(r!=="currency")return;let n=ot(i);if(n!==null){t.value=n;return}if(!ue(i))return;let a=`Filter on a currency attribute expected a numeric amount, received ${JSON.stringify(i)}`;throw new h(a,[{path:["value"],message:a}])}a(at,"canonicalizeFilterValue");function ue(t){return typeof t!="object"?true:"value"in t?t.value!=null:false}a(ue,"hasCurrencyAmount");var ce={eq:"is",equals:"is",equal:"is","==":"is","=":"is",neq:"is_not",notEqual:"is_not",isNot:"is_not","!=":"is_not","<>":"is_not",lt:"less_than","<":"less_than",gt:"greater_than",">":"greater_than",lte:"less_or_equal","<=":"less_or_equal",gte:"greater_or_equal",">=":"greater_or_equal",in:"any_of",isAnyOf:"any_of",anyOf:"any_of",oneOf:"any_of",notIn:"none_of",not_in:"none_of",isNoneOf:"none_of",noneOf:"none_of",notOneOf:"none_of",startsWith:"starts_with",beginsWith:"starts_with",endsWith:"ends_with",doesNotContain:"not_contains",notContain:"not_contains",isEmpty:"is_empty",isNotEmpty:"is_not_empty"};function I(t){return ce[t]??t}a(I,"normalizeOperator");function Wr(t){let r=I(t.operator);return r===t.operator?t:{...t,operator:r}}a(Wr,"normalizeFilterRule");var pe=new Set(["days","weeks","months","years"]),de=new Set(["past","future"]);function v(t){if(typeof t!="object"||t===null)return false;let r=t;return typeof r.amount=="number"&&Number.isFinite(r.amount)&&r.amount>0&&typeof r.unit=="string"&&pe.has(r.unit)&&typeof r.direction=="string"&&de.has(r.direction)}a(v,"isRelativeDateValue");function lt(t){return Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate())}a(lt,"utcDayStart");function st(t,r,i){if(i==="days")return t+r*864e5;if(i==="weeks")return t+r*7*864e5;let n=new Date(t),a=n.getUTCFullYear()+(i==="years"?r:0),s=n.getUTCMonth()+(i==="months"?r:0),l=new Date(Date.UTC(a,s+1,0)).getUTCDate();return Date.UTC(a,s,Math.min(n.getUTCDate(),l))}a(st,"shiftUtcDay");function Jr(t,r=new Date){if(!v(t))return null;let i=lt(r),n=Math.trunc(t.amount),a=t.direction==="past"?{startMs:st(i,-n,t.unit),endMs:i+864e5}:{startMs:i,endMs:st(i,n,t.unit)+864e5};return Number.isFinite(a.startMs)&&Number.isFinite(a.endMs)?a:null}a(Jr,"resolveIsWithinBounds");function Hr(t){if(!Number.isFinite(t))return null;let r=lt(new Date(t));return Number.isFinite(r)?{startMs:r,endMs:r+864e5}:null}a(Hr,"resolveUtcDayBounds");function Qr(t){return new Date(t).toISOString().slice(0,10)}a(Qr,"toUtcDayString");var me=new Set(["relation","document","user"]),D=["is","is_not","any_of","none_of","is_empty","is_not_empty"],be={id:D,objectId:D,tenantId:D,label:f.text,createdAt:f.date,updatedAt:f.date,deletedAt:f.date,createdBy:f.user,lastUpdatedBy:f.user},ye={id:"text",objectId:"text",objectName:"text",tenantId:"text",label:"text",createdAt:"date",updatedAt:"date",deletedAt:"date",deletedBy:"user",createdBy:"user",lastUpdatedBy:"user",visibility:"select",ownedBy:"user"},B={before:'"less_than"',after:'"greater_than"',on_or_before:'"less_or_equal"',on_or_after:'"greater_or_equal"',is_checked:'"is" with value true',is_not_checked:'"is" with value false',day_month_eq:'"on_day_month"'},fe=new Set(Object.entries(y).filter(([,t])=>t.includes("any_of")&&!t.includes("contains")).map(([t])=>t)),he={contains:"any_of",not_contains:"none_of"};function P(t,r){let i=B[t];if(i){let s=`Unknown filter operator "${t}" \u2014 use ${i}`;throw new h(s,[{path:["operator"],message:s}])}let n=I(t),a=he[n];if(a&&fe.has(r)){let s=`Operator "${n}" is not valid for type "${r}" \u2014 use "${a}"`;throw new h(s,[{path:["operator"],message:s}])}return n}a(P,"resolveCanonicalOperator");function ut(t,r,i){let n=P(t,r),a=f[r];if(!a?.includes(n)){let s=a?.length?a.join(", "):"(no operators registered for this type)",l=`Operator "${t}" is not valid for ${i} type "${r}". Valid operators: ${s}.`;throw new h(l,[{path:["operator"],message:l}])}return n}a(ut,"assertOperatorForType");function _e(t){if(t.operator==="is_within"&&!v(t.value)){let r='Operator "is_within" requires a relative-date value { amount: positive number, unit: days|weeks|months|years, direction: past|future }';throw new h(r,[{path:["value"],message:r}])}}a(_e,"assertRelativeDateValue");function E(t,r,i){t.operator=r,at(t,i),_e(t);}a(E,"applyCanonicalForm");function ct(t,r){if(!A(t.value))return;let i=t.value;if(i.dynamic==="actor"&&r!=="user"){let n=`actor token (@me) is only valid on user attributes, not "${r}"`;throw new h(n,[{path:["value"],message:n}])}if(i.dynamic==="date"&&r!=="date"){let n=`date token (@today/@now) is only valid on date attributes, not "${r}"`;throw new h(n,[{path:["value"],message:n}])}}a(ct,"assertDynamicValueForAttribute");var k=w.map(t=>`"${t}"`).join(", ");function ge(t){return t==="location"?` A location is filtered on one of its parts: set "property" to one of ${k} and use a text operator (e.g. contains).`:""}a(ge,"locationPartsHint");function so(t,r){try{return Te({...t},r),[]}catch(i){if(!(i instanceof h))throw i;return i.errors.map(n=>({...n,path:[...n.path]}))}}a(so,"collectQualifiedRuleIssues");function Te(t,r){let i=r.attributes.find(u=>u.name===t.attribute),n=be[t.attribute];if(!(i||n)){let[u,...c]=t.attribute.split("."),_=(c.length>0?r.attributes.find(R=>R.name===u):void 0)?.type==="location"?` Dotted paths are not supported \u2014 set "attribute" to "${u}" and "property" to ${F(c[0]??"")?`"${c[0]}"`:`one of ${k}`}.`:t.attribute.includes(".")?' Dotted paths are not supported \u2014 filter on the attribute name alone, or use the full-text "query" parameter to match text inside a value.':"",T=`Unknown attribute: ${t.attribute}${_}`;throw new h(T,[{path:["attribute"],message:T}])}if(t.quantifier!==void 0&&!t.property){let u='quantifier is only valid on qualified edge rules (set "property")';throw new h(u,[{path:["quantifier"],message:u}])}if(!i){if(t.property)throw new h(`Cannot qualify system attribute "${t.attribute}"`,[{path:["property"],message:`"${t.attribute}" is a system column, not a reference`}]);let u=ye[t.attribute]??"text",c=P(t.operator,u);if(!n.includes(c)){let h$1=`Operator "${t.operator}" is not valid for system attribute "${t.attribute}". Valid operators: ${n.join(", ")}.`;throw new h(h$1,[{path:["operator"],message:h$1}])}E(t,c,u);return}if(!t.property){ct(t,i.type);let u=X(i),c=P(t.operator,i.type);if(!u.includes(c)){let h$1=u.length?u.join(", "):"(not filterable)",_=`Operator "${t.operator}" is not valid for attribute "${i.name}". Valid operators: ${h$1}.${ge(i.type)}`;throw new h(_,[{path:["operator"],message:_}])}E(t,c,C(i));return}if(i.type==="location"){if(t.quantifier!==void 0){let c="quantifier is not valid on a location part \u2014 a location is one value, not a set of edges";throw new h(c,[{path:["quantifier"],message:c}])}if(!F(t.property)){let c=`Property "${t.property}" is not a part of location "${t.attribute}". Valid parts: ${k}.`;throw new h(c,[{path:["property"],message:c}])}ct(t,"text");let u=ut(t.operator,"text","property");E(t,u,"text");return}if(!me.has(i.type))throw new h(`Cannot qualify ${i.type} attribute "${t.attribute}"`,[{path:["property"],message:`Attribute "${t.attribute}" is not a reference type`}]);let a=i.properties;if(!a)throw new h(`Attribute "${t.attribute}" has no qualifyWith schema`,[{path:["property"],message:`"${t.attribute}" has no qualifyWith`}]);let s=a.definitions.find(u=>u.name===t.property);if(!s)throw new h(`Property "${t.property}" not defined on "${t.attribute}".qualifyWith()`,[{path:["property"],message:`Unknown property: ${t.property}`}]);let l=ut(t.operator,s.type,"property");E(t,l,s.type);}a(Te,"validateQualifiedRule");var L=["workspace","private"],pt=["all",...L];function po(t){if(typeof t=="string"&&L.includes(t))return t;throw new h(`visibility must be one of: ${L.join(", ")} (received: ${String(t)})`,[])}a(po,"parseResourceVisibility");var Se=["id","createdAt","updatedAt","createdBy","lastUpdatedBy","visibility","ownedBy"],mo=[...Se,"objectId","label","embeddingText","values","metadata","deletedAt","deletedBy","schemaVersion","owned_by"],bo=["skill"];var yt=z.enum(["redirect","inline","peek"]),Ae=z.array(z.string()).min(1),x=z.array(z.string()).max(a$1.columnsPerTab),Ee=z.array(z.string().min(1)).max(a$1.columnsPerTab).refine(t=>new Set(t).size===t.length,{message:"Displayed attribute names must be unique"}),xe=z.object({attribute:z.string(),direction:z.enum(["asc","desc"])}).strict(),ft=z.array(xe).max(a$1.sortsPerTab),Re=z.object({amount:z.number(),unit:z.enum(["days","weeks","months","years"]),direction:z.enum(["past","future"])}).strict(),Oe=z.object({value:z.number().nullable(),code:z.array(z.string()).optional()}).strict(),we=z.object({phoneNumber:z.string().nullable(),countryCode:z.string().optional()}).strict(),Fe=z.discriminatedUnion("dynamic",[z.object({dynamic:z.literal("actor"),ref:z.literal("current")}).strict(),z.object({dynamic:z.literal("date"),anchor:z.enum(["today","now"])}).strict()]),Ce=z.object({month:z.number(),day:z.number()}).strict(),Ve=z.union([z.string(),z.number(),z.boolean(),z.array(z.string()),Re,Oe,we,Ce,Fe,z.null()]),Ie=z.enum(["is","is_not","contains","not_contains","starts_with","ends_with","is_empty","is_not_empty","less_than","greater_than","less_or_equal","greater_or_equal","is_within","on_day_month","any_of","none_of"],{error:a(t=>{let r=t.input,i=typeof r=="string"?B[r]:void 0;return i?`Unknown filter operator "${r}" \u2014 use ${i}`:void 0},"error")}),ve=z.object({attribute:z.string(),property:z.string().optional(),quantifier:z.enum(["any","none"]).optional(),operator:Ie,value:Ve}).strict(),ht=z.array(ve).max(a$1.filterRulesPerTab),De=z.object({combinator:z.enum(["and","or"]),rules:ht}).strict(),_t=z.object({id:z.string(),combinator:z.enum(["and","or"]),rules:ht}).strict();function j(t,r,i=[]){let n=new Set;t.forEach((a,s)=>{n.has(a.id)&&r.addIssue({code:"custom",message:`Duplicate id "${a.id}"`,path:[...i,s,"id"]}),n.add(a.id);});}a(j,"addDuplicateIdIssues");function Pe(t,r,i=[]){let n=new Set;t.forEach((a,s)=>{n.has(a.name)&&r.addIssue({code:"custom",message:`Duplicate name "${a.name}"`,path:[...i,s,"name"]}),n.add(a.name);});}a(Pe,"addDuplicateNameIssues");var ke=z.object({id:z.string(),label:z.string(),description:z.string().optional(),attributes:Ae,displayTemplate:z.string().optional()}).strict(),Be={span:z.union([z.literal(1),z.literal(2),z.literal(3),z.literal(4),z.literal(5),z.literal(6),z.literal(7),z.literal(8),z.literal(9),z.literal(10),z.literal(11),z.literal(12)]).optional(),label:z.string().optional(),readOnly:z.boolean().optional()},gt={attribute:z.string().optional(),attributeGroup:ke.optional(),...Be};function Tt(t,r){t.attribute===void 0==(t.attributeGroup===void 0)&&r.addIssue({code:"custom",message:"A field must define exactly one of attribute or attributeGroup"});}a(Tt,"refineField");var Le=z.object({id:z.string().optional(),...gt}).strict().superRefine(Tt),Ao=z.object({id:z.string().min(1),...gt}).strict().superRefine(Tt),je={id:z.string(),label:z.string(),description:z.string().optional(),collapsible:z.boolean().optional(),collapsed:z.boolean().optional(),order:z.number().optional()},Ne=z.object({...je,type:z.literal("fields"),fields:z.array(Le).max(a$1.fieldsPerGroup)}).strict(),Me=Ne,b={id:z.string(),name:z.string(),label:z.string(),icon:c.optional(),order:z.number().optional()},St=z.array(Me).max(a$1.groupsPerFormTab),At={...b,type:z.literal("form"),groups:St,formColumns:z.union([z.literal(1),z.literal(2),z.literal(3)]).optional(),density:z.enum(["compact","comfortable","spacious"]).optional()},Ue=z.object(At).strict();function Et(t,r){j(t.groups,r,["groups"]),t.groups.reduce((a,s)=>a+(s.type==="fields"?s.fields.length:0),0)>a$1.fieldsPerFormTab&&r.addIssue({code:"too_big",origin:"array",maximum:a$1.fieldsPerFormTab,inclusive:true,message:`A form tab can contain at most ${a$1.fieldsPerFormTab} fields`,path:["groups"]});let n=new Set;t.groups.forEach((a,s)=>{a.type==="fields"&&a.fields.forEach((l,u)=>{if(l.attributeGroup===void 0)return;let{id:c}=l.attributeGroup;n.has(c)&&r.addIssue({code:"custom",message:`Duplicate attribute group id "${c}"`,path:["groups",s,"fields",u,"attributeGroup","id"]}),n.add(c);});});}a(Et,"refineFormTab");var qe=z.object({...At,groups:St.min(1)}).strict().superRefine(Et),$e=Ue.superRefine(Et),xt=z.object({type:z.literal("relation"),attribute:z.string()}).strict(),Rt=z.object({type:z.literal("inverse"),object:z.string(),attribute:z.string()}).strict(),Ot=z.discriminatedUnion("type",[xt,Rt]),ze=z.object({...b,type:z.literal("table"),source:Ot,columns:x,allowCreate:z.boolean().optional(),createMode:yt.optional(),allowEdit:z.boolean().optional(),allowDelete:z.boolean().optional(),filters:De.optional(),sorts:ft.optional()}).strict(),dt=64,mt=1e4;function bt(t){let r=Object.getPrototypeOf(t);return r===Object.prototype||r===null}a(bt,"isPlainJsonObject");function m(t,r,i=[]){t.addIssue({code:"custom",message:r,path:i});}a(m,"addJsonIssue");function Ye(t,r,i,n){for(let a of Reflect.ownKeys(t))if(a!=="length"){if(a==="__proto__"){m(n,"The __proto__ key is not allowed in custom props",[...r.path,a]);continue}(typeof a=="symbol"||!/^(0|[1-9]\d*)$/.test(a))&&m(n,"Arrays cannot contain non-index JSON properties",[...r.path,a]);}for(let a=t.length-1;a>=0;a--){let s=Object.getOwnPropertyDescriptor(t,String(a)),l=[...r.path,a];if(!(s&&"value"in s)){m(n,"Sparse arrays are not valid JSON values",l);continue}i.push({kind:"enter",value:s.value,path:l,depth:r.depth+1});}}a(Ye,"pushJsonArrayChildren");function We(t,r,i,n){let a=Reflect.ownKeys(t);for(let s=a.length-1;s>=0;s--){let l=a[s],u=[...r.path,l];if(l==="__proto__"){m(n,"The __proto__ key is not allowed in custom props",u);continue}if(typeof l=="symbol"){m(n,"Symbol keys are not valid JSON keys",u);continue}let c=Object.getOwnPropertyDescriptor(t,l);if(!(c?.enumerable&&"value"in c)){m(n,"Custom props must contain enumerable data properties only",u);continue}i.push({kind:"enter",value:c.value,path:u,depth:r.depth+1});}}a(We,"pushJsonObjectChildren");function Ge(t,r){if(t===null||typeof t!="object"){m(r,"Expected a plain JSON object");return}try{if(Array.isArray(t)||!bt(t)){m(r,"Expected a plain JSON object");return}}catch{m(r,"Custom props contain an object that cannot be safely inspected");return}let i=new WeakSet,n=[{kind:"enter",value:t,path:[],depth:0}],a=0;for(;n.length>0;){let s=n.pop();if(!s)break;if(s.kind==="exit"){i.delete(s.value);continue}if(a++,a>mt){m(r,`Custom props cannot exceed ${mt.toLocaleString("en-US")} total JSON nodes`,s.path);return}if(s.depth>dt){m(r,`Custom props cannot exceed depth ${dt}`,s.path);continue}let l=s.value;if(!(l===null||typeof l=="string"||typeof l=="boolean"||typeof l=="number"&&Number.isFinite(l))){if(typeof l!="object"){m(r,"Expected a JSON value",s.path);continue}if(i.has(l)){m(r,"Custom props cannot contain circular references",s.path);continue}try{if(Array.isArray(l)){i.add(l),n.push({kind:"exit",value:l}),Ye(l,s,n,r);continue}if(!bt(l)){m(r,"Expected an array or plain JSON object",s.path);continue}i.add(l),n.push({kind:"exit",value:l}),We(l,s,n,r);}catch{m(r,"Custom props contain an object that cannot be safely inspected",s.path);}}}}a(Ge,"validateJsonProps");var Ke=z.unknown().superRefine(Ge).transform(t=>t),Je=z.object({...b,type:z.literal("custom"),component:z.string(),props:Ke.optional()}).strict(),He=z.object({...b,type:z.literal("activity"),limit:z.number().optional()}).strict(),Qe=z.object({...b,type:z.literal("richtext"),attribute:z.string(),titleAttribute:z.string().optional()}).strict(),Xe=z.object({...b,type:z.literal("documents"),allowUpload:z.boolean().optional(),allowRemove:z.boolean().optional(),hideAttachments:z.boolean().optional()}).strict(),Ze=z.object({...b,type:z.literal("forms"),objectName:z.string().optional()}).strict(),tr=z.object({...b,type:z.literal("emails"),emailAttributeIds:z.array(z.string()).max(a$1.emailAttributesPerTab)}).strict(),er=z.object({...b,type:z.literal("meetings"),emailAttributeIds:z.array(z.string()).max(a$1.emailAttributesPerTab)}).strict(),wt=[ze,Je,He,Qe,Xe,Ze,tr,er],Ft=z.discriminatedUnion("type",[qe,...wt]),Eo=z.discriminatedUnion("type",[$e,...wt]),N={id:z.string(),label:z.string(),icon:c.optional(),default:z.boolean().optional(),visibility:z.enum(pt).default("all"),columns:x,descriptionAttribute:z.string().min(1).optional(),displayAttributes:Ee.optional(),filters:_t.optional(),sorts:ft.optional(),readOnly:z.boolean().optional(),createMode:yt.optional()},rr=z.object({...N,layout:z.literal("table"),columnSizing:z.record(z.string(),z.number()).optional(),groupByAttribute:z.string().min(1).optional()}).strict(),or=z.object({...N,layout:z.literal("kanban"),columns:x.default([]),groupByAttribute:z.string(),cardUserAttribute:z.string().optional(),cardDateAttribute:z.string().optional(),kanbanColumnOrder:z.array(z.string()).optional(),kanbanColumnVisibility:z.record(z.string(),z.boolean()).optional(),kanbanPinnedColumns:z.array(z.string()).optional()}).strict(),ir=z.object({...N,layout:z.literal("list"),columns:x.default([]),columnSizing:z.record(z.string(),z.number()).optional(),groupByAttribute:z.string().min(1).optional()}).strict(),Ct=z.discriminatedUnion("layout",[rr,ir,or]),nr=z.object({allowPresentationCustomization:z.boolean().optional(),defaultFilters:_t.optional(),tabs:z.array(Ct).min(1).max(a$1.tabsPerView)}).strict().superRefine((t,r)=>{j(t.tabs,r,["tabs"]);let i=false;t.tabs.forEach((n,a)=>{n.layout!=="kanban"&&n.groupByAttribute!==void 0&&t.allowPresentationCustomization!==true&&r.addIssue({code:"unrecognized_keys",keys:["groupByAttribute"],path:["tabs",a]}),n.default&&(i&&r.addIssue({code:"custom",message:"Only one list tab can be the default",path:["tabs",a,"default"]}),i=true);});}),ar=z.discriminatedUnion("kind",[z.object({kind:z.literal("fields"),id:z.string().optional(),label:z.string().optional(),attributes:z.array(z.string()).max(a$1.sidePanelAttributes)}).strict(),z.object({kind:z.literal("activity"),id:z.string().optional(),label:z.string().optional()}).strict(),z.object({kind:z.literal("documents"),id:z.string(),label:z.string().optional(),allowUpload:z.boolean().optional(),allowRemove:z.boolean().optional()}).strict()]),sr=z.object({tabs:z.array(Ft).min(1).max(a$1.tabsPerView),sidePanel:z.object({attributes:z.array(z.string()).max(a$1.sidePanelAttributes).optional(),panes:z.array(ar).max(a$1.sidePanelPanes).optional(),width:z.number().optional()}).strict().refine(t=>t.attributes!==void 0||t.panes!==void 0,{message:"sidePanel requires attributes or panes"}).refine(t=>t.panes===void 0||t.panes.length>0,{message:"sidePanel panes must not be empty"}).refine(t=>t.attributes===void 0||t.panes===void 0,{message:"sidePanel takes attributes or panes, not both"}).optional()}).strict().superRefine((t,r)=>{j(t.tabs,r,["tabs"]),Pe(t.tabs,r,["tabs"]);}),M=nr,U=sr,xo=z.enum(["list","detail"]);var Vt=z.discriminatedUnion("type",[z.object({type:z.literal("list"),config:M}).strict(),z.object({type:z.literal("detail"),config:U}).strict()]);function lr(t,r){switch(t){case "list":return M.parse(r);case "detail":return U.parse(r);default:return Vt.parse({type:t,config:r}).config}}a(lr,"parseViewConfig");var Ro=["columnSizing"],Oo=["groupByAttribute","cardUserAttribute","cardDateAttribute","kanbanColumnOrder","kanbanColumnVisibility","kanbanPinnedColumns"];export{_t as $,bo as A,A as B,Or as C,wr as D,Fr as E,ot as F,Ir as G,Pr as H,kr as I,Br as J,nt as K,at as L,ce as M,I as N,Wr as O,v as P,Jr as Q,Hr as R,Qr as S,ye as T,B as U,so as V,Te as W,x as X,Ee as Y,ft as Z,De as _,Pt as a,gt as aa,ur as b,Le as ba,kt as c,Ao as ca,cr as d,Me as da,G as e,xt as ea,w as f,Rt as fa,F as g,Ot as ga,br as h,Ft as ha,y as i,Eo as ia,g as j,Ct as ja,X as k,M as ka,yr as l,U as la,fr as m,xo as ma,hr as n,Vt as na,_r as o,lr as oa,gr as p,Ro as pa,C as q,Oo as qa,f as r,ne as s,et as t,Er as u,L as v,pt as w,po as x,Se as y,mo as z};
|
|
2
|
+
var Pt={createdAt:"createdAt",updatedAt:"updatedAt",createdBy:"createdBy",lastUpdatedBy:"lastUpdatedBy",attachments:"attachments"};function ur(t){return Pt[t]}a(ur,"getSystemAttributeI18nKey");var kt={createdAt:{id:"system:createdAt",name:"createdAt",label:"Created time",type:"date",required:false,system:true,icon:"clock-circle",description:"When this record was created"},updatedAt:{id:"system:updatedAt",name:"updatedAt",label:"Last edited time",type:"date",required:false,system:true,icon:"clock-circle",description:"When this record was last modified"},createdBy:{id:"system:createdBy",name:"createdBy",label:"Created by",type:"user",required:false,system:true,multiple:false,icon:"user",description:"Actor who created this record"},lastUpdatedBy:{id:"system:lastUpdatedBy",name:"lastUpdatedBy",label:"Last edited by",type:"user",required:false,system:true,multiple:false,icon:"user",description:"Actor who last modified this record"},attachments:{id:"system:attachments",name:"attachments",label:"Attachments",type:"document",required:false,system:true,hidden:true,icon:"paperclip",description:"Free-form document attachments"}};function cr(){return Object.values(kt)}a(cr,"getSystemAttributeList");function G(t){return t.id?.startsWith("system:")??false}a(G,"isManagedSystemAttribute");var Q=["is","is_not","contains","not_contains","starts_with","ends_with","is_empty","is_not_empty"],K=["is","is_not","less_than","greater_than","less_or_equal","greater_or_equal","is_empty","is_not_empty"],Bt=["is"],Lt=["is","is_not","less_than","greater_than","less_or_equal","greater_or_equal","is_within","on_day_month","is_empty","is_not_empty"],J=["is","is_not","any_of","none_of","is_empty","is_not_empty"],jt=["any_of","none_of","is_empty","is_not_empty"],H=["is","is_not","any_of","none_of","is_empty","is_not_empty"],Nt=["is_empty","is_not_empty"],Mt=["is","is_not","less_than","greater_than","less_or_equal","greater_or_equal","contains","not_contains","is_empty","is_not_empty"],w=["city","postalCode","country"];function F(t){return w.includes(t)}a(F,"isLocationFilterProperty");function br(t){return Q.includes(t)}a(br,"isLocationPartOperator");var y={text:Q,richtext:[],number:K,checkbox:Bt,date:Lt,phone:["is","is_not","contains","not_contains","starts_with","is_empty","is_not_empty"],currency:K,status:J,select:J,multiselect:jt,location:[],user:H,relation:H,formula:Mt,document:Nt},Ut=new Set(["formula","rollup"]),qt=new Set(["user","relation","document"]),$t=new Set(["text","richtext","number","select","multiselect","status","date","phone","currency","location","user","relation","document"]),zt=new Set(["text","number","date","phone","currency","select","multiselect"]),Yt=new Set(["text","phone","status","select","multiselect"]),Wt=new Set(["text","number","checkbox","date","phone","currency","status","select"]);function g(t){let r=!!(t.hidden||t.archived),i=!t.archived,n=Ut.has(t.type),a=t.type==="document",s=qt.has(t.type),l=Kt(t),u=r?[]:Gt(t),c=u.length>0&&!r,h=!r&&Yt.has(t.type),_=!r&&Wt.has(t.type),T=!r&&oe(t.type),R=!r&&t.type==="status",It=G(t),q=n||a||It,O=!(r||q),vt=Xt(t.type)?"forbidden":"allowed",Dt=Zt(t.type),$=Ht(t),z=zt.has(t.type),Y=!!(t.deprecated&&!r),W=re(t);return {lifecycle:{active:i,deprecated:!!t.deprecated,visibleInArchitect:true,visibleInRuntime:!r,warningWhenDeprecated:Y},storage:{mode:n?"computed":s?"edge":"value",cardinality:l,edgeBacked:s,preservesExistingValues:!!t.archived,qualifiedProperties:Qt(t.type),polymorphic:Jt(t),maxItems:$},authoring:{editable:O,readOnly:q,directEdit:O&&W==="inline",required:vt,defaultValue:Dt,placeholder:z,maxItems:$},presentation:{formField:!r&&ee(t.type),tableCell:!r&&Z(t.type),defaultColumn:!r&&te(t.type),compactDisplay:!r,popoverEditor:!r&&W==="popover",placeholder:z,warningWhenDeprecated:Y},query:{filterable:c,searchable:h,sortable:_,groupable:T,kanbanGroupable:R,operators:u},agent:{readable:!r,writable:O&&!a,compactReadable:!r,contentReadable:!r&&ie(t.type),requiresDedicatedTool:a},exchange:{importable:!r,exportable:!r,schemaExportable:true,metadataExportable:false}}}a(g,"getAttributeCapabilities");function X(t){return g(t).query.operators}a(X,"getAttributeFilterOperators");function yr(t){return g(t).query.filterable}a(yr,"isAttributeFilterable");function fr(t){return g(t).query.searchable}a(fr,"isAttributeSearchable");function hr(t){return g(t).query.sortable}a(hr,"isAttributeSortable");function _r(t){return g(t).query.groupable}a(_r,"isAttributeGroupable");function gr(t){return g(t).query.kanbanGroupable}a(gr,"isAttributeKanbanGroupable");function C(t){if(t.type!=="rollup")return t.type;let r=t;if(r.function==="earliest"||r.function==="latest")return "date";if(r.function==="original"){let i=r.targetAttributeType;if(i&&tt(i))return i}return "number"}a(C,"resolveEffectiveFilterType");function V(t){let r=C(t);return tt(r)?y[r]:y.number}a(V,"getRollupFilterOperators");function Gt(t){return t.type==="rollup"?V(t):y[t.type]??[]}a(Gt,"getRawFilterOperators");function Kt(t){return t.type==="multiselect"||t.type==="document"||t.type==="user"&&t.multiple===true||t.type==="relation"&&t.cardinality==="many"?"many":"one"}a(Kt,"getAttributeCardinality");function Jt(t){if(t.type!=="relation")return "none";let i=t.targets??[];return i.length===1&&i[0]?.object==="*"?"internal":i.length>1?"code-only":"none"}a(Jt,"getPolymorphicCapability");function Ht(t){return t.type==="multiselect"?true:t.type==="relation"?t.cardinality==="many":false}a(Ht,"supportsMaxItems");function Qt(t){return t==="relation"||t==="document"}a(Qt,"supportsQualifiedProperties");function Xt(t){return t==="checkbox"||t==="formula"||t==="rollup"}a(Xt,"isRequiredForbidden");function Zt(t){return t==="checkbox"?"automatic":t==="formula"||t==="rollup"?"forbidden":$t.has(t)?"static":"forbidden"}a(Zt,"getDefaultValueCapability");function te(t){return Z(t)}a(te,"isDefaultColumnType");function Z(t){return t!=="richtext"&&t!=="document"}a(Z,"isTableCellType");function ee(t){return t!=="richtext"}a(ee,"isFormFieldType");function re(t){switch(t.type){case "checkbox":return "inline";case "number":return t.renderAs==="rating"?"inline":"default";case "select":case "multiselect":return t.renderAs==="badges"?"inline":"popover";case "status":case "relation":case "user":case "date":return "popover";default:return "default"}}a(re,"resolveEditMode");function oe(t){return t==="status"||t==="currency"}a(oe,"isGroupableType");function ie(t){return t==="richtext"||t==="document"}a(ie,"isContentReadableType");function tt(t){return Object.prototype.hasOwnProperty.call(y,t)}a(tt,"hasFilterOperatorEntry");var f=y,ne=["is_empty","is_not_empty"];function et(t){return ne.includes(t)}a(et,"isNoValueOperator");function Er(t){return V(t)}a(Er,"getRollupFilterOperators");function A(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)&&"dynamic"in t}a(A,"isDynamicValue");function Or(){return {dynamic:"actor",ref:"current"}}a(Or,"currentActor");function wr(){return {dynamic:"date",anchor:"today"}}a(wr,"today");function Fr(){return {dynamic:"date",anchor:"now"}}a(Fr,"now");function rt(t){if(typeof t=="number")return Number.isFinite(t)?t:null;if(typeof t=="string"&&t.trim()!==""){let r=Number(t);return Number.isFinite(r)?r:null}return null}a(rt,"toAmount");function ot(t){return t!==null&&typeof t=="object"?"value"in t?rt(t.value):null:rt(t)}a(ot,"extractCurrencyFilterValue");function Ir(t){return t==null?null:typeof t=="object"&&"value"in t?t.value??null:t}a(Ir,"extractFilterValue");var ae=new Set(["is_not","not_contains","none_of","is_empty"]),se={is_not:"is",not_contains:"contains",none_of:"any_of",is_empty:"is_not_empty"};function Pr(t){return ae.has(t)?"none":"any"}a(Pr,"getOperatorPolarity");function kr(t){return se[t]??t}a(kr,"normalizeForEdgeRpc");var it={is:"any_of",is_not:"none_of"};function Br(t){return it[t]??t}a(Br,"toMultiValueOperator");var le=new Set(Object.values(it).filter(t=>t!==void 0));function nt(t){return le.has(t)}a(nt,"isSetMembershipOperator");function at(t,r){let i=t.value;if(et(t.operator)||i==null||A(i))return;if(nt(t.operator)){Array.isArray(i)||(t.value=[i]);return}if(r!=="currency")return;let n=ot(i);if(n!==null){t.value=n;return}if(!ue(i))return;let a=`Filter on a currency attribute expected a numeric amount, received ${JSON.stringify(i)}`;throw new h(a,[{path:["value"],message:a}])}a(at,"canonicalizeFilterValue");function ue(t){return typeof t!="object"?true:"value"in t?t.value!=null:false}a(ue,"hasCurrencyAmount");var ce={eq:"is",equals:"is",equal:"is","==":"is","=":"is",neq:"is_not",notEqual:"is_not",isNot:"is_not","!=":"is_not","<>":"is_not",lt:"less_than","<":"less_than",gt:"greater_than",">":"greater_than",lte:"less_or_equal","<=":"less_or_equal",gte:"greater_or_equal",">=":"greater_or_equal",in:"any_of",isAnyOf:"any_of",anyOf:"any_of",oneOf:"any_of",notIn:"none_of",not_in:"none_of",isNoneOf:"none_of",noneOf:"none_of",notOneOf:"none_of",startsWith:"starts_with",beginsWith:"starts_with",endsWith:"ends_with",doesNotContain:"not_contains",notContain:"not_contains",isEmpty:"is_empty",isNotEmpty:"is_not_empty"};function I(t){return ce[t]??t}a(I,"normalizeOperator");function Wr(t){let r=I(t.operator);return r===t.operator?t:{...t,operator:r}}a(Wr,"normalizeFilterRule");var pe=new Set(["days","weeks","months","years"]),de=new Set(["past","future"]);function v(t){if(typeof t!="object"||t===null)return false;let r=t;return typeof r.amount=="number"&&Number.isFinite(r.amount)&&r.amount>0&&typeof r.unit=="string"&&pe.has(r.unit)&&typeof r.direction=="string"&&de.has(r.direction)}a(v,"isRelativeDateValue");function lt(t){return Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate())}a(lt,"utcDayStart");function st(t,r,i){if(i==="days")return t+r*864e5;if(i==="weeks")return t+r*7*864e5;let n=new Date(t),a=n.getUTCFullYear()+(i==="years"?r:0),s=n.getUTCMonth()+(i==="months"?r:0),l=new Date(Date.UTC(a,s+1,0)).getUTCDate();return Date.UTC(a,s,Math.min(n.getUTCDate(),l))}a(st,"shiftUtcDay");function Jr(t,r=new Date){if(!v(t))return null;let i=lt(r),n=Math.trunc(t.amount),a=t.direction==="past"?{startMs:st(i,-n,t.unit),endMs:i+864e5}:{startMs:i,endMs:st(i,n,t.unit)+864e5};return Number.isFinite(a.startMs)&&Number.isFinite(a.endMs)?a:null}a(Jr,"resolveIsWithinBounds");function Hr(t){if(!Number.isFinite(t))return null;let r=lt(new Date(t));return Number.isFinite(r)?{startMs:r,endMs:r+864e5}:null}a(Hr,"resolveUtcDayBounds");function Qr(t){return new Date(t).toISOString().slice(0,10)}a(Qr,"toUtcDayString");var me=new Set(["relation","document","user"]),D=["is","is_not","any_of","none_of","is_empty","is_not_empty"],be={id:D,objectId:D,tenantId:D,label:f.text,createdAt:f.date,updatedAt:f.date,deletedAt:f.date,createdBy:f.user,lastUpdatedBy:f.user},ye={id:"text",objectId:"text",objectName:"text",tenantId:"text",label:"text",createdAt:"date",updatedAt:"date",deletedAt:"date",deletedBy:"user",createdBy:"user",lastUpdatedBy:"user",visibility:"select",ownedBy:"user"},B={before:'"less_than"',after:'"greater_than"',on_or_before:'"less_or_equal"',on_or_after:'"greater_or_equal"',is_checked:'"is" with value true',is_not_checked:'"is" with value false',day_month_eq:'"on_day_month"'},fe=new Set(Object.entries(y).filter(([,t])=>t.includes("any_of")&&!t.includes("contains")).map(([t])=>t)),he={contains:"any_of",not_contains:"none_of"};function P(t,r){let i=B[t];if(i){let s=`Unknown filter operator "${t}" \u2014 use ${i}`;throw new h(s,[{path:["operator"],message:s}])}let n=I(t),a=he[n];if(a&&fe.has(r)){let s=`Operator "${n}" is not valid for type "${r}" \u2014 use "${a}"`;throw new h(s,[{path:["operator"],message:s}])}return n}a(P,"resolveCanonicalOperator");function ut(t,r,i){let n=P(t,r),a=f[r];if(!a?.includes(n)){let s=a?.length?a.join(", "):"(no operators registered for this type)",l=`Operator "${t}" is not valid for ${i} type "${r}". Valid operators: ${s}.`;throw new h(l,[{path:["operator"],message:l}])}return n}a(ut,"assertOperatorForType");function _e(t){if(t.operator==="is_within"&&!v(t.value)){let r='Operator "is_within" requires a relative-date value { amount: positive number, unit: days|weeks|months|years, direction: past|future }';throw new h(r,[{path:["value"],message:r}])}}a(_e,"assertRelativeDateValue");function E(t,r,i){t.operator=r,at(t,i),_e(t);}a(E,"applyCanonicalForm");function ct(t,r){if(!A(t.value))return;let i=t.value;if(i.dynamic==="actor"&&r!=="user"){let n=`actor token (@me) is only valid on user attributes, not "${r}"`;throw new h(n,[{path:["value"],message:n}])}if(i.dynamic==="date"&&r!=="date"){let n=`date token (@today/@now) is only valid on date attributes, not "${r}"`;throw new h(n,[{path:["value"],message:n}])}}a(ct,"assertDynamicValueForAttribute");var k=w.map(t=>`"${t}"`).join(", ");function ge(t){return t==="location"?` A location is filtered on one of its parts: set "property" to one of ${k} and use a text operator (e.g. contains).`:""}a(ge,"locationPartsHint");function so(t,r){try{return Te({...t},r),[]}catch(i){if(!(i instanceof h))throw i;return i.errors.map(n=>({...n,path:[...n.path]}))}}a(so,"collectQualifiedRuleIssues");function Te(t,r){let i=r.attributes.find(u=>u.name===t.attribute),n=be[t.attribute];if(!(i||n)){let[u,...c]=t.attribute.split("."),_=(c.length>0?r.attributes.find(R=>R.name===u):void 0)?.type==="location"?` Dotted paths are not supported \u2014 set "attribute" to "${u}" and "property" to ${F(c[0]??"")?`"${c[0]}"`:`one of ${k}`}.`:t.attribute.includes(".")?' Dotted paths are not supported \u2014 filter on the attribute name alone, or use the full-text "query" parameter to match text inside a value.':"",T=`Unknown attribute: ${t.attribute}${_}`;throw new h(T,[{path:["attribute"],message:T}])}if(t.quantifier!==void 0&&!t.property){let u='quantifier is only valid on qualified edge rules (set "property")';throw new h(u,[{path:["quantifier"],message:u}])}if(!i){if(t.property)throw new h(`Cannot qualify system attribute "${t.attribute}"`,[{path:["property"],message:`"${t.attribute}" is a system column, not a reference`}]);let u=ye[t.attribute]??"text",c=P(t.operator,u);if(!n.includes(c)){let h$1=`Operator "${t.operator}" is not valid for system attribute "${t.attribute}". Valid operators: ${n.join(", ")}.`;throw new h(h$1,[{path:["operator"],message:h$1}])}E(t,c,u);return}if(!t.property){ct(t,i.type);let u=X(i),c=P(t.operator,i.type);if(!u.includes(c)){let h$1=u.length?u.join(", "):"(not filterable)",_=`Operator "${t.operator}" is not valid for attribute "${i.name}". Valid operators: ${h$1}.${ge(i.type)}`;throw new h(_,[{path:["operator"],message:_}])}E(t,c,C(i));return}if(i.type==="location"){if(t.quantifier!==void 0){let c="quantifier is not valid on a location part \u2014 a location is one value, not a set of edges";throw new h(c,[{path:["quantifier"],message:c}])}if(!F(t.property)){let c=`Property "${t.property}" is not a part of location "${t.attribute}". Valid parts: ${k}.`;throw new h(c,[{path:["property"],message:c}])}ct(t,"text");let u=ut(t.operator,"text","property");E(t,u,"text");return}if(!me.has(i.type))throw new h(`Cannot qualify ${i.type} attribute "${t.attribute}"`,[{path:["property"],message:`Attribute "${t.attribute}" is not a reference type`}]);let a=i.properties;if(!a)throw new h(`Attribute "${t.attribute}" has no qualifyWith schema`,[{path:["property"],message:`"${t.attribute}" has no qualifyWith`}]);let s=a.definitions.find(u=>u.name===t.property);if(!s)throw new h(`Property "${t.property}" not defined on "${t.attribute}".qualifyWith()`,[{path:["property"],message:`Unknown property: ${t.property}`}]);let l=ut(t.operator,s.type,"property");E(t,l,s.type);}a(Te,"validateQualifiedRule");var L=["workspace","private"],pt=["all",...L];function po(t){if(typeof t=="string"&&L.includes(t))return t;throw new h(`visibility must be one of: ${L.join(", ")} (received: ${String(t)})`,[])}a(po,"parseResourceVisibility");var Se=["id","createdAt","updatedAt","createdBy","lastUpdatedBy","visibility","ownedBy"],mo=[...Se,"objectId","label","embeddingText","values","metadata","deletedAt","deletedBy","schemaVersion","owned_by"],bo=["skill"];var yt=z.enum(["redirect","inline","peek"]),Ae=z.array(z.string()).min(1),x=z.array(z.string()).max(a$1.columnsPerTab),Ee=z.array(z.string().min(1)).max(a$1.columnsPerTab).refine(t=>new Set(t).size===t.length,{message:"Displayed attribute names must be unique"}),xe=z.object({attribute:z.string(),direction:z.enum(["asc","desc"])}).strict(),ft=z.array(xe).max(a$1.sortsPerTab),Re=z.object({amount:z.number(),unit:z.enum(["days","weeks","months","years"]),direction:z.enum(["past","future"])}).strict(),Oe=z.object({value:z.number().nullable(),code:z.array(z.string()).optional()}).strict(),we=z.object({phoneNumber:z.string().nullable(),countryCode:z.string().optional()}).strict(),Fe=z.discriminatedUnion("dynamic",[z.object({dynamic:z.literal("actor"),ref:z.literal("current")}).strict(),z.object({dynamic:z.literal("date"),anchor:z.enum(["today","now"])}).strict()]),Ce=z.object({month:z.number(),day:z.number()}).strict(),Ve=z.union([z.string(),z.number(),z.boolean(),z.array(z.string()),Re,Oe,we,Ce,Fe,z.null()]),Ie=z.enum(["is","is_not","contains","not_contains","starts_with","ends_with","is_empty","is_not_empty","less_than","greater_than","less_or_equal","greater_or_equal","is_within","on_day_month","any_of","none_of"],{error:a(t=>{let r=t.input,i=typeof r=="string"?B[r]:void 0;return i?`Unknown filter operator "${r}" \u2014 use ${i}`:void 0},"error")}),ve=z.object({attribute:z.string(),property:z.string().optional(),quantifier:z.enum(["any","none"]).optional(),operator:Ie,value:Ve}).strict(),ht=z.array(ve).max(a$1.filterRulesPerTab),De=z.object({combinator:z.enum(["and","or"]),rules:ht}).strict(),_t=z.object({id:z.string(),combinator:z.enum(["and","or"]),rules:ht}).strict();function j(t,r,i=[]){let n=new Set;t.forEach((a,s)=>{n.has(a.id)&&r.addIssue({code:"custom",message:`Duplicate id "${a.id}"`,path:[...i,s,"id"]}),n.add(a.id);});}a(j,"addDuplicateIdIssues");function Pe(t,r,i=[]){let n=new Set;t.forEach((a,s)=>{n.has(a.name)&&r.addIssue({code:"custom",message:`Duplicate name "${a.name}"`,path:[...i,s,"name"]}),n.add(a.name);});}a(Pe,"addDuplicateNameIssues");var ke=z.object({id:z.string(),label:z.string(),description:z.string().optional(),attributes:Ae,displayTemplate:z.string().optional()}).strict(),Be={span:z.union([z.literal(1),z.literal(2),z.literal(3),z.literal(4),z.literal(5),z.literal(6),z.literal(7),z.literal(8),z.literal(9),z.literal(10),z.literal(11),z.literal(12)]).optional(),label:z.string().optional(),readOnly:z.boolean().optional()},gt={attribute:z.string().optional(),attributeGroup:ke.optional(),...Be};function Tt(t,r){t.attribute===void 0==(t.attributeGroup===void 0)&&r.addIssue({code:"custom",message:"A field must define exactly one of attribute or attributeGroup"});}a(Tt,"refineField");var Le=z.object({id:z.string().optional(),...gt}).strict().superRefine(Tt),Ao=z.object({id:z.string().min(1),...gt}).strict().superRefine(Tt),je={id:z.string(),label:z.string(),description:z.string().optional(),collapsible:z.boolean().optional(),collapsed:z.boolean().optional(),order:z.number().optional()},Ne=z.object({...je,type:z.literal("fields"),fields:z.array(Le).max(a$1.fieldsPerGroup)}).strict(),Me=Ne,b={id:z.string(),name:z.string(),label:z.string(),icon:c.optional(),order:z.number().optional()},St=z.array(Me).max(a$1.groupsPerFormTab),At={...b,type:z.literal("form"),groups:St,formColumns:z.union([z.literal(1),z.literal(2),z.literal(3)]).optional(),density:z.enum(["compact","comfortable","spacious"]).optional()},Ue=z.object(At).strict();function Et(t,r){j(t.groups,r,["groups"]),t.groups.reduce((a,s)=>a+(s.type==="fields"?s.fields.length:0),0)>a$1.fieldsPerFormTab&&r.addIssue({code:"too_big",origin:"array",maximum:a$1.fieldsPerFormTab,inclusive:true,message:`A form tab can contain at most ${a$1.fieldsPerFormTab} fields`,path:["groups"]});let n=new Set;t.groups.forEach((a,s)=>{a.type==="fields"&&a.fields.forEach((l,u)=>{if(l.attributeGroup===void 0)return;let{id:c}=l.attributeGroup;n.has(c)&&r.addIssue({code:"custom",message:`Duplicate attribute group id "${c}"`,path:["groups",s,"fields",u,"attributeGroup","id"]}),n.add(c);});});}a(Et,"refineFormTab");var qe=z.object({...At,groups:St.min(1)}).strict().superRefine(Et),$e=Ue.superRefine(Et),xt=z.object({type:z.literal("relation"),attribute:z.string()}).strict(),Rt=z.object({type:z.literal("inverse"),object:z.string(),attribute:z.string()}).strict(),Ot=z.discriminatedUnion("type",[xt,Rt]),ze=z.object({...b,type:z.literal("table"),source:Ot,columns:x,allowCreate:z.boolean().optional(),createMode:yt.optional(),allowEdit:z.boolean().optional(),allowDelete:z.boolean().optional(),filters:De.optional(),sorts:ft.optional()}).strict(),dt=64,mt=1e4;function bt(t){let r=Object.getPrototypeOf(t);return r===Object.prototype||r===null}a(bt,"isPlainJsonObject");function m(t,r,i=[]){t.addIssue({code:"custom",message:r,path:i});}a(m,"addJsonIssue");function Ye(t,r,i,n){for(let a of Reflect.ownKeys(t))if(a!=="length"){if(a==="__proto__"){m(n,"The __proto__ key is not allowed in custom props",[...r.path,a]);continue}(typeof a=="symbol"||!/^(0|[1-9]\d*)$/.test(a))&&m(n,"Arrays cannot contain non-index JSON properties",[...r.path,a]);}for(let a=t.length-1;a>=0;a--){let s=Object.getOwnPropertyDescriptor(t,String(a)),l=[...r.path,a];if(!(s&&"value"in s)){m(n,"Sparse arrays are not valid JSON values",l);continue}i.push({kind:"enter",value:s.value,path:l,depth:r.depth+1});}}a(Ye,"pushJsonArrayChildren");function We(t,r,i,n){let a=Reflect.ownKeys(t);for(let s=a.length-1;s>=0;s--){let l=a[s],u=[...r.path,l];if(l==="__proto__"){m(n,"The __proto__ key is not allowed in custom props",u);continue}if(typeof l=="symbol"){m(n,"Symbol keys are not valid JSON keys",u);continue}let c=Object.getOwnPropertyDescriptor(t,l);if(!(c?.enumerable&&"value"in c)){m(n,"Custom props must contain enumerable data properties only",u);continue}i.push({kind:"enter",value:c.value,path:u,depth:r.depth+1});}}a(We,"pushJsonObjectChildren");function Ge(t,r){if(t===null||typeof t!="object"){m(r,"Expected a plain JSON object");return}try{if(Array.isArray(t)||!bt(t)){m(r,"Expected a plain JSON object");return}}catch{m(r,"Custom props contain an object that cannot be safely inspected");return}let i=new WeakSet,n=[{kind:"enter",value:t,path:[],depth:0}],a=0;for(;n.length>0;){let s=n.pop();if(!s)break;if(s.kind==="exit"){i.delete(s.value);continue}if(a++,a>mt){m(r,`Custom props cannot exceed ${mt.toLocaleString("en-US")} total JSON nodes`,s.path);return}if(s.depth>dt){m(r,`Custom props cannot exceed depth ${dt}`,s.path);continue}let l=s.value;if(!(l===null||typeof l=="string"||typeof l=="boolean"||typeof l=="number"&&Number.isFinite(l))){if(typeof l!="object"){m(r,"Expected a JSON value",s.path);continue}if(i.has(l)){m(r,"Custom props cannot contain circular references",s.path);continue}try{if(Array.isArray(l)){i.add(l),n.push({kind:"exit",value:l}),Ye(l,s,n,r);continue}if(!bt(l)){m(r,"Expected an array or plain JSON object",s.path);continue}i.add(l),n.push({kind:"exit",value:l}),We(l,s,n,r);}catch{m(r,"Custom props contain an object that cannot be safely inspected",s.path);}}}}a(Ge,"validateJsonProps");var Ke=z.unknown().superRefine(Ge).transform(t=>t),Je=z.object({...b,type:z.literal("custom"),component:z.string(),props:Ke.optional()}).strict(),He=z.object({...b,type:z.literal("activity"),limit:z.number().optional()}).strict(),Qe=z.object({...b,type:z.literal("richtext"),attribute:z.string(),titleAttribute:z.string().optional()}).strict(),Xe=z.object({...b,type:z.literal("documents"),allowUpload:z.boolean().optional(),allowRemove:z.boolean().optional(),hideAttachments:z.boolean().optional()}).strict(),Ze=z.object({...b,type:z.literal("forms"),objectName:z.string().optional()}).strict(),tr=z.object({...b,type:z.literal("emails"),emailAttributeIds:z.array(z.string()).max(a$1.emailAttributesPerTab)}).strict(),er=z.object({...b,type:z.literal("meetings"),emailAttributeIds:z.array(z.string()).max(a$1.emailAttributesPerTab)}).strict(),wt=[ze,Je,He,Qe,Xe,Ze,tr,er],Ft=z.discriminatedUnion("type",[qe,...wt]),Eo=z.discriminatedUnion("type",[$e,...wt]),N={id:z.string(),label:z.string(),icon:c.optional(),default:z.boolean().optional(),visibility:z.enum(pt).default("all"),columns:x,descriptionAttribute:z.string().min(1).optional(),displayAttributes:Ee.optional(),filters:_t.optional(),sorts:ft.optional(),readOnly:z.boolean().optional(),createMode:yt.optional()},rr=z.object({...N,layout:z.literal("table"),columnSizing:z.record(z.string(),z.number()).optional(),groupByAttribute:z.string().min(1).optional()}).strict(),or=z.object({...N,layout:z.literal("kanban"),columns:x.default([]),groupByAttribute:z.string(),cardUserAttribute:z.string().optional(),cardDateAttribute:z.string().optional(),kanbanColumnOrder:z.array(z.string()).optional(),kanbanColumnVisibility:z.record(z.string(),z.boolean()).optional(),kanbanPinnedColumns:z.array(z.string()).optional()}).strict(),ir=z.object({...N,layout:z.literal("list"),columns:x.default([]),columnSizing:z.record(z.string(),z.number()).optional(),groupByAttribute:z.string().min(1).optional()}).strict(),Ct=z.discriminatedUnion("layout",[rr,ir,or]),nr=z.object({allowPresentationCustomization:z.boolean().optional(),defaultFilters:_t.optional(),tabs:z.array(Ct).min(1).max(a$1.tabsPerView)}).strict().superRefine((t,r)=>{j(t.tabs,r,["tabs"]);let i=false;t.tabs.forEach((n,a)=>{n.layout!=="kanban"&&n.groupByAttribute!==void 0&&t.allowPresentationCustomization!==true&&r.addIssue({code:"unrecognized_keys",keys:["groupByAttribute"],path:["tabs",a]}),n.default&&(i&&r.addIssue({code:"custom",message:"Only one list tab can be the default",path:["tabs",a,"default"]}),i=true);});}),ar=z.discriminatedUnion("kind",[z.object({kind:z.literal("fields"),id:z.string().optional(),label:z.string().optional(),attributes:z.array(z.string()).max(a$1.sidePanelAttributes)}).strict(),z.object({kind:z.literal("activity"),id:z.string().optional(),label:z.string().optional()}).strict(),z.object({kind:z.literal("documents"),id:z.string(),label:z.string().optional(),allowUpload:z.boolean().optional(),allowRemove:z.boolean().optional()}).strict()]),sr=z.object({tabs:z.array(Ft).min(1).max(a$1.tabsPerView),readOnly:z.boolean().optional(),sidePanel:z.object({attributes:z.array(z.string()).max(a$1.sidePanelAttributes).optional(),panes:z.array(ar).max(a$1.sidePanelPanes).optional(),width:z.number().optional()}).strict().refine(t=>t.attributes!==void 0||t.panes!==void 0,{message:"sidePanel requires attributes or panes"}).refine(t=>t.panes===void 0||t.panes.length>0,{message:"sidePanel panes must not be empty"}).refine(t=>t.attributes===void 0||t.panes===void 0,{message:"sidePanel takes attributes or panes, not both"}).optional()}).strict().superRefine((t,r)=>{j(t.tabs,r,["tabs"]),Pe(t.tabs,r,["tabs"]);}),M=nr,U=sr,xo=z.enum(["list","detail"]);var Vt=z.discriminatedUnion("type",[z.object({type:z.literal("list"),config:M}).strict(),z.object({type:z.literal("detail"),config:U}).strict()]);function lr(t,r){switch(t){case "list":return M.parse(r);case "detail":return U.parse(r);default:return Vt.parse({type:t,config:r}).config}}a(lr,"parseViewConfig");var Ro=["columnSizing"],Oo=["groupByAttribute","cardUserAttribute","cardDateAttribute","kanbanColumnOrder","kanbanColumnVisibility","kanbanPinnedColumns"];export{_t as $,bo as A,A as B,Or as C,wr as D,Fr as E,ot as F,Ir as G,Pr as H,kr as I,Br as J,nt as K,at as L,ce as M,I as N,Wr as O,v as P,Jr as Q,Hr as R,Qr as S,ye as T,B as U,so as V,Te as W,x as X,Ee as Y,ft as Z,De as _,Pt as a,gt as aa,ur as b,Le as ba,kt as c,Ao as ca,cr as d,Me as da,G as e,xt as ea,w as f,Rt as fa,F as g,Ot as ga,br as h,Ft as ha,y as i,Eo as ia,g as j,Ct as ja,X as k,M as ka,yr as l,U as la,fr as m,xo as ma,hr as n,Vt as na,_r as o,lr as oa,gr as p,Ro as pa,C as q,Oo as qa,f as r,ne as s,et as t,Er as u,L as v,pt as w,po as x,Se as y,mo as z};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
'use strict';var chunk47EGJRW7_js=require('./chunk-47EGJRW7.js'),chunk72TQRSNX_js=require('./chunk-72TQRSNX.js'),chunkDPD6ZWL2_js=require('./chunk-DPD6ZWL2.js'),zod=require('zod');/*! © 2025-2026 AND YOU CREATE SAS (RCS Paris 940 190 614). Proprietary — see LICENSE (Standards SDK License 1.0). */
|
|
2
|
-
var Pt={createdAt:"createdAt",updatedAt:"updatedAt",createdBy:"createdBy",lastUpdatedBy:"lastUpdatedBy",attachments:"attachments"};function ur(t){return Pt[t]}chunkDPD6ZWL2_js.a(ur,"getSystemAttributeI18nKey");var kt={createdAt:{id:"system:createdAt",name:"createdAt",label:"Created time",type:"date",required:false,system:true,icon:"clock-circle",description:"When this record was created"},updatedAt:{id:"system:updatedAt",name:"updatedAt",label:"Last edited time",type:"date",required:false,system:true,icon:"clock-circle",description:"When this record was last modified"},createdBy:{id:"system:createdBy",name:"createdBy",label:"Created by",type:"user",required:false,system:true,multiple:false,icon:"user",description:"Actor who created this record"},lastUpdatedBy:{id:"system:lastUpdatedBy",name:"lastUpdatedBy",label:"Last edited by",type:"user",required:false,system:true,multiple:false,icon:"user",description:"Actor who last modified this record"},attachments:{id:"system:attachments",name:"attachments",label:"Attachments",type:"document",required:false,system:true,hidden:true,icon:"paperclip",description:"Free-form document attachments"}};function cr(){return Object.values(kt)}chunkDPD6ZWL2_js.a(cr,"getSystemAttributeList");function G(t){return t.id?.startsWith("system:")??false}chunkDPD6ZWL2_js.a(G,"isManagedSystemAttribute");var Q=["is","is_not","contains","not_contains","starts_with","ends_with","is_empty","is_not_empty"],K=["is","is_not","less_than","greater_than","less_or_equal","greater_or_equal","is_empty","is_not_empty"],Bt=["is"],Lt=["is","is_not","less_than","greater_than","less_or_equal","greater_or_equal","is_within","on_day_month","is_empty","is_not_empty"],J=["is","is_not","any_of","none_of","is_empty","is_not_empty"],jt=["any_of","none_of","is_empty","is_not_empty"],H=["is","is_not","any_of","none_of","is_empty","is_not_empty"],Nt=["is_empty","is_not_empty"],Mt=["is","is_not","less_than","greater_than","less_or_equal","greater_or_equal","contains","not_contains","is_empty","is_not_empty"],w=["city","postalCode","country"];function F(t){return w.includes(t)}chunkDPD6ZWL2_js.a(F,"isLocationFilterProperty");function br(t){return Q.includes(t)}chunkDPD6ZWL2_js.a(br,"isLocationPartOperator");var y={text:Q,richtext:[],number:K,checkbox:Bt,date:Lt,phone:["is","is_not","contains","not_contains","starts_with","is_empty","is_not_empty"],currency:K,status:J,select:J,multiselect:jt,location:[],user:H,relation:H,formula:Mt,document:Nt},Ut=new Set(["formula","rollup"]),qt=new Set(["user","relation","document"]),$t=new Set(["text","richtext","number","select","multiselect","status","date","phone","currency","location","user","relation","document"]),zt=new Set(["text","number","date","phone","currency","select","multiselect"]),Yt=new Set(["text","phone","status","select","multiselect"]),Wt=new Set(["text","number","checkbox","date","phone","currency","status","select"]);function g(t){let r=!!(t.hidden||t.archived),i=!t.archived,n=Ut.has(t.type),a=t.type==="document",s=qt.has(t.type),l=Kt(t),u=r?[]:Gt(t),c=u.length>0&&!r,h=!r&&Yt.has(t.type),_=!r&&Wt.has(t.type),T=!r&&oe(t.type),R=!r&&t.type==="status",It=G(t),q=n||a||It,O=!(r||q),vt=Xt(t.type)?"forbidden":"allowed",Dt=Zt(t.type),$=Ht(t),z=zt.has(t.type),Y=!!(t.deprecated&&!r),W=re(t);return {lifecycle:{active:i,deprecated:!!t.deprecated,visibleInArchitect:true,visibleInRuntime:!r,warningWhenDeprecated:Y},storage:{mode:n?"computed":s?"edge":"value",cardinality:l,edgeBacked:s,preservesExistingValues:!!t.archived,qualifiedProperties:Qt(t.type),polymorphic:Jt(t),maxItems:$},authoring:{editable:O,readOnly:q,directEdit:O&&W==="inline",required:vt,defaultValue:Dt,placeholder:z,maxItems:$},presentation:{formField:!r&&ee(t.type),tableCell:!r&&Z(t.type),defaultColumn:!r&&te(t.type),compactDisplay:!r,popoverEditor:!r&&W==="popover",placeholder:z,warningWhenDeprecated:Y},query:{filterable:c,searchable:h,sortable:_,groupable:T,kanbanGroupable:R,operators:u},agent:{readable:!r,writable:O&&!a,compactReadable:!r,contentReadable:!r&&ie(t.type),requiresDedicatedTool:a},exchange:{importable:!r,exportable:!r,schemaExportable:true,metadataExportable:false}}}chunkDPD6ZWL2_js.a(g,"getAttributeCapabilities");function X(t){return g(t).query.operators}chunkDPD6ZWL2_js.a(X,"getAttributeFilterOperators");function yr(t){return g(t).query.filterable}chunkDPD6ZWL2_js.a(yr,"isAttributeFilterable");function fr(t){return g(t).query.searchable}chunkDPD6ZWL2_js.a(fr,"isAttributeSearchable");function hr(t){return g(t).query.sortable}chunkDPD6ZWL2_js.a(hr,"isAttributeSortable");function _r(t){return g(t).query.groupable}chunkDPD6ZWL2_js.a(_r,"isAttributeGroupable");function gr(t){return g(t).query.kanbanGroupable}chunkDPD6ZWL2_js.a(gr,"isAttributeKanbanGroupable");function C(t){if(t.type!=="rollup")return t.type;let r=t;if(r.function==="earliest"||r.function==="latest")return "date";if(r.function==="original"){let i=r.targetAttributeType;if(i&&tt(i))return i}return "number"}chunkDPD6ZWL2_js.a(C,"resolveEffectiveFilterType");function V(t){let r=C(t);return tt(r)?y[r]:y.number}chunkDPD6ZWL2_js.a(V,"getRollupFilterOperators");function Gt(t){return t.type==="rollup"?V(t):y[t.type]??[]}chunkDPD6ZWL2_js.a(Gt,"getRawFilterOperators");function Kt(t){return t.type==="multiselect"||t.type==="document"||t.type==="user"&&t.multiple===true||t.type==="relation"&&t.cardinality==="many"?"many":"one"}chunkDPD6ZWL2_js.a(Kt,"getAttributeCardinality");function Jt(t){if(t.type!=="relation")return "none";let i=t.targets??[];return i.length===1&&i[0]?.object==="*"?"internal":i.length>1?"code-only":"none"}chunkDPD6ZWL2_js.a(Jt,"getPolymorphicCapability");function Ht(t){return t.type==="multiselect"?true:t.type==="relation"?t.cardinality==="many":false}chunkDPD6ZWL2_js.a(Ht,"supportsMaxItems");function Qt(t){return t==="relation"||t==="document"}chunkDPD6ZWL2_js.a(Qt,"supportsQualifiedProperties");function Xt(t){return t==="checkbox"||t==="formula"||t==="rollup"}chunkDPD6ZWL2_js.a(Xt,"isRequiredForbidden");function Zt(t){return t==="checkbox"?"automatic":t==="formula"||t==="rollup"?"forbidden":$t.has(t)?"static":"forbidden"}chunkDPD6ZWL2_js.a(Zt,"getDefaultValueCapability");function te(t){return Z(t)}chunkDPD6ZWL2_js.a(te,"isDefaultColumnType");function Z(t){return t!=="richtext"&&t!=="document"}chunkDPD6ZWL2_js.a(Z,"isTableCellType");function ee(t){return t!=="richtext"}chunkDPD6ZWL2_js.a(ee,"isFormFieldType");function re(t){switch(t.type){case "checkbox":return "inline";case "number":return t.renderAs==="rating"?"inline":"default";case "select":case "multiselect":return t.renderAs==="badges"?"inline":"popover";case "status":case "relation":case "user":case "date":return "popover";default:return "default"}}chunkDPD6ZWL2_js.a(re,"resolveEditMode");function oe(t){return t==="status"||t==="currency"}chunkDPD6ZWL2_js.a(oe,"isGroupableType");function ie(t){return t==="richtext"||t==="document"}chunkDPD6ZWL2_js.a(ie,"isContentReadableType");function tt(t){return Object.prototype.hasOwnProperty.call(y,t)}chunkDPD6ZWL2_js.a(tt,"hasFilterOperatorEntry");var f=y,ne=["is_empty","is_not_empty"];function et(t){return ne.includes(t)}chunkDPD6ZWL2_js.a(et,"isNoValueOperator");function Er(t){return V(t)}chunkDPD6ZWL2_js.a(Er,"getRollupFilterOperators");function A(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)&&"dynamic"in t}chunkDPD6ZWL2_js.a(A,"isDynamicValue");function Or(){return {dynamic:"actor",ref:"current"}}chunkDPD6ZWL2_js.a(Or,"currentActor");function wr(){return {dynamic:"date",anchor:"today"}}chunkDPD6ZWL2_js.a(wr,"today");function Fr(){return {dynamic:"date",anchor:"now"}}chunkDPD6ZWL2_js.a(Fr,"now");function rt(t){if(typeof t=="number")return Number.isFinite(t)?t:null;if(typeof t=="string"&&t.trim()!==""){let r=Number(t);return Number.isFinite(r)?r:null}return null}chunkDPD6ZWL2_js.a(rt,"toAmount");function ot(t){return t!==null&&typeof t=="object"?"value"in t?rt(t.value):null:rt(t)}chunkDPD6ZWL2_js.a(ot,"extractCurrencyFilterValue");function Ir(t){return t==null?null:typeof t=="object"&&"value"in t?t.value??null:t}chunkDPD6ZWL2_js.a(Ir,"extractFilterValue");var ae=new Set(["is_not","not_contains","none_of","is_empty"]),se={is_not:"is",not_contains:"contains",none_of:"any_of",is_empty:"is_not_empty"};function Pr(t){return ae.has(t)?"none":"any"}chunkDPD6ZWL2_js.a(Pr,"getOperatorPolarity");function kr(t){return se[t]??t}chunkDPD6ZWL2_js.a(kr,"normalizeForEdgeRpc");var it={is:"any_of",is_not:"none_of"};function Br(t){return it[t]??t}chunkDPD6ZWL2_js.a(Br,"toMultiValueOperator");var le=new Set(Object.values(it).filter(t=>t!==void 0));function nt(t){return le.has(t)}chunkDPD6ZWL2_js.a(nt,"isSetMembershipOperator");function at(t,r){let i=t.value;if(et(t.operator)||i==null||A(i))return;if(nt(t.operator)){Array.isArray(i)||(t.value=[i]);return}if(r!=="currency")return;let n=ot(i);if(n!==null){t.value=n;return}if(!ue(i))return;let a=`Filter on a currency attribute expected a numeric amount, received ${JSON.stringify(i)}`;throw new chunk72TQRSNX_js.h(a,[{path:["value"],message:a}])}chunkDPD6ZWL2_js.a(at,"canonicalizeFilterValue");function ue(t){return typeof t!="object"?true:"value"in t?t.value!=null:false}chunkDPD6ZWL2_js.a(ue,"hasCurrencyAmount");var ce={eq:"is",equals:"is",equal:"is","==":"is","=":"is",neq:"is_not",notEqual:"is_not",isNot:"is_not","!=":"is_not","<>":"is_not",lt:"less_than","<":"less_than",gt:"greater_than",">":"greater_than",lte:"less_or_equal","<=":"less_or_equal",gte:"greater_or_equal",">=":"greater_or_equal",in:"any_of",isAnyOf:"any_of",anyOf:"any_of",oneOf:"any_of",notIn:"none_of",not_in:"none_of",isNoneOf:"none_of",noneOf:"none_of",notOneOf:"none_of",startsWith:"starts_with",beginsWith:"starts_with",endsWith:"ends_with",doesNotContain:"not_contains",notContain:"not_contains",isEmpty:"is_empty",isNotEmpty:"is_not_empty"};function I(t){return ce[t]??t}chunkDPD6ZWL2_js.a(I,"normalizeOperator");function Wr(t){let r=I(t.operator);return r===t.operator?t:{...t,operator:r}}chunkDPD6ZWL2_js.a(Wr,"normalizeFilterRule");var pe=new Set(["days","weeks","months","years"]),de=new Set(["past","future"]);function v(t){if(typeof t!="object"||t===null)return false;let r=t;return typeof r.amount=="number"&&Number.isFinite(r.amount)&&r.amount>0&&typeof r.unit=="string"&&pe.has(r.unit)&&typeof r.direction=="string"&&de.has(r.direction)}chunkDPD6ZWL2_js.a(v,"isRelativeDateValue");function lt(t){return Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate())}chunkDPD6ZWL2_js.a(lt,"utcDayStart");function st(t,r,i){if(i==="days")return t+r*864e5;if(i==="weeks")return t+r*7*864e5;let n=new Date(t),a=n.getUTCFullYear()+(i==="years"?r:0),s=n.getUTCMonth()+(i==="months"?r:0),l=new Date(Date.UTC(a,s+1,0)).getUTCDate();return Date.UTC(a,s,Math.min(n.getUTCDate(),l))}chunkDPD6ZWL2_js.a(st,"shiftUtcDay");function Jr(t,r=new Date){if(!v(t))return null;let i=lt(r),n=Math.trunc(t.amount),a=t.direction==="past"?{startMs:st(i,-n,t.unit),endMs:i+864e5}:{startMs:i,endMs:st(i,n,t.unit)+864e5};return Number.isFinite(a.startMs)&&Number.isFinite(a.endMs)?a:null}chunkDPD6ZWL2_js.a(Jr,"resolveIsWithinBounds");function Hr(t){if(!Number.isFinite(t))return null;let r=lt(new Date(t));return Number.isFinite(r)?{startMs:r,endMs:r+864e5}:null}chunkDPD6ZWL2_js.a(Hr,"resolveUtcDayBounds");function Qr(t){return new Date(t).toISOString().slice(0,10)}chunkDPD6ZWL2_js.a(Qr,"toUtcDayString");var me=new Set(["relation","document","user"]),D=["is","is_not","any_of","none_of","is_empty","is_not_empty"],be={id:D,objectId:D,tenantId:D,label:f.text,createdAt:f.date,updatedAt:f.date,deletedAt:f.date,createdBy:f.user,lastUpdatedBy:f.user},ye={id:"text",objectId:"text",objectName:"text",tenantId:"text",label:"text",createdAt:"date",updatedAt:"date",deletedAt:"date",deletedBy:"user",createdBy:"user",lastUpdatedBy:"user",visibility:"select",ownedBy:"user"},B={before:'"less_than"',after:'"greater_than"',on_or_before:'"less_or_equal"',on_or_after:'"greater_or_equal"',is_checked:'"is" with value true',is_not_checked:'"is" with value false',day_month_eq:'"on_day_month"'},fe=new Set(Object.entries(y).filter(([,t])=>t.includes("any_of")&&!t.includes("contains")).map(([t])=>t)),he={contains:"any_of",not_contains:"none_of"};function P(t,r){let i=B[t];if(i){let s=`Unknown filter operator "${t}" \u2014 use ${i}`;throw new chunk72TQRSNX_js.h(s,[{path:["operator"],message:s}])}let n=I(t),a=he[n];if(a&&fe.has(r)){let s=`Operator "${n}" is not valid for type "${r}" \u2014 use "${a}"`;throw new chunk72TQRSNX_js.h(s,[{path:["operator"],message:s}])}return n}chunkDPD6ZWL2_js.a(P,"resolveCanonicalOperator");function ut(t,r,i){let n=P(t,r),a=f[r];if(!a?.includes(n)){let s=a?.length?a.join(", "):"(no operators registered for this type)",l=`Operator "${t}" is not valid for ${i} type "${r}". Valid operators: ${s}.`;throw new chunk72TQRSNX_js.h(l,[{path:["operator"],message:l}])}return n}chunkDPD6ZWL2_js.a(ut,"assertOperatorForType");function _e(t){if(t.operator==="is_within"&&!v(t.value)){let r='Operator "is_within" requires a relative-date value { amount: positive number, unit: days|weeks|months|years, direction: past|future }';throw new chunk72TQRSNX_js.h(r,[{path:["value"],message:r}])}}chunkDPD6ZWL2_js.a(_e,"assertRelativeDateValue");function E(t,r,i){t.operator=r,at(t,i),_e(t);}chunkDPD6ZWL2_js.a(E,"applyCanonicalForm");function ct(t,r){if(!A(t.value))return;let i=t.value;if(i.dynamic==="actor"&&r!=="user"){let n=`actor token (@me) is only valid on user attributes, not "${r}"`;throw new chunk72TQRSNX_js.h(n,[{path:["value"],message:n}])}if(i.dynamic==="date"&&r!=="date"){let n=`date token (@today/@now) is only valid on date attributes, not "${r}"`;throw new chunk72TQRSNX_js.h(n,[{path:["value"],message:n}])}}chunkDPD6ZWL2_js.a(ct,"assertDynamicValueForAttribute");var k=w.map(t=>`"${t}"`).join(", ");function ge(t){return t==="location"?` A location is filtered on one of its parts: set "property" to one of ${k} and use a text operator (e.g. contains).`:""}chunkDPD6ZWL2_js.a(ge,"locationPartsHint");function so(t,r){try{return Te({...t},r),[]}catch(i){if(!(i instanceof chunk72TQRSNX_js.h))throw i;return i.errors.map(n=>({...n,path:[...n.path]}))}}chunkDPD6ZWL2_js.a(so,"collectQualifiedRuleIssues");function Te(t,r){let i=r.attributes.find(u=>u.name===t.attribute),n=be[t.attribute];if(!(i||n)){let[u,...c]=t.attribute.split("."),_=(c.length>0?r.attributes.find(R=>R.name===u):void 0)?.type==="location"?` Dotted paths are not supported \u2014 set "attribute" to "${u}" and "property" to ${F(c[0]??"")?`"${c[0]}"`:`one of ${k}`}.`:t.attribute.includes(".")?' Dotted paths are not supported \u2014 filter on the attribute name alone, or use the full-text "query" parameter to match text inside a value.':"",T=`Unknown attribute: ${t.attribute}${_}`;throw new chunk72TQRSNX_js.h(T,[{path:["attribute"],message:T}])}if(t.quantifier!==void 0&&!t.property){let u='quantifier is only valid on qualified edge rules (set "property")';throw new chunk72TQRSNX_js.h(u,[{path:["quantifier"],message:u}])}if(!i){if(t.property)throw new chunk72TQRSNX_js.h(`Cannot qualify system attribute "${t.attribute}"`,[{path:["property"],message:`"${t.attribute}" is a system column, not a reference`}]);let u=ye[t.attribute]??"text",c=P(t.operator,u);if(!n.includes(c)){let h=`Operator "${t.operator}" is not valid for system attribute "${t.attribute}". Valid operators: ${n.join(", ")}.`;throw new chunk72TQRSNX_js.h(h,[{path:["operator"],message:h}])}E(t,c,u);return}if(!t.property){ct(t,i.type);let u=X(i),c=P(t.operator,i.type);if(!u.includes(c)){let h=u.length?u.join(", "):"(not filterable)",_=`Operator "${t.operator}" is not valid for attribute "${i.name}". Valid operators: ${h}.${ge(i.type)}`;throw new chunk72TQRSNX_js.h(_,[{path:["operator"],message:_}])}E(t,c,C(i));return}if(i.type==="location"){if(t.quantifier!==void 0){let c="quantifier is not valid on a location part \u2014 a location is one value, not a set of edges";throw new chunk72TQRSNX_js.h(c,[{path:["quantifier"],message:c}])}if(!F(t.property)){let c=`Property "${t.property}" is not a part of location "${t.attribute}". Valid parts: ${k}.`;throw new chunk72TQRSNX_js.h(c,[{path:["property"],message:c}])}ct(t,"text");let u=ut(t.operator,"text","property");E(t,u,"text");return}if(!me.has(i.type))throw new chunk72TQRSNX_js.h(`Cannot qualify ${i.type} attribute "${t.attribute}"`,[{path:["property"],message:`Attribute "${t.attribute}" is not a reference type`}]);let a=i.properties;if(!a)throw new chunk72TQRSNX_js.h(`Attribute "${t.attribute}" has no qualifyWith schema`,[{path:["property"],message:`"${t.attribute}" has no qualifyWith`}]);let s=a.definitions.find(u=>u.name===t.property);if(!s)throw new chunk72TQRSNX_js.h(`Property "${t.property}" not defined on "${t.attribute}".qualifyWith()`,[{path:["property"],message:`Unknown property: ${t.property}`}]);let l=ut(t.operator,s.type,"property");E(t,l,s.type);}chunkDPD6ZWL2_js.a(Te,"validateQualifiedRule");var L=["workspace","private"],pt=["all",...L];function po(t){if(typeof t=="string"&&L.includes(t))return t;throw new chunk72TQRSNX_js.h(`visibility must be one of: ${L.join(", ")} (received: ${String(t)})`,[])}chunkDPD6ZWL2_js.a(po,"parseResourceVisibility");var Se=["id","createdAt","updatedAt","createdBy","lastUpdatedBy","visibility","ownedBy"],mo=[...Se,"objectId","label","embeddingText","values","metadata","deletedAt","deletedBy","schemaVersion","owned_by"],bo=["skill"];var yt=zod.z.enum(["redirect","inline","peek"]),Ae=zod.z.array(zod.z.string()).min(1),x=zod.z.array(zod.z.string()).max(chunk47EGJRW7_js.a.columnsPerTab),Ee=zod.z.array(zod.z.string().min(1)).max(chunk47EGJRW7_js.a.columnsPerTab).refine(t=>new Set(t).size===t.length,{message:"Displayed attribute names must be unique"}),xe=zod.z.object({attribute:zod.z.string(),direction:zod.z.enum(["asc","desc"])}).strict(),ft=zod.z.array(xe).max(chunk47EGJRW7_js.a.sortsPerTab),Re=zod.z.object({amount:zod.z.number(),unit:zod.z.enum(["days","weeks","months","years"]),direction:zod.z.enum(["past","future"])}).strict(),Oe=zod.z.object({value:zod.z.number().nullable(),code:zod.z.array(zod.z.string()).optional()}).strict(),we=zod.z.object({phoneNumber:zod.z.string().nullable(),countryCode:zod.z.string().optional()}).strict(),Fe=zod.z.discriminatedUnion("dynamic",[zod.z.object({dynamic:zod.z.literal("actor"),ref:zod.z.literal("current")}).strict(),zod.z.object({dynamic:zod.z.literal("date"),anchor:zod.z.enum(["today","now"])}).strict()]),Ce=zod.z.object({month:zod.z.number(),day:zod.z.number()}).strict(),Ve=zod.z.union([zod.z.string(),zod.z.number(),zod.z.boolean(),zod.z.array(zod.z.string()),Re,Oe,we,Ce,Fe,zod.z.null()]),Ie=zod.z.enum(["is","is_not","contains","not_contains","starts_with","ends_with","is_empty","is_not_empty","less_than","greater_than","less_or_equal","greater_or_equal","is_within","on_day_month","any_of","none_of"],{error:chunkDPD6ZWL2_js.a(t=>{let r=t.input,i=typeof r=="string"?B[r]:void 0;return i?`Unknown filter operator "${r}" \u2014 use ${i}`:void 0},"error")}),ve=zod.z.object({attribute:zod.z.string(),property:zod.z.string().optional(),quantifier:zod.z.enum(["any","none"]).optional(),operator:Ie,value:Ve}).strict(),ht=zod.z.array(ve).max(chunk47EGJRW7_js.a.filterRulesPerTab),De=zod.z.object({combinator:zod.z.enum(["and","or"]),rules:ht}).strict(),_t=zod.z.object({id:zod.z.string(),combinator:zod.z.enum(["and","or"]),rules:ht}).strict();function j(t,r,i=[]){let n=new Set;t.forEach((a,s)=>{n.has(a.id)&&r.addIssue({code:"custom",message:`Duplicate id "${a.id}"`,path:[...i,s,"id"]}),n.add(a.id);});}chunkDPD6ZWL2_js.a(j,"addDuplicateIdIssues");function Pe(t,r,i=[]){let n=new Set;t.forEach((a,s)=>{n.has(a.name)&&r.addIssue({code:"custom",message:`Duplicate name "${a.name}"`,path:[...i,s,"name"]}),n.add(a.name);});}chunkDPD6ZWL2_js.a(Pe,"addDuplicateNameIssues");var ke=zod.z.object({id:zod.z.string(),label:zod.z.string(),description:zod.z.string().optional(),attributes:Ae,displayTemplate:zod.z.string().optional()}).strict(),Be={span:zod.z.union([zod.z.literal(1),zod.z.literal(2),zod.z.literal(3),zod.z.literal(4),zod.z.literal(5),zod.z.literal(6),zod.z.literal(7),zod.z.literal(8),zod.z.literal(9),zod.z.literal(10),zod.z.literal(11),zod.z.literal(12)]).optional(),label:zod.z.string().optional(),readOnly:zod.z.boolean().optional()},gt={attribute:zod.z.string().optional(),attributeGroup:ke.optional(),...Be};function Tt(t,r){t.attribute===void 0==(t.attributeGroup===void 0)&&r.addIssue({code:"custom",message:"A field must define exactly one of attribute or attributeGroup"});}chunkDPD6ZWL2_js.a(Tt,"refineField");var Le=zod.z.object({id:zod.z.string().optional(),...gt}).strict().superRefine(Tt),Ao=zod.z.object({id:zod.z.string().min(1),...gt}).strict().superRefine(Tt),je={id:zod.z.string(),label:zod.z.string(),description:zod.z.string().optional(),collapsible:zod.z.boolean().optional(),collapsed:zod.z.boolean().optional(),order:zod.z.number().optional()},Ne=zod.z.object({...je,type:zod.z.literal("fields"),fields:zod.z.array(Le).max(chunk47EGJRW7_js.a.fieldsPerGroup)}).strict(),Me=Ne,b={id:zod.z.string(),name:zod.z.string(),label:zod.z.string(),icon:chunk47EGJRW7_js.c.optional(),order:zod.z.number().optional()},St=zod.z.array(Me).max(chunk47EGJRW7_js.a.groupsPerFormTab),At={...b,type:zod.z.literal("form"),groups:St,formColumns:zod.z.union([zod.z.literal(1),zod.z.literal(2),zod.z.literal(3)]).optional(),density:zod.z.enum(["compact","comfortable","spacious"]).optional()},Ue=zod.z.object(At).strict();function Et(t,r){j(t.groups,r,["groups"]),t.groups.reduce((a,s)=>a+(s.type==="fields"?s.fields.length:0),0)>chunk47EGJRW7_js.a.fieldsPerFormTab&&r.addIssue({code:"too_big",origin:"array",maximum:chunk47EGJRW7_js.a.fieldsPerFormTab,inclusive:true,message:`A form tab can contain at most ${chunk47EGJRW7_js.a.fieldsPerFormTab} fields`,path:["groups"]});let n=new Set;t.groups.forEach((a,s)=>{a.type==="fields"&&a.fields.forEach((l,u)=>{if(l.attributeGroup===void 0)return;let{id:c}=l.attributeGroup;n.has(c)&&r.addIssue({code:"custom",message:`Duplicate attribute group id "${c}"`,path:["groups",s,"fields",u,"attributeGroup","id"]}),n.add(c);});});}chunkDPD6ZWL2_js.a(Et,"refineFormTab");var qe=zod.z.object({...At,groups:St.min(1)}).strict().superRefine(Et),$e=Ue.superRefine(Et),xt=zod.z.object({type:zod.z.literal("relation"),attribute:zod.z.string()}).strict(),Rt=zod.z.object({type:zod.z.literal("inverse"),object:zod.z.string(),attribute:zod.z.string()}).strict(),Ot=zod.z.discriminatedUnion("type",[xt,Rt]),ze=zod.z.object({...b,type:zod.z.literal("table"),source:Ot,columns:x,allowCreate:zod.z.boolean().optional(),createMode:yt.optional(),allowEdit:zod.z.boolean().optional(),allowDelete:zod.z.boolean().optional(),filters:De.optional(),sorts:ft.optional()}).strict(),dt=64,mt=1e4;function bt(t){let r=Object.getPrototypeOf(t);return r===Object.prototype||r===null}chunkDPD6ZWL2_js.a(bt,"isPlainJsonObject");function m(t,r,i=[]){t.addIssue({code:"custom",message:r,path:i});}chunkDPD6ZWL2_js.a(m,"addJsonIssue");function Ye(t,r,i,n){for(let a of Reflect.ownKeys(t))if(a!=="length"){if(a==="__proto__"){m(n,"The __proto__ key is not allowed in custom props",[...r.path,a]);continue}(typeof a=="symbol"||!/^(0|[1-9]\d*)$/.test(a))&&m(n,"Arrays cannot contain non-index JSON properties",[...r.path,a]);}for(let a=t.length-1;a>=0;a--){let s=Object.getOwnPropertyDescriptor(t,String(a)),l=[...r.path,a];if(!(s&&"value"in s)){m(n,"Sparse arrays are not valid JSON values",l);continue}i.push({kind:"enter",value:s.value,path:l,depth:r.depth+1});}}chunkDPD6ZWL2_js.a(Ye,"pushJsonArrayChildren");function We(t,r,i,n){let a=Reflect.ownKeys(t);for(let s=a.length-1;s>=0;s--){let l=a[s],u=[...r.path,l];if(l==="__proto__"){m(n,"The __proto__ key is not allowed in custom props",u);continue}if(typeof l=="symbol"){m(n,"Symbol keys are not valid JSON keys",u);continue}let c=Object.getOwnPropertyDescriptor(t,l);if(!(c?.enumerable&&"value"in c)){m(n,"Custom props must contain enumerable data properties only",u);continue}i.push({kind:"enter",value:c.value,path:u,depth:r.depth+1});}}chunkDPD6ZWL2_js.a(We,"pushJsonObjectChildren");function Ge(t,r){if(t===null||typeof t!="object"){m(r,"Expected a plain JSON object");return}try{if(Array.isArray(t)||!bt(t)){m(r,"Expected a plain JSON object");return}}catch{m(r,"Custom props contain an object that cannot be safely inspected");return}let i=new WeakSet,n=[{kind:"enter",value:t,path:[],depth:0}],a=0;for(;n.length>0;){let s=n.pop();if(!s)break;if(s.kind==="exit"){i.delete(s.value);continue}if(a++,a>mt){m(r,`Custom props cannot exceed ${mt.toLocaleString("en-US")} total JSON nodes`,s.path);return}if(s.depth>dt){m(r,`Custom props cannot exceed depth ${dt}`,s.path);continue}let l=s.value;if(!(l===null||typeof l=="string"||typeof l=="boolean"||typeof l=="number"&&Number.isFinite(l))){if(typeof l!="object"){m(r,"Expected a JSON value",s.path);continue}if(i.has(l)){m(r,"Custom props cannot contain circular references",s.path);continue}try{if(Array.isArray(l)){i.add(l),n.push({kind:"exit",value:l}),Ye(l,s,n,r);continue}if(!bt(l)){m(r,"Expected an array or plain JSON object",s.path);continue}i.add(l),n.push({kind:"exit",value:l}),We(l,s,n,r);}catch{m(r,"Custom props contain an object that cannot be safely inspected",s.path);}}}}chunkDPD6ZWL2_js.a(Ge,"validateJsonProps");var Ke=zod.z.unknown().superRefine(Ge).transform(t=>t),Je=zod.z.object({...b,type:zod.z.literal("custom"),component:zod.z.string(),props:Ke.optional()}).strict(),He=zod.z.object({...b,type:zod.z.literal("activity"),limit:zod.z.number().optional()}).strict(),Qe=zod.z.object({...b,type:zod.z.literal("richtext"),attribute:zod.z.string(),titleAttribute:zod.z.string().optional()}).strict(),Xe=zod.z.object({...b,type:zod.z.literal("documents"),allowUpload:zod.z.boolean().optional(),allowRemove:zod.z.boolean().optional(),hideAttachments:zod.z.boolean().optional()}).strict(),Ze=zod.z.object({...b,type:zod.z.literal("forms"),objectName:zod.z.string().optional()}).strict(),tr=zod.z.object({...b,type:zod.z.literal("emails"),emailAttributeIds:zod.z.array(zod.z.string()).max(chunk47EGJRW7_js.a.emailAttributesPerTab)}).strict(),er=zod.z.object({...b,type:zod.z.literal("meetings"),emailAttributeIds:zod.z.array(zod.z.string()).max(chunk47EGJRW7_js.a.emailAttributesPerTab)}).strict(),wt=[ze,Je,He,Qe,Xe,Ze,tr,er],Ft=zod.z.discriminatedUnion("type",[qe,...wt]),Eo=zod.z.discriminatedUnion("type",[$e,...wt]),N={id:zod.z.string(),label:zod.z.string(),icon:chunk47EGJRW7_js.c.optional(),default:zod.z.boolean().optional(),visibility:zod.z.enum(pt).default("all"),columns:x,descriptionAttribute:zod.z.string().min(1).optional(),displayAttributes:Ee.optional(),filters:_t.optional(),sorts:ft.optional(),readOnly:zod.z.boolean().optional(),createMode:yt.optional()},rr=zod.z.object({...N,layout:zod.z.literal("table"),columnSizing:zod.z.record(zod.z.string(),zod.z.number()).optional(),groupByAttribute:zod.z.string().min(1).optional()}).strict(),or=zod.z.object({...N,layout:zod.z.literal("kanban"),columns:x.default([]),groupByAttribute:zod.z.string(),cardUserAttribute:zod.z.string().optional(),cardDateAttribute:zod.z.string().optional(),kanbanColumnOrder:zod.z.array(zod.z.string()).optional(),kanbanColumnVisibility:zod.z.record(zod.z.string(),zod.z.boolean()).optional(),kanbanPinnedColumns:zod.z.array(zod.z.string()).optional()}).strict(),ir=zod.z.object({...N,layout:zod.z.literal("list"),columns:x.default([]),columnSizing:zod.z.record(zod.z.string(),zod.z.number()).optional(),groupByAttribute:zod.z.string().min(1).optional()}).strict(),Ct=zod.z.discriminatedUnion("layout",[rr,ir,or]),nr=zod.z.object({allowPresentationCustomization:zod.z.boolean().optional(),defaultFilters:_t.optional(),tabs:zod.z.array(Ct).min(1).max(chunk47EGJRW7_js.a.tabsPerView)}).strict().superRefine((t,r)=>{j(t.tabs,r,["tabs"]);let i=false;t.tabs.forEach((n,a)=>{n.layout!=="kanban"&&n.groupByAttribute!==void 0&&t.allowPresentationCustomization!==true&&r.addIssue({code:"unrecognized_keys",keys:["groupByAttribute"],path:["tabs",a]}),n.default&&(i&&r.addIssue({code:"custom",message:"Only one list tab can be the default",path:["tabs",a,"default"]}),i=true);});}),ar=zod.z.discriminatedUnion("kind",[zod.z.object({kind:zod.z.literal("fields"),id:zod.z.string().optional(),label:zod.z.string().optional(),attributes:zod.z.array(zod.z.string()).max(chunk47EGJRW7_js.a.sidePanelAttributes)}).strict(),zod.z.object({kind:zod.z.literal("activity"),id:zod.z.string().optional(),label:zod.z.string().optional()}).strict(),zod.z.object({kind:zod.z.literal("documents"),id:zod.z.string(),label:zod.z.string().optional(),allowUpload:zod.z.boolean().optional(),allowRemove:zod.z.boolean().optional()}).strict()]),sr=zod.z.object({tabs:zod.z.array(Ft).min(1).max(chunk47EGJRW7_js.a.tabsPerView),sidePanel:zod.z.object({attributes:zod.z.array(zod.z.string()).max(chunk47EGJRW7_js.a.sidePanelAttributes).optional(),panes:zod.z.array(ar).max(chunk47EGJRW7_js.a.sidePanelPanes).optional(),width:zod.z.number().optional()}).strict().refine(t=>t.attributes!==void 0||t.panes!==void 0,{message:"sidePanel requires attributes or panes"}).refine(t=>t.panes===void 0||t.panes.length>0,{message:"sidePanel panes must not be empty"}).refine(t=>t.attributes===void 0||t.panes===void 0,{message:"sidePanel takes attributes or panes, not both"}).optional()}).strict().superRefine((t,r)=>{j(t.tabs,r,["tabs"]),Pe(t.tabs,r,["tabs"]);}),M=nr,U=sr,xo=zod.z.enum(["list","detail"]);var Vt=zod.z.discriminatedUnion("type",[zod.z.object({type:zod.z.literal("list"),config:M}).strict(),zod.z.object({type:zod.z.literal("detail"),config:U}).strict()]);function lr(t,r){switch(t){case "list":return M.parse(r);case "detail":return U.parse(r);default:return Vt.parse({type:t,config:r}).config}}chunkDPD6ZWL2_js.a(lr,"parseViewConfig");var Ro=["columnSizing"],Oo=["groupByAttribute","cardUserAttribute","cardDateAttribute","kanbanColumnOrder","kanbanColumnVisibility","kanbanPinnedColumns"];exports.$=_t;exports.A=bo;exports.B=A;exports.C=Or;exports.D=wr;exports.E=Fr;exports.F=ot;exports.G=Ir;exports.H=Pr;exports.I=kr;exports.J=Br;exports.K=nt;exports.L=at;exports.M=ce;exports.N=I;exports.O=Wr;exports.P=v;exports.Q=Jr;exports.R=Hr;exports.S=Qr;exports.T=ye;exports.U=B;exports.V=so;exports.W=Te;exports.X=x;exports.Y=Ee;exports.Z=ft;exports._=De;exports.a=Pt;exports.aa=gt;exports.b=ur;exports.ba=Le;exports.c=kt;exports.ca=Ao;exports.d=cr;exports.da=Me;exports.e=G;exports.ea=xt;exports.f=w;exports.fa=Rt;exports.g=F;exports.ga=Ot;exports.h=br;exports.ha=Ft;exports.i=y;exports.ia=Eo;exports.j=g;exports.ja=Ct;exports.k=X;exports.ka=M;exports.l=yr;exports.la=U;exports.m=fr;exports.ma=xo;exports.n=hr;exports.na=Vt;exports.o=_r;exports.oa=lr;exports.p=gr;exports.pa=Ro;exports.q=C;exports.qa=Oo;exports.r=f;exports.s=ne;exports.t=et;exports.u=Er;exports.v=L;exports.w=pt;exports.x=po;exports.y=Se;exports.z=mo;
|
|
2
|
+
var Pt={createdAt:"createdAt",updatedAt:"updatedAt",createdBy:"createdBy",lastUpdatedBy:"lastUpdatedBy",attachments:"attachments"};function ur(t){return Pt[t]}chunkDPD6ZWL2_js.a(ur,"getSystemAttributeI18nKey");var kt={createdAt:{id:"system:createdAt",name:"createdAt",label:"Created time",type:"date",required:false,system:true,icon:"clock-circle",description:"When this record was created"},updatedAt:{id:"system:updatedAt",name:"updatedAt",label:"Last edited time",type:"date",required:false,system:true,icon:"clock-circle",description:"When this record was last modified"},createdBy:{id:"system:createdBy",name:"createdBy",label:"Created by",type:"user",required:false,system:true,multiple:false,icon:"user",description:"Actor who created this record"},lastUpdatedBy:{id:"system:lastUpdatedBy",name:"lastUpdatedBy",label:"Last edited by",type:"user",required:false,system:true,multiple:false,icon:"user",description:"Actor who last modified this record"},attachments:{id:"system:attachments",name:"attachments",label:"Attachments",type:"document",required:false,system:true,hidden:true,icon:"paperclip",description:"Free-form document attachments"}};function cr(){return Object.values(kt)}chunkDPD6ZWL2_js.a(cr,"getSystemAttributeList");function G(t){return t.id?.startsWith("system:")??false}chunkDPD6ZWL2_js.a(G,"isManagedSystemAttribute");var Q=["is","is_not","contains","not_contains","starts_with","ends_with","is_empty","is_not_empty"],K=["is","is_not","less_than","greater_than","less_or_equal","greater_or_equal","is_empty","is_not_empty"],Bt=["is"],Lt=["is","is_not","less_than","greater_than","less_or_equal","greater_or_equal","is_within","on_day_month","is_empty","is_not_empty"],J=["is","is_not","any_of","none_of","is_empty","is_not_empty"],jt=["any_of","none_of","is_empty","is_not_empty"],H=["is","is_not","any_of","none_of","is_empty","is_not_empty"],Nt=["is_empty","is_not_empty"],Mt=["is","is_not","less_than","greater_than","less_or_equal","greater_or_equal","contains","not_contains","is_empty","is_not_empty"],w=["city","postalCode","country"];function F(t){return w.includes(t)}chunkDPD6ZWL2_js.a(F,"isLocationFilterProperty");function br(t){return Q.includes(t)}chunkDPD6ZWL2_js.a(br,"isLocationPartOperator");var y={text:Q,richtext:[],number:K,checkbox:Bt,date:Lt,phone:["is","is_not","contains","not_contains","starts_with","is_empty","is_not_empty"],currency:K,status:J,select:J,multiselect:jt,location:[],user:H,relation:H,formula:Mt,document:Nt},Ut=new Set(["formula","rollup"]),qt=new Set(["user","relation","document"]),$t=new Set(["text","richtext","number","select","multiselect","status","date","phone","currency","location","user","relation","document"]),zt=new Set(["text","number","date","phone","currency","select","multiselect"]),Yt=new Set(["text","phone","status","select","multiselect"]),Wt=new Set(["text","number","checkbox","date","phone","currency","status","select"]);function g(t){let r=!!(t.hidden||t.archived),i=!t.archived,n=Ut.has(t.type),a=t.type==="document",s=qt.has(t.type),l=Kt(t),u=r?[]:Gt(t),c=u.length>0&&!r,h=!r&&Yt.has(t.type),_=!r&&Wt.has(t.type),T=!r&&oe(t.type),R=!r&&t.type==="status",It=G(t),q=n||a||It,O=!(r||q),vt=Xt(t.type)?"forbidden":"allowed",Dt=Zt(t.type),$=Ht(t),z=zt.has(t.type),Y=!!(t.deprecated&&!r),W=re(t);return {lifecycle:{active:i,deprecated:!!t.deprecated,visibleInArchitect:true,visibleInRuntime:!r,warningWhenDeprecated:Y},storage:{mode:n?"computed":s?"edge":"value",cardinality:l,edgeBacked:s,preservesExistingValues:!!t.archived,qualifiedProperties:Qt(t.type),polymorphic:Jt(t),maxItems:$},authoring:{editable:O,readOnly:q,directEdit:O&&W==="inline",required:vt,defaultValue:Dt,placeholder:z,maxItems:$},presentation:{formField:!r&&ee(t.type),tableCell:!r&&Z(t.type),defaultColumn:!r&&te(t.type),compactDisplay:!r,popoverEditor:!r&&W==="popover",placeholder:z,warningWhenDeprecated:Y},query:{filterable:c,searchable:h,sortable:_,groupable:T,kanbanGroupable:R,operators:u},agent:{readable:!r,writable:O&&!a,compactReadable:!r,contentReadable:!r&&ie(t.type),requiresDedicatedTool:a},exchange:{importable:!r,exportable:!r,schemaExportable:true,metadataExportable:false}}}chunkDPD6ZWL2_js.a(g,"getAttributeCapabilities");function X(t){return g(t).query.operators}chunkDPD6ZWL2_js.a(X,"getAttributeFilterOperators");function yr(t){return g(t).query.filterable}chunkDPD6ZWL2_js.a(yr,"isAttributeFilterable");function fr(t){return g(t).query.searchable}chunkDPD6ZWL2_js.a(fr,"isAttributeSearchable");function hr(t){return g(t).query.sortable}chunkDPD6ZWL2_js.a(hr,"isAttributeSortable");function _r(t){return g(t).query.groupable}chunkDPD6ZWL2_js.a(_r,"isAttributeGroupable");function gr(t){return g(t).query.kanbanGroupable}chunkDPD6ZWL2_js.a(gr,"isAttributeKanbanGroupable");function C(t){if(t.type!=="rollup")return t.type;let r=t;if(r.function==="earliest"||r.function==="latest")return "date";if(r.function==="original"){let i=r.targetAttributeType;if(i&&tt(i))return i}return "number"}chunkDPD6ZWL2_js.a(C,"resolveEffectiveFilterType");function V(t){let r=C(t);return tt(r)?y[r]:y.number}chunkDPD6ZWL2_js.a(V,"getRollupFilterOperators");function Gt(t){return t.type==="rollup"?V(t):y[t.type]??[]}chunkDPD6ZWL2_js.a(Gt,"getRawFilterOperators");function Kt(t){return t.type==="multiselect"||t.type==="document"||t.type==="user"&&t.multiple===true||t.type==="relation"&&t.cardinality==="many"?"many":"one"}chunkDPD6ZWL2_js.a(Kt,"getAttributeCardinality");function Jt(t){if(t.type!=="relation")return "none";let i=t.targets??[];return i.length===1&&i[0]?.object==="*"?"internal":i.length>1?"code-only":"none"}chunkDPD6ZWL2_js.a(Jt,"getPolymorphicCapability");function Ht(t){return t.type==="multiselect"?true:t.type==="relation"?t.cardinality==="many":false}chunkDPD6ZWL2_js.a(Ht,"supportsMaxItems");function Qt(t){return t==="relation"||t==="document"}chunkDPD6ZWL2_js.a(Qt,"supportsQualifiedProperties");function Xt(t){return t==="checkbox"||t==="formula"||t==="rollup"}chunkDPD6ZWL2_js.a(Xt,"isRequiredForbidden");function Zt(t){return t==="checkbox"?"automatic":t==="formula"||t==="rollup"?"forbidden":$t.has(t)?"static":"forbidden"}chunkDPD6ZWL2_js.a(Zt,"getDefaultValueCapability");function te(t){return Z(t)}chunkDPD6ZWL2_js.a(te,"isDefaultColumnType");function Z(t){return t!=="richtext"&&t!=="document"}chunkDPD6ZWL2_js.a(Z,"isTableCellType");function ee(t){return t!=="richtext"}chunkDPD6ZWL2_js.a(ee,"isFormFieldType");function re(t){switch(t.type){case "checkbox":return "inline";case "number":return t.renderAs==="rating"?"inline":"default";case "select":case "multiselect":return t.renderAs==="badges"?"inline":"popover";case "status":case "relation":case "user":case "date":return "popover";default:return "default"}}chunkDPD6ZWL2_js.a(re,"resolveEditMode");function oe(t){return t==="status"||t==="currency"}chunkDPD6ZWL2_js.a(oe,"isGroupableType");function ie(t){return t==="richtext"||t==="document"}chunkDPD6ZWL2_js.a(ie,"isContentReadableType");function tt(t){return Object.prototype.hasOwnProperty.call(y,t)}chunkDPD6ZWL2_js.a(tt,"hasFilterOperatorEntry");var f=y,ne=["is_empty","is_not_empty"];function et(t){return ne.includes(t)}chunkDPD6ZWL2_js.a(et,"isNoValueOperator");function Er(t){return V(t)}chunkDPD6ZWL2_js.a(Er,"getRollupFilterOperators");function A(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)&&"dynamic"in t}chunkDPD6ZWL2_js.a(A,"isDynamicValue");function Or(){return {dynamic:"actor",ref:"current"}}chunkDPD6ZWL2_js.a(Or,"currentActor");function wr(){return {dynamic:"date",anchor:"today"}}chunkDPD6ZWL2_js.a(wr,"today");function Fr(){return {dynamic:"date",anchor:"now"}}chunkDPD6ZWL2_js.a(Fr,"now");function rt(t){if(typeof t=="number")return Number.isFinite(t)?t:null;if(typeof t=="string"&&t.trim()!==""){let r=Number(t);return Number.isFinite(r)?r:null}return null}chunkDPD6ZWL2_js.a(rt,"toAmount");function ot(t){return t!==null&&typeof t=="object"?"value"in t?rt(t.value):null:rt(t)}chunkDPD6ZWL2_js.a(ot,"extractCurrencyFilterValue");function Ir(t){return t==null?null:typeof t=="object"&&"value"in t?t.value??null:t}chunkDPD6ZWL2_js.a(Ir,"extractFilterValue");var ae=new Set(["is_not","not_contains","none_of","is_empty"]),se={is_not:"is",not_contains:"contains",none_of:"any_of",is_empty:"is_not_empty"};function Pr(t){return ae.has(t)?"none":"any"}chunkDPD6ZWL2_js.a(Pr,"getOperatorPolarity");function kr(t){return se[t]??t}chunkDPD6ZWL2_js.a(kr,"normalizeForEdgeRpc");var it={is:"any_of",is_not:"none_of"};function Br(t){return it[t]??t}chunkDPD6ZWL2_js.a(Br,"toMultiValueOperator");var le=new Set(Object.values(it).filter(t=>t!==void 0));function nt(t){return le.has(t)}chunkDPD6ZWL2_js.a(nt,"isSetMembershipOperator");function at(t,r){let i=t.value;if(et(t.operator)||i==null||A(i))return;if(nt(t.operator)){Array.isArray(i)||(t.value=[i]);return}if(r!=="currency")return;let n=ot(i);if(n!==null){t.value=n;return}if(!ue(i))return;let a=`Filter on a currency attribute expected a numeric amount, received ${JSON.stringify(i)}`;throw new chunk72TQRSNX_js.h(a,[{path:["value"],message:a}])}chunkDPD6ZWL2_js.a(at,"canonicalizeFilterValue");function ue(t){return typeof t!="object"?true:"value"in t?t.value!=null:false}chunkDPD6ZWL2_js.a(ue,"hasCurrencyAmount");var ce={eq:"is",equals:"is",equal:"is","==":"is","=":"is",neq:"is_not",notEqual:"is_not",isNot:"is_not","!=":"is_not","<>":"is_not",lt:"less_than","<":"less_than",gt:"greater_than",">":"greater_than",lte:"less_or_equal","<=":"less_or_equal",gte:"greater_or_equal",">=":"greater_or_equal",in:"any_of",isAnyOf:"any_of",anyOf:"any_of",oneOf:"any_of",notIn:"none_of",not_in:"none_of",isNoneOf:"none_of",noneOf:"none_of",notOneOf:"none_of",startsWith:"starts_with",beginsWith:"starts_with",endsWith:"ends_with",doesNotContain:"not_contains",notContain:"not_contains",isEmpty:"is_empty",isNotEmpty:"is_not_empty"};function I(t){return ce[t]??t}chunkDPD6ZWL2_js.a(I,"normalizeOperator");function Wr(t){let r=I(t.operator);return r===t.operator?t:{...t,operator:r}}chunkDPD6ZWL2_js.a(Wr,"normalizeFilterRule");var pe=new Set(["days","weeks","months","years"]),de=new Set(["past","future"]);function v(t){if(typeof t!="object"||t===null)return false;let r=t;return typeof r.amount=="number"&&Number.isFinite(r.amount)&&r.amount>0&&typeof r.unit=="string"&&pe.has(r.unit)&&typeof r.direction=="string"&&de.has(r.direction)}chunkDPD6ZWL2_js.a(v,"isRelativeDateValue");function lt(t){return Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate())}chunkDPD6ZWL2_js.a(lt,"utcDayStart");function st(t,r,i){if(i==="days")return t+r*864e5;if(i==="weeks")return t+r*7*864e5;let n=new Date(t),a=n.getUTCFullYear()+(i==="years"?r:0),s=n.getUTCMonth()+(i==="months"?r:0),l=new Date(Date.UTC(a,s+1,0)).getUTCDate();return Date.UTC(a,s,Math.min(n.getUTCDate(),l))}chunkDPD6ZWL2_js.a(st,"shiftUtcDay");function Jr(t,r=new Date){if(!v(t))return null;let i=lt(r),n=Math.trunc(t.amount),a=t.direction==="past"?{startMs:st(i,-n,t.unit),endMs:i+864e5}:{startMs:i,endMs:st(i,n,t.unit)+864e5};return Number.isFinite(a.startMs)&&Number.isFinite(a.endMs)?a:null}chunkDPD6ZWL2_js.a(Jr,"resolveIsWithinBounds");function Hr(t){if(!Number.isFinite(t))return null;let r=lt(new Date(t));return Number.isFinite(r)?{startMs:r,endMs:r+864e5}:null}chunkDPD6ZWL2_js.a(Hr,"resolveUtcDayBounds");function Qr(t){return new Date(t).toISOString().slice(0,10)}chunkDPD6ZWL2_js.a(Qr,"toUtcDayString");var me=new Set(["relation","document","user"]),D=["is","is_not","any_of","none_of","is_empty","is_not_empty"],be={id:D,objectId:D,tenantId:D,label:f.text,createdAt:f.date,updatedAt:f.date,deletedAt:f.date,createdBy:f.user,lastUpdatedBy:f.user},ye={id:"text",objectId:"text",objectName:"text",tenantId:"text",label:"text",createdAt:"date",updatedAt:"date",deletedAt:"date",deletedBy:"user",createdBy:"user",lastUpdatedBy:"user",visibility:"select",ownedBy:"user"},B={before:'"less_than"',after:'"greater_than"',on_or_before:'"less_or_equal"',on_or_after:'"greater_or_equal"',is_checked:'"is" with value true',is_not_checked:'"is" with value false',day_month_eq:'"on_day_month"'},fe=new Set(Object.entries(y).filter(([,t])=>t.includes("any_of")&&!t.includes("contains")).map(([t])=>t)),he={contains:"any_of",not_contains:"none_of"};function P(t,r){let i=B[t];if(i){let s=`Unknown filter operator "${t}" \u2014 use ${i}`;throw new chunk72TQRSNX_js.h(s,[{path:["operator"],message:s}])}let n=I(t),a=he[n];if(a&&fe.has(r)){let s=`Operator "${n}" is not valid for type "${r}" \u2014 use "${a}"`;throw new chunk72TQRSNX_js.h(s,[{path:["operator"],message:s}])}return n}chunkDPD6ZWL2_js.a(P,"resolveCanonicalOperator");function ut(t,r,i){let n=P(t,r),a=f[r];if(!a?.includes(n)){let s=a?.length?a.join(", "):"(no operators registered for this type)",l=`Operator "${t}" is not valid for ${i} type "${r}". Valid operators: ${s}.`;throw new chunk72TQRSNX_js.h(l,[{path:["operator"],message:l}])}return n}chunkDPD6ZWL2_js.a(ut,"assertOperatorForType");function _e(t){if(t.operator==="is_within"&&!v(t.value)){let r='Operator "is_within" requires a relative-date value { amount: positive number, unit: days|weeks|months|years, direction: past|future }';throw new chunk72TQRSNX_js.h(r,[{path:["value"],message:r}])}}chunkDPD6ZWL2_js.a(_e,"assertRelativeDateValue");function E(t,r,i){t.operator=r,at(t,i),_e(t);}chunkDPD6ZWL2_js.a(E,"applyCanonicalForm");function ct(t,r){if(!A(t.value))return;let i=t.value;if(i.dynamic==="actor"&&r!=="user"){let n=`actor token (@me) is only valid on user attributes, not "${r}"`;throw new chunk72TQRSNX_js.h(n,[{path:["value"],message:n}])}if(i.dynamic==="date"&&r!=="date"){let n=`date token (@today/@now) is only valid on date attributes, not "${r}"`;throw new chunk72TQRSNX_js.h(n,[{path:["value"],message:n}])}}chunkDPD6ZWL2_js.a(ct,"assertDynamicValueForAttribute");var k=w.map(t=>`"${t}"`).join(", ");function ge(t){return t==="location"?` A location is filtered on one of its parts: set "property" to one of ${k} and use a text operator (e.g. contains).`:""}chunkDPD6ZWL2_js.a(ge,"locationPartsHint");function so(t,r){try{return Te({...t},r),[]}catch(i){if(!(i instanceof chunk72TQRSNX_js.h))throw i;return i.errors.map(n=>({...n,path:[...n.path]}))}}chunkDPD6ZWL2_js.a(so,"collectQualifiedRuleIssues");function Te(t,r){let i=r.attributes.find(u=>u.name===t.attribute),n=be[t.attribute];if(!(i||n)){let[u,...c]=t.attribute.split("."),_=(c.length>0?r.attributes.find(R=>R.name===u):void 0)?.type==="location"?` Dotted paths are not supported \u2014 set "attribute" to "${u}" and "property" to ${F(c[0]??"")?`"${c[0]}"`:`one of ${k}`}.`:t.attribute.includes(".")?' Dotted paths are not supported \u2014 filter on the attribute name alone, or use the full-text "query" parameter to match text inside a value.':"",T=`Unknown attribute: ${t.attribute}${_}`;throw new chunk72TQRSNX_js.h(T,[{path:["attribute"],message:T}])}if(t.quantifier!==void 0&&!t.property){let u='quantifier is only valid on qualified edge rules (set "property")';throw new chunk72TQRSNX_js.h(u,[{path:["quantifier"],message:u}])}if(!i){if(t.property)throw new chunk72TQRSNX_js.h(`Cannot qualify system attribute "${t.attribute}"`,[{path:["property"],message:`"${t.attribute}" is a system column, not a reference`}]);let u=ye[t.attribute]??"text",c=P(t.operator,u);if(!n.includes(c)){let h=`Operator "${t.operator}" is not valid for system attribute "${t.attribute}". Valid operators: ${n.join(", ")}.`;throw new chunk72TQRSNX_js.h(h,[{path:["operator"],message:h}])}E(t,c,u);return}if(!t.property){ct(t,i.type);let u=X(i),c=P(t.operator,i.type);if(!u.includes(c)){let h=u.length?u.join(", "):"(not filterable)",_=`Operator "${t.operator}" is not valid for attribute "${i.name}". Valid operators: ${h}.${ge(i.type)}`;throw new chunk72TQRSNX_js.h(_,[{path:["operator"],message:_}])}E(t,c,C(i));return}if(i.type==="location"){if(t.quantifier!==void 0){let c="quantifier is not valid on a location part \u2014 a location is one value, not a set of edges";throw new chunk72TQRSNX_js.h(c,[{path:["quantifier"],message:c}])}if(!F(t.property)){let c=`Property "${t.property}" is not a part of location "${t.attribute}". Valid parts: ${k}.`;throw new chunk72TQRSNX_js.h(c,[{path:["property"],message:c}])}ct(t,"text");let u=ut(t.operator,"text","property");E(t,u,"text");return}if(!me.has(i.type))throw new chunk72TQRSNX_js.h(`Cannot qualify ${i.type} attribute "${t.attribute}"`,[{path:["property"],message:`Attribute "${t.attribute}" is not a reference type`}]);let a=i.properties;if(!a)throw new chunk72TQRSNX_js.h(`Attribute "${t.attribute}" has no qualifyWith schema`,[{path:["property"],message:`"${t.attribute}" has no qualifyWith`}]);let s=a.definitions.find(u=>u.name===t.property);if(!s)throw new chunk72TQRSNX_js.h(`Property "${t.property}" not defined on "${t.attribute}".qualifyWith()`,[{path:["property"],message:`Unknown property: ${t.property}`}]);let l=ut(t.operator,s.type,"property");E(t,l,s.type);}chunkDPD6ZWL2_js.a(Te,"validateQualifiedRule");var L=["workspace","private"],pt=["all",...L];function po(t){if(typeof t=="string"&&L.includes(t))return t;throw new chunk72TQRSNX_js.h(`visibility must be one of: ${L.join(", ")} (received: ${String(t)})`,[])}chunkDPD6ZWL2_js.a(po,"parseResourceVisibility");var Se=["id","createdAt","updatedAt","createdBy","lastUpdatedBy","visibility","ownedBy"],mo=[...Se,"objectId","label","embeddingText","values","metadata","deletedAt","deletedBy","schemaVersion","owned_by"],bo=["skill"];var yt=zod.z.enum(["redirect","inline","peek"]),Ae=zod.z.array(zod.z.string()).min(1),x=zod.z.array(zod.z.string()).max(chunk47EGJRW7_js.a.columnsPerTab),Ee=zod.z.array(zod.z.string().min(1)).max(chunk47EGJRW7_js.a.columnsPerTab).refine(t=>new Set(t).size===t.length,{message:"Displayed attribute names must be unique"}),xe=zod.z.object({attribute:zod.z.string(),direction:zod.z.enum(["asc","desc"])}).strict(),ft=zod.z.array(xe).max(chunk47EGJRW7_js.a.sortsPerTab),Re=zod.z.object({amount:zod.z.number(),unit:zod.z.enum(["days","weeks","months","years"]),direction:zod.z.enum(["past","future"])}).strict(),Oe=zod.z.object({value:zod.z.number().nullable(),code:zod.z.array(zod.z.string()).optional()}).strict(),we=zod.z.object({phoneNumber:zod.z.string().nullable(),countryCode:zod.z.string().optional()}).strict(),Fe=zod.z.discriminatedUnion("dynamic",[zod.z.object({dynamic:zod.z.literal("actor"),ref:zod.z.literal("current")}).strict(),zod.z.object({dynamic:zod.z.literal("date"),anchor:zod.z.enum(["today","now"])}).strict()]),Ce=zod.z.object({month:zod.z.number(),day:zod.z.number()}).strict(),Ve=zod.z.union([zod.z.string(),zod.z.number(),zod.z.boolean(),zod.z.array(zod.z.string()),Re,Oe,we,Ce,Fe,zod.z.null()]),Ie=zod.z.enum(["is","is_not","contains","not_contains","starts_with","ends_with","is_empty","is_not_empty","less_than","greater_than","less_or_equal","greater_or_equal","is_within","on_day_month","any_of","none_of"],{error:chunkDPD6ZWL2_js.a(t=>{let r=t.input,i=typeof r=="string"?B[r]:void 0;return i?`Unknown filter operator "${r}" \u2014 use ${i}`:void 0},"error")}),ve=zod.z.object({attribute:zod.z.string(),property:zod.z.string().optional(),quantifier:zod.z.enum(["any","none"]).optional(),operator:Ie,value:Ve}).strict(),ht=zod.z.array(ve).max(chunk47EGJRW7_js.a.filterRulesPerTab),De=zod.z.object({combinator:zod.z.enum(["and","or"]),rules:ht}).strict(),_t=zod.z.object({id:zod.z.string(),combinator:zod.z.enum(["and","or"]),rules:ht}).strict();function j(t,r,i=[]){let n=new Set;t.forEach((a,s)=>{n.has(a.id)&&r.addIssue({code:"custom",message:`Duplicate id "${a.id}"`,path:[...i,s,"id"]}),n.add(a.id);});}chunkDPD6ZWL2_js.a(j,"addDuplicateIdIssues");function Pe(t,r,i=[]){let n=new Set;t.forEach((a,s)=>{n.has(a.name)&&r.addIssue({code:"custom",message:`Duplicate name "${a.name}"`,path:[...i,s,"name"]}),n.add(a.name);});}chunkDPD6ZWL2_js.a(Pe,"addDuplicateNameIssues");var ke=zod.z.object({id:zod.z.string(),label:zod.z.string(),description:zod.z.string().optional(),attributes:Ae,displayTemplate:zod.z.string().optional()}).strict(),Be={span:zod.z.union([zod.z.literal(1),zod.z.literal(2),zod.z.literal(3),zod.z.literal(4),zod.z.literal(5),zod.z.literal(6),zod.z.literal(7),zod.z.literal(8),zod.z.literal(9),zod.z.literal(10),zod.z.literal(11),zod.z.literal(12)]).optional(),label:zod.z.string().optional(),readOnly:zod.z.boolean().optional()},gt={attribute:zod.z.string().optional(),attributeGroup:ke.optional(),...Be};function Tt(t,r){t.attribute===void 0==(t.attributeGroup===void 0)&&r.addIssue({code:"custom",message:"A field must define exactly one of attribute or attributeGroup"});}chunkDPD6ZWL2_js.a(Tt,"refineField");var Le=zod.z.object({id:zod.z.string().optional(),...gt}).strict().superRefine(Tt),Ao=zod.z.object({id:zod.z.string().min(1),...gt}).strict().superRefine(Tt),je={id:zod.z.string(),label:zod.z.string(),description:zod.z.string().optional(),collapsible:zod.z.boolean().optional(),collapsed:zod.z.boolean().optional(),order:zod.z.number().optional()},Ne=zod.z.object({...je,type:zod.z.literal("fields"),fields:zod.z.array(Le).max(chunk47EGJRW7_js.a.fieldsPerGroup)}).strict(),Me=Ne,b={id:zod.z.string(),name:zod.z.string(),label:zod.z.string(),icon:chunk47EGJRW7_js.c.optional(),order:zod.z.number().optional()},St=zod.z.array(Me).max(chunk47EGJRW7_js.a.groupsPerFormTab),At={...b,type:zod.z.literal("form"),groups:St,formColumns:zod.z.union([zod.z.literal(1),zod.z.literal(2),zod.z.literal(3)]).optional(),density:zod.z.enum(["compact","comfortable","spacious"]).optional()},Ue=zod.z.object(At).strict();function Et(t,r){j(t.groups,r,["groups"]),t.groups.reduce((a,s)=>a+(s.type==="fields"?s.fields.length:0),0)>chunk47EGJRW7_js.a.fieldsPerFormTab&&r.addIssue({code:"too_big",origin:"array",maximum:chunk47EGJRW7_js.a.fieldsPerFormTab,inclusive:true,message:`A form tab can contain at most ${chunk47EGJRW7_js.a.fieldsPerFormTab} fields`,path:["groups"]});let n=new Set;t.groups.forEach((a,s)=>{a.type==="fields"&&a.fields.forEach((l,u)=>{if(l.attributeGroup===void 0)return;let{id:c}=l.attributeGroup;n.has(c)&&r.addIssue({code:"custom",message:`Duplicate attribute group id "${c}"`,path:["groups",s,"fields",u,"attributeGroup","id"]}),n.add(c);});});}chunkDPD6ZWL2_js.a(Et,"refineFormTab");var qe=zod.z.object({...At,groups:St.min(1)}).strict().superRefine(Et),$e=Ue.superRefine(Et),xt=zod.z.object({type:zod.z.literal("relation"),attribute:zod.z.string()}).strict(),Rt=zod.z.object({type:zod.z.literal("inverse"),object:zod.z.string(),attribute:zod.z.string()}).strict(),Ot=zod.z.discriminatedUnion("type",[xt,Rt]),ze=zod.z.object({...b,type:zod.z.literal("table"),source:Ot,columns:x,allowCreate:zod.z.boolean().optional(),createMode:yt.optional(),allowEdit:zod.z.boolean().optional(),allowDelete:zod.z.boolean().optional(),filters:De.optional(),sorts:ft.optional()}).strict(),dt=64,mt=1e4;function bt(t){let r=Object.getPrototypeOf(t);return r===Object.prototype||r===null}chunkDPD6ZWL2_js.a(bt,"isPlainJsonObject");function m(t,r,i=[]){t.addIssue({code:"custom",message:r,path:i});}chunkDPD6ZWL2_js.a(m,"addJsonIssue");function Ye(t,r,i,n){for(let a of Reflect.ownKeys(t))if(a!=="length"){if(a==="__proto__"){m(n,"The __proto__ key is not allowed in custom props",[...r.path,a]);continue}(typeof a=="symbol"||!/^(0|[1-9]\d*)$/.test(a))&&m(n,"Arrays cannot contain non-index JSON properties",[...r.path,a]);}for(let a=t.length-1;a>=0;a--){let s=Object.getOwnPropertyDescriptor(t,String(a)),l=[...r.path,a];if(!(s&&"value"in s)){m(n,"Sparse arrays are not valid JSON values",l);continue}i.push({kind:"enter",value:s.value,path:l,depth:r.depth+1});}}chunkDPD6ZWL2_js.a(Ye,"pushJsonArrayChildren");function We(t,r,i,n){let a=Reflect.ownKeys(t);for(let s=a.length-1;s>=0;s--){let l=a[s],u=[...r.path,l];if(l==="__proto__"){m(n,"The __proto__ key is not allowed in custom props",u);continue}if(typeof l=="symbol"){m(n,"Symbol keys are not valid JSON keys",u);continue}let c=Object.getOwnPropertyDescriptor(t,l);if(!(c?.enumerable&&"value"in c)){m(n,"Custom props must contain enumerable data properties only",u);continue}i.push({kind:"enter",value:c.value,path:u,depth:r.depth+1});}}chunkDPD6ZWL2_js.a(We,"pushJsonObjectChildren");function Ge(t,r){if(t===null||typeof t!="object"){m(r,"Expected a plain JSON object");return}try{if(Array.isArray(t)||!bt(t)){m(r,"Expected a plain JSON object");return}}catch{m(r,"Custom props contain an object that cannot be safely inspected");return}let i=new WeakSet,n=[{kind:"enter",value:t,path:[],depth:0}],a=0;for(;n.length>0;){let s=n.pop();if(!s)break;if(s.kind==="exit"){i.delete(s.value);continue}if(a++,a>mt){m(r,`Custom props cannot exceed ${mt.toLocaleString("en-US")} total JSON nodes`,s.path);return}if(s.depth>dt){m(r,`Custom props cannot exceed depth ${dt}`,s.path);continue}let l=s.value;if(!(l===null||typeof l=="string"||typeof l=="boolean"||typeof l=="number"&&Number.isFinite(l))){if(typeof l!="object"){m(r,"Expected a JSON value",s.path);continue}if(i.has(l)){m(r,"Custom props cannot contain circular references",s.path);continue}try{if(Array.isArray(l)){i.add(l),n.push({kind:"exit",value:l}),Ye(l,s,n,r);continue}if(!bt(l)){m(r,"Expected an array or plain JSON object",s.path);continue}i.add(l),n.push({kind:"exit",value:l}),We(l,s,n,r);}catch{m(r,"Custom props contain an object that cannot be safely inspected",s.path);}}}}chunkDPD6ZWL2_js.a(Ge,"validateJsonProps");var Ke=zod.z.unknown().superRefine(Ge).transform(t=>t),Je=zod.z.object({...b,type:zod.z.literal("custom"),component:zod.z.string(),props:Ke.optional()}).strict(),He=zod.z.object({...b,type:zod.z.literal("activity"),limit:zod.z.number().optional()}).strict(),Qe=zod.z.object({...b,type:zod.z.literal("richtext"),attribute:zod.z.string(),titleAttribute:zod.z.string().optional()}).strict(),Xe=zod.z.object({...b,type:zod.z.literal("documents"),allowUpload:zod.z.boolean().optional(),allowRemove:zod.z.boolean().optional(),hideAttachments:zod.z.boolean().optional()}).strict(),Ze=zod.z.object({...b,type:zod.z.literal("forms"),objectName:zod.z.string().optional()}).strict(),tr=zod.z.object({...b,type:zod.z.literal("emails"),emailAttributeIds:zod.z.array(zod.z.string()).max(chunk47EGJRW7_js.a.emailAttributesPerTab)}).strict(),er=zod.z.object({...b,type:zod.z.literal("meetings"),emailAttributeIds:zod.z.array(zod.z.string()).max(chunk47EGJRW7_js.a.emailAttributesPerTab)}).strict(),wt=[ze,Je,He,Qe,Xe,Ze,tr,er],Ft=zod.z.discriminatedUnion("type",[qe,...wt]),Eo=zod.z.discriminatedUnion("type",[$e,...wt]),N={id:zod.z.string(),label:zod.z.string(),icon:chunk47EGJRW7_js.c.optional(),default:zod.z.boolean().optional(),visibility:zod.z.enum(pt).default("all"),columns:x,descriptionAttribute:zod.z.string().min(1).optional(),displayAttributes:Ee.optional(),filters:_t.optional(),sorts:ft.optional(),readOnly:zod.z.boolean().optional(),createMode:yt.optional()},rr=zod.z.object({...N,layout:zod.z.literal("table"),columnSizing:zod.z.record(zod.z.string(),zod.z.number()).optional(),groupByAttribute:zod.z.string().min(1).optional()}).strict(),or=zod.z.object({...N,layout:zod.z.literal("kanban"),columns:x.default([]),groupByAttribute:zod.z.string(),cardUserAttribute:zod.z.string().optional(),cardDateAttribute:zod.z.string().optional(),kanbanColumnOrder:zod.z.array(zod.z.string()).optional(),kanbanColumnVisibility:zod.z.record(zod.z.string(),zod.z.boolean()).optional(),kanbanPinnedColumns:zod.z.array(zod.z.string()).optional()}).strict(),ir=zod.z.object({...N,layout:zod.z.literal("list"),columns:x.default([]),columnSizing:zod.z.record(zod.z.string(),zod.z.number()).optional(),groupByAttribute:zod.z.string().min(1).optional()}).strict(),Ct=zod.z.discriminatedUnion("layout",[rr,ir,or]),nr=zod.z.object({allowPresentationCustomization:zod.z.boolean().optional(),defaultFilters:_t.optional(),tabs:zod.z.array(Ct).min(1).max(chunk47EGJRW7_js.a.tabsPerView)}).strict().superRefine((t,r)=>{j(t.tabs,r,["tabs"]);let i=false;t.tabs.forEach((n,a)=>{n.layout!=="kanban"&&n.groupByAttribute!==void 0&&t.allowPresentationCustomization!==true&&r.addIssue({code:"unrecognized_keys",keys:["groupByAttribute"],path:["tabs",a]}),n.default&&(i&&r.addIssue({code:"custom",message:"Only one list tab can be the default",path:["tabs",a,"default"]}),i=true);});}),ar=zod.z.discriminatedUnion("kind",[zod.z.object({kind:zod.z.literal("fields"),id:zod.z.string().optional(),label:zod.z.string().optional(),attributes:zod.z.array(zod.z.string()).max(chunk47EGJRW7_js.a.sidePanelAttributes)}).strict(),zod.z.object({kind:zod.z.literal("activity"),id:zod.z.string().optional(),label:zod.z.string().optional()}).strict(),zod.z.object({kind:zod.z.literal("documents"),id:zod.z.string(),label:zod.z.string().optional(),allowUpload:zod.z.boolean().optional(),allowRemove:zod.z.boolean().optional()}).strict()]),sr=zod.z.object({tabs:zod.z.array(Ft).min(1).max(chunk47EGJRW7_js.a.tabsPerView),readOnly:zod.z.boolean().optional(),sidePanel:zod.z.object({attributes:zod.z.array(zod.z.string()).max(chunk47EGJRW7_js.a.sidePanelAttributes).optional(),panes:zod.z.array(ar).max(chunk47EGJRW7_js.a.sidePanelPanes).optional(),width:zod.z.number().optional()}).strict().refine(t=>t.attributes!==void 0||t.panes!==void 0,{message:"sidePanel requires attributes or panes"}).refine(t=>t.panes===void 0||t.panes.length>0,{message:"sidePanel panes must not be empty"}).refine(t=>t.attributes===void 0||t.panes===void 0,{message:"sidePanel takes attributes or panes, not both"}).optional()}).strict().superRefine((t,r)=>{j(t.tabs,r,["tabs"]),Pe(t.tabs,r,["tabs"]);}),M=nr,U=sr,xo=zod.z.enum(["list","detail"]);var Vt=zod.z.discriminatedUnion("type",[zod.z.object({type:zod.z.literal("list"),config:M}).strict(),zod.z.object({type:zod.z.literal("detail"),config:U}).strict()]);function lr(t,r){switch(t){case "list":return M.parse(r);case "detail":return U.parse(r);default:return Vt.parse({type:t,config:r}).config}}chunkDPD6ZWL2_js.a(lr,"parseViewConfig");var Ro=["columnSizing"],Oo=["groupByAttribute","cardUserAttribute","cardDateAttribute","kanbanColumnOrder","kanbanColumnVisibility","kanbanPinnedColumns"];exports.$=_t;exports.A=bo;exports.B=A;exports.C=Or;exports.D=wr;exports.E=Fr;exports.F=ot;exports.G=Ir;exports.H=Pr;exports.I=kr;exports.J=Br;exports.K=nt;exports.L=at;exports.M=ce;exports.N=I;exports.O=Wr;exports.P=v;exports.Q=Jr;exports.R=Hr;exports.S=Qr;exports.T=ye;exports.U=B;exports.V=so;exports.W=Te;exports.X=x;exports.Y=Ee;exports.Z=ft;exports._=De;exports.a=Pt;exports.aa=gt;exports.b=ur;exports.ba=Le;exports.c=kt;exports.ca=Ao;exports.d=cr;exports.da=Me;exports.e=G;exports.ea=xt;exports.f=w;exports.fa=Rt;exports.g=F;exports.ga=Ot;exports.h=br;exports.ha=Ft;exports.i=y;exports.ia=Eo;exports.j=g;exports.ja=Ct;exports.k=X;exports.ka=M;exports.l=yr;exports.la=U;exports.m=fr;exports.ma=xo;exports.n=hr;exports.na=Vt;exports.o=_r;exports.oa=lr;exports.p=gr;exports.pa=Ro;exports.q=C;exports.qa=Oo;exports.r=f;exports.s=ne;exports.t=et;exports.u=Er;exports.v=L;exports.w=pt;exports.x=po;exports.y=Se;exports.z=mo;
|
package/dist/exceptions.d.mts
CHANGED
package/dist/exceptions.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { A as Attribute } from './attributes-
|
|
3
|
-
import { V as ValidationMessages, a as ValidationResult } from './types-
|
|
4
|
-
import { O as ObjectDefinition } from './objects-
|
|
2
|
+
import { A as Attribute } from './attributes-Zw-DDGE7.mjs';
|
|
3
|
+
import { V as ValidationMessages, a as ValidationResult } from './types-M5L07ItN.mjs';
|
|
4
|
+
import { O as ObjectDefinition } from './objects-CmdtJjMN.mjs';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Create a Zod schema for any attribute type.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { A as Attribute } from './attributes-
|
|
3
|
-
import { V as ValidationMessages, a as ValidationResult } from './types-
|
|
4
|
-
import { O as ObjectDefinition } from './objects-
|
|
2
|
+
import { A as Attribute } from './attributes-DfhBu4HT.js';
|
|
3
|
+
import { V as ValidationMessages, a as ValidationResult } from './types-R2f1GdCB.js';
|
|
4
|
+
import { O as ObjectDefinition } from './objects-DyVm3xIi.js';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Create a Zod schema for any attribute type.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { A as Attribute, g as AttributeType, f as RollupAttribute } from './attributes-
|
|
2
|
+
import { A as Attribute, g as AttributeType, f as RollupAttribute } from './attributes-DfhBu4HT.js';
|
|
3
3
|
import { IconName } from '@stndrds/constants';
|
|
4
|
-
import { L as ListViewTabVisibility } from './objects-
|
|
4
|
+
import { L as ListViewTabVisibility } from './objects-DyVm3xIi.js';
|
|
5
5
|
|
|
6
6
|
/** Operators for text-based attributes */
|
|
7
7
|
type TextFilterOperator = "is" | "is_not" | "contains" | "not_contains" | "starts_with" | "ends_with" | "is_empty" | "is_not_empty";
|
|
@@ -528,6 +528,8 @@ interface DetailViewConfig {
|
|
|
528
528
|
tabs: Tab[];
|
|
529
529
|
/** Optional side panel with flat attribute fields */
|
|
530
530
|
sidePanel?: SidePanelConfig;
|
|
531
|
+
/** Render the whole record detail surface without mutation affordances. */
|
|
532
|
+
readOnly?: boolean;
|
|
531
533
|
}
|
|
532
534
|
/**
|
|
533
535
|
* Configuration for list views (RecordsView)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { A as Attribute, g as AttributeType, f as RollupAttribute } from './attributes-
|
|
2
|
+
import { A as Attribute, g as AttributeType, f as RollupAttribute } from './attributes-Zw-DDGE7.mjs';
|
|
3
3
|
import { IconName } from '@stndrds/constants';
|
|
4
|
-
import { L as ListViewTabVisibility } from './objects-
|
|
4
|
+
import { L as ListViewTabVisibility } from './objects-CmdtJjMN.mjs';
|
|
5
5
|
|
|
6
6
|
/** Operators for text-based attributes */
|
|
7
7
|
type TextFilterOperator = "is" | "is_not" | "contains" | "not_contains" | "starts_with" | "ends_with" | "is_empty" | "is_not_empty";
|
|
@@ -528,6 +528,8 @@ interface DetailViewConfig {
|
|
|
528
528
|
tabs: Tab[];
|
|
529
529
|
/** Optional side panel with flat attribute fields */
|
|
530
530
|
sidePanel?: SidePanelConfig;
|
|
531
|
+
/** Render the whole record detail surface without mutation affordances. */
|
|
532
|
+
readOnly?: boolean;
|
|
531
533
|
}
|
|
532
534
|
/**
|
|
533
535
|
* Configuration for list views (RecordsView)
|