@stndrds/schema 1.0.0-alpha.303 → 1.0.0-alpha.306

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.
Files changed (67) hide show
  1. package/dist/{all-EX5romwn.d.mts → all-B5F4Ucq4.d.mts} +25 -3
  2. package/dist/{all-BV7tFgtR.d.ts → all-D9yoIfEk.d.ts} +25 -3
  3. package/dist/{attributes-CJNqalP0.d.mts → attributes-B_khA3fi.d.mts} +12 -4
  4. package/dist/{attributes-CJNqalP0.d.ts → attributes-B_khA3fi.d.ts} +12 -4
  5. package/dist/chunk-D7GNAYHI.mjs +2 -0
  6. package/dist/chunk-GL4DMIU4.mjs +2 -0
  7. package/dist/chunk-INYZJR7M.js +2 -0
  8. package/dist/chunk-NJQVVPC5.js +2 -0
  9. package/dist/exceptions.d.mts +1 -1
  10. package/dist/exceptions.d.ts +1 -1
  11. package/dist/{helpers-DIWzq1cf.d.ts → helpers-BKinvyuR.d.ts} +3 -3
  12. package/dist/{helpers-BnyKRb4x.d.mts → helpers-BqSFb28c.d.mts} +3 -3
  13. package/dist/{index-DcXCAPHR.d.mts → index-BjQ1n6i2.d.mts} +21 -4
  14. package/dist/{index-B36J5GDI.d.ts → index-DkJ7IaQx.d.ts} +21 -4
  15. package/dist/index.d.mts +271 -35
  16. package/dist/index.d.ts +271 -35
  17. package/dist/index.js +19 -19
  18. package/dist/index.mjs +18 -18
  19. package/dist/{objects-DglxOigU.d.mts → objects-DLkL-wPr.d.mts} +1 -1
  20. package/dist/{objects-CfJvQbZc.d.ts → objects-F9rhbUPZ.d.ts} +1 -1
  21. package/dist/{types-Co8cq3dM.d.mts → types-B6oO_Fkh.d.mts} +1 -1
  22. package/dist/{types-CEwRsyh0.d.ts → types-ce2p4cgi.d.ts} +1 -1
  23. package/dist/utils.d.mts +1 -1
  24. package/dist/utils.d.ts +1 -1
  25. package/dist/utils.js +1 -1
  26. package/dist/utils.mjs +1 -1
  27. package/dist/validation/all.d.mts +6 -6
  28. package/dist/validation/all.d.ts +6 -6
  29. package/dist/validation/all.js +1 -1
  30. package/dist/validation/all.mjs +1 -1
  31. package/dist/validation/complex/currency.d.mts +2 -2
  32. package/dist/validation/complex/currency.d.ts +2 -2
  33. package/dist/validation/complex/location.d.mts +2 -2
  34. package/dist/validation/complex/location.d.ts +2 -2
  35. package/dist/validation/complex/phone.d.mts +2 -2
  36. package/dist/validation/complex/phone.d.ts +2 -2
  37. package/dist/validation/complex/relation.d.mts +2 -2
  38. package/dist/validation/complex/relation.d.ts +2 -2
  39. package/dist/validation/complex/richtext.d.mts +2 -2
  40. package/dist/validation/complex/richtext.d.ts +2 -2
  41. package/dist/validation/complex/select.d.mts +2 -2
  42. package/dist/validation/complex/select.d.ts +2 -2
  43. package/dist/validation/complex/user.d.mts +2 -2
  44. package/dist/validation/complex/user.d.ts +2 -2
  45. package/dist/validation/computed/formula.d.mts +2 -2
  46. package/dist/validation/computed/formula.d.ts +2 -2
  47. package/dist/validation/computed/rollup.d.mts +2 -2
  48. package/dist/validation/computed/rollup.d.ts +2 -2
  49. package/dist/validation/config/index.d.mts +3 -3
  50. package/dist/validation/config/index.d.ts +3 -3
  51. package/dist/validation/core/index.d.mts +3 -3
  52. package/dist/validation/core/index.d.ts +3 -3
  53. package/dist/validation/object/index.d.mts +4 -4
  54. package/dist/validation/object/index.d.ts +4 -4
  55. package/dist/validation/primitives/checkbox.d.mts +2 -2
  56. package/dist/validation/primitives/checkbox.d.ts +2 -2
  57. package/dist/validation/primitives/date.d.mts +2 -2
  58. package/dist/validation/primitives/date.d.ts +2 -2
  59. package/dist/validation/primitives/number.d.mts +2 -2
  60. package/dist/validation/primitives/number.d.ts +2 -2
  61. package/dist/validation/primitives/text.d.mts +2 -2
  62. package/dist/validation/primitives/text.d.ts +2 -2
  63. package/package.json +2 -2
  64. package/dist/chunk-CCB4E55H.mjs +0 -2
  65. package/dist/chunk-JKGRSRRX.js +0 -2
  66. package/dist/chunk-VY5UBDTO.js +0 -2
  67. package/dist/chunk-WBFUAEWU.mjs +0 -2
@@ -1,8 +1,8 @@
1
- import './types-Co8cq3dM.mjs';
1
+ import './types-B6oO_Fkh.mjs';
2
2
  import './validation/core/index.mjs';
3
- import { D as DetailViewConfig, i as ListViewConfig, V as ViewType, a as ViewConfig } from './index-DcXCAPHR.mjs';
3
+ import { D as DetailViewConfig, i as ListViewConfig, V as ViewType, a as ViewConfig } from './index-BjQ1n6i2.mjs';
4
4
  import { z } from 'zod';
5
- import './helpers-BnyKRb4x.mjs';
5
+ import './helpers-BqSFb28c.mjs';
6
6
 
7
7
  declare const SCHEMA_LIMITS: {
8
8
  readonly attributesPerObject: 300;
@@ -326,6 +326,10 @@ declare const detailTabSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
326
326
  redirect: "redirect";
327
327
  peek: "peek";
328
328
  }>>;
329
+ openMode: z.ZodOptional<z.ZodEnum<{
330
+ side: "side";
331
+ page: "page";
332
+ }>>;
329
333
  allowEdit: z.ZodOptional<z.ZodBoolean>;
330
334
  allowDelete: z.ZodOptional<z.ZodBoolean>;
331
335
  filters: z.ZodOptional<z.ZodObject<{
@@ -434,6 +438,7 @@ declare const detailTabSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
434
438
  allowUpload: z.ZodOptional<z.ZodBoolean>;
435
439
  allowRemove: z.ZodOptional<z.ZodBoolean>;
436
440
  hideAttachments: z.ZodOptional<z.ZodBoolean>;
441
+ relations: z.ZodOptional<z.ZodArray<z.ZodString>>;
437
442
  id: z.ZodString;
438
443
  name: z.ZodString;
439
444
  label: z.ZodString;
@@ -522,6 +527,10 @@ declare const detailTabDraftSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
522
527
  redirect: "redirect";
523
528
  peek: "peek";
524
529
  }>>;
530
+ openMode: z.ZodOptional<z.ZodEnum<{
531
+ side: "side";
532
+ page: "page";
533
+ }>>;
525
534
  allowEdit: z.ZodOptional<z.ZodBoolean>;
526
535
  allowDelete: z.ZodOptional<z.ZodBoolean>;
527
536
  filters: z.ZodOptional<z.ZodObject<{
@@ -630,6 +639,7 @@ declare const detailTabDraftSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
630
639
  allowUpload: z.ZodOptional<z.ZodBoolean>;
631
640
  allowRemove: z.ZodOptional<z.ZodBoolean>;
632
641
  hideAttachments: z.ZodOptional<z.ZodBoolean>;
642
+ relations: z.ZodOptional<z.ZodArray<z.ZodString>>;
633
643
  id: z.ZodString;
634
644
  name: z.ZodString;
635
645
  label: z.ZodString;
@@ -753,6 +763,10 @@ declare const listViewTabSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
753
763
  redirect: "redirect";
754
764
  peek: "peek";
755
765
  }>>;
766
+ openMode: z.ZodOptional<z.ZodEnum<{
767
+ side: "side";
768
+ page: "page";
769
+ }>>;
756
770
  }, z.core.$strict>, z.ZodObject<{
757
771
  layout: z.ZodLiteral<"list">;
758
772
  columns: z.ZodDefault<z.ZodArray<z.ZodString>>;
@@ -846,6 +860,10 @@ declare const listViewTabSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
846
860
  redirect: "redirect";
847
861
  peek: "peek";
848
862
  }>>;
863
+ openMode: z.ZodOptional<z.ZodEnum<{
864
+ side: "side";
865
+ page: "page";
866
+ }>>;
849
867
  }, z.core.$strict>, z.ZodObject<{
850
868
  layout: z.ZodLiteral<"kanban">;
851
869
  columns: z.ZodDefault<z.ZodArray<z.ZodString>>;
@@ -943,6 +961,10 @@ declare const listViewTabSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
943
961
  redirect: "redirect";
944
962
  peek: "peek";
945
963
  }>>;
964
+ openMode: z.ZodOptional<z.ZodEnum<{
965
+ side: "side";
966
+ page: "page";
967
+ }>>;
946
968
  }, z.core.$strict>], "layout">;
947
969
  declare const listViewConfigSchema: z.ZodType<ListViewConfig>;
948
970
  declare const detailViewConfigSchema: z.ZodType<DetailViewConfig>;
@@ -1,8 +1,8 @@
1
- import './types-CEwRsyh0.js';
1
+ import './types-ce2p4cgi.js';
2
2
  import './validation/core/index.js';
3
- import { D as DetailViewConfig, i as ListViewConfig, V as ViewType, a as ViewConfig } from './index-B36J5GDI.js';
3
+ import { D as DetailViewConfig, i as ListViewConfig, V as ViewType, a as ViewConfig } from './index-DkJ7IaQx.js';
4
4
  import { z } from 'zod';
5
- import './helpers-DIWzq1cf.js';
5
+ import './helpers-BKinvyuR.js';
6
6
 
7
7
  declare const SCHEMA_LIMITS: {
8
8
  readonly attributesPerObject: 300;
@@ -326,6 +326,10 @@ declare const detailTabSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
326
326
  redirect: "redirect";
327
327
  peek: "peek";
328
328
  }>>;
329
+ openMode: z.ZodOptional<z.ZodEnum<{
330
+ side: "side";
331
+ page: "page";
332
+ }>>;
329
333
  allowEdit: z.ZodOptional<z.ZodBoolean>;
330
334
  allowDelete: z.ZodOptional<z.ZodBoolean>;
331
335
  filters: z.ZodOptional<z.ZodObject<{
@@ -434,6 +438,7 @@ declare const detailTabSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
434
438
  allowUpload: z.ZodOptional<z.ZodBoolean>;
435
439
  allowRemove: z.ZodOptional<z.ZodBoolean>;
436
440
  hideAttachments: z.ZodOptional<z.ZodBoolean>;
441
+ relations: z.ZodOptional<z.ZodArray<z.ZodString>>;
437
442
  id: z.ZodString;
438
443
  name: z.ZodString;
439
444
  label: z.ZodString;
@@ -522,6 +527,10 @@ declare const detailTabDraftSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
522
527
  redirect: "redirect";
523
528
  peek: "peek";
524
529
  }>>;
530
+ openMode: z.ZodOptional<z.ZodEnum<{
531
+ side: "side";
532
+ page: "page";
533
+ }>>;
525
534
  allowEdit: z.ZodOptional<z.ZodBoolean>;
526
535
  allowDelete: z.ZodOptional<z.ZodBoolean>;
527
536
  filters: z.ZodOptional<z.ZodObject<{
@@ -630,6 +639,7 @@ declare const detailTabDraftSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
630
639
  allowUpload: z.ZodOptional<z.ZodBoolean>;
631
640
  allowRemove: z.ZodOptional<z.ZodBoolean>;
632
641
  hideAttachments: z.ZodOptional<z.ZodBoolean>;
642
+ relations: z.ZodOptional<z.ZodArray<z.ZodString>>;
633
643
  id: z.ZodString;
634
644
  name: z.ZodString;
635
645
  label: z.ZodString;
@@ -753,6 +763,10 @@ declare const listViewTabSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
753
763
  redirect: "redirect";
754
764
  peek: "peek";
755
765
  }>>;
766
+ openMode: z.ZodOptional<z.ZodEnum<{
767
+ side: "side";
768
+ page: "page";
769
+ }>>;
756
770
  }, z.core.$strict>, z.ZodObject<{
757
771
  layout: z.ZodLiteral<"list">;
758
772
  columns: z.ZodDefault<z.ZodArray<z.ZodString>>;
@@ -846,6 +860,10 @@ declare const listViewTabSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
846
860
  redirect: "redirect";
847
861
  peek: "peek";
848
862
  }>>;
863
+ openMode: z.ZodOptional<z.ZodEnum<{
864
+ side: "side";
865
+ page: "page";
866
+ }>>;
849
867
  }, z.core.$strict>, z.ZodObject<{
850
868
  layout: z.ZodLiteral<"kanban">;
851
869
  columns: z.ZodDefault<z.ZodArray<z.ZodString>>;
@@ -943,6 +961,10 @@ declare const listViewTabSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
943
961
  redirect: "redirect";
944
962
  peek: "peek";
945
963
  }>>;
964
+ openMode: z.ZodOptional<z.ZodEnum<{
965
+ side: "side";
966
+ page: "page";
967
+ }>>;
946
968
  }, z.core.$strict>], "layout">;
947
969
  declare const listViewConfigSchema: z.ZodType<ListViewConfig>;
948
970
  declare const detailViewConfigSchema: z.ZodType<DetailViewConfig>;
@@ -657,7 +657,7 @@ declare function isObjectReferencedError(error: unknown): error is ObjectReferen
657
657
  * | `undefined` entry | omit | omit | omit |
658
658
  * | top-level / array `undefined`, `NaN` | `null` | refuse | `null` |
659
659
  * | `function` / `symbol` / `bigint` | refuse | refuse | coerce to its string |
660
- * | `Date`, `Map`, class instance | own entries (see #3406) | refuse | own entries |
660
+ * | `Date`, `Map`, class instance | refuse (#3406) | refuse | own entries |
661
661
  * | enumerable accessor | read it | refuse | skip it |
662
662
  * | error raised | `ValidationError` | `NonJsonValueError` | `NonJsonValueError` |
663
663
  *
@@ -665,7 +665,11 @@ declare function isObjectReferencedError(error: unknown): error is ObjectReferen
665
665
  * hash alike. A drift comparison must tolerate: it runs at boot against data
666
666
  * that already exists, and refusing there turns a cosmetic false-drift into a
667
667
  * server that will not start. The public traversal is the older contract, kept
668
- * byte-for-byte because `@stndrds/client` and `@stndrds/reflex` hash with it.
668
+ * byte-for-byte for the JSON it always accepted, because `@stndrds/client` and
669
+ * `@stndrds/reflex` hash with it — and, since #3406, refusing a `Date`, `Map`
670
+ * or `Set` instead of emitting `{}`: it is a content identity, and flattening
671
+ * made two different instants hash alike. `toJSON` is deliberately not
672
+ * honoured (Karl, 2026-09-07: « 1 — Refuser »); the caller pre-projects.
669
673
  *
670
674
  * On genuinely JSON-compatible input all three emit the same bytes, so every
671
675
  * stored hash still matches — with one measured exception against
@@ -687,8 +691,12 @@ declare class NonJsonValueError extends SchemaError {
687
691
  * and `@stndrds/reflex` — the output must stay byte-identical for equivalent
688
692
  * inputs regardless of key insertion order or jsonb storage round-trips.
689
693
  *
690
- * @throws {ValidationError} On circular references or unsupported value types
691
- * (functions, symbols, bigint).
694
+ * @throws {ValidationError} On circular references, unsupported value types
695
+ * (functions, symbols, bigint), and on a `Date`, `Map`, `Set` or any other
696
+ * non-plain object — it is a content identity, and those carry no own
697
+ * enumerable entry, so emitting them as `{}` made two different values hash
698
+ * alike (#3406). Project such a value yourself (`date.toISOString()`,
699
+ * `[...map]`) before hashing it.
692
700
  */
693
701
  declare function canonicalStringify(value: unknown): string;
694
702
  /**
@@ -657,7 +657,7 @@ declare function isObjectReferencedError(error: unknown): error is ObjectReferen
657
657
  * | `undefined` entry | omit | omit | omit |
658
658
  * | top-level / array `undefined`, `NaN` | `null` | refuse | `null` |
659
659
  * | `function` / `symbol` / `bigint` | refuse | refuse | coerce to its string |
660
- * | `Date`, `Map`, class instance | own entries (see #3406) | refuse | own entries |
660
+ * | `Date`, `Map`, class instance | refuse (#3406) | refuse | own entries |
661
661
  * | enumerable accessor | read it | refuse | skip it |
662
662
  * | error raised | `ValidationError` | `NonJsonValueError` | `NonJsonValueError` |
663
663
  *
@@ -665,7 +665,11 @@ declare function isObjectReferencedError(error: unknown): error is ObjectReferen
665
665
  * hash alike. A drift comparison must tolerate: it runs at boot against data
666
666
  * that already exists, and refusing there turns a cosmetic false-drift into a
667
667
  * server that will not start. The public traversal is the older contract, kept
668
- * byte-for-byte because `@stndrds/client` and `@stndrds/reflex` hash with it.
668
+ * byte-for-byte for the JSON it always accepted, because `@stndrds/client` and
669
+ * `@stndrds/reflex` hash with it — and, since #3406, refusing a `Date`, `Map`
670
+ * or `Set` instead of emitting `{}`: it is a content identity, and flattening
671
+ * made two different instants hash alike. `toJSON` is deliberately not
672
+ * honoured (Karl, 2026-09-07: « 1 — Refuser »); the caller pre-projects.
669
673
  *
670
674
  * On genuinely JSON-compatible input all three emit the same bytes, so every
671
675
  * stored hash still matches — with one measured exception against
@@ -687,8 +691,12 @@ declare class NonJsonValueError extends SchemaError {
687
691
  * and `@stndrds/reflex` — the output must stay byte-identical for equivalent
688
692
  * inputs regardless of key insertion order or jsonb storage round-trips.
689
693
  *
690
- * @throws {ValidationError} On circular references or unsupported value types
691
- * (functions, symbols, bigint).
694
+ * @throws {ValidationError} On circular references, unsupported value types
695
+ * (functions, symbols, bigint), and on a `Date`, `Map`, `Set` or any other
696
+ * non-plain object — it is a content identity, and those carry no own
697
+ * enumerable entry, so emitting them as `{}` made two different values hash
698
+ * alike (#3406). Project such a value yourself (`date.toISOString()`,
699
+ * `[...map]`) before hashing it.
692
700
  */
693
701
  declare function canonicalStringify(value: unknown): string;
694
702
  /**
@@ -0,0 +1,2 @@
1
+ import {a as a$1,c}from'./chunk-GKMHYCAM.mjs';import {h}from'./chunk-55SG6IBQ.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 Bt={createdAt:"createdAt",updatedAt:"updatedAt",createdBy:"createdBy",lastUpdatedBy:"lastUpdatedBy",attachments:"attachments"};function cr(t){return Bt[t]}a(cr,"getSystemAttributeI18nKey");var Lt={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 dr(){return Object.values(Lt)}a(dr,"getSystemAttributeList");function K(t){return t.id?.startsWith("system:")??false}a(K,"isManagedSystemAttribute");var X=["is","is_not","contains","not_contains","starts_with","ends_with","is_empty","is_not_empty"],J=["is","is_not","less_than","greater_than","less_or_equal","greater_or_equal","is_empty","is_not_empty"],Nt=["is"],jt=["is","is_not","less_than","greater_than","less_or_equal","greater_or_equal","is_within","on_day_month","is_empty","is_not_empty"],H=["is","is_not","any_of","none_of","is_empty","is_not_empty"],Mt=["any_of","none_of","is_empty","is_not_empty"],Q=["is","is_not","any_of","none_of","is_empty","is_not_empty"],Ut=["is_empty","is_not_empty"],qt=["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 C(t){return w.includes(t)}a(C,"isLocationFilterProperty");function fr(t){return X.includes(t)}a(fr,"isLocationPartOperator");var b={text:X,richtext:[],number:J,checkbox:Nt,date:jt,phone:["is","is_not","contains","not_contains","starts_with","is_empty","is_not_empty"],currency:J,status:H,select:H,multiselect:Mt,location:[],user:Q,relation:Q,formula:qt,document:Ut},$t=new Set(["formula","rollup"]),zt=new Set(["user","relation","document"]),Yt=new Set(["text","richtext","number","select","multiselect","status","date","phone","currency","location","user","relation","document"]),Wt=new Set(["text","number","date","phone","currency","select","multiselect"]),Gt=new Set(["text","phone","status","select","multiselect"]),Kt=new Set(["text","number","checkbox","date","phone","currency","status","select"]);function g(t){let r=!!(t.hidden||t.archived),i=!t.archived,n=$t.has(t.type),a=t.type==="document",s=zt.has(t.type),l=Ht(t),u=r?[]:Jt(t),p=u.length>0&&!r,_=!r&&Gt.has(t.type),h=!r&&Kt.has(t.type),T=!r&&ne(t.type),R=!r&&t.type==="status",Dt=K(t),$=n||a||Dt,O=!(r||$),Pt=te(t.type)?"forbidden":"allowed",kt=ee(t.type),z=Xt(t),Y=Wt.has(t.type),W=!!(t.deprecated&&!r),G=ie(t);return {lifecycle:{active:i,deprecated:!!t.deprecated,visibleInArchitect:true,visibleInRuntime:!r,warningWhenDeprecated:W},storage:{mode:n?"computed":s?"edge":"value",cardinality:l,edgeBacked:s,preservesExistingValues:!!t.archived,qualifiedProperties:Zt(t.type),polymorphic:Qt(t),maxItems:z},authoring:{editable:O,readOnly:$,directEdit:O&&G==="inline",required:Pt,defaultValue:kt,placeholder:Y,maxItems:z},presentation:{formField:!r&&oe(t.type),tableCell:!r&&tt(t.type),defaultColumn:!r&&re(t.type),compactDisplay:!r,popoverEditor:!r&&G==="popover",placeholder:Y,warningWhenDeprecated:W},query:{filterable:p,searchable:_,sortable:h,groupable:T,kanbanGroupable:R,operators:u},agent:{readable:!r,writable:O&&!a,compactReadable:!r,contentReadable:!r&&ae(t.type),requiresDedicatedTool:a},exchange:{importable:!r,exportable:!r,schemaExportable:true,metadataExportable:false}}}a(g,"getAttributeCapabilities");function Z(t){return g(t).query.operators}a(Z,"getAttributeFilterOperators");function _r(t){return g(t).query.filterable}a(_r,"isAttributeFilterable");function hr(t){return g(t).query.searchable}a(hr,"isAttributeSearchable");function gr(t){return g(t).query.sortable}a(gr,"isAttributeSortable");function Tr(t){return g(t).query.groupable}a(Tr,"isAttributeGroupable");function Sr(t){return g(t).query.kanbanGroupable}a(Sr,"isAttributeKanbanGroupable");function F(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&&et(i))return i}return "number"}a(F,"resolveEffectiveFilterType");function V(t){let r=F(t);return et(r)?b[r]:b.number}a(V,"getRollupFilterOperators");function Jt(t){return t.type==="rollup"?V(t):b[t.type]??[]}a(Jt,"getRawFilterOperators");function Ht(t){return t.type==="multiselect"||t.type==="document"||t.type==="user"&&t.multiple===true||t.type==="relation"&&t.cardinality==="many"?"many":"one"}a(Ht,"getAttributeCardinality");function Qt(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(Qt,"getPolymorphicCapability");function Xt(t){return t.type==="multiselect"?true:t.type==="relation"?t.cardinality==="many":false}a(Xt,"supportsMaxItems");function Zt(t){return t==="relation"||t==="document"}a(Zt,"supportsQualifiedProperties");function te(t){return t==="checkbox"||t==="formula"||t==="rollup"}a(te,"isRequiredForbidden");function ee(t){return t==="checkbox"?"automatic":t==="formula"||t==="rollup"?"forbidden":Yt.has(t)?"static":"forbidden"}a(ee,"getDefaultValueCapability");function re(t){return tt(t)}a(re,"isDefaultColumnType");function tt(t){return t!=="richtext"&&t!=="document"}a(tt,"isTableCellType");function oe(t){return t!=="richtext"}a(oe,"isFormFieldType");function ie(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(ie,"resolveEditMode");function ne(t){return t==="status"||t==="currency"}a(ne,"isGroupableType");function ae(t){return t==="richtext"||t==="document"}a(ae,"isContentReadableType");function et(t){return Object.prototype.hasOwnProperty.call(b,t)}a(et,"hasFilterOperatorEntry");var f=b,se=["is_empty","is_not_empty"];function rt(t){return se.includes(t)}a(rt,"isNoValueOperator");function Rr(t){return V(t)}a(Rr,"getRollupFilterOperators");function A(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)&&"dynamic"in t}a(A,"isDynamicValue");function Cr(){return {dynamic:"actor",ref:"current"}}a(Cr,"currentActor");function Fr(){return {dynamic:"date",anchor:"today"}}a(Fr,"today");function Vr(){return {dynamic:"date",anchor:"now"}}a(Vr,"now");function ot(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(ot,"toAmount");function it(t){return t!==null&&typeof t=="object"?"value"in t?ot(t.value):null:ot(t)}a(it,"extractCurrencyFilterValue");function Dr(t){return t==null?null:typeof t=="object"&&"value"in t?t.value??null:t}a(Dr,"extractFilterValue");var le=new Set(["is_not","not_contains","none_of","is_empty"]),ue={is_not:"is",not_contains:"contains",none_of:"any_of",is_empty:"is_not_empty"};function Br(t){return le.has(t)?"none":"any"}a(Br,"getOperatorPolarity");function Lr(t){return ue[t]??t}a(Lr,"normalizeForEdgeRpc");var nt={is:"any_of",is_not:"none_of"};function Nr(t){return nt[t]??t}a(Nr,"toMultiValueOperator");var pe=new Set(Object.values(nt).filter(t=>t!==void 0));function at(t){return pe.has(t)}a(at,"isSetMembershipOperator");function st(t,r){let i=t.value;if(rt(t.operator)||i==null||A(i))return;if(at(t.operator)){Array.isArray(i)||(t.value=[i]);return}if(r!=="currency")return;let n=it(i);if(n!==null){t.value=n;return}if(!ce(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(st,"canonicalizeFilterValue");function ce(t){return typeof t!="object"?true:"value"in t?t.value!=null:false}a(ce,"hasCurrencyAmount");var de={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 de[t]??t}a(I,"normalizeOperator");function Kr(t){let r=I(t.operator);return r===t.operator?t:{...t,operator:r}}a(Kr,"normalizeFilterRule");var me=new Set(["days","weeks","months","years"]),ye=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"&&me.has(r.unit)&&typeof r.direction=="string"&&ye.has(r.direction)}a(v,"isRelativeDateValue");function ut(t){return Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate())}a(ut,"utcDayStart");function lt(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(lt,"shiftUtcDay");function Qr(t,r=new Date){if(!v(t))return null;let i=ut(r),n=Math.trunc(t.amount),a=t.direction==="past"?{startMs:lt(i,-n,t.unit),endMs:i+864e5}:{startMs:i,endMs:lt(i,n,t.unit)+864e5};return Number.isFinite(a.startMs)&&Number.isFinite(a.endMs)?a:null}a(Qr,"resolveIsWithinBounds");function Xr(t){if(!Number.isFinite(t))return null;let r=ut(new Date(t));return Number.isFinite(r)?{startMs:r,endMs:r+864e5}:null}a(Xr,"resolveUtcDayBounds");function Zr(t){return new Date(t).toISOString().slice(0,10)}a(Zr,"toUtcDayString");var be=new Set(["relation","document","user"]),D=["is","is_not","any_of","none_of","is_empty","is_not_empty"],fe={id:D,objectId:D,tenantId:D,label:f.text,createdAt:f.date,updatedAt:f.date,deletedAt:f.date,createdBy:f.user,lastUpdatedBy:f.user},_e={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"'},he=new Set(Object.entries(b).filter(([,t])=>t.includes("any_of")&&!t.includes("contains")).map(([t])=>t)),ge={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=ge[n];if(a&&he.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 pt(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(pt,"assertOperatorForType");function Te(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(Te,"assertRelativeDateValue");function E(t,r,i){t.operator=r,st(t,i),Te(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 Se(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(Se,"locationPartsHint");function uo(t,r){try{return Ae({...t},r),[]}catch(i){if(!(i instanceof h))throw i;return i.errors.map(n=>({...n,path:[...n.path]}))}}a(uo,"collectQualifiedRuleIssues");function Ae(t,r){let i=r.attributes.find(u=>u.name===t.attribute),n=fe[t.attribute];if(!(i||n)){let[u,...p]=t.attribute.split("."),h$1=(p.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 ${C(p[0]??"")?`"${p[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}${h$1}`;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=_e[t.attribute]??"text",p=P(t.operator,u);if(!n.includes(p)){let _=`Operator "${t.operator}" is not valid for system attribute "${t.attribute}". Valid operators: ${n.join(", ")}.`;throw new h(_,[{path:["operator"],message:_}])}E(t,p,u);return}if(!t.property){ct(t,i.type);let u=Z(i),p=P(t.operator,i.type);if(!u.includes(p)){let _=u.length?u.join(", "):"(not filterable)",h$1=`Operator "${t.operator}" is not valid for attribute "${i.name}". Valid operators: ${_}.${Se(i.type)}`;throw new h(h$1,[{path:["operator"],message:h$1}])}E(t,p,F(i));return}if(i.type==="location"){if(t.quantifier!==void 0){let p="quantifier is not valid on a location part \u2014 a location is one value, not a set of edges";throw new h(p,[{path:["quantifier"],message:p}])}if(!C(t.property)){let p=`Property "${t.property}" is not a part of location "${t.attribute}". Valid parts: ${k}.`;throw new h(p,[{path:["property"],message:p}])}ct(t,"text");let u=pt(t.operator,"text","property");E(t,u,"text");return}if(!be.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=pt(t.operator,s.type,"property");E(t,l,s.type);}a(Ae,"validateQualifiedRule");var L=["skill","memory","drives","artifact","meeting"];function mo(t){return L.includes(t)}a(mo,"isNativeObjectName");var N=["workspace","private"],dt=["all",...N];function ho(t){if(typeof t=="string"&&N.includes(t))return t;throw new h(`visibility must be one of: ${N.join(", ")} (received: ${String(t)})`,[])}a(ho,"parseResourceVisibility");var Ee=["id","createdAt","updatedAt","createdBy","lastUpdatedBy","visibility","ownedBy"],go=[...Ee,"objectId","label","embeddingText","values","metadata","deletedAt","deletedBy","schemaVersion","owned_by"],To=L;var ft=z.enum(["redirect","inline","peek"]),_t=z.enum(["side","page"]),xe=z.array(z.string()).min(1),x=z.array(z.string()).max(a$1.columnsPerTab),Re=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"}),Oe=z.object({attribute:z.string(),direction:z.enum(["asc","desc"])}).strict(),ht=z.array(Oe).max(a$1.sortsPerTab),we=z.object({amount:z.number(),unit:z.enum(["days","weeks","months","years"]),direction:z.enum(["past","future"])}).strict(),Ce=z.object({value:z.number().nullable(),code:z.array(z.string()).optional()}).strict(),Fe=z.object({phoneNumber:z.string().nullable(),countryCode:z.string().optional()}).strict(),Ve=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()]),Ie=z.object({month:z.number(),day:z.number()}).strict(),ve=z.union([z.string(),z.number(),z.boolean(),z.array(z.string()),we,Ce,Fe,Ie,Ve,z.null()]),De=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")}),Pe=z.object({attribute:z.string(),property:z.string().optional(),quantifier:z.enum(["any","none"]).optional(),operator:De,value:ve}).strict(),gt=z.array(Pe).max(a$1.filterRulesPerTab),ke=z.object({combinator:z.enum(["and","or"]),rules:gt}).strict(),Tt=z.object({id:z.string(),combinator:z.enum(["and","or"]),rules:gt}).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 Be(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(Be,"addDuplicateNameIssues");var Le=z.object({id:z.string(),label:z.string(),description:z.string().optional(),attributes:xe,displayTemplate:z.string().optional()}).strict(),Ne={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()},St={attribute:z.string().optional(),attributeGroup:Le.optional(),...Ne};function At(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(At,"refineField");var je=z.object({id:z.string().optional(),...St}).strict().superRefine(At),Co=z.object({id:z.string().min(1),...St}).strict().superRefine(At),Me={id:z.string(),label:z.string(),description:z.string().optional(),collapsible:z.boolean().optional(),collapsed:z.boolean().optional(),order:z.number().optional()},Ue=z.object({...Me,type:z.literal("fields"),fields:z.array(je).max(a$1.fieldsPerGroup)}).strict(),qe=Ue,y={id:z.string(),name:z.string(),label:z.string(),icon:c.optional(),order:z.number().optional()},Et=z.array(qe).max(a$1.groupsPerFormTab),xt={...y,type:z.literal("form"),groups:Et,formColumns:z.union([z.literal(1),z.literal(2),z.literal(3)]).optional(),density:z.enum(["compact","comfortable","spacious"]).optional()},$e=z.object(xt).strict();function Rt(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:p}=l.attributeGroup;n.has(p)&&r.addIssue({code:"custom",message:`Duplicate attribute group id "${p}"`,path:["groups",s,"fields",u,"attributeGroup","id"]}),n.add(p);});});}a(Rt,"refineFormTab");var ze=z.object({...xt,groups:Et.min(1)}).strict().superRefine(Rt),Ye=$e.superRefine(Rt),Ot=z.object({type:z.literal("relation"),attribute:z.string()}).strict(),wt=z.object({type:z.literal("inverse"),object:z.string(),attribute:z.string()}).strict(),Ct=z.discriminatedUnion("type",[Ot,wt]),We=z.object({...y,type:z.literal("table"),source:Ct,columns:x,allowCreate:z.boolean().optional(),createMode:ft.optional(),openMode:_t.optional(),allowEdit:z.boolean().optional(),allowDelete:z.boolean().optional(),filters:ke.optional(),sorts:ht.optional()}).strict(),mt=64,yt=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 Ge(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(Ge,"pushJsonArrayChildren");function Ke(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 p=Object.getOwnPropertyDescriptor(t,l);if(!(p?.enumerable&&"value"in p)){m(n,"Custom props must contain enumerable data properties only",u);continue}i.push({kind:"enter",value:p.value,path:u,depth:r.depth+1});}}a(Ke,"pushJsonObjectChildren");function Je(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>yt){m(r,`Custom props cannot exceed ${yt.toLocaleString("en-US")} total JSON nodes`,s.path);return}if(s.depth>mt){m(r,`Custom props cannot exceed depth ${mt}`,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}),Ge(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}),Ke(l,s,n,r);}catch{m(r,"Custom props contain an object that cannot be safely inspected",s.path);}}}}a(Je,"validateJsonProps");var He=z.unknown().superRefine(Je).transform(t=>t),Qe=z.object({...y,type:z.literal("custom"),component:z.string(),props:He.optional()}).strict(),Xe=z.object({...y,type:z.literal("activity"),limit:z.number().optional()}).strict(),Ze=z.object({...y,type:z.literal("richtext"),attribute:z.string(),titleAttribute:z.string().optional()}).strict(),tr=z.object({...y,type:z.literal("documents"),allowUpload:z.boolean().optional(),allowRemove:z.boolean().optional(),hideAttachments:z.boolean().optional(),relations:z.array(z.string()).optional()}).strict(),er=z.object({...y,type:z.literal("forms"),objectName:z.string().optional()}).strict(),rr=z.object({...y,type:z.literal("emails"),emailAttributeIds:z.array(z.string()).max(a$1.emailAttributesPerTab)}).strict(),or=z.object({...y,type:z.literal("meetings"),emailAttributeIds:z.array(z.string()).max(a$1.emailAttributesPerTab)}).strict(),Ft=[We,Qe,Xe,Ze,tr,er,rr,or],Vt=z.discriminatedUnion("type",[ze,...Ft]),Fo=z.discriminatedUnion("type",[Ye,...Ft]),M={id:z.string(),label:z.string(),icon:c.optional(),default:z.boolean().optional(),visibility:z.enum(dt).default("all"),columns:x,descriptionAttribute:z.string().min(1).optional(),displayAttributes:Re.optional(),filters:Tt.optional(),sorts:ht.optional(),readOnly:z.boolean().optional(),createMode:ft.optional(),openMode:_t.optional()},ir=z.object({...M,layout:z.literal("table"),columnSizing:z.record(z.string(),z.number()).optional(),groupByAttribute:z.string().min(1).optional()}).strict(),nr=z.object({...M,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(),ar=z.object({...M,layout:z.literal("list"),columns:x.default([]),columnSizing:z.record(z.string(),z.number()).optional(),groupByAttribute:z.string().min(1).optional()}).strict(),It=z.discriminatedUnion("layout",[ir,ar,nr]),sr=z.object({allowPresentationCustomization:z.boolean().optional(),defaultFilters:Tt.optional(),tabs:z.array(It).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);});}),lr=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()]),ur=z.object({tabs:z.array(Vt).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(lr).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"]),Be(t.tabs,r,["tabs"]);}),U=sr,q=ur,Vo=z.enum(["list","detail"]);var vt=z.discriminatedUnion("type",[z.object({type:z.literal("list"),config:U}).strict(),z.object({type:z.literal("detail"),config:q}).strict()]);function pr(t,r){switch(t){case "list":return U.parse(r);case "detail":return q.parse(r);default:return vt.parse({type:t,config:r}).config}}a(pr,"parseViewConfig");var Io=["columnSizing"],vo=["groupByAttribute","cardUserAttribute","cardDateAttribute","kanbanColumnOrder","kanbanColumnVisibility","kanbanPinnedColumns"];export{ht as $,Ee as A,go as B,To as C,A as D,Cr as E,Fr as F,Vr as G,it as H,Dr as I,Br as J,Lr as K,Nr as L,at as M,st as N,de as O,I as P,Kr as Q,v as R,Qr as S,Xr as T,Zr as U,_e as V,B as W,uo as X,Ae as Y,x as Z,Re as _,Bt as a,ke as aa,cr as b,Tt as ba,Lt as c,St as ca,dr as d,je as da,K as e,Co as ea,w as f,qe as fa,C as g,Ot as ga,fr as h,wt as ha,b as i,Ct as ia,g as j,Vt as ja,Z as k,Fo as ka,_r as l,It as la,hr as m,U as ma,gr as n,q as na,Tr as o,Vo as oa,Sr as p,vt as pa,F as q,pr as qa,f as r,Io as ra,se as s,vo as sa,rt as t,Rr as u,L as v,mo as w,N as x,dt as y,ho as z};
@@ -0,0 +1,2 @@
1
+ import {h as h$1,b,a as a$1}from'./chunk-55SG6IBQ.mjs';import {a}from'./chunk-KSPJP74K.mjs';/*! © 2025-2026 AND YOU CREATE SAS (RCS Paris 940 190 614). Proprietary — see LICENSE (Standards SDK License 1.0). */
2
+ var l=class l extends b{constructor(){super("Value must contain only JSON-compatible values",a$1.VALIDATION_FAILED),this.name="NonJsonValueError";}};a(l,"NonJsonValueError");var p=l,f=a(()=>new p,"nonJsonValue"),g={refuseNonJson:true,refuseNonPlainObject:true,refuseUnrepresentableType:true,readAccessors:false,unrepresentable:f,circular:f},w={refuseNonJson:false,refuseNonPlainObject:false,refuseUnrepresentableType:false,readAccessors:false,unrepresentable:f,circular:f},O={refuseNonJson:false,refuseNonPlainObject:true,refuseUnrepresentableType:true,readAccessors:true,unrepresentable:a(e=>new h$1(`Cannot canonicalize ${h(e)}`,[]),"unrepresentable"),circular:a(()=>new h$1("Cannot canonicalize circular structure",[]),"circular")};function h(e){if(typeof e!="object"||e===null)return `value of type ${typeof e}`;let n=e.constructor?.name;return typeof n=="string"&&n.length>0?`a ${n} value`:"a non-plain object"}a(h,"describeUnrepresentable");function j(e){let n=Object.getPrototypeOf(e);return n===Object.prototype||n===null}a(j,"isPlainObject");function m(e,n){if(Object.getPrototypeOf(e)!==Array.prototype||Object.getOwnPropertySymbols(e).length>0)throw n.unrepresentable(e);let r=Object.getOwnPropertyNames(e);if(r.length!==e.length+1||!r.includes("length"))throw n.unrepresentable(e);for(let s=0;s<e.length;s+=1){let t=Object.getOwnPropertyDescriptor(e,String(s));if(t===void 0||!("value"in t)||t.enumerable!==true)throw n.unrepresentable(e)}}a(m,"assertArrayShape");function N(e,n){if(n.refuseNonJson&&Object.getOwnPropertySymbols(e).length>0)throw n.unrepresentable(e);let r=[];for(let s of Object.getOwnPropertyNames(e)){let t=Object.getOwnPropertyDescriptor(e,s);if(t===void 0||t.enumerable!==true){if(n.refuseNonJson)throw n.unrepresentable(e);continue}if(!("value"in t)){if(n.refuseNonJson)throw n.unrepresentable(e);if(!n.readAccessors)continue;let i=e[s];if(i===void 0)continue;r.push([s,i]);continue}t.value!==void 0&&r.push([s,t.value]);}return r.sort(([s],[t])=>s<t?-1:s>t?1:0)}a(N,"sortedEntries");function u(e,n,r){if(e===null)return "null";if(e===void 0){if(n.refuseNonJson)throw n.unrepresentable(e);return "null"}if(typeof e=="boolean"||typeof e=="string")return JSON.stringify(e);if(typeof e=="number"){if(Number.isFinite(e))return JSON.stringify(e);if(n.refuseNonJson)throw n.unrepresentable(e);return "null"}if(typeof e!="object"){if(n.refuseNonJson||n.refuseUnrepresentableType)throw n.unrepresentable(e);return JSON.stringify(String(e))}if(r.has(e))throw n.circular();r.add(e);try{if(Array.isArray(e)){n.refuseNonJson&&m(e,n);let t=[];for(let i=0;i<e.length;i+=1)t.push(u(e[i],n,r));return `[${t.join(",")}]`}if(n.refuseNonPlainObject&&!j(e))throw n.unrepresentable(e);return `{${N(e,n).map(([t,i])=>`${JSON.stringify(t)}:${u(i,n,r)}`).join(",")}}`}finally{r.delete(e);}}a(u,"serialize");function J(e){return u(e,O,new Set)}a(J,"canonicalStringify");function y(e){return u(e,w,new Set)}a(y,"serializeStableJson");function S(e){return u(e,g,new Set)}a(S,"serializeCanonicalJson");function k(e,n){return y(e)===y(n)}a(k,"sameStableValue");function I(e){return e}a(I,"asTenantId");function U(e){return e}a(U,"asUserId");function E(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let n=Math.random()*16|0;return (e==="x"?n:n&3|8).toString(16)})}a(E,"generateId");function B(e,n){return new Map(e.map(r=>[n(r),r]))}a(B,"indexBy");function x(e,n){if(e===n)return true;if(e==null||n==null||typeof e!=typeof n)return false;if(Array.isArray(e))return !Array.isArray(n)||e.length!==n.length?false:e.every((r,s)=>x(r,n[s]));if(typeof e=="object"&&typeof n=="object"){let r=e,s=n,t=Object.keys(r),i=Object.keys(s);return t.length!==i.length?false:t.every(a=>a in s&&x(r[a],s[a]))}return false}a(x,"deepEqual");export{p as a,J as b,y as c,S as d,k as e,I as f,U as g,E as h,B as i,x as j};
@@ -0,0 +1,2 @@
1
+ 'use strict';var chunkPKJYAV5U_js=require('./chunk-PKJYAV5U.js'),chunkGZUTZAPU_js=require('./chunk-GZUTZAPU.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 Bt={createdAt:"createdAt",updatedAt:"updatedAt",createdBy:"createdBy",lastUpdatedBy:"lastUpdatedBy",attachments:"attachments"};function cr(t){return Bt[t]}chunkDPD6ZWL2_js.a(cr,"getSystemAttributeI18nKey");var Lt={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 dr(){return Object.values(Lt)}chunkDPD6ZWL2_js.a(dr,"getSystemAttributeList");function K(t){return t.id?.startsWith("system:")??false}chunkDPD6ZWL2_js.a(K,"isManagedSystemAttribute");var X=["is","is_not","contains","not_contains","starts_with","ends_with","is_empty","is_not_empty"],J=["is","is_not","less_than","greater_than","less_or_equal","greater_or_equal","is_empty","is_not_empty"],Nt=["is"],jt=["is","is_not","less_than","greater_than","less_or_equal","greater_or_equal","is_within","on_day_month","is_empty","is_not_empty"],H=["is","is_not","any_of","none_of","is_empty","is_not_empty"],Mt=["any_of","none_of","is_empty","is_not_empty"],Q=["is","is_not","any_of","none_of","is_empty","is_not_empty"],Ut=["is_empty","is_not_empty"],qt=["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 C(t){return w.includes(t)}chunkDPD6ZWL2_js.a(C,"isLocationFilterProperty");function fr(t){return X.includes(t)}chunkDPD6ZWL2_js.a(fr,"isLocationPartOperator");var b={text:X,richtext:[],number:J,checkbox:Nt,date:jt,phone:["is","is_not","contains","not_contains","starts_with","is_empty","is_not_empty"],currency:J,status:H,select:H,multiselect:Mt,location:[],user:Q,relation:Q,formula:qt,document:Ut},$t=new Set(["formula","rollup"]),zt=new Set(["user","relation","document"]),Yt=new Set(["text","richtext","number","select","multiselect","status","date","phone","currency","location","user","relation","document"]),Wt=new Set(["text","number","date","phone","currency","select","multiselect"]),Gt=new Set(["text","phone","status","select","multiselect"]),Kt=new Set(["text","number","checkbox","date","phone","currency","status","select"]);function g(t){let r=!!(t.hidden||t.archived),i=!t.archived,n=$t.has(t.type),a=t.type==="document",s=zt.has(t.type),l=Ht(t),u=r?[]:Jt(t),p=u.length>0&&!r,_=!r&&Gt.has(t.type),h=!r&&Kt.has(t.type),T=!r&&ne(t.type),R=!r&&t.type==="status",Dt=K(t),$=n||a||Dt,O=!(r||$),Pt=te(t.type)?"forbidden":"allowed",kt=ee(t.type),z=Xt(t),Y=Wt.has(t.type),W=!!(t.deprecated&&!r),G=ie(t);return {lifecycle:{active:i,deprecated:!!t.deprecated,visibleInArchitect:true,visibleInRuntime:!r,warningWhenDeprecated:W},storage:{mode:n?"computed":s?"edge":"value",cardinality:l,edgeBacked:s,preservesExistingValues:!!t.archived,qualifiedProperties:Zt(t.type),polymorphic:Qt(t),maxItems:z},authoring:{editable:O,readOnly:$,directEdit:O&&G==="inline",required:Pt,defaultValue:kt,placeholder:Y,maxItems:z},presentation:{formField:!r&&oe(t.type),tableCell:!r&&tt(t.type),defaultColumn:!r&&re(t.type),compactDisplay:!r,popoverEditor:!r&&G==="popover",placeholder:Y,warningWhenDeprecated:W},query:{filterable:p,searchable:_,sortable:h,groupable:T,kanbanGroupable:R,operators:u},agent:{readable:!r,writable:O&&!a,compactReadable:!r,contentReadable:!r&&ae(t.type),requiresDedicatedTool:a},exchange:{importable:!r,exportable:!r,schemaExportable:true,metadataExportable:false}}}chunkDPD6ZWL2_js.a(g,"getAttributeCapabilities");function Z(t){return g(t).query.operators}chunkDPD6ZWL2_js.a(Z,"getAttributeFilterOperators");function _r(t){return g(t).query.filterable}chunkDPD6ZWL2_js.a(_r,"isAttributeFilterable");function hr(t){return g(t).query.searchable}chunkDPD6ZWL2_js.a(hr,"isAttributeSearchable");function gr(t){return g(t).query.sortable}chunkDPD6ZWL2_js.a(gr,"isAttributeSortable");function Tr(t){return g(t).query.groupable}chunkDPD6ZWL2_js.a(Tr,"isAttributeGroupable");function Sr(t){return g(t).query.kanbanGroupable}chunkDPD6ZWL2_js.a(Sr,"isAttributeKanbanGroupable");function F(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&&et(i))return i}return "number"}chunkDPD6ZWL2_js.a(F,"resolveEffectiveFilterType");function V(t){let r=F(t);return et(r)?b[r]:b.number}chunkDPD6ZWL2_js.a(V,"getRollupFilterOperators");function Jt(t){return t.type==="rollup"?V(t):b[t.type]??[]}chunkDPD6ZWL2_js.a(Jt,"getRawFilterOperators");function Ht(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(Ht,"getAttributeCardinality");function Qt(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(Qt,"getPolymorphicCapability");function Xt(t){return t.type==="multiselect"?true:t.type==="relation"?t.cardinality==="many":false}chunkDPD6ZWL2_js.a(Xt,"supportsMaxItems");function Zt(t){return t==="relation"||t==="document"}chunkDPD6ZWL2_js.a(Zt,"supportsQualifiedProperties");function te(t){return t==="checkbox"||t==="formula"||t==="rollup"}chunkDPD6ZWL2_js.a(te,"isRequiredForbidden");function ee(t){return t==="checkbox"?"automatic":t==="formula"||t==="rollup"?"forbidden":Yt.has(t)?"static":"forbidden"}chunkDPD6ZWL2_js.a(ee,"getDefaultValueCapability");function re(t){return tt(t)}chunkDPD6ZWL2_js.a(re,"isDefaultColumnType");function tt(t){return t!=="richtext"&&t!=="document"}chunkDPD6ZWL2_js.a(tt,"isTableCellType");function oe(t){return t!=="richtext"}chunkDPD6ZWL2_js.a(oe,"isFormFieldType");function ie(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(ie,"resolveEditMode");function ne(t){return t==="status"||t==="currency"}chunkDPD6ZWL2_js.a(ne,"isGroupableType");function ae(t){return t==="richtext"||t==="document"}chunkDPD6ZWL2_js.a(ae,"isContentReadableType");function et(t){return Object.prototype.hasOwnProperty.call(b,t)}chunkDPD6ZWL2_js.a(et,"hasFilterOperatorEntry");var f=b,se=["is_empty","is_not_empty"];function rt(t){return se.includes(t)}chunkDPD6ZWL2_js.a(rt,"isNoValueOperator");function Rr(t){return V(t)}chunkDPD6ZWL2_js.a(Rr,"getRollupFilterOperators");function A(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)&&"dynamic"in t}chunkDPD6ZWL2_js.a(A,"isDynamicValue");function Cr(){return {dynamic:"actor",ref:"current"}}chunkDPD6ZWL2_js.a(Cr,"currentActor");function Fr(){return {dynamic:"date",anchor:"today"}}chunkDPD6ZWL2_js.a(Fr,"today");function Vr(){return {dynamic:"date",anchor:"now"}}chunkDPD6ZWL2_js.a(Vr,"now");function ot(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(ot,"toAmount");function it(t){return t!==null&&typeof t=="object"?"value"in t?ot(t.value):null:ot(t)}chunkDPD6ZWL2_js.a(it,"extractCurrencyFilterValue");function Dr(t){return t==null?null:typeof t=="object"&&"value"in t?t.value??null:t}chunkDPD6ZWL2_js.a(Dr,"extractFilterValue");var le=new Set(["is_not","not_contains","none_of","is_empty"]),ue={is_not:"is",not_contains:"contains",none_of:"any_of",is_empty:"is_not_empty"};function Br(t){return le.has(t)?"none":"any"}chunkDPD6ZWL2_js.a(Br,"getOperatorPolarity");function Lr(t){return ue[t]??t}chunkDPD6ZWL2_js.a(Lr,"normalizeForEdgeRpc");var nt={is:"any_of",is_not:"none_of"};function Nr(t){return nt[t]??t}chunkDPD6ZWL2_js.a(Nr,"toMultiValueOperator");var pe=new Set(Object.values(nt).filter(t=>t!==void 0));function at(t){return pe.has(t)}chunkDPD6ZWL2_js.a(at,"isSetMembershipOperator");function st(t,r){let i=t.value;if(rt(t.operator)||i==null||A(i))return;if(at(t.operator)){Array.isArray(i)||(t.value=[i]);return}if(r!=="currency")return;let n=it(i);if(n!==null){t.value=n;return}if(!ce(i))return;let a=`Filter on a currency attribute expected a numeric amount, received ${JSON.stringify(i)}`;throw new chunkGZUTZAPU_js.h(a,[{path:["value"],message:a}])}chunkDPD6ZWL2_js.a(st,"canonicalizeFilterValue");function ce(t){return typeof t!="object"?true:"value"in t?t.value!=null:false}chunkDPD6ZWL2_js.a(ce,"hasCurrencyAmount");var de={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 de[t]??t}chunkDPD6ZWL2_js.a(I,"normalizeOperator");function Kr(t){let r=I(t.operator);return r===t.operator?t:{...t,operator:r}}chunkDPD6ZWL2_js.a(Kr,"normalizeFilterRule");var me=new Set(["days","weeks","months","years"]),ye=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"&&me.has(r.unit)&&typeof r.direction=="string"&&ye.has(r.direction)}chunkDPD6ZWL2_js.a(v,"isRelativeDateValue");function ut(t){return Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate())}chunkDPD6ZWL2_js.a(ut,"utcDayStart");function lt(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(lt,"shiftUtcDay");function Qr(t,r=new Date){if(!v(t))return null;let i=ut(r),n=Math.trunc(t.amount),a=t.direction==="past"?{startMs:lt(i,-n,t.unit),endMs:i+864e5}:{startMs:i,endMs:lt(i,n,t.unit)+864e5};return Number.isFinite(a.startMs)&&Number.isFinite(a.endMs)?a:null}chunkDPD6ZWL2_js.a(Qr,"resolveIsWithinBounds");function Xr(t){if(!Number.isFinite(t))return null;let r=ut(new Date(t));return Number.isFinite(r)?{startMs:r,endMs:r+864e5}:null}chunkDPD6ZWL2_js.a(Xr,"resolveUtcDayBounds");function Zr(t){return new Date(t).toISOString().slice(0,10)}chunkDPD6ZWL2_js.a(Zr,"toUtcDayString");var be=new Set(["relation","document","user"]),D=["is","is_not","any_of","none_of","is_empty","is_not_empty"],fe={id:D,objectId:D,tenantId:D,label:f.text,createdAt:f.date,updatedAt:f.date,deletedAt:f.date,createdBy:f.user,lastUpdatedBy:f.user},_e={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"'},he=new Set(Object.entries(b).filter(([,t])=>t.includes("any_of")&&!t.includes("contains")).map(([t])=>t)),ge={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 chunkGZUTZAPU_js.h(s,[{path:["operator"],message:s}])}let n=I(t),a=ge[n];if(a&&he.has(r)){let s=`Operator "${n}" is not valid for type "${r}" \u2014 use "${a}"`;throw new chunkGZUTZAPU_js.h(s,[{path:["operator"],message:s}])}return n}chunkDPD6ZWL2_js.a(P,"resolveCanonicalOperator");function pt(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 chunkGZUTZAPU_js.h(l,[{path:["operator"],message:l}])}return n}chunkDPD6ZWL2_js.a(pt,"assertOperatorForType");function Te(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 chunkGZUTZAPU_js.h(r,[{path:["value"],message:r}])}}chunkDPD6ZWL2_js.a(Te,"assertRelativeDateValue");function E(t,r,i){t.operator=r,st(t,i),Te(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 chunkGZUTZAPU_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 chunkGZUTZAPU_js.h(n,[{path:["value"],message:n}])}}chunkDPD6ZWL2_js.a(ct,"assertDynamicValueForAttribute");var k=w.map(t=>`"${t}"`).join(", ");function Se(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(Se,"locationPartsHint");function uo(t,r){try{return Ae({...t},r),[]}catch(i){if(!(i instanceof chunkGZUTZAPU_js.h))throw i;return i.errors.map(n=>({...n,path:[...n.path]}))}}chunkDPD6ZWL2_js.a(uo,"collectQualifiedRuleIssues");function Ae(t,r){let i=r.attributes.find(u=>u.name===t.attribute),n=fe[t.attribute];if(!(i||n)){let[u,...p]=t.attribute.split("."),h=(p.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 ${C(p[0]??"")?`"${p[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}${h}`;throw new chunkGZUTZAPU_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 chunkGZUTZAPU_js.h(u,[{path:["quantifier"],message:u}])}if(!i){if(t.property)throw new chunkGZUTZAPU_js.h(`Cannot qualify system attribute "${t.attribute}"`,[{path:["property"],message:`"${t.attribute}" is a system column, not a reference`}]);let u=_e[t.attribute]??"text",p=P(t.operator,u);if(!n.includes(p)){let _=`Operator "${t.operator}" is not valid for system attribute "${t.attribute}". Valid operators: ${n.join(", ")}.`;throw new chunkGZUTZAPU_js.h(_,[{path:["operator"],message:_}])}E(t,p,u);return}if(!t.property){ct(t,i.type);let u=Z(i),p=P(t.operator,i.type);if(!u.includes(p)){let _=u.length?u.join(", "):"(not filterable)",h=`Operator "${t.operator}" is not valid for attribute "${i.name}". Valid operators: ${_}.${Se(i.type)}`;throw new chunkGZUTZAPU_js.h(h,[{path:["operator"],message:h}])}E(t,p,F(i));return}if(i.type==="location"){if(t.quantifier!==void 0){let p="quantifier is not valid on a location part \u2014 a location is one value, not a set of edges";throw new chunkGZUTZAPU_js.h(p,[{path:["quantifier"],message:p}])}if(!C(t.property)){let p=`Property "${t.property}" is not a part of location "${t.attribute}". Valid parts: ${k}.`;throw new chunkGZUTZAPU_js.h(p,[{path:["property"],message:p}])}ct(t,"text");let u=pt(t.operator,"text","property");E(t,u,"text");return}if(!be.has(i.type))throw new chunkGZUTZAPU_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 chunkGZUTZAPU_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 chunkGZUTZAPU_js.h(`Property "${t.property}" not defined on "${t.attribute}".qualifyWith()`,[{path:["property"],message:`Unknown property: ${t.property}`}]);let l=pt(t.operator,s.type,"property");E(t,l,s.type);}chunkDPD6ZWL2_js.a(Ae,"validateQualifiedRule");var L=["skill","memory","drives","artifact","meeting"];function mo(t){return L.includes(t)}chunkDPD6ZWL2_js.a(mo,"isNativeObjectName");var N=["workspace","private"],dt=["all",...N];function ho(t){if(typeof t=="string"&&N.includes(t))return t;throw new chunkGZUTZAPU_js.h(`visibility must be one of: ${N.join(", ")} (received: ${String(t)})`,[])}chunkDPD6ZWL2_js.a(ho,"parseResourceVisibility");var Ee=["id","createdAt","updatedAt","createdBy","lastUpdatedBy","visibility","ownedBy"],go=[...Ee,"objectId","label","embeddingText","values","metadata","deletedAt","deletedBy","schemaVersion","owned_by"],To=L;var ft=zod.z.enum(["redirect","inline","peek"]),_t=zod.z.enum(["side","page"]),xe=zod.z.array(zod.z.string()).min(1),x=zod.z.array(zod.z.string()).max(chunkPKJYAV5U_js.a.columnsPerTab),Re=zod.z.array(zod.z.string().min(1)).max(chunkPKJYAV5U_js.a.columnsPerTab).refine(t=>new Set(t).size===t.length,{message:"Displayed attribute names must be unique"}),Oe=zod.z.object({attribute:zod.z.string(),direction:zod.z.enum(["asc","desc"])}).strict(),ht=zod.z.array(Oe).max(chunkPKJYAV5U_js.a.sortsPerTab),we=zod.z.object({amount:zod.z.number(),unit:zod.z.enum(["days","weeks","months","years"]),direction:zod.z.enum(["past","future"])}).strict(),Ce=zod.z.object({value:zod.z.number().nullable(),code:zod.z.array(zod.z.string()).optional()}).strict(),Fe=zod.z.object({phoneNumber:zod.z.string().nullable(),countryCode:zod.z.string().optional()}).strict(),Ve=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()]),Ie=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()),we,Ce,Fe,Ie,Ve,zod.z.null()]),De=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")}),Pe=zod.z.object({attribute:zod.z.string(),property:zod.z.string().optional(),quantifier:zod.z.enum(["any","none"]).optional(),operator:De,value:ve}).strict(),gt=zod.z.array(Pe).max(chunkPKJYAV5U_js.a.filterRulesPerTab),ke=zod.z.object({combinator:zod.z.enum(["and","or"]),rules:gt}).strict(),Tt=zod.z.object({id:zod.z.string(),combinator:zod.z.enum(["and","or"]),rules:gt}).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 Be(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(Be,"addDuplicateNameIssues");var Le=zod.z.object({id:zod.z.string(),label:zod.z.string(),description:zod.z.string().optional(),attributes:xe,displayTemplate:zod.z.string().optional()}).strict(),Ne={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()},St={attribute:zod.z.string().optional(),attributeGroup:Le.optional(),...Ne};function At(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(At,"refineField");var je=zod.z.object({id:zod.z.string().optional(),...St}).strict().superRefine(At),Co=zod.z.object({id:zod.z.string().min(1),...St}).strict().superRefine(At),Me={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()},Ue=zod.z.object({...Me,type:zod.z.literal("fields"),fields:zod.z.array(je).max(chunkPKJYAV5U_js.a.fieldsPerGroup)}).strict(),qe=Ue,y={id:zod.z.string(),name:zod.z.string(),label:zod.z.string(),icon:chunkPKJYAV5U_js.c.optional(),order:zod.z.number().optional()},Et=zod.z.array(qe).max(chunkPKJYAV5U_js.a.groupsPerFormTab),xt={...y,type:zod.z.literal("form"),groups:Et,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()},$e=zod.z.object(xt).strict();function Rt(t,r){j(t.groups,r,["groups"]),t.groups.reduce((a,s)=>a+(s.type==="fields"?s.fields.length:0),0)>chunkPKJYAV5U_js.a.fieldsPerFormTab&&r.addIssue({code:"too_big",origin:"array",maximum:chunkPKJYAV5U_js.a.fieldsPerFormTab,inclusive:true,message:`A form tab can contain at most ${chunkPKJYAV5U_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:p}=l.attributeGroup;n.has(p)&&r.addIssue({code:"custom",message:`Duplicate attribute group id "${p}"`,path:["groups",s,"fields",u,"attributeGroup","id"]}),n.add(p);});});}chunkDPD6ZWL2_js.a(Rt,"refineFormTab");var ze=zod.z.object({...xt,groups:Et.min(1)}).strict().superRefine(Rt),Ye=$e.superRefine(Rt),Ot=zod.z.object({type:zod.z.literal("relation"),attribute:zod.z.string()}).strict(),wt=zod.z.object({type:zod.z.literal("inverse"),object:zod.z.string(),attribute:zod.z.string()}).strict(),Ct=zod.z.discriminatedUnion("type",[Ot,wt]),We=zod.z.object({...y,type:zod.z.literal("table"),source:Ct,columns:x,allowCreate:zod.z.boolean().optional(),createMode:ft.optional(),openMode:_t.optional(),allowEdit:zod.z.boolean().optional(),allowDelete:zod.z.boolean().optional(),filters:ke.optional(),sorts:ht.optional()}).strict(),mt=64,yt=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 Ge(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(Ge,"pushJsonArrayChildren");function Ke(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 p=Object.getOwnPropertyDescriptor(t,l);if(!(p?.enumerable&&"value"in p)){m(n,"Custom props must contain enumerable data properties only",u);continue}i.push({kind:"enter",value:p.value,path:u,depth:r.depth+1});}}chunkDPD6ZWL2_js.a(Ke,"pushJsonObjectChildren");function Je(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>yt){m(r,`Custom props cannot exceed ${yt.toLocaleString("en-US")} total JSON nodes`,s.path);return}if(s.depth>mt){m(r,`Custom props cannot exceed depth ${mt}`,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}),Ge(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}),Ke(l,s,n,r);}catch{m(r,"Custom props contain an object that cannot be safely inspected",s.path);}}}}chunkDPD6ZWL2_js.a(Je,"validateJsonProps");var He=zod.z.unknown().superRefine(Je).transform(t=>t),Qe=zod.z.object({...y,type:zod.z.literal("custom"),component:zod.z.string(),props:He.optional()}).strict(),Xe=zod.z.object({...y,type:zod.z.literal("activity"),limit:zod.z.number().optional()}).strict(),Ze=zod.z.object({...y,type:zod.z.literal("richtext"),attribute:zod.z.string(),titleAttribute:zod.z.string().optional()}).strict(),tr=zod.z.object({...y,type:zod.z.literal("documents"),allowUpload:zod.z.boolean().optional(),allowRemove:zod.z.boolean().optional(),hideAttachments:zod.z.boolean().optional(),relations:zod.z.array(zod.z.string()).optional()}).strict(),er=zod.z.object({...y,type:zod.z.literal("forms"),objectName:zod.z.string().optional()}).strict(),rr=zod.z.object({...y,type:zod.z.literal("emails"),emailAttributeIds:zod.z.array(zod.z.string()).max(chunkPKJYAV5U_js.a.emailAttributesPerTab)}).strict(),or=zod.z.object({...y,type:zod.z.literal("meetings"),emailAttributeIds:zod.z.array(zod.z.string()).max(chunkPKJYAV5U_js.a.emailAttributesPerTab)}).strict(),Ft=[We,Qe,Xe,Ze,tr,er,rr,or],Vt=zod.z.discriminatedUnion("type",[ze,...Ft]),Fo=zod.z.discriminatedUnion("type",[Ye,...Ft]),M={id:zod.z.string(),label:zod.z.string(),icon:chunkPKJYAV5U_js.c.optional(),default:zod.z.boolean().optional(),visibility:zod.z.enum(dt).default("all"),columns:x,descriptionAttribute:zod.z.string().min(1).optional(),displayAttributes:Re.optional(),filters:Tt.optional(),sorts:ht.optional(),readOnly:zod.z.boolean().optional(),createMode:ft.optional(),openMode:_t.optional()},ir=zod.z.object({...M,layout:zod.z.literal("table"),columnSizing:zod.z.record(zod.z.string(),zod.z.number()).optional(),groupByAttribute:zod.z.string().min(1).optional()}).strict(),nr=zod.z.object({...M,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(),ar=zod.z.object({...M,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(),It=zod.z.discriminatedUnion("layout",[ir,ar,nr]),sr=zod.z.object({allowPresentationCustomization:zod.z.boolean().optional(),defaultFilters:Tt.optional(),tabs:zod.z.array(It).min(1).max(chunkPKJYAV5U_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);});}),lr=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(chunkPKJYAV5U_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()]),ur=zod.z.object({tabs:zod.z.array(Vt).min(1).max(chunkPKJYAV5U_js.a.tabsPerView),readOnly:zod.z.boolean().optional(),sidePanel:zod.z.object({attributes:zod.z.array(zod.z.string()).max(chunkPKJYAV5U_js.a.sidePanelAttributes).optional(),panes:zod.z.array(lr).max(chunkPKJYAV5U_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"]),Be(t.tabs,r,["tabs"]);}),U=sr,q=ur,Vo=zod.z.enum(["list","detail"]);var vt=zod.z.discriminatedUnion("type",[zod.z.object({type:zod.z.literal("list"),config:U}).strict(),zod.z.object({type:zod.z.literal("detail"),config:q}).strict()]);function pr(t,r){switch(t){case "list":return U.parse(r);case "detail":return q.parse(r);default:return vt.parse({type:t,config:r}).config}}chunkDPD6ZWL2_js.a(pr,"parseViewConfig");var Io=["columnSizing"],vo=["groupByAttribute","cardUserAttribute","cardDateAttribute","kanbanColumnOrder","kanbanColumnVisibility","kanbanPinnedColumns"];exports.$=ht;exports.A=Ee;exports.B=go;exports.C=To;exports.D=A;exports.E=Cr;exports.F=Fr;exports.G=Vr;exports.H=it;exports.I=Dr;exports.J=Br;exports.K=Lr;exports.L=Nr;exports.M=at;exports.N=st;exports.O=de;exports.P=I;exports.Q=Kr;exports.R=v;exports.S=Qr;exports.T=Xr;exports.U=Zr;exports.V=_e;exports.W=B;exports.X=uo;exports.Y=Ae;exports.Z=x;exports._=Re;exports.a=Bt;exports.aa=ke;exports.b=cr;exports.ba=Tt;exports.c=Lt;exports.ca=St;exports.d=dr;exports.da=je;exports.e=K;exports.ea=Co;exports.f=w;exports.fa=qe;exports.g=C;exports.ga=Ot;exports.h=fr;exports.ha=wt;exports.i=b;exports.ia=Ct;exports.j=g;exports.ja=Vt;exports.k=Z;exports.ka=Fo;exports.l=_r;exports.la=It;exports.m=hr;exports.ma=U;exports.n=gr;exports.na=q;exports.o=Tr;exports.oa=Vo;exports.p=Sr;exports.pa=vt;exports.q=F;exports.qa=pr;exports.r=f;exports.ra=Io;exports.s=se;exports.sa=vo;exports.t=rt;exports.u=Rr;exports.v=L;exports.w=mo;exports.x=N;exports.y=dt;exports.z=ho;
@@ -0,0 +1,2 @@
1
+ 'use strict';var chunkGZUTZAPU_js=require('./chunk-GZUTZAPU.js'),chunkDPD6ZWL2_js=require('./chunk-DPD6ZWL2.js');/*! © 2025-2026 AND YOU CREATE SAS (RCS Paris 940 190 614). Proprietary — see LICENSE (Standards SDK License 1.0). */
2
+ var l=class l extends chunkGZUTZAPU_js.b{constructor(){super("Value must contain only JSON-compatible values",chunkGZUTZAPU_js.a.VALIDATION_FAILED),this.name="NonJsonValueError";}};chunkDPD6ZWL2_js.a(l,"NonJsonValueError");var p=l,f=chunkDPD6ZWL2_js.a(()=>new p,"nonJsonValue"),g={refuseNonJson:true,refuseNonPlainObject:true,refuseUnrepresentableType:true,readAccessors:false,unrepresentable:f,circular:f},w={refuseNonJson:false,refuseNonPlainObject:false,refuseUnrepresentableType:false,readAccessors:false,unrepresentable:f,circular:f},O={refuseNonJson:false,refuseNonPlainObject:true,refuseUnrepresentableType:true,readAccessors:true,unrepresentable:chunkDPD6ZWL2_js.a(e=>new chunkGZUTZAPU_js.h(`Cannot canonicalize ${h(e)}`,[]),"unrepresentable"),circular:chunkDPD6ZWL2_js.a(()=>new chunkGZUTZAPU_js.h("Cannot canonicalize circular structure",[]),"circular")};function h(e){if(typeof e!="object"||e===null)return `value of type ${typeof e}`;let n=e.constructor?.name;return typeof n=="string"&&n.length>0?`a ${n} value`:"a non-plain object"}chunkDPD6ZWL2_js.a(h,"describeUnrepresentable");function j(e){let n=Object.getPrototypeOf(e);return n===Object.prototype||n===null}chunkDPD6ZWL2_js.a(j,"isPlainObject");function m(e,n){if(Object.getPrototypeOf(e)!==Array.prototype||Object.getOwnPropertySymbols(e).length>0)throw n.unrepresentable(e);let r=Object.getOwnPropertyNames(e);if(r.length!==e.length+1||!r.includes("length"))throw n.unrepresentable(e);for(let s=0;s<e.length;s+=1){let t=Object.getOwnPropertyDescriptor(e,String(s));if(t===void 0||!("value"in t)||t.enumerable!==true)throw n.unrepresentable(e)}}chunkDPD6ZWL2_js.a(m,"assertArrayShape");function N(e,n){if(n.refuseNonJson&&Object.getOwnPropertySymbols(e).length>0)throw n.unrepresentable(e);let r=[];for(let s of Object.getOwnPropertyNames(e)){let t=Object.getOwnPropertyDescriptor(e,s);if(t===void 0||t.enumerable!==true){if(n.refuseNonJson)throw n.unrepresentable(e);continue}if(!("value"in t)){if(n.refuseNonJson)throw n.unrepresentable(e);if(!n.readAccessors)continue;let i=e[s];if(i===void 0)continue;r.push([s,i]);continue}t.value!==void 0&&r.push([s,t.value]);}return r.sort(([s],[t])=>s<t?-1:s>t?1:0)}chunkDPD6ZWL2_js.a(N,"sortedEntries");function u(e,n,r){if(e===null)return "null";if(e===void 0){if(n.refuseNonJson)throw n.unrepresentable(e);return "null"}if(typeof e=="boolean"||typeof e=="string")return JSON.stringify(e);if(typeof e=="number"){if(Number.isFinite(e))return JSON.stringify(e);if(n.refuseNonJson)throw n.unrepresentable(e);return "null"}if(typeof e!="object"){if(n.refuseNonJson||n.refuseUnrepresentableType)throw n.unrepresentable(e);return JSON.stringify(String(e))}if(r.has(e))throw n.circular();r.add(e);try{if(Array.isArray(e)){n.refuseNonJson&&m(e,n);let t=[];for(let i=0;i<e.length;i+=1)t.push(u(e[i],n,r));return `[${t.join(",")}]`}if(n.refuseNonPlainObject&&!j(e))throw n.unrepresentable(e);return `{${N(e,n).map(([t,i])=>`${JSON.stringify(t)}:${u(i,n,r)}`).join(",")}}`}finally{r.delete(e);}}chunkDPD6ZWL2_js.a(u,"serialize");function J(e){return u(e,O,new Set)}chunkDPD6ZWL2_js.a(J,"canonicalStringify");function y(e){return u(e,w,new Set)}chunkDPD6ZWL2_js.a(y,"serializeStableJson");function S(e){return u(e,g,new Set)}chunkDPD6ZWL2_js.a(S,"serializeCanonicalJson");function k(e,n){return y(e)===y(n)}chunkDPD6ZWL2_js.a(k,"sameStableValue");function I(e){return e}chunkDPD6ZWL2_js.a(I,"asTenantId");function U(e){return e}chunkDPD6ZWL2_js.a(U,"asUserId");function E(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let n=Math.random()*16|0;return (e==="x"?n:n&3|8).toString(16)})}chunkDPD6ZWL2_js.a(E,"generateId");function B(e,n){return new Map(e.map(r=>[n(r),r]))}chunkDPD6ZWL2_js.a(B,"indexBy");function x(e,n){if(e===n)return true;if(e==null||n==null||typeof e!=typeof n)return false;if(Array.isArray(e))return !Array.isArray(n)||e.length!==n.length?false:e.every((r,s)=>x(r,n[s]));if(typeof e=="object"&&typeof n=="object"){let r=e,s=n,t=Object.keys(r),i=Object.keys(s);return t.length!==i.length?false:t.every(a=>a in s&&x(r[a],s[a]))}return false}chunkDPD6ZWL2_js.a(x,"deepEqual");exports.a=p;exports.b=J;exports.c=y;exports.d=S;exports.e=k;exports.f=I;exports.g=U;exports.h=E;exports.i=B;exports.j=x;
@@ -1,2 +1,2 @@
1
- export { J as AccessDeniedError, Q as AttributeInUseError, W as AttributeNotFoundError, X as AttributeUsage, _ as ChangeTypeNotSupportedError, a6 as ConcurrentModificationError, a9 as DestructiveSyncNotAllowedError, aa as DuplicateError, ab as ForbiddenError, ac as MemoryNotFoundError, ad as MigrationTimeoutError, af as NotFoundError, ag as NotImplementedError, ai as ObjectNotFoundError, aj as ObjectReferencedError, al as OrphanSystemAttributeError, an as ProtectedResourceError, ao as ProtectedRoleError, aq as RecordNotFoundError, ar as RecordReference, as as RecordReferencedError, at as RepositoryError, au as RepositoryOperation, av as ReservedObjectNameError, ax as RoleNotFoundError, ay as SchemaError, az as SchemaErrorCode, aB as SchemaPlanNotFoundError, aC as SearchBackendError, aE as StorageError, aF as StorageOperation, aG as SyncCascadeError, aH as SyncConflictError, aI as SyncError, aJ as SystemEntityImmutableError, V as ValidationError, aL as ValidationErrorDetail, aU as isAttributeInUseError, aX as isNotFoundError, aY as isObjectReferencedError, aZ as isProtectedResourceError, a_ as isRecordReferencedError, a$ as isSchemaError, b1 as isValidationError } from './attributes-CJNqalP0.mjs';
1
+ export { J as AccessDeniedError, Q as AttributeInUseError, W as AttributeNotFoundError, X as AttributeUsage, _ as ChangeTypeNotSupportedError, a6 as ConcurrentModificationError, a9 as DestructiveSyncNotAllowedError, aa as DuplicateError, ab as ForbiddenError, ac as MemoryNotFoundError, ad as MigrationTimeoutError, af as NotFoundError, ag as NotImplementedError, ai as ObjectNotFoundError, aj as ObjectReferencedError, al as OrphanSystemAttributeError, an as ProtectedResourceError, ao as ProtectedRoleError, aq as RecordNotFoundError, ar as RecordReference, as as RecordReferencedError, at as RepositoryError, au as RepositoryOperation, av as ReservedObjectNameError, ax as RoleNotFoundError, ay as SchemaError, az as SchemaErrorCode, aB as SchemaPlanNotFoundError, aC as SearchBackendError, aE as StorageError, aF as StorageOperation, aG as SyncCascadeError, aH as SyncConflictError, aI as SyncError, aJ as SystemEntityImmutableError, V as ValidationError, aL as ValidationErrorDetail, aU as isAttributeInUseError, aX as isNotFoundError, aY as isObjectReferencedError, aZ as isProtectedResourceError, a_ as isRecordReferencedError, a$ as isSchemaError, b1 as isValidationError } from './attributes-B_khA3fi.mjs';
2
2
  import '@stndrds/constants';
@@ -1,2 +1,2 @@
1
- export { J as AccessDeniedError, Q as AttributeInUseError, W as AttributeNotFoundError, X as AttributeUsage, _ as ChangeTypeNotSupportedError, a6 as ConcurrentModificationError, a9 as DestructiveSyncNotAllowedError, aa as DuplicateError, ab as ForbiddenError, ac as MemoryNotFoundError, ad as MigrationTimeoutError, af as NotFoundError, ag as NotImplementedError, ai as ObjectNotFoundError, aj as ObjectReferencedError, al as OrphanSystemAttributeError, an as ProtectedResourceError, ao as ProtectedRoleError, aq as RecordNotFoundError, ar as RecordReference, as as RecordReferencedError, at as RepositoryError, au as RepositoryOperation, av as ReservedObjectNameError, ax as RoleNotFoundError, ay as SchemaError, az as SchemaErrorCode, aB as SchemaPlanNotFoundError, aC as SearchBackendError, aE as StorageError, aF as StorageOperation, aG as SyncCascadeError, aH as SyncConflictError, aI as SyncError, aJ as SystemEntityImmutableError, V as ValidationError, aL as ValidationErrorDetail, aU as isAttributeInUseError, aX as isNotFoundError, aY as isObjectReferencedError, aZ as isProtectedResourceError, a_ as isRecordReferencedError, a$ as isSchemaError, b1 as isValidationError } from './attributes-CJNqalP0.js';
1
+ export { J as AccessDeniedError, Q as AttributeInUseError, W as AttributeNotFoundError, X as AttributeUsage, _ as ChangeTypeNotSupportedError, a6 as ConcurrentModificationError, a9 as DestructiveSyncNotAllowedError, aa as DuplicateError, ab as ForbiddenError, ac as MemoryNotFoundError, ad as MigrationTimeoutError, af as NotFoundError, ag as NotImplementedError, ai as ObjectNotFoundError, aj as ObjectReferencedError, al as OrphanSystemAttributeError, an as ProtectedResourceError, ao as ProtectedRoleError, aq as RecordNotFoundError, ar as RecordReference, as as RecordReferencedError, at as RepositoryError, au as RepositoryOperation, av as ReservedObjectNameError, ax as RoleNotFoundError, ay as SchemaError, az as SchemaErrorCode, aB as SchemaPlanNotFoundError, aC as SearchBackendError, aE as StorageError, aF as StorageOperation, aG as SyncCascadeError, aH as SyncConflictError, aI as SyncError, aJ as SystemEntityImmutableError, V as ValidationError, aL as ValidationErrorDetail, aU as isAttributeInUseError, aX as isNotFoundError, aY as isObjectReferencedError, aZ as isProtectedResourceError, a_ as isRecordReferencedError, a$ as isSchemaError, b1 as isValidationError } from './attributes-B_khA3fi.js';
2
2
  import '@stndrds/constants';
@@ -1,7 +1,7 @@
1
1
  import { z } from 'zod';
2
- import { A as Attribute } from './attributes-CJNqalP0.js';
3
- import { V as ValidationMessages, a as ValidationResult } from './types-CEwRsyh0.js';
4
- import { O as ObjectDefinition } from './objects-CfJvQbZc.js';
2
+ import { A as Attribute } from './attributes-B_khA3fi.js';
3
+ import { V as ValidationMessages, a as ValidationResult } from './types-ce2p4cgi.js';
4
+ import { O as ObjectDefinition } from './objects-F9rhbUPZ.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 } from './attributes-CJNqalP0.mjs';
3
- import { V as ValidationMessages, a as ValidationResult } from './types-Co8cq3dM.mjs';
4
- import { O as ObjectDefinition } from './objects-DglxOigU.mjs';
2
+ import { A as Attribute } from './attributes-B_khA3fi.mjs';
3
+ import { V as ValidationMessages, a as ValidationResult } from './types-B6oO_Fkh.mjs';
4
+ import { O as ObjectDefinition } from './objects-DLkL-wPr.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, k as AttributeType, f as RollupAttribute } from './attributes-CJNqalP0.mjs';
2
+ import { A as Attribute, k as AttributeType, f as RollupAttribute } from './attributes-B_khA3fi.mjs';
3
3
  import { IconName } from '@stndrds/constants';
4
- import { L as ListViewTabVisibility } from './objects-DglxOigU.mjs';
4
+ import { L as ListViewTabVisibility } from './objects-DLkL-wPr.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";
@@ -196,6 +196,14 @@ type ViewType = "detail" | "list";
196
196
  * - `peek`: Create a draft immediately and open it in the record stack side panel
197
197
  */
198
198
  type CreateMode = "redirect" | "inline" | "peek";
199
+ /**
200
+ * Where a record opens from this tab: the record-stack side panel, or its own
201
+ * page. Absent means the surface's own default — an existing view must not
202
+ * change how its records open because a field gained a value (#3158).
203
+ *
204
+ * Center peek is deliberately not offered (Karl, 2026-09-04).
205
+ */
206
+ type RecordOpenMode = "side" | "page";
199
207
  /**
200
208
  * Inline attribute group configuration
201
209
  * Groups multiple attributes into a single composite field with dropdown editing
@@ -333,6 +341,8 @@ interface TableTab extends BaseTab {
333
341
  allowCreate?: boolean;
334
342
  /** Creation behavior when allowCreate is true. Default: "redirect" */
335
343
  createMode?: CreateMode;
344
+ /** Where a record from this tab opens. Absent = the surface's default. */
345
+ openMode?: RecordOpenMode;
336
346
  /** Allow inline editing */
337
347
  allowEdit?: boolean;
338
348
  /** Allow deleting records */
@@ -377,6 +387,11 @@ interface DocumentsTab extends BaseTab {
377
387
  allowUpload?: boolean;
378
388
  allowRemove?: boolean;
379
389
  hideAttachments?: boolean;
390
+ /**
391
+ * Names of relation attributes on the current object whose target records'
392
+ * drives are listed beside the record's own. Absent = single drive.
393
+ */
394
+ relations?: string[];
380
395
  }
381
396
  /**
382
397
  * Forms tab - displays available forms for creating related records
@@ -464,6 +479,8 @@ interface ListViewTab {
464
479
  readOnly?: boolean;
465
480
  /** Creation behavior when clicking "+". Default: "redirect" */
466
481
  createMode?: CreateMode;
482
+ /** Where a record from this tab opens. Absent = the surface's default. */
483
+ openMode?: RecordOpenMode;
467
484
  /** @deprecated Use displayAttributes. Legacy user attribute on Kanban cards. */
468
485
  cardUserAttribute?: string;
469
486
  /** @deprecated Use displayAttributes. Legacy date attribute on Kanban cards. */
@@ -496,7 +513,7 @@ type SidePanelPane = {
496
513
  } | {
497
514
  kind: "documents";
498
515
  /**
499
- * Required, unlike the other kinds: `DocumentsTabContent` keys its
516
+ * Required, unlike the other kinds: `RecordDriveContent` keys its
500
517
  * sort-mode persistence on it, so a pane without one would share the
501
518
  * main-column documents tab's stored sort.
502
519
  */
@@ -852,4 +869,4 @@ declare function parseAttributeConfigForCreate(type: AttributeType, input: unkno
852
869
  */
853
870
  declare function parseAttributeConfigForUpdate(stored: Attribute, patch: Partial<AddAttributeInput>): Record<string, unknown>;
854
871
 
855
- export { type RelationSource as $, type AttributeGroupField as A, type FilterCombinator as B, type ConfigOverrides as C, type DetailViewConfig as D, type EmailsTab as E, type FilterState as F, type Group as G, type FilterGroup as H, type FormDensity as I, type FormTab as J, type FormsTab as K, type ListViewTab as L, type MeetingsTab as M, type InverseSource as N, type ListViewPresentationOverrides as O, type ListViewPresentationTabOverrides as P, NO_VALUE_OPERATORS as Q, type RelativeDateValue as R, type SortRule as S, type TableTab as T, type NoValueOperator as U, type ViewType as V, OPERATORS_BY_TYPE as W, type PhoneFilterValue as X, type QueryState as Y, type RelationOption as Z, type RelationOptionsResponse as _, type ViewConfig as a, type RichtextTab as a0, type SidePanelPane as a1, type SortDirection as a2, type TabType as a3, type TableSource as a4, type UpdateObjectInput as a5, type UpdateViewInput as a6, type ViewOverlay as a7, getRollupFilterOperators as a8, isDetailView as a9, isFieldGroup as aa, isListView as ab, isNoValueOperator as ac, multiselectOptionWriteSchema as ad, parseAttributeConfig as ae, parseAttributeConfigForCreate as af, parseAttributeConfigForUpdate as ag, selectOptionWriteSchema as ah, statusGroupSchema as ai, statusOptionWriteSchema as aj, attributeConfigSchemas as ak, getAttributeConfigSchema as al, getAttributeConfigWriteSchema as am, type FilterOperator as b, type DetailViewDefinition as c, type SidePanelConfig as d, type Field as e, type FieldGroup as f, type CreateMode as g, type Tab as h, type ListViewConfig as i, type ListViewDefinition as j, type ListViewLayout as k, type ViewDefinition as l, type FilterValue as m, type FilterRule as n, type DynamicValue as o, type ActivityTab as p, type AddAttributeInput as q, type AdvancedFilterState as r, type CreateCustomObjectInput as s, type CreateViewInput as t, type CurrencyFilterValue as u, type CustomTab as v, type DayMonthValue as w, type DocumentsTab as x, type EdgeQuantifier as y, type ExtendedFilterRule as z };
872
+ export { type RelationOptionsResponse as $, type AttributeGroupField as A, type ExtendedFilterRule as B, type ConfigOverrides as C, type DetailViewConfig as D, type EmailsTab as E, type FilterState as F, type Group as G, type FilterCombinator as H, type FilterGroup as I, type FormDensity as J, type FormTab as K, type ListViewTab as L, type MeetingsTab as M, type FormsTab as N, type InverseSource as O, type ListViewPresentationOverrides as P, type ListViewPresentationTabOverrides as Q, type RecordOpenMode as R, type SortRule as S, type TableTab as T, NO_VALUE_OPERATORS as U, type ViewType as V, type NoValueOperator as W, OPERATORS_BY_TYPE as X, type PhoneFilterValue as Y, type QueryState as Z, type RelationOption as _, type ViewConfig as a, type RelationSource as a0, type RichtextTab as a1, type SidePanelPane as a2, type SortDirection as a3, type TabType as a4, type TableSource as a5, type UpdateObjectInput as a6, type UpdateViewInput as a7, type ViewOverlay as a8, getRollupFilterOperators as a9, isDetailView as aa, isFieldGroup as ab, isListView as ac, isNoValueOperator as ad, multiselectOptionWriteSchema as ae, parseAttributeConfig as af, parseAttributeConfigForCreate as ag, parseAttributeConfigForUpdate as ah, selectOptionWriteSchema as ai, statusGroupSchema as aj, statusOptionWriteSchema as ak, attributeConfigSchemas as al, getAttributeConfigSchema as am, getAttributeConfigWriteSchema as an, type FilterOperator as b, type DetailViewDefinition as c, type SidePanelConfig as d, type Field as e, type FieldGroup as f, type CreateMode as g, type Tab as h, type ListViewConfig as i, type ListViewDefinition as j, type ListViewLayout as k, type ViewDefinition as l, type FilterValue as m, type FilterRule as n, type DynamicValue as o, type RelativeDateValue as p, type ActivityTab as q, type AddAttributeInput as r, type AdvancedFilterState as s, type CreateCustomObjectInput as t, type CreateViewInput as u, type CurrencyFilterValue as v, type CustomTab as w, type DayMonthValue as x, type DocumentsTab as y, type EdgeQuantifier as z };