@standards/schema 1.0.0-alpha.384 → 1.0.0-alpha.385

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 (156) hide show
  1. package/dist/{all-C9OPP-r1.d.ts → all-Czr26_QP.d.ts} +1115 -1116
  2. package/dist/{all-CYmW48oj.d.mts → all-DIAipZSx.d.mts} +1115 -1116
  3. package/dist/api/index.d.mts +2894 -2894
  4. package/dist/api/index.d.ts +2894 -2894
  5. package/dist/api/index.js +1 -1
  6. package/dist/api/index.mjs +1 -1
  7. package/dist/attribute-validators-COsyRG9V.mjs +11 -0
  8. package/dist/attribute-validators-CQEf6iqM.js +11 -0
  9. package/dist/{attributes-D35Lcoui.d.ts → attributes-BcA_reJZ.d.ts} +58 -59
  10. package/dist/{attributes-CZD_B0mZ.d.mts → attributes-eqr1vdPP.d.mts} +58 -59
  11. package/dist/checkbox-C9aJ-6gq.d.ts +10 -0
  12. package/dist/checkbox-DfXrFM2z.d.mts +10 -0
  13. package/dist/config-C1CDWJf8.mjs +2 -0
  14. package/dist/config-DUQAd-Ur.js +2 -0
  15. package/dist/{core-397tQy5q.js → core-DAxRlJ5i.js} +1 -1
  16. package/dist/{core-BLHhNykL.mjs → core-rKI7Q9_U.mjs} +1 -1
  17. package/dist/{date-CQdP6Dxe.d.ts → date-BzggmHjS.d.mts} +5 -6
  18. package/dist/{date-B9051Wxe.d.mts → date-CdaoV9_L.d.ts} +5 -6
  19. package/dist/{exceptions-DoP6VK0v.d.mts → exceptions-CgzBcQIl.d.mts} +69 -70
  20. package/dist/{exceptions-DoP6VK0v.d.ts → exceptions-CgzBcQIl.d.ts} +69 -70
  21. package/dist/exceptions.d.mts +1 -1
  22. package/dist/exceptions.d.ts +1 -1
  23. package/dist/{index-E9rSexij.d.ts → index-BSYjSdhW.d.mts} +17 -18
  24. package/dist/{index-BLXzRQr9.d.ts → index-CCH94vyR.d.ts} +6 -7
  25. package/dist/{index-D0L0GHU0.d.mts → index-D1iR2xuc.d.ts} +17 -18
  26. package/dist/{index-CgEVJG3l.d.ts → index-DFQSFYiY.d.mts} +2775 -2774
  27. package/dist/{index-BS-60koN.d.mts → index-DKjcsjFG.d.ts} +2775 -2774
  28. package/dist/{index-CH-Vc-pK.d.ts → index-e1Oh8ngS.d.ts} +73 -74
  29. package/dist/{index-B3wdnfLl.d.mts → index-jDwfdudj.d.mts} +73 -74
  30. package/dist/{index-CSDAHifu.d.mts → index-zJz3LbXr.d.mts} +6 -7
  31. package/dist/index.d.mts +13 -13
  32. package/dist/index.d.ts +13 -13
  33. package/dist/index.js +1 -1
  34. package/dist/index.mjs +1 -1
  35. package/dist/number-B3u9vPtb.d.ts +10 -0
  36. package/dist/number-Br56q0hL.d.mts +10 -0
  37. package/dist/object-BF5y6bgs.mjs +4 -0
  38. package/dist/object-Kx-ADbIo.js +4 -0
  39. package/dist/{objects-CH22DJOx.d.ts → objects-CLxyZh-U.d.ts} +54 -55
  40. package/dist/{objects-DhKrQEo4.d.mts → objects-DxEMaC2Z.d.mts} +54 -55
  41. package/dist/phone-BGJea5sr.mjs +2 -0
  42. package/dist/phone-DrHyIujN.js +2 -0
  43. package/dist/record-aggregates-Cj3p3_ce.js +2 -0
  44. package/dist/{record-aggregates-CzG86pUS.mjs → record-aggregates-DQXrIuGE.mjs} +1 -1
  45. package/dist/record-operation-7-DRRONb.mjs +2 -0
  46. package/dist/record-operation-Bbn-LZhq.js +2 -0
  47. package/dist/text-2DB_Jc_x.js +2 -0
  48. package/dist/text-BaxaZ5Vv.mjs +2 -0
  49. package/dist/text-Bvk4ila8.d.ts +10 -0
  50. package/dist/text-C5NnfCJg.d.mts +10 -0
  51. package/dist/{utils-gY3d9Dwp.js → utils-B-gGq3FS.js} +1 -1
  52. package/dist/{utils-C_J_p_tL.d.ts → utils-B2bq4zLb.d.ts} +15 -16
  53. package/dist/{utils-CkcPS_M9.d.mts → utils-CRx-eR8T.d.mts} +15 -16
  54. package/dist/{utils-fXIvFFl6.mjs → utils-DaejNWxh.mjs} +1 -1
  55. package/dist/utils.d.mts +1 -1
  56. package/dist/utils.d.ts +1 -1
  57. package/dist/utils.js +1 -1
  58. package/dist/utils.mjs +1 -1
  59. package/dist/validation/all.d.mts +4 -4
  60. package/dist/validation/all.d.ts +4 -4
  61. package/dist/validation/all.js +1 -1
  62. package/dist/validation/all.mjs +1 -1
  63. package/dist/validation/complex/currency.d.mts +4 -4
  64. package/dist/validation/complex/currency.d.ts +4 -4
  65. package/dist/validation/complex/currency.js +1 -1
  66. package/dist/validation/complex/currency.mjs +1 -1
  67. package/dist/validation/complex/location.d.mts +4 -4
  68. package/dist/validation/complex/location.d.ts +4 -4
  69. package/dist/validation/complex/location.js +1 -1
  70. package/dist/validation/complex/location.mjs +1 -1
  71. package/dist/validation/complex/phone.d.mts +4 -4
  72. package/dist/validation/complex/phone.d.ts +4 -4
  73. package/dist/validation/complex/phone.js +1 -1
  74. package/dist/validation/complex/phone.mjs +1 -1
  75. package/dist/validation/complex/relation.d.mts +6 -6
  76. package/dist/validation/complex/relation.d.ts +6 -6
  77. package/dist/validation/complex/relation.js +1 -1
  78. package/dist/validation/complex/relation.mjs +1 -1
  79. package/dist/validation/complex/richtext.d.mts +4 -4
  80. package/dist/validation/complex/richtext.d.ts +4 -4
  81. package/dist/validation/complex/richtext.js +1 -1
  82. package/dist/validation/complex/richtext.mjs +1 -1
  83. package/dist/validation/complex/select.d.mts +6 -6
  84. package/dist/validation/complex/select.d.ts +6 -6
  85. package/dist/validation/complex/select.js +1 -1
  86. package/dist/validation/complex/select.mjs +1 -1
  87. package/dist/validation/complex/user.d.mts +4 -4
  88. package/dist/validation/complex/user.d.ts +4 -4
  89. package/dist/validation/complex/user.js +1 -1
  90. package/dist/validation/complex/user.mjs +1 -1
  91. package/dist/validation/computed/formula.d.mts +4 -4
  92. package/dist/validation/computed/formula.d.ts +4 -4
  93. package/dist/validation/computed/formula.js +1 -1
  94. package/dist/validation/computed/formula.mjs +1 -1
  95. package/dist/validation/computed/rollup.d.mts +4 -4
  96. package/dist/validation/computed/rollup.d.ts +4 -4
  97. package/dist/validation/computed/rollup.js +1 -1
  98. package/dist/validation/computed/rollup.mjs +1 -1
  99. package/dist/validation/config/index.d.mts +1 -1
  100. package/dist/validation/config/index.d.ts +1 -1
  101. package/dist/validation/config/index.js +1 -1
  102. package/dist/validation/config/index.mjs +1 -1
  103. package/dist/validation/core/index.d.mts +1 -1
  104. package/dist/validation/core/index.d.ts +1 -1
  105. package/dist/validation/core/index.js +1 -1
  106. package/dist/validation/core/index.mjs +1 -1
  107. package/dist/validation/object/index.d.mts +1 -1
  108. package/dist/validation/object/index.d.ts +1 -1
  109. package/dist/validation/object/index.js +1 -1
  110. package/dist/validation/object/index.mjs +1 -1
  111. package/dist/validation/primitives/checkbox.d.mts +1 -1
  112. package/dist/validation/primitives/checkbox.d.ts +1 -1
  113. package/dist/validation/primitives/checkbox.js +1 -1
  114. package/dist/validation/primitives/checkbox.mjs +1 -1
  115. package/dist/validation/primitives/date.d.mts +1 -1
  116. package/dist/validation/primitives/date.d.ts +1 -1
  117. package/dist/validation/primitives/date.js +1 -1
  118. package/dist/validation/primitives/date.mjs +1 -1
  119. package/dist/validation/primitives/number.d.mts +1 -1
  120. package/dist/validation/primitives/number.d.ts +1 -1
  121. package/dist/validation/primitives/number.js +1 -1
  122. package/dist/validation/primitives/number.mjs +1 -1
  123. package/dist/validation/primitives/text.d.mts +1 -1
  124. package/dist/validation/primitives/text.d.ts +1 -1
  125. package/dist/validation/primitives/text.js +1 -1
  126. package/dist/validation/primitives/text.mjs +1 -1
  127. package/dist/view-config.schema-BOuNAZ5T.js +2 -0
  128. package/dist/view-config.schema-Dl5GkAzl.mjs +2 -0
  129. package/dist/zod-locale-D_QkXhnp.d.mts +2 -0
  130. package/dist/zod-locale-D_QkXhnp.d.ts +2 -0
  131. package/dist/zod-locale.d.mts +2 -0
  132. package/dist/zod-locale.d.ts +2 -0
  133. package/dist/zod-locale.js +2 -0
  134. package/dist/zod-locale.mjs +2 -0
  135. package/package.json +17 -3
  136. package/dist/attribute-validators-DRqhAt2t.mjs +0 -11
  137. package/dist/attribute-validators-WAoJbap5.js +0 -11
  138. package/dist/checkbox-CQRDh5tF.d.ts +0 -11
  139. package/dist/checkbox-D00iEidf.d.mts +0 -11
  140. package/dist/config-BIxnbUN8.mjs +0 -2
  141. package/dist/config-DdjlHdPg.js +0 -2
  142. package/dist/number-BwCSeK20.d.ts +0 -11
  143. package/dist/number-CisXUosg.d.mts +0 -11
  144. package/dist/object-DcgxLvip.js +0 -4
  145. package/dist/object-Dzl7sfq8.mjs +0 -4
  146. package/dist/phone-BB-tzcSr.js +0 -2
  147. package/dist/phone-Bca_xiOX.mjs +0 -2
  148. package/dist/record-aggregates-DwpIJ2Dv.js +0 -2
  149. package/dist/record-operation-B7t5aXW3.js +0 -2
  150. package/dist/record-operation-DueJTyDh.mjs +0 -2
  151. package/dist/text-A9AJ1wUO.js +0 -2
  152. package/dist/text-C8Lb-NFo.mjs +0 -2
  153. package/dist/text-SkYUYEnE.d.ts +0 -11
  154. package/dist/text-Z1_WL8cd.d.mts +0 -11
  155. package/dist/view-config.schema-BqO1hmWR.mjs +0 -2
  156. package/dist/view-config.schema-DVoE_g3g.js +0 -2
package/package.json CHANGED
@@ -1,11 +1,15 @@
1
1
  {
2
2
  "name": "@standards/schema",
3
- "version": "1.0.0-alpha.384",
3
+ "version": "1.0.0-alpha.385",
4
4
  "description": "Standard schema definitions and utilities",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",
7
7
  "types": "./dist/index.d.ts",
8
- "sideEffects": false,
8
+ "sideEffects": [
9
+ "./src/zod-locale.ts",
10
+ "./dist/zod-locale.mjs",
11
+ "./dist/zod-locale.js"
12
+ ],
9
13
  "exports": {
10
14
  ".": {
11
15
  "import": {
@@ -37,6 +41,16 @@
37
41
  "default": "./dist/exceptions.js"
38
42
  }
39
43
  },
44
+ "./zod-locale": {
45
+ "import": {
46
+ "types": "./dist/zod-locale.d.mts",
47
+ "default": "./dist/zod-locale.mjs"
48
+ },
49
+ "require": {
50
+ "types": "./dist/zod-locale.d.ts",
51
+ "default": "./dist/zod-locale.js"
52
+ }
53
+ },
40
54
  "./api": {
41
55
  "import": {
42
56
  "types": "./dist/api/index.d.mts",
@@ -237,7 +251,7 @@
237
251
  "@standard-schema/spec": "^1.1.0",
238
252
  "libphonenumber-js": "^1.12.31",
239
253
  "zod": "^4.2.1",
240
- "@standards/constants": "1.0.0-alpha.384"
254
+ "@standards/constants": "1.0.0-alpha.385"
241
255
  },
242
256
  "devDependencies": {
243
257
  "@types/node": "^25.0.3",
@@ -1,11 +0,0 @@
1
- /*! © 2025-2026 AND YOU CREATE SAS (RCS Paris 940 190 614). Proprietary — see LICENSE (Standards SDK License 1.0). */
2
- import{SchemaError as e,SchemaErrorCode as t,ValidationError as n}from"./exceptions.mjs";import r,{z as i}from"zod";import{COLORS as a,ICONS as o}from"@standards/constants";const s=[`skill`,`memory`,`drives`,`artifact`,`meeting`];function isNativeObjectName(e){return s.includes(e)}const c=[`workspace`,`private`],l=[`all`,...c,`shared`],u=[...c,`shared`];function parseRecordListScope(e){if(typeof e==`string`&&u.includes(e))return e;throw new n(`visibility must be one of: ${u.join(`, `)} (received: ${String(e)})`,[])}function parseResourceVisibility(e){if(typeof e==`string`&&c.includes(e))return e;throw new n(`visibility must be one of: ${c.join(`, `)} (received: ${String(e)})`,[])}const d=[`id`,`createdAt`,`updatedAt`,`createdBy`,`lastUpdatedBy`,`visibility`,`ownedBy`],f=[...d,`objectId`,`label`,`embeddingText`,`values`,`metadata`,`deletedAt`,`deletedBy`,`schemaVersion`,`appearance`,`owned_by`],p=s,m={attributesPerObject:300,tabsPerView:24,membersPerGroup:4,pageRows:1e3,groupsPerFormTab:12,fieldsPerGroup:60,fieldsPerFormTab:150,columnsPerTab:50,optionsPerAttribute:200,sidePanelAttributes:100,sidePanelPanes:20,filterRulesPerTab:50,sortsPerTab:20,emailAttributesPerTab:30,objectsPerPlan:20,mutationsPerPlan:500,planBytes:524288,historyDefault:20,historyMax:50,iconQueries:5,iconResults:20,labelLength:128},h=Object.keys(a),g=new Set(o),_=i.enum(h).describe(`A color id from the palette`),v=i.string().superRefine((e,t)=>{g.has(e)||t.addIssue({code:`custom`,message:`Invalid icon name`})}).transform(e=>e);function isPlainRecord(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}const y=new Set(o),b=/^[a-zA-Z_][a-zA-Z0-9_]*$/,x=/^[a-z][a-z0-9-]*$/,S=m.labelLength,C=r.string().min(1,`Object name cannot be empty`).max(63,`Object name is too long (max 63 characters)`).regex(/^[a-z][a-z0-9-]*$/,{message:`Invalid object name format.
3
- Name must be in kebab-case (slug format):
4
- ✅ Valid: 'products', 'user-profiles', 'order-items'
5
- ❌ Invalid: 'Products', 'userProfiles', 'user_profiles'`});function validateObjectName(n){try{C.parse(n)}catch(n){throw n instanceof r.ZodError?new e(n.issues[0].message,t.INVALID_OBJECT_NAME):n}}function validateViewName(e){if(!e||e.length===0)throw new n(`View name cannot be empty`,[{path:[`name`],message:`View name cannot be empty`}]);if(e.length>63)throw new n(`View name is too long`,[{path:[`name`],message:`View name is too long (max 63 characters)`}]);if(!x.test(e))throw new n(`Invalid view name format`,[{path:[`name`],message:`View name must be in kebab-case (e.g., 'detail', 'list-view')`}])}function assertUniqueBy(e,t,n){let r=new Set;for(let i of e){let e=t(i);if(r.has(e))throw n(e);r.add(e)}}const w=r.string().min(1,`Attribute name cannot be empty`).max(63,`Attribute name is too long (max 63 characters)`).regex(b,{message:`Invalid attribute name format.
6
- Name must be a valid variable identifier:
7
- ✅ Valid: 'firstName', 'first_name', 'FirstName', 'FIRST_NAME'
8
- ❌ Invalid: 'first-name', 'first name', '123name', 'first.name'`}).refine(e=>!f.includes(e),{message:`This is a reserved attribute name. Reserved names: ${f.join(`, `)}`});function validateAttributeName(e){if(!e||e.length===0)throw Error(`[AttributeBuilder] Attribute name cannot be empty`);if(e.length>63)throw Error(`[AttributeBuilder] Attribute name is too long (max 63 characters)`);if(!b.test(e))throw Error(`[AttributeBuilder] Invalid attribute name format.
9
- Name must be a valid variable identifier:
10
- ✅ Valid: 'firstName', 'first_name', 'FirstName', 'FIRST_NAME'
11
- ❌ Invalid: 'first-name', 'first name', '123name', 'first.name'`);if(f.includes(e))throw Error(`[AttributeBuilder] "${e}" is a reserved name and cannot be used as an attribute name.\nReserved names: ${f.join(`, `)}`)}function validateLabel(e){if(!e||e.length===0)throw Error(`[AttributeBuilder] Attribute label cannot be empty`);if(e.length>S)throw Error(`[AttributeBuilder] Attribute label is too long (max ${S} characters)`)}function validateIconName(e,t){if(!y.has(e))throw Error(`[AttributeBuilder] Invalid icon "${e}" in ${t}.\nIcon must be one of the predefined icons from @standards/constants.`)}function validateOptions(e,t){let n=new Set;for(let r of t){if(!r.value?.trim())throw Error(`[AttributeBuilder] Option in "${e}" has an empty or missing value.`);if(!r.label?.trim())throw Error(`[AttributeBuilder] Option "${r.value}" in "${e}" has an empty or missing label.`);if(n.has(r.value))throw Error(`[AttributeBuilder] Duplicate option value "${r.value}" in "${e}".`);n.add(r.value)}for(let n of t){if(n.inverse===void 0)continue;let r=t.find(e=>e.value===n.inverse);if(!r)throw Error(`[AttributeBuilder] Option "${n.value}" in "${e}" has inverse "${n.inverse}" which does not match any option value.`);if(r.inverse!==n.value)throw Error(`[AttributeBuilder] Inverse mismatch in "${e}": "${n.value}" points to "${n.inverse}", but "${n.inverse}" points to "${r.inverse??`(none)`}". Inverse pairs must be symmetric.`)}}export{isNativeObjectName as C,s as S,p as _,validateIconName as a,parseRecordListScope as b,validateOptions as c,_ as d,v as f,f as g,u as h,validateAttributeName as i,validateViewName as l,l as m,C as n,validateLabel as o,m as p,assertUniqueBy as r,validateObjectName as s,w as t,isPlainRecord as u,c as v,parseResourceVisibility as x,d as y};
@@ -1,11 +0,0 @@
1
- /*! © 2025-2026 AND YOU CREATE SAS (RCS Paris 940 190 614). Proprietary — see LICENSE (Standards SDK License 1.0). */
2
- var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,__copyProps=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},__toESM=(n,r,o)=>(o=n==null?{}:e(i(n)),__copyProps(r||!n||!n.__esModule||!a.call(n,`default`)?t(o,`default`,{value:n,enumerable:!0}):o,n));const o=require("./exceptions.js");let s=require("zod");s=__toESM(s);let c=require("@standards/constants");const l=[`skill`,`memory`,`drives`,`artifact`,`meeting`];function isNativeObjectName(e){return l.includes(e)}const u=[`workspace`,`private`],d=[`all`,...u,`shared`],f=[...u,`shared`];function parseRecordListScope(e){if(typeof e==`string`&&f.includes(e))return e;throw new o.ValidationError(`visibility must be one of: ${f.join(`, `)} (received: ${String(e)})`,[])}function parseResourceVisibility(e){if(typeof e==`string`&&u.includes(e))return e;throw new o.ValidationError(`visibility must be one of: ${u.join(`, `)} (received: ${String(e)})`,[])}const p=[`id`,`createdAt`,`updatedAt`,`createdBy`,`lastUpdatedBy`,`visibility`,`ownedBy`],m=[...p,`objectId`,`label`,`embeddingText`,`values`,`metadata`,`deletedAt`,`deletedBy`,`schemaVersion`,`appearance`,`owned_by`],h=l,g={attributesPerObject:300,tabsPerView:24,membersPerGroup:4,pageRows:1e3,groupsPerFormTab:12,fieldsPerGroup:60,fieldsPerFormTab:150,columnsPerTab:50,optionsPerAttribute:200,sidePanelAttributes:100,sidePanelPanes:20,filterRulesPerTab:50,sortsPerTab:20,emailAttributesPerTab:30,objectsPerPlan:20,mutationsPerPlan:500,planBytes:524288,historyDefault:20,historyMax:50,iconQueries:5,iconResults:20,labelLength:128},_=Object.keys(c.COLORS),v=new Set(c.ICONS),y=s.z.enum(_).describe(`A color id from the palette`),b=s.z.string().superRefine((e,t)=>{v.has(e)||t.addIssue({code:`custom`,message:`Invalid icon name`})}).transform(e=>e);function isPlainRecord(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}const x=new Set(c.ICONS),S=/^[a-zA-Z_][a-zA-Z0-9_]*$/,C=/^[a-z][a-z0-9-]*$/,w=g.labelLength,T=s.default.string().min(1,`Object name cannot be empty`).max(63,`Object name is too long (max 63 characters)`).regex(/^[a-z][a-z0-9-]*$/,{message:`Invalid object name format.
3
- Name must be in kebab-case (slug format):
4
- ✅ Valid: 'products', 'user-profiles', 'order-items'
5
- ❌ Invalid: 'Products', 'userProfiles', 'user_profiles'`});function validateObjectName(e){try{T.parse(e)}catch(e){throw e instanceof s.default.ZodError?new o.SchemaError(e.issues[0].message,o.SchemaErrorCode.INVALID_OBJECT_NAME):e}}function validateViewName(e){if(!e||e.length===0)throw new o.ValidationError(`View name cannot be empty`,[{path:[`name`],message:`View name cannot be empty`}]);if(e.length>63)throw new o.ValidationError(`View name is too long`,[{path:[`name`],message:`View name is too long (max 63 characters)`}]);if(!C.test(e))throw new o.ValidationError(`Invalid view name format`,[{path:[`name`],message:`View name must be in kebab-case (e.g., 'detail', 'list-view')`}])}function assertUniqueBy(e,t,n){let r=new Set;for(let i of e){let e=t(i);if(r.has(e))throw n(e);r.add(e)}}const E=s.default.string().min(1,`Attribute name cannot be empty`).max(63,`Attribute name is too long (max 63 characters)`).regex(S,{message:`Invalid attribute name format.
6
- Name must be a valid variable identifier:
7
- ✅ Valid: 'firstName', 'first_name', 'FirstName', 'FIRST_NAME'
8
- ❌ Invalid: 'first-name', 'first name', '123name', 'first.name'`}).refine(e=>!m.includes(e),{message:`This is a reserved attribute name. Reserved names: ${m.join(`, `)}`});function validateAttributeName(e){if(!e||e.length===0)throw Error(`[AttributeBuilder] Attribute name cannot be empty`);if(e.length>63)throw Error(`[AttributeBuilder] Attribute name is too long (max 63 characters)`);if(!S.test(e))throw Error(`[AttributeBuilder] Invalid attribute name format.
9
- Name must be a valid variable identifier:
10
- ✅ Valid: 'firstName', 'first_name', 'FirstName', 'FIRST_NAME'
11
- ❌ Invalid: 'first-name', 'first name', '123name', 'first.name'`);if(m.includes(e))throw Error(`[AttributeBuilder] "${e}" is a reserved name and cannot be used as an attribute name.\nReserved names: ${m.join(`, `)}`)}function validateLabel(e){if(!e||e.length===0)throw Error(`[AttributeBuilder] Attribute label cannot be empty`);if(e.length>w)throw Error(`[AttributeBuilder] Attribute label is too long (max ${w} characters)`)}function validateIconName(e,t){if(!x.has(e))throw Error(`[AttributeBuilder] Invalid icon "${e}" in ${t}.\nIcon must be one of the predefined icons from @standards/constants.`)}function validateOptions(e,t){let n=new Set;for(let r of t){if(!r.value?.trim())throw Error(`[AttributeBuilder] Option in "${e}" has an empty or missing value.`);if(!r.label?.trim())throw Error(`[AttributeBuilder] Option "${r.value}" in "${e}" has an empty or missing label.`);if(n.has(r.value))throw Error(`[AttributeBuilder] Duplicate option value "${r.value}" in "${e}".`);n.add(r.value)}for(let n of t){if(n.inverse===void 0)continue;let r=t.find(e=>e.value===n.inverse);if(!r)throw Error(`[AttributeBuilder] Option "${n.value}" in "${e}" has inverse "${n.inverse}" which does not match any option value.`);if(r.inverse!==n.value)throw Error(`[AttributeBuilder] Inverse mismatch in "${e}": "${n.value}" points to "${n.inverse}", but "${n.inverse}" points to "${r.inverse??`(none)`}". Inverse pairs must be symmetric.`)}}Object.defineProperty(exports,"C",{enumerable:!0,get:function(){return isNativeObjectName}}),Object.defineProperty(exports,"S",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return validateIconName}}),Object.defineProperty(exports,"b",{enumerable:!0,get:function(){return parseRecordListScope}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return validateOptions}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return validateAttributeName}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return validateViewName}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return validateLabel}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return assertUniqueBy}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return validateObjectName}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return isPlainRecord}}),Object.defineProperty(exports,"v",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"x",{enumerable:!0,get:function(){return parseResourceVisibility}}),Object.defineProperty(exports,"y",{enumerable:!0,get:function(){return p}});
@@ -1,11 +0,0 @@
1
-
2
- import { s as CheckboxAttribute } from "./attributes-D35Lcoui.js";
3
- import { r as ValidationMessages } from "./index-BLXzRQr9.js";
4
- import { z as z$1 } from "zod";
5
- //#region src/validation/primitives/checkbox.d.ts
6
- /**
7
- * Create a Zod schema for a checkbox attribute
8
- */
9
- declare function createCheckboxValidator(_attr: CheckboxAttribute, _messages?: ValidationMessages): z$1.ZodBoolean;
10
- //#endregion
11
- export { createCheckboxValidator as t };
@@ -1,11 +0,0 @@
1
-
2
- import { s as CheckboxAttribute } from "./attributes-CZD_B0mZ.mjs";
3
- import { r as ValidationMessages } from "./index-CSDAHifu.mjs";
4
- import { z as z$1 } from "zod";
5
- //#region src/validation/primitives/checkbox.d.ts
6
- /**
7
- * Create a Zod schema for a checkbox attribute
8
- */
9
- declare function createCheckboxValidator(_attr: CheckboxAttribute, _messages?: ValidationMessages): z$1.ZodBoolean;
10
- //#endregion
11
- export { createCheckboxValidator as t };
@@ -1,2 +0,0 @@
1
- /*! © 2025-2026 AND YOU CREATE SAS (RCS Paris 940 190 614). Proprietary — see LICENSE (Standards SDK License 1.0). */
2
- import{ValidationError as e}from"./exceptions.mjs";import{d as t,f as n,p as r,t as i,u as a}from"./attribute-validators-DRqhAt2t.mjs";import{z as o}from"zod";const s=[`text`,`number`,`boolean`,`date`,`select`,`multiselect`],c=o.object({placeholder:o.string().optional(),description:o.string().optional(),defaultValue:o.unknown().optional(),icon:o.string().optional(),order:o.number().int().optional(),hidden:o.boolean().optional(),archived:o.boolean().optional(),deprecated:o.boolean().optional(),metadata:o.record(o.string(),o.unknown()).optional()}),l=[`placeholder`,`description`,`defaultValue`,`icon`,`order`,`hidden`,`archived`,`deprecated`,`metadata`],u={relation:{icon:n.optional().describe(`Field icon from search_icons`)}},d={date:[`precision`],user:[`notifiesOnAssign`]};function wireOmittedConfigKeysFor(e){let t=u[e]??{};return[...l.filter(e=>!(e in t)),...d[e]??[]]}function wireHiddenTypeConfigMask(e){return Object.fromEntries((d[e]??[]).map(e=>[e,!0]))}function refuseForeignKeys(e,t,n=[]){let r=new Set(n);return function refuse(n,i,a,o=[]){let s=e[n];if(s!==void 0&&i!==void 0)for(let e of Object.keys(i))s.has(e)||r.has(e)||a.addIssue({code:`custom`,path:[...o,e],message:`"${e}" is not a ${n} ${t}; keys of ${n}: ${[...s].join(`, `)}`})}}const f=o.object({value:o.string().min(1).describe(`Stored value`),label:o.string().min(1).describe(`Label people see`),description:o.string().describe(`Extra context`).optional(),inverse:o.string().describe(`Paired option's value (symmetric)`).optional(),archived:o.boolean().describe(`Hides without deleting`).optional()}),p=o.enum([`idle`,`in_progress`,`finished`]).describe(`Workflow stage`),m=f.extend({color:t}).strict(),h=m,g=f.extend({color:t,group:p}).strict(),_=f.extend({color:o.string().optional().describe(`A color id`),group:p.optional()}).strict(),v=new Set(_.keyof().options),y=[`options`,`targetAttributeOptions`];function withoutUnknownOptionKeys(e){let t=e;for(let n of y){let r=e[n];if(!Array.isArray(r))continue;let i=!1,o=r.map(e=>!a(e)||Object.keys(e).every(e=>v.has(e))?e:(i=!0,Object.fromEntries(Object.entries(e).filter(([e])=>v.has(e)))));i&&(t={...t,[n]:o})}let n=e.properties;if(a(n)&&Array.isArray(n.definitions)){let e=n.definitions,r=e.map(e=>a(e)?withoutUnknownOptionKeys(e):e);r.some((t,n)=>t!==e[n])&&(t={...t,properties:{...n,definitions:r}})}return t}const b=o.array(_).min(1).refine(e=>{let t=e.map(e=>e.value);return new Set(t).size===t.length},{message:`Duplicate option values are not allowed`});function writeOptionsArraySchema(e){return o.array(e).min(1).max(r.optionsPerAttribute).refine(e=>{let t=e.map(e=>e.value);return new Set(t).size===t.length},{message:`Duplicate option values are not allowed`})}const x=writeOptionsArraySchema(m),S=writeOptionsArraySchema(h),C=writeOptionsArraySchema(g),ee=o.object({object:o.string().min(1).describe(`Target object`),displayTemplate:o.string().optional().describe(`Linked record label template`),filter:o.record(o.string(),o.unknown()).optional().describe(`Restricts linkable records`)}),w=o.object({object:o.string().min(1).describe(`Other side's object`),attribute:o.string().min(1).describe(`Other side's attribute`),cardinality:o.enum([`one`,`many`]).optional().describe(`Other side's cardinality`),label:o.string().min(1).optional().describe(`Other side's label`),storageOwner:o.boolean().optional().describe(`Owns the join storage`)}),T=o.object({objectName:o.string().min(1).describe(`API name of the object whose options are mirrored`),attributeName:o.string().min(1).describe(`API name of the select/status attribute to mirror options from`),attributeId:o.string().optional().describe(`Id of the source attribute, resolved by the server`)}),E=c.extend({multiline:o.boolean().describe(`Renders as a multi-line textarea`).optional(),minLength:o.number().int().min(0).describe(`Minimum character count`).optional(),maxLength:o.number().int().min(1).describe(`Maximum character count`).optional(),pattern:o.string().describe(`Regular expression the value must match`).optional(),format:o.enum([`email`,`url`,`slug`]).describe(`Validates and renders as this format`).optional()}),D=c,O=c.extend({renderAs:o.enum([`number`,`rating`]).describe(`Plain number or a star rating`).optional(),min:o.number().describe(`Minimum allowed value`).optional(),max:o.number().describe(`Maximum allowed value`).optional(),unit:o.enum([`integer`,`decimal`,`percentage`]).describe(`How the value is stored and rendered`).optional(),decimals:o.number().int().min(0).max(10).describe(`Decimal places shown`).optional()}),k=c,A=c.extend({dateFormat:o.enum([`short`,`long`,`full`,`relative`]).describe(`How the date is rendered`).optional(),precision:o.enum([`day`,`month`,`year`]).describe(`Whether the value records a day, a month or a year`).optional(),minDate:o.string().describe(`Earliest allowed date (ISO)`).optional(),maxDate:o.string().describe(`Latest allowed date (ISO)`).optional(),includeTime:o.boolean().describe(`Also captures a time of day`).optional(),endDate:o.boolean().describe(`Paired with another date attribute as a range's end`).optional(),timeFormat:o.enum([`12h`,`24h`]).describe(`Clock format when a time is included`).optional()}),j=c.extend({defaultCountryCode:o.string().length(3).describe(`ISO country code preselected in the dialer`).optional()}),M=c.extend({defaultCurrency:o.string().length(3).describe(`ISO currency code preselected for new values`).optional(),allowedCurrencies:o.array(o.string().length(3)).describe(`ISO currency codes a value may use; any currency when omitted`).optional(),allowNegative:o.boolean().describe(`Whether a negative amount is accepted`).optional()}),N=c.extend({options:b.describe(`The workflow statuses, in order`)}),P=c.extend({granularity:o.enum([`full`,`address`,`city`,`state`,`country`,`coordinates`]).describe(`How precise a location must be captured`).optional(),defaultCountry:o.string().length(3).describe(`ISO country code preselected for new values`).optional(),allowedCountries:o.array(o.string().length(3)).describe(`ISO country codes a value may use; any country when omitted`).optional()}),F=c.extend({options:b.describe(`Options`),renderAs:o.literal(`badges`).optional().describe(`Renders the chosen option as a colored badge`)}),I=c.extend({options:b.describe(`Options`),renderAs:o.literal(`badges`).optional().describe(`Renders the chosen options as colored badges`)}),L=c.extend({types:o.array(o.enum([`user`,`agent`])).min(1).optional().describe(`Which kinds of actor can be picked; both when omitted`),multiple:o.boolean().optional().describe(`Whether more than one actor can be picked`),notifiesOnAssign:o.boolean().optional().describe(`Whether each person added to the value is notified`)}),R={name:i.describe(`Property API name`),label:o.string().min(1).describe(`Label people see`),required:o.boolean().describe(`Required on every edge`).optional()},z={id:o.string().optional(),objectId:o.string().optional(),system:o.boolean().optional(),unique:o.boolean().optional()},B=Object.fromEntries(l.map(e=>[e,!0])),V=[`text`,`number`,`checkbox`,`date`,`phone`,`currency`,`location`],H=[...V,`select`,`multiselect`,`status`],U={text:E,number:O,checkbox:k,date:A,phone:j,currency:M,location:P,select:F,multiselect:I,status:N},W={...U,select:F.extend({options:x.describe(`Options`)}),multiselect:I.extend({options:S.describe(`Options`)}),status:N.extend({options:C.describe(`Statuses`)})},propertyWireConfigShapeFor=e=>W[e].omit(B).omit(wireHiddenTypeConfigMask(e)).shape,storedPropertyMember=e=>o.object({...R,...z,type:o.literal(e).describe(`Property type`),...U[e].shape}).strip(),G=o.discriminatedUnion(`type`,H.map(storedPropertyMember)),K=o.object({definitions:o.array(G).min(1).max(r.optionsPerAttribute).describe(`Edge properties`)}).strip().describe(`Properties carried by the edge itself (role, share, since…), never a third object`),q=refuseForeignKeys(Object.fromEntries(H.map(e=>[e,new Set(Object.keys(propertyWireConfigShapeFor(e)))])),`property key`,[...Object.keys(R),`type`]);function refuseForeignPropertyKeys(e,t){q(e.type,e,t)}const J=V.reduce((e,t)=>(Object.assign(e,propertyWireConfigShapeFor(t)),e),{}),optionPropertyWireMember=e=>o.object({...R,type:e.length===1?o.literal(e[0]).describe(`Property type`):o.enum(e).describe(`Property type`),...propertyWireConfigShapeFor(e[0])}).strict(),Y=o.discriminatedUnion(`type`,[optionPropertyWireMember([`select`,`multiselect`]),optionPropertyWireMember([`status`]),o.object({...R,type:o.enum(V).describe(`Property type`),...J}).strict().superRefine(refuseForeignPropertyKeys)]),X=o.object({definitions:o.array(Y).min(1).max(r.optionsPerAttribute).describe(`Edge properties`)}).strict().describe(`Properties carried by the edge itself (role, share, since…), never a third object`),Z=c.extend({targets:o.array(ee).min(1).describe(`Target object(s)`),cardinality:o.enum([`one`,`many`]).describe(`one or many`),maxItems:o.number().int().min(1).optional().describe(`Max linked records`),bilateral:w.optional().describe(`Syncs the other side's attribute`),properties:K.optional()}),Q=c.extend({expression:o.string().min(1).describe(`The formula expression, compiled against this object's attributes`),returnType:o.enum(s).describe(`The formula's result type`),decimals:o.number().int().min(0).max(10).optional().describe(`Decimal places shown for a number result`),currencyCode:o.string().length(3).optional().describe(`ISO 4217 code a number result renders with; presentation only`),allowRelations:o.boolean().optional().describe(`Whether the expression may read across a relation`),optionsSource:T.optional().describe(`Mirrors an option set`)}),te=c.extend({relationAttribute:o.string().min(1).optional().describe(`API name of the relation this rollup aggregates through`),relationPath:o.string().optional().describe(`Not supported yet — single-hop only`),targetAttribute:o.string().min(1).optional().describe(`API name of the attribute aggregated on the relation's target object; not read by count`),function:o.enum([`sum`,`avg`,`earliest`,`latest`,`count`,`countValues`,`countUniqueValues`,`countEmpty`,`percentEmpty`,`percentNotEmpty`,`original`]).describe(`The aggregation applied across the linked records`),decimals:o.number().int().min(0).max(10).optional().describe(`Decimal places shown for a numeric result`),targetAttributeType:o.string().optional().describe(`Server-set`),targetAttributeOptions:o.array(_).optional().describe(`Server-set`),targetCurrencyCode:o.string().length(3).optional().describe(`Server-set`),optionsSource:T.optional().describe(`Mirrors an option set`)});function rollupTargetIssue(e,t){if(e===`rollup`&&t.function!==`count`&&t.targetAttribute===void 0)return{path:[`targetAttribute`],message:`targetAttribute is required for a "${String(t.function)}" rollup`}}function datePrecisionIssues(e,t,n=[]){let r=[],i=t.precision;if(e===`date`&&i!==void 0&&i!==`day`)for(let e of[`includeTime`,`endDate`])t[e]===!0&&r.push({path:[...n,`precision`],message:`A "${String(i)}" precision cannot be combined with ${e}`});let o=t.properties;return a(o)&&Array.isArray(o.definitions)&&o.definitions.forEach((e,t)=>{a(e)&&r.push(...datePrecisionIssues(String(e.type),e,[...n,`properties`,`definitions`,t]))}),r}const $={text:E,richtext:D,number:O,checkbox:k,date:A,phone:j,currency:M,status:N,location:P,select:F,multiselect:I,user:L,relation:Z,formula:Q,rollup:te,document:c.extend({properties:K.optional(),accepts:o.array(o.string().min(1)).optional().describe("MIME prefixes or globs a file must match (e.g. `image/*`, `*.pdf`)"),maxFileSize:o.number().int().min(1).optional().describe(`Maximum file size in bytes`)})};function getAttributeConfigSchema(t){let n=$[t];if(!n)throw new e(`Unsupported attribute type: ${t}`,[]);return n}function parseAttributeConfig(e,t){let n=getAttributeConfigSchema(e).strip().parse(t),r=rollupTargetIssue(e,n);if(r)throw validationErrorFromIssues([r]);return n}function getAttributeConfigWriteSchema(e){let t=getAttributeConfigSchema(e).extend({icon:n.optional()});switch(e){case`select`:return t.extend({options:x.describe(`Options`)});case`multiselect`:return t.extend({options:S.describe(`Options`)});case`status`:return t.extend({options:C.describe(`Statuses`)});default:return t}}function validationErrorFromIssues(t){return e.fromZodErrors(t.map(e=>({path:e.path.map(e=>typeof e==`symbol`?String(e):e),message:e.message})))}function parseWriteSchema(e,t){let n=getAttributeConfigWriteSchema(e).strip().safeParse(t);if(!n.success)throw validationErrorFromIssues(n.error.issues);let r=rollupTargetIssue(e,n.data);if(r)throw validationErrorFromIssues([r]);let i=datePrecisionIssues(e,n.data);if(i.length>0)throw validationErrorFromIssues(i);return n.data}function parseAttributeConfigForCreate(e,t){return parseWriteSchema(e,t)}function validatePatchedIcon(t){if(!Object.prototype.hasOwnProperty.call(t,`icon`))return;let r=n.optional().safeParse(t.icon);if(!r.success)throw e.fromZodErrors(r.error.issues.map(e=>({path:[`icon`,...e.path.map(e=>typeof e==`symbol`?String(e):e)],message:e.message})))}function isSelectLike(e){return e===`select`||e===`multiselect`||e===`status`}function parseAttributeConfigForUpdate(e,t){let n=Object.prototype.hasOwnProperty.call(t,`options`),r=Object.prototype.hasOwnProperty.call(t,`icon`),i={...e,...t};if(validatePatchedIcon(t),n){let{icon:t,...n}=i,a=parseWriteSchema(e.type,r?i:n);return!r&&t!==void 0&&(a.icon=t),a}let a=e.options;isSelectLike(e.type)&&(i.options=[{value:`__legacy__`,label:`__legacy__`}]);let o=getAttributeConfigSchema(e.type).strip().safeParse(i);if(!o.success)throw validationErrorFromIssues(o.error.issues);let s=o.data,c=datePrecisionIssues(e.type,s);if(c.length>0)throw validationErrorFromIssues(c);return isSelectLike(e.type)&&(s.options=a),s}export{s as C,withoutUnknownOptionKeys as S,m as _,datePrecisionIssues as a,wireHiddenTypeConfigMask as b,h as c,parseAttributeConfigForUpdate as d,G as f,refuseForeignKeys as g,X as h,$ as i,parseAttributeConfig as l,K as m,u as n,getAttributeConfigSchema as o,Y as p,l as r,getAttributeConfigWriteSchema as s,V as t,parseAttributeConfigForCreate as u,p as v,wireOmittedConfigKeysFor as x,g as y};
@@ -1,2 +0,0 @@
1
- /*! © 2025-2026 AND YOU CREATE SAS (RCS Paris 940 190 614). Proprietary — see LICENSE (Standards SDK License 1.0). */
2
- const e=require("./attribute-validators-WAoJbap5.js"),t=require("./exceptions.js");let n=require("zod");const r=[`text`,`number`,`boolean`,`date`,`select`,`multiselect`],i=n.z.object({placeholder:n.z.string().optional(),description:n.z.string().optional(),defaultValue:n.z.unknown().optional(),icon:n.z.string().optional(),order:n.z.number().int().optional(),hidden:n.z.boolean().optional(),archived:n.z.boolean().optional(),deprecated:n.z.boolean().optional(),metadata:n.z.record(n.z.string(),n.z.unknown()).optional()}),a=[`placeholder`,`description`,`defaultValue`,`icon`,`order`,`hidden`,`archived`,`deprecated`,`metadata`],o={relation:{icon:e.f.optional().describe(`Field icon from search_icons`)}},s={date:[`precision`],user:[`notifiesOnAssign`]};function wireOmittedConfigKeysFor(e){let t=o[e]??{};return[...a.filter(e=>!(e in t)),...s[e]??[]]}function wireHiddenTypeConfigMask(e){return Object.fromEntries((s[e]??[]).map(e=>[e,!0]))}function refuseForeignKeys(e,t,n=[]){let r=new Set(n);return function refuse(n,i,a,o=[]){let s=e[n];if(s!==void 0&&i!==void 0)for(let e of Object.keys(i))s.has(e)||r.has(e)||a.addIssue({code:`custom`,path:[...o,e],message:`"${e}" is not a ${n} ${t}; keys of ${n}: ${[...s].join(`, `)}`})}}const c=n.z.object({value:n.z.string().min(1).describe(`Stored value`),label:n.z.string().min(1).describe(`Label people see`),description:n.z.string().describe(`Extra context`).optional(),inverse:n.z.string().describe(`Paired option's value (symmetric)`).optional(),archived:n.z.boolean().describe(`Hides without deleting`).optional()}),l=n.z.enum([`idle`,`in_progress`,`finished`]).describe(`Workflow stage`),u=c.extend({color:e.d}).strict(),d=u,f=c.extend({color:e.d,group:l}).strict(),p=c.extend({color:n.z.string().optional().describe(`A color id`),group:l.optional()}).strict(),m=new Set(p.keyof().options),h=[`options`,`targetAttributeOptions`];function withoutUnknownOptionKeys(t){let n=t;for(let r of h){let i=t[r];if(!Array.isArray(i))continue;let a=!1,o=i.map(t=>!e.u(t)||Object.keys(t).every(e=>m.has(e))?t:(a=!0,Object.fromEntries(Object.entries(t).filter(([e])=>m.has(e)))));a&&(n={...n,[r]:o})}let r=t.properties;if(e.u(r)&&Array.isArray(r.definitions)){let t=r.definitions,i=t.map(t=>e.u(t)?withoutUnknownOptionKeys(t):t);i.some((e,n)=>e!==t[n])&&(n={...n,properties:{...r,definitions:i}})}return n}const g=n.z.array(p).min(1).refine(e=>{let t=e.map(e=>e.value);return new Set(t).size===t.length},{message:`Duplicate option values are not allowed`});function writeOptionsArraySchema(t){return n.z.array(t).min(1).max(e.p.optionsPerAttribute).refine(e=>{let t=e.map(e=>e.value);return new Set(t).size===t.length},{message:`Duplicate option values are not allowed`})}const _=writeOptionsArraySchema(u),v=writeOptionsArraySchema(d),y=writeOptionsArraySchema(f),b=n.z.object({object:n.z.string().min(1).describe(`Target object`),displayTemplate:n.z.string().optional().describe(`Linked record label template`),filter:n.z.record(n.z.string(),n.z.unknown()).optional().describe(`Restricts linkable records`)}),x=n.z.object({object:n.z.string().min(1).describe(`Other side's object`),attribute:n.z.string().min(1).describe(`Other side's attribute`),cardinality:n.z.enum([`one`,`many`]).optional().describe(`Other side's cardinality`),label:n.z.string().min(1).optional().describe(`Other side's label`),storageOwner:n.z.boolean().optional().describe(`Owns the join storage`)}),S=n.z.object({objectName:n.z.string().min(1).describe(`API name of the object whose options are mirrored`),attributeName:n.z.string().min(1).describe(`API name of the select/status attribute to mirror options from`),attributeId:n.z.string().optional().describe(`Id of the source attribute, resolved by the server`)}),C=i.extend({multiline:n.z.boolean().describe(`Renders as a multi-line textarea`).optional(),minLength:n.z.number().int().min(0).describe(`Minimum character count`).optional(),maxLength:n.z.number().int().min(1).describe(`Maximum character count`).optional(),pattern:n.z.string().describe(`Regular expression the value must match`).optional(),format:n.z.enum([`email`,`url`,`slug`]).describe(`Validates and renders as this format`).optional()}),w=i,T=i.extend({renderAs:n.z.enum([`number`,`rating`]).describe(`Plain number or a star rating`).optional(),min:n.z.number().describe(`Minimum allowed value`).optional(),max:n.z.number().describe(`Maximum allowed value`).optional(),unit:n.z.enum([`integer`,`decimal`,`percentage`]).describe(`How the value is stored and rendered`).optional(),decimals:n.z.number().int().min(0).max(10).describe(`Decimal places shown`).optional()}),E=i,D=i.extend({dateFormat:n.z.enum([`short`,`long`,`full`,`relative`]).describe(`How the date is rendered`).optional(),precision:n.z.enum([`day`,`month`,`year`]).describe(`Whether the value records a day, a month or a year`).optional(),minDate:n.z.string().describe(`Earliest allowed date (ISO)`).optional(),maxDate:n.z.string().describe(`Latest allowed date (ISO)`).optional(),includeTime:n.z.boolean().describe(`Also captures a time of day`).optional(),endDate:n.z.boolean().describe(`Paired with another date attribute as a range's end`).optional(),timeFormat:n.z.enum([`12h`,`24h`]).describe(`Clock format when a time is included`).optional()}),O=i.extend({defaultCountryCode:n.z.string().length(3).describe(`ISO country code preselected in the dialer`).optional()}),k=i.extend({defaultCurrency:n.z.string().length(3).describe(`ISO currency code preselected for new values`).optional(),allowedCurrencies:n.z.array(n.z.string().length(3)).describe(`ISO currency codes a value may use; any currency when omitted`).optional(),allowNegative:n.z.boolean().describe(`Whether a negative amount is accepted`).optional()}),A=i.extend({options:g.describe(`The workflow statuses, in order`)}),j=i.extend({granularity:n.z.enum([`full`,`address`,`city`,`state`,`country`,`coordinates`]).describe(`How precise a location must be captured`).optional(),defaultCountry:n.z.string().length(3).describe(`ISO country code preselected for new values`).optional(),allowedCountries:n.z.array(n.z.string().length(3)).describe(`ISO country codes a value may use; any country when omitted`).optional()}),M=i.extend({options:g.describe(`Options`),renderAs:n.z.literal(`badges`).optional().describe(`Renders the chosen option as a colored badge`)}),N=i.extend({options:g.describe(`Options`),renderAs:n.z.literal(`badges`).optional().describe(`Renders the chosen options as colored badges`)}),P=i.extend({types:n.z.array(n.z.enum([`user`,`agent`])).min(1).optional().describe(`Which kinds of actor can be picked; both when omitted`),multiple:n.z.boolean().optional().describe(`Whether more than one actor can be picked`),notifiesOnAssign:n.z.boolean().optional().describe(`Whether each person added to the value is notified`)}),F={name:e.t.describe(`Property API name`),label:n.z.string().min(1).describe(`Label people see`),required:n.z.boolean().describe(`Required on every edge`).optional()},I={id:n.z.string().optional(),objectId:n.z.string().optional(),system:n.z.boolean().optional(),unique:n.z.boolean().optional()},L=Object.fromEntries(a.map(e=>[e,!0])),R=[`text`,`number`,`checkbox`,`date`,`phone`,`currency`,`location`],z=[...R,`select`,`multiselect`,`status`],B={text:C,number:T,checkbox:E,date:D,phone:O,currency:k,location:j,select:M,multiselect:N,status:A},V={...B,select:M.extend({options:_.describe(`Options`)}),multiselect:N.extend({options:v.describe(`Options`)}),status:A.extend({options:y.describe(`Statuses`)})},propertyWireConfigShapeFor=e=>V[e].omit(L).omit(wireHiddenTypeConfigMask(e)).shape,storedPropertyMember=e=>n.z.object({...F,...I,type:n.z.literal(e).describe(`Property type`),...B[e].shape}).strip(),H=n.z.discriminatedUnion(`type`,z.map(storedPropertyMember)),U=n.z.object({definitions:n.z.array(H).min(1).max(e.p.optionsPerAttribute).describe(`Edge properties`)}).strip().describe(`Properties carried by the edge itself (role, share, since…), never a third object`),W=refuseForeignKeys(Object.fromEntries(z.map(e=>[e,new Set(Object.keys(propertyWireConfigShapeFor(e)))])),`property key`,[...Object.keys(F),`type`]);function refuseForeignPropertyKeys(e,t){W(e.type,e,t)}const G=R.reduce((e,t)=>(Object.assign(e,propertyWireConfigShapeFor(t)),e),{}),optionPropertyWireMember=e=>n.z.object({...F,type:e.length===1?n.z.literal(e[0]).describe(`Property type`):n.z.enum(e).describe(`Property type`),...propertyWireConfigShapeFor(e[0])}).strict(),K=n.z.discriminatedUnion(`type`,[optionPropertyWireMember([`select`,`multiselect`]),optionPropertyWireMember([`status`]),n.z.object({...F,type:n.z.enum(R).describe(`Property type`),...G}).strict().superRefine(refuseForeignPropertyKeys)]),q=n.z.object({definitions:n.z.array(K).min(1).max(e.p.optionsPerAttribute).describe(`Edge properties`)}).strict().describe(`Properties carried by the edge itself (role, share, since…), never a third object`),J=i.extend({targets:n.z.array(b).min(1).describe(`Target object(s)`),cardinality:n.z.enum([`one`,`many`]).describe(`one or many`),maxItems:n.z.number().int().min(1).optional().describe(`Max linked records`),bilateral:x.optional().describe(`Syncs the other side's attribute`),properties:U.optional()}),Y=i.extend({expression:n.z.string().min(1).describe(`The formula expression, compiled against this object's attributes`),returnType:n.z.enum(r).describe(`The formula's result type`),decimals:n.z.number().int().min(0).max(10).optional().describe(`Decimal places shown for a number result`),currencyCode:n.z.string().length(3).optional().describe(`ISO 4217 code a number result renders with; presentation only`),allowRelations:n.z.boolean().optional().describe(`Whether the expression may read across a relation`),optionsSource:S.optional().describe(`Mirrors an option set`)}),X=i.extend({relationAttribute:n.z.string().min(1).optional().describe(`API name of the relation this rollup aggregates through`),relationPath:n.z.string().optional().describe(`Not supported yet — single-hop only`),targetAttribute:n.z.string().min(1).optional().describe(`API name of the attribute aggregated on the relation's target object; not read by count`),function:n.z.enum([`sum`,`avg`,`earliest`,`latest`,`count`,`countValues`,`countUniqueValues`,`countEmpty`,`percentEmpty`,`percentNotEmpty`,`original`]).describe(`The aggregation applied across the linked records`),decimals:n.z.number().int().min(0).max(10).optional().describe(`Decimal places shown for a numeric result`),targetAttributeType:n.z.string().optional().describe(`Server-set`),targetAttributeOptions:n.z.array(p).optional().describe(`Server-set`),targetCurrencyCode:n.z.string().length(3).optional().describe(`Server-set`),optionsSource:S.optional().describe(`Mirrors an option set`)});function rollupTargetIssue(e,t){if(e===`rollup`&&t.function!==`count`&&t.targetAttribute===void 0)return{path:[`targetAttribute`],message:`targetAttribute is required for a "${String(t.function)}" rollup`}}function datePrecisionIssues(t,n,r=[]){let i=[],a=n.precision;if(t===`date`&&a!==void 0&&a!==`day`)for(let e of[`includeTime`,`endDate`])n[e]===!0&&i.push({path:[...r,`precision`],message:`A "${String(a)}" precision cannot be combined with ${e}`});let o=n.properties;return e.u(o)&&Array.isArray(o.definitions)&&o.definitions.forEach((t,n)=>{e.u(t)&&i.push(...datePrecisionIssues(String(t.type),t,[...r,`properties`,`definitions`,n]))}),i}const Z={text:C,richtext:w,number:T,checkbox:E,date:D,phone:O,currency:k,status:A,location:j,select:M,multiselect:N,user:P,relation:J,formula:Y,rollup:X,document:i.extend({properties:U.optional(),accepts:n.z.array(n.z.string().min(1)).optional().describe("MIME prefixes or globs a file must match (e.g. `image/*`, `*.pdf`)"),maxFileSize:n.z.number().int().min(1).optional().describe(`Maximum file size in bytes`)})};function getAttributeConfigSchema(e){let n=Z[e];if(!n)throw new t.ValidationError(`Unsupported attribute type: ${e}`,[]);return n}function parseAttributeConfig(e,t){let n=getAttributeConfigSchema(e).strip().parse(t),r=rollupTargetIssue(e,n);if(r)throw validationErrorFromIssues([r]);return n}function getAttributeConfigWriteSchema(t){let n=getAttributeConfigSchema(t).extend({icon:e.f.optional()});switch(t){case`select`:return n.extend({options:_.describe(`Options`)});case`multiselect`:return n.extend({options:v.describe(`Options`)});case`status`:return n.extend({options:y.describe(`Statuses`)});default:return n}}function validationErrorFromIssues(e){return t.ValidationError.fromZodErrors(e.map(e=>({path:e.path.map(e=>typeof e==`symbol`?String(e):e),message:e.message})))}function parseWriteSchema(e,t){let n=getAttributeConfigWriteSchema(e).strip().safeParse(t);if(!n.success)throw validationErrorFromIssues(n.error.issues);let r=rollupTargetIssue(e,n.data);if(r)throw validationErrorFromIssues([r]);let i=datePrecisionIssues(e,n.data);if(i.length>0)throw validationErrorFromIssues(i);return n.data}function parseAttributeConfigForCreate(e,t){return parseWriteSchema(e,t)}function validatePatchedIcon(n){if(!Object.prototype.hasOwnProperty.call(n,`icon`))return;let r=e.f.optional().safeParse(n.icon);if(!r.success)throw t.ValidationError.fromZodErrors(r.error.issues.map(e=>({path:[`icon`,...e.path.map(e=>typeof e==`symbol`?String(e):e)],message:e.message})))}function isSelectLike(e){return e===`select`||e===`multiselect`||e===`status`}function parseAttributeConfigForUpdate(e,t){let n=Object.prototype.hasOwnProperty.call(t,`options`),r=Object.prototype.hasOwnProperty.call(t,`icon`),i={...e,...t};if(validatePatchedIcon(t),n){let{icon:t,...n}=i,a=parseWriteSchema(e.type,r?i:n);return!r&&t!==void 0&&(a.icon=t),a}let a=e.options;isSelectLike(e.type)&&(i.options=[{value:`__legacy__`,label:`__legacy__`}]);let o=getAttributeConfigSchema(e.type).strip().safeParse(i);if(!o.success)throw validationErrorFromIssues(o.error.issues);let s=o.data,c=datePrecisionIssues(e.type,s);if(c.length>0)throw validationErrorFromIssues(c);return isSelectLike(e.type)&&(s.options=a),s}Object.defineProperty(exports,"C",{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,"S",{enumerable:!0,get:function(){return withoutUnknownOptionKeys}}),Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return datePrecisionIssues}}),Object.defineProperty(exports,"b",{enumerable:!0,get:function(){return wireHiddenTypeConfigMask}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return parseAttributeConfigForUpdate}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return refuseForeignKeys}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return q}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return Z}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return parseAttributeConfig}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return getAttributeConfigSchema}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return K}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return getAttributeConfigWriteSchema}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return parseAttributeConfigForCreate}}),Object.defineProperty(exports,"v",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"x",{enumerable:!0,get:function(){return wireOmittedConfigKeysFor}}),Object.defineProperty(exports,"y",{enumerable:!0,get:function(){return f}});
@@ -1,11 +0,0 @@
1
-
2
- import { C as NumberAttribute } from "./attributes-D35Lcoui.js";
3
- import { r as ValidationMessages } from "./index-BLXzRQr9.js";
4
- import { z as z$1 } from "zod";
5
- //#region src/validation/primitives/number.d.ts
6
- /**
7
- * Create a Zod schema for a number attribute
8
- */
9
- declare function createNumberValidator(attr: NumberAttribute, messages?: ValidationMessages): z$1.ZodNumber;
10
- //#endregion
11
- export { createNumberValidator as t };
@@ -1,11 +0,0 @@
1
-
2
- import { C as NumberAttribute } from "./attributes-CZD_B0mZ.mjs";
3
- import { r as ValidationMessages } from "./index-CSDAHifu.mjs";
4
- import { z as z$1 } from "zod";
5
- //#region src/validation/primitives/number.d.ts
6
- /**
7
- * Create a Zod schema for a number attribute
8
- */
9
- declare function createNumberValidator(attr: NumberAttribute, messages?: ValidationMessages): z$1.ZodNumber;
10
- //#endregion
11
- export { createNumberValidator as t };
@@ -1,4 +0,0 @@
1
- /*! © 2025-2026 AND YOU CREATE SAS (RCS Paris 940 190 614). Proprietary — see LICENSE (Standards SDK License 1.0). */
2
- const e=require("./exceptions.js"),t=require("./text-A9AJ1wUO.js"),n=require("./core-397tQy5q.js"),r=require("./validation/primitives/number.js"),i=require("./validation/primitives/checkbox.js"),a=require("./validation/primitives/date.js"),o=require("./validation/complex/currency.js"),s=require("./validation/complex/location.js"),c=require("./phone-BB-tzcSr.js"),l=require("./validation/complex/relation.js"),u=require("./validation/complex/richtext.js"),d=require("./validation/complex/select.js"),f=require("./validation/complex/user.js"),p=require("./validation/computed/formula.js"),m=require("./validation/computed/rollup.js");let h=require("zod");function isNullishOrEmptyString(e){return e==null||e===``}function isValuePresent(e){return e==null?!1:typeof e==`string`?e.trim()!==``:!Array.isArray(e)||e.length>0}const g={phone:[`countryCode`]};function isEmptyValue(e,t=[]){return e==null||typeof e==`string`&&e.trim()===``?!0:e instanceof Date?!1:typeof e==`object`&&!Array.isArray(e)&&Object.entries(e).filter(([e])=>!t.includes(e)).every(([,e])=>e==null||typeof e==`string`&&e.trim()===``)}function withEmptyToNull(e,t){return h.z.preprocess(e=>isEmptyValue(e,t)?null:e,e.nullish())}function createAttributeValidator(e,g=n.n){switch(e.type){case`text`:return t.t(e,g);case`richtext`:return u.createRichtextValidator(e,g);case`number`:return r.createNumberValidator(e,g);case`checkbox`:return i.createCheckboxValidator(e,g);case`date`:return a.createDateValidator(e,g);case`phone`:return c.t(e,g);case`currency`:return o.createCurrencyValidator(e,g);case`status`:return d.createStatusValidator(e,g);case`location`:return s.createLocationValidator(e,g);case`select`:return d.createSelectValidator(e,g);case`multiselect`:return d.createMultiselectValidator(e,g);case`user`:return f.createUserValidator(e,g);case`relation`:return l.createRelationValidator(e,g);case`formula`:return p.createFormulaValidator(e,g);case`rollup`:return m.createRollupValidator(e,g);default:return h.z.unknown()}}function createFormAttributeValidator(e,t=n.n){let r=createAttributeValidator(e,t);return e.required?r:withEmptyToNull(r,g[e.type])}const _=new WeakMap,v=new WeakMap;function createObjectValidator(e){let t=_.get(e);if(t)return t;let r={};for(let t of e.attributes){let e=createAttributeValidator(t);t.required?r[t.name]=e.refine(isValuePresent,{message:n.n.required(t)}):r[t.name]=withEmptyToNull(e,g[t.type])}let i=h.z.object(r).passthrough();return _.set(e,i),i}function createDraftValidator(e){let t=v.get(e);if(t)return t;let n={};for(let t of e.attributes){let e=createAttributeValidator(t);n[t.name]=withEmptyToNull(e,g[t.type])}let r=h.z.object(n).passthrough();return v.set(e,r),r}function validateAttribute(e,t){let r=createAttributeValidator(e);if(!e.required&&t==null)return{success:!0,data:{[e.name]:t}};let i=r.safeParse(t);return i.success?{success:!0,data:{[e.name]:i.data}}:{success:!1,errors:n.t(i.error).map(t=>({path:[e.name,...t.path],message:t.message}))}}function validateObject(e,t){let r=createObjectValidator(e).safeParse(t);return r.success?{success:!0,data:r.data}:{success:!1,errors:n.t(r.error)}}function validateObjectOrThrow(t,n){let r=validateObject(t,n);if(!r.success){let n=r.errors??[],i=n.map(e=>`${e.path.join(`.`)}: ${e.message}`).join(`
3
- `)||`Unknown validation error`;throw new e.ValidationError(`Validation failed for ${t.label}:\n${i}`,n.map(e=>({path:e.path,message:e.message})))}return r.data}function validateDraft(e,t){let r=createDraftValidator(e).safeParse(t);return r.success?{success:!0,data:r.data}:{success:!1,errors:n.t(r.error)}}function validateDraftOrThrow(t,n){let r=validateDraft(t,n);if(!r.success){let n=r.errors??[],i=n.map(e=>`${e.path.join(`.`)}: ${e.message}`).join(`
4
- `)||`Unknown validation error`;throw new e.ValidationError(`Draft validation failed for ${t.label}:\n${i}`,n.map(e=>({path:e.path,message:e.message})))}return r.data}function rejectUnknownAttributesOrThrow(t,n){let r=new Set(t.attributes.map(e=>e.name)),i=Object.keys(n).filter(e=>!r.has(e));if(i.length>0)throw new e.ValidationError(`Unknown attribute${i.length>1?`s`:``} for ${t.label}: ${i.join(`, `)}`,i.map(e=>({path:[e],message:`Unknown attribute`})))}function getMissingRequiredAttributes(e,t){let n=[];for(let r of e.attributes)r.required&&!isValuePresent(t[r.name])&&n.push(r);return n}function isRecordComplete(e,t){return getMissingRequiredAttributes(e,t).length>0?!1:validateObject(e,t).success}Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return validateDraft}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return validateObjectOrThrow}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return createAttributeValidator}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return createFormAttributeValidator}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return isValuePresent}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return validateAttribute}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return createDraftValidator}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return isNullishOrEmptyString}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return isRecordComplete}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return validateDraftOrThrow}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return isEmptyValue}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return rejectUnknownAttributesOrThrow}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return validateObject}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return getMissingRequiredAttributes}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return createObjectValidator}});
@@ -1,4 +0,0 @@
1
- /*! © 2025-2026 AND YOU CREATE SAS (RCS Paris 940 190 614). Proprietary — see LICENSE (Standards SDK License 1.0). */
2
- import{ValidationError as e}from"./exceptions.mjs";import{t}from"./text-C8Lb-NFo.mjs";import{n,t as r}from"./core-BLHhNykL.mjs";import{createNumberValidator as i}from"./validation/primitives/number.mjs";import{createCheckboxValidator as a}from"./validation/primitives/checkbox.mjs";import{createDateValidator as o}from"./validation/primitives/date.mjs";import{createCurrencyValidator as s}from"./validation/complex/currency.mjs";import{createLocationValidator as c}from"./validation/complex/location.mjs";import{t as l}from"./phone-Bca_xiOX.mjs";import{createRelationValidator as u}from"./validation/complex/relation.mjs";import{createRichtextValidator as d}from"./validation/complex/richtext.mjs";import{createMultiselectValidator as f,createSelectValidator as p,createStatusValidator as m}from"./validation/complex/select.mjs";import{createUserValidator as h}from"./validation/complex/user.mjs";import{createFormulaValidator as g}from"./validation/computed/formula.mjs";import{createRollupValidator as _}from"./validation/computed/rollup.mjs";import{z as v}from"zod";function isNullishOrEmptyString(e){return e==null||e===``}function isValuePresent(e){return e==null?!1:typeof e==`string`?e.trim()!==``:!Array.isArray(e)||e.length>0}const y={phone:[`countryCode`]};function isEmptyValue(e,t=[]){return e==null||typeof e==`string`&&e.trim()===``?!0:e instanceof Date?!1:typeof e==`object`&&!Array.isArray(e)&&Object.entries(e).filter(([e])=>!t.includes(e)).every(([,e])=>e==null||typeof e==`string`&&e.trim()===``)}function withEmptyToNull(e,t){return v.preprocess(e=>isEmptyValue(e,t)?null:e,e.nullish())}function createAttributeValidator(e,r=n){switch(e.type){case`text`:return t(e,r);case`richtext`:return d(e,r);case`number`:return i(e,r);case`checkbox`:return a(e,r);case`date`:return o(e,r);case`phone`:return l(e,r);case`currency`:return s(e,r);case`status`:return m(e,r);case`location`:return c(e,r);case`select`:return p(e,r);case`multiselect`:return f(e,r);case`user`:return h(e,r);case`relation`:return u(e,r);case`formula`:return g(e,r);case`rollup`:return _(e,r);default:return v.unknown()}}function createFormAttributeValidator(e,t=n){let r=createAttributeValidator(e,t);return e.required?r:withEmptyToNull(r,y[e.type])}const b=new WeakMap,x=new WeakMap;function createObjectValidator(e){let t=b.get(e);if(t)return t;let r={};for(let t of e.attributes){let e=createAttributeValidator(t);t.required?r[t.name]=e.refine(isValuePresent,{message:n.required(t)}):r[t.name]=withEmptyToNull(e,y[t.type])}let i=v.object(r).passthrough();return b.set(e,i),i}function createDraftValidator(e){let t=x.get(e);if(t)return t;let n={};for(let t of e.attributes){let e=createAttributeValidator(t);n[t.name]=withEmptyToNull(e,y[t.type])}let r=v.object(n).passthrough();return x.set(e,r),r}function validateAttribute(e,t){let n=createAttributeValidator(e);if(!e.required&&t==null)return{success:!0,data:{[e.name]:t}};let i=n.safeParse(t);return i.success?{success:!0,data:{[e.name]:i.data}}:{success:!1,errors:r(i.error).map(t=>({path:[e.name,...t.path],message:t.message}))}}function validateObject(e,t){let n=createObjectValidator(e).safeParse(t);return n.success?{success:!0,data:n.data}:{success:!1,errors:r(n.error)}}function validateObjectOrThrow(t,n){let r=validateObject(t,n);if(!r.success){let n=r.errors??[],i=n.map(e=>`${e.path.join(`.`)}: ${e.message}`).join(`
3
- `)||`Unknown validation error`;throw new e(`Validation failed for ${t.label}:\n${i}`,n.map(e=>({path:e.path,message:e.message})))}return r.data}function validateDraft(e,t){let n=createDraftValidator(e).safeParse(t);return n.success?{success:!0,data:n.data}:{success:!1,errors:r(n.error)}}function validateDraftOrThrow(t,n){let r=validateDraft(t,n);if(!r.success){let n=r.errors??[],i=n.map(e=>`${e.path.join(`.`)}: ${e.message}`).join(`
4
- `)||`Unknown validation error`;throw new e(`Draft validation failed for ${t.label}:\n${i}`,n.map(e=>({path:e.path,message:e.message})))}return r.data}function rejectUnknownAttributesOrThrow(t,n){let r=new Set(t.attributes.map(e=>e.name)),i=Object.keys(n).filter(e=>!r.has(e));if(i.length>0)throw new e(`Unknown attribute${i.length>1?`s`:``} for ${t.label}: ${i.join(`, `)}`,i.map(e=>({path:[e],message:`Unknown attribute`})))}function getMissingRequiredAttributes(e,t){let n=[];for(let r of e.attributes)r.required&&!isValuePresent(t[r.name])&&n.push(r);return n}function isRecordComplete(e,t){return getMissingRequiredAttributes(e,t).length>0?!1:validateObject(e,t).success}export{validateDraft as a,validateObjectOrThrow as c,createAttributeValidator as d,createFormAttributeValidator as f,isValuePresent as h,validateAttribute as i,createDraftValidator as l,isNullishOrEmptyString as m,isRecordComplete as n,validateDraftOrThrow as o,isEmptyValue as p,rejectUnknownAttributesOrThrow as r,validateObject as s,getMissingRequiredAttributes as t,createObjectValidator as u};
@@ -1,2 +0,0 @@
1
- /*! © 2025-2026 AND YOU CREATE SAS (RCS Paris 940 190 614). Proprietary — see LICENSE (Standards SDK License 1.0). */
2
- const e=require("./core-397tQy5q.js");let t=require("zod"),n=require("@standards/constants"),r=require("libphonenumber-js");function digitsOnly(e){return e.replace(/\D/g,``)}function normalizeCountrylessPhoneNumber(e){return digitsOnly(e)}function getIso2(e){return(0,n.getCountryByIso3)(e)?.iso2}function normalizePhoneNumber(e,t){if(!e)return``;let i=getIso2(t);if(!i)return digitsOnly(e);let a=(0,r.parsePhoneNumberFromString)(e,i);if(a)return absorbDoubledCallingCode(a.nationalNumber,a.isValid(),t,i);let o=(0,n.getCountryByIso3)(t),s=digitsOnly(e);if(o){let e=o.phoneCode.replace(`+`,``),t=s.startsWith(e)?s.slice(e.length):s;return(0,n.stripTrunkPrefix)(t,o.phoneTrunkPrefix??``)}return s}function absorbDoubledCallingCode(e,t,i,a){if(t)return e;let o=(0,n.getCountryByIso3)(i)?.phoneCode.replace(`+`,``);if(o===void 0||!e.startsWith(o))return e;let s=e.slice(o.length),c=(0,r.parsePhoneNumberFromString)(`+${o}${s}`,a);return c?.isValid()?c.nationalNumber:e}function formatPhoneForDisplay(e){if(!e.phoneNumber)return``;let t=getIso2(e.countryCode),i=(0,n.getCountryByIso3)(e.countryCode)?.phoneCode??``;if(!t)return`${i} ${e.phoneNumber}`.trim();let a=`${i}${digitsOnly(e.phoneNumber)}`,o=(0,r.parsePhoneNumberFromString)(a);return o?o.formatInternational():`${i} ${e.phoneNumber}`.trim()}function createPhoneValidator(r,i=e.n){return t.z.object({countryCode:t.z.string().length(3),phoneNumber:t.z.string().min(1,{message:i.required(r)})},{message:i.invalidPhone(r)}).refine(e=>(0,n.isValidIso3)(e.countryCode),{message:`Invalid country code`}).transform(e=>({countryCode:e.countryCode,phoneNumber:normalizePhoneNumber(e.phoneNumber,e.countryCode)}))}Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return normalizePhoneNumber}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return normalizeCountrylessPhoneNumber}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return formatPhoneForDisplay}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return getIso2}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return createPhoneValidator}});
@@ -1,2 +0,0 @@
1
- /*! © 2025-2026 AND YOU CREATE SAS (RCS Paris 940 190 614). Proprietary — see LICENSE (Standards SDK License 1.0). */
2
- import{n as e}from"./core-BLHhNykL.mjs";import{z as t}from"zod";import{getCountryByIso3 as n,isValidIso3 as r,stripTrunkPrefix as i}from"@standards/constants";import{parsePhoneNumberFromString as a}from"libphonenumber-js";function digitsOnly(e){return e.replace(/\D/g,``)}function normalizeCountrylessPhoneNumber(e){return digitsOnly(e)}function getIso2(e){return n(e)?.iso2}function normalizePhoneNumber(e,t){if(!e)return``;let r=getIso2(t);if(!r)return digitsOnly(e);let o=a(e,r);if(o)return absorbDoubledCallingCode(o.nationalNumber,o.isValid(),t,r);let s=n(t),c=digitsOnly(e);if(s){let e=s.phoneCode.replace(`+`,``),t=c.startsWith(e)?c.slice(e.length):c;return i(t,s.phoneTrunkPrefix??``)}return c}function absorbDoubledCallingCode(e,t,r,i){if(t)return e;let o=n(r)?.phoneCode.replace(`+`,``);if(o===void 0||!e.startsWith(o))return e;let s=e.slice(o.length),c=a(`+${o}${s}`,i);return c?.isValid()?c.nationalNumber:e}function formatPhoneForDisplay(e){if(!e.phoneNumber)return``;let t=getIso2(e.countryCode),r=n(e.countryCode)?.phoneCode??``;if(!t)return`${r} ${e.phoneNumber}`.trim();let i=`${r}${digitsOnly(e.phoneNumber)}`,o=a(i);return o?o.formatInternational():`${r} ${e.phoneNumber}`.trim()}function createPhoneValidator(n,i=e){return t.object({countryCode:t.string().length(3),phoneNumber:t.string().min(1,{message:i.required(n)})},{message:i.invalidPhone(n)}).refine(e=>r(e.countryCode),{message:`Invalid country code`}).transform(e=>({countryCode:e.countryCode,phoneNumber:normalizePhoneNumber(e.phoneNumber,e.countryCode)}))}export{normalizePhoneNumber as a,normalizeCountrylessPhoneNumber as i,formatPhoneForDisplay as n,getIso2 as r,createPhoneValidator as t};
@@ -1,2 +0,0 @@
1
- /*! © 2025-2026 AND YOU CREATE SAS (RCS Paris 940 190 614). Proprietary — see LICENSE (Standards SDK License 1.0). */
2
- const e=[`fyi`,`task`,`question`,`handoff`,`system`],t=[`low`,`normal`,`high`,`urgent`],n={low:0,normal:1,high:2,urgent:3},r=[`public`,`internal`,`sensitive`],i=[`unread`,`read`,`archived`,`snoozed`],a=[`none`,`pending`,`processing`,`completed`,`dismissed`,`expired`,`failed`],o=`agent.session.waiting_human`,s=`agent.task.assigned`,c=`agent.question.requested`,l=`agent.routine_run.failed`,u=`agent.routine_run.notice`,d=`connector.connection.reauth_required`,f=`connector.connection.error`,p=`record.assigned`,m=`access.granted`,h=[o,s,c,l,u,d,f,p,m],g=[`task`,`question`,`handoff`];function isActionableNotificationKind(e){return g.includes(e)}const _=[`agents`,`connectors`,`assignment`,`sharing`],v={[o]:{kind:`question`,area:`agents`},[s]:{kind:`task`,area:null},[c]:{kind:`question`,area:null},[l]:{kind:`system`,area:`agents`},[u]:{kind:`fyi`,area:`agents`},[d]:{kind:`system`,area:`connectors`},[f]:{kind:`system`,area:`connectors`},[p]:{kind:`fyi`,area:`assignment`},[m]:{kind:`fyi`,area:`sharing`}},y=[`in_app`,`email`],b={agentSession:`agent_session`,agent:`agent`,routine:`routine`,record:`record`,page:`page`},x=[`count`,`sum`,`avg`,`min`,`max`],S=[`day`,`week`,`month`,`quarter`,`year`];Object.defineProperty(exports,"C",{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,"S",{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,"T",{enumerable:!0,get:function(){return isActionableNotificationKind}}),Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,"b",{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return t}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return 100}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return e}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,"v",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"w",{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,"x",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"y",{enumerable:!0,get:function(){return s}});
@@ -1,2 +0,0 @@
1
- /*! © 2025-2026 AND YOU CREATE SAS (RCS Paris 940 190 614). Proprietary — see LICENSE (Standards SDK License 1.0). */
2
- const e=require("./attribute-validators-WAoJbap5.js"),t=require("./exceptions.js");let n=require("zod"),r=require("@standards/constants");const i=[`completed`,`failed`,`cancelled`];function invalidSessionState(e){throw new t.SchemaError(e,t.SchemaErrorCode.INVARIANT_VIOLATION)}function assertSessionState(e){e.phase===`running`?e.runningTurnId===void 0&&invalidSessionState(`running session without runningTurnId`):e.runningTurnId!==void 0&&invalidSessionState(`runningTurnId present on a ${e.phase} session`),e.phase===`parked`?e.parkedOn===void 0&&invalidSessionState(`parked session without parkedOn`):e.parkedOn!==void 0&&invalidSessionState(`parkedOn present on a ${e.phase} session`),e.parkedOn===`human`?e.humanRequestIds===void 0&&invalidSessionState(`human-parked session without humanRequestIds`):e.humanRequestIds!==void 0&&invalidSessionState(`humanRequestIds present on a session not parked on a human`)}const a=[`createdAt`,`lastActivity`],ee=Object.freeze({mutation:`ask`,destructive:`ask`,outward:`ask`}),te=[`active`,`completed`,`abandoned`],o=[`openai`,`anthropic`,`google`,`spacexai`,`deepseek`,`moonshotai`,`alibaba`,`mistral`,`minimax`,`meta`,`zai`,`cursor`],s=[`standard`,`fast`],ne=[`none`,`minimal`,`low`,`medium`,`high`,`xhigh`],re=[`conversation`,`writing`,`coding`,`analysis`,`extraction`],ie=[`light`,`standard`,`heavy`],ae=[`manual`,`auto`],oe={interactive:{inputPerMillionUsd:5,outputPerMillionUsd:25},delegated:{inputPerMillionUsd:2,outputPerMillionUsd:12}},c=[`model`,`speed`,`reasoning`,`imageModel`,`routing`];function mergeSessionInferencePatch(e,t){let n={...e};for(let e of c){let r=t[e];r===null?delete n[e]:r!==void 0&&Object.assign(n,{[e]:r})}return t.model&&t.routing===void 0&&(n.routing=`manual`),n}function isRoutineActorMetadata(e){return e?.kind===`routine`}const se=[`octopus`,`clover`,`flower`,`triangle`,`square`,`blob`,`circle`,`drop`,`hexagon`,`pill`,`pebble`,`puddle`],ce=[`relaxed`,`neutral`];function agentDisplayName(e){return e.label?.trim()||e.name}const l=[`approval-requested`,`approval-responded`,`approval-dispatched`],u=[`streaming`,`running`,`pending`,...l];function isOpenToolPartState(e){return u.includes(e)}function isToolApprovalState(e){return l.includes(e)}const d=[`CREDITS_EXHAUSTED`];function isSystemPartCode(e){return typeof e==`string`&&d.includes(e)}function compareAgentSessionMessages(e,t){let n=e.createdAt.getTime()-t.createdAt.getTime();return n===0?e.id.localeCompare(t.id):n}function orderAgentSessionMessages(e){return[...e].sort(compareAgentSessionMessages)}const f=`agent-notification`;function isAgentNotificationMetadata(e){return e?.kind===f}const p=`agent-message`;function isAgentMessageMetadata(e){return e?.kind===p}const le=[`pending`,`in_progress`,`completed`,`blocked`],m=[`sandbox`,`web`,`image`,`memory`,`bulk`,`activity`,`orchestration`,`host`,`cloud-browser`,`notifications`],h=[`mcp`,`email.read`,`calendar.read`,`github`,`slack.read`,`slack.write`,`device`,`browser`,`browser-profile`],ue=[`definition`,`default`,`child`,`inline`],de=[`manual`,`name-asc`,`name-desc`,`date-desc`,`date-asc`],fe=[`reader`,`runner`,`editor`],g=[`reader`,`editor`],pe=[`manual`,`meeting_attendee`],me=new Set([`memory`,`skill`]);function parseRole(e,n){if(typeof n==`string`&&e.includes(n))return n;let r=`role must be one of: ${e.join(`, `)}`;throw new t.ValidationError(r,[{path:[`role`],message:r}])}function parseRecordAccessRole(e){return parseRole(g,e)}function parseAgentDefinitionAccessRole(e){return parseRole(fe,e)}function parsePageAccessRole(e){return parseRole(g,e)}function deriveViewerAccess(e,t){return e.visibility===`workspace`?`workspace`:e.ownedBy!==null&&t.includes(e.ownedBy)?`owner`:e.viewerGrant===`editor`?`editor`:e.viewerGrant===`runner`?`runner`:`reader`}const he=[`record`,`object`,`attribute`,`view`,`user`,`role`,`settings`,`file`,`agent`,`schema_source`,`tenant_invitation`,`api_key`],ge=`record.created,record.updated,record.deleted,record.restored,record.purged,record.access_changed,agent.access_changed,object.created,object.updated,object.deleted,attribute.created,attribute.updated,attribute.deleted,view.created,view.updated,view.deleted,schema_source.applied,schema_source.presented,schema_source.removed,user.created,user.invited,user.updated,user.deleted,user.login,user.logout,tenant_invitation.created,tenant_invitation.delivery_failed,tenant_invitation.resent,tenant_invitation.revoked,tenant_invitation.accepted,role.created,role.updated,role.deleted,role.assigned,role.revoked,api_key.detached,settings.updated,file.uploaded,file.updated,file.deleted`.split(`,`);function isAgentWrittenAuditEntry(e){return e.actorType===`agent`||typeof e.metadata?.agentSessionId==`string`}const _e=[`draft_schema`],_=`request_design_review`,v=`ask_questions`,y=`request_setup`,ve=new Set([v,_,y]),ye=new Set([v,y]),be=new Set([_]),xe=n.z.union([n.z.object({value:n.z.string(),label:n.z.string()}).strict(),n.z.object({values:n.z.array(n.z.string()),labels:n.z.array(n.z.string()),text:n.z.string().optional()}).strict(),n.z.object({text:n.z.string()}).strict()]),Se=n.z.object({skipped:n.z.boolean().describe(`True if the person skipped all questions`),answers:n.z.record(n.z.string(),xe).describe(`Map of question ID to the answer given, with each chosen option's value and label`)});function readAskQuestionsResult(e){let t=Se.safeParse(e);return t.success?t.data:null}function humanRequestKind(e){return e.approvalId==null?ye.has(e.name)?`question`:be.has(e.name)?`review`:null:`approval`}function isAwaitingHuman(e){return humanRequestKind(e)===null||e.state===`streaming`||!isOpenToolPartState(e.state)||e.result!==void 0||e.error!==void 0?!1:e.approvalId==null||e.state===`approval-requested`&&e.approved===void 0}function isBlocking(e){let t=humanRequestKind(e);return t===`review`?isOpenToolPartState(e.state):t===`approval`&&e.state===`approval-requested`&&e.approved===void 0}function humanRequestId(e){return e.approvalId??e.toolCallId}function openRequests(e,t){let n=t.blocking?isBlocking:isAwaitingHuman,r=[];for(let t of e)for(let e of t.parts??[])isToolRequestPart(e)&&n(e)&&r.push({part:e,id:humanRequestId(e),requestedAt:t.createdAt});return r}function isToolRequestPart(e){return e.type===`tool`}function isParkedOnHuman(e){return e?.phase===`parked`&&e.parkedOn===`human`}function recentActivityEntryKey(e){return e.kind===`record`?JSON.stringify([`record`,e.objectName,e.recordId]):JSON.stringify([`conversation`,`sessionId`in e?e.sessionId:e.session.id])}const Ce=`Notetaker`,we=/^\d{1,9}(\.\d{1,6})?$/,Te={meetingRecordingPolicy:`none`,meetingBotDisplayName:Ce,memoryPersonMonthlyLimitUsd:null,memoryTenantMonthlyLimitUsd:null},Ee=[`active`,`suspended`],De=[`architect`,`manual`,`auto`],Oe=[`panel`,`fullscreen`],ke=n.z.discriminatedUnion(`type`,[n.z.strictObject({type:n.z.literal(`record`),object:n.z.string().min(1),id:n.z.guid()}),n.z.strictObject({type:n.z.literal(`user`),id:n.z.guid()})]),Ae=n.z.strictObject({nodes:n.z.array(ke).min(1).max(50),limitPerNode:n.z.number().int().min(1).max(200).default(50)});function recordGraphNodeKey(e){return e.type===`record`?`record:${e.object}:${e.id}`:`user:${e.id}`}const je=`work`,Me=`/vercel/sandbox/${je}`,Ne=`/workspace`;function environmentWorkdir(e){return e?Me:Ne}const Pe=[{id:`claude-code`,label:`Claude Code`,provider:`anthropic`,apiKeyEnv:`ANTHROPIC_API_KEY`,models:[{id:`sonnet`,label:`Claude Sonnet`},{id:`opus`,label:`Claude Opus`},{id:`haiku`,label:`Claude Haiku`}],defaultModel:`sonnet`},{id:`codex`,label:`Codex`,provider:`openai`,apiKeyEnv:`OPENAI_API_KEY`,models:[{id:`gpt-6.1-sol`,label:`GPT-6.1 Sol`},{id:`gpt-6-luna`,label:`GPT-6 Luna`},{id:`gpt-6-astra`,label:`GPT-6 Astra`}],defaultModel:`gpt-6.1-sol`},{id:`cursor`,label:`Cursor`,provider:`cursor`,apiKeyEnv:`CURSOR_API_KEY`,models:[{id:`auto`,label:`Auto`,cliDefault:!0},{id:`composer-2.5`,label:`Composer 2.5`}],defaultModel:`auto`}],b=new Map(Pe.map(e=>[e.id,e]));function isEnvironmentHarnessId(e){return b.has(e)}function findEnvironmentHarness(e){return b.get(e)}function environmentHarness(e){let n=b.get(e);if(!n)throw new t.SchemaError(`Unknown harness "${e}"`,t.SchemaErrorCode.INVARIANT_VIOLATION);return n}function cliDefaultModelOf(e){return environmentHarness(e).models.find(e=>e.cliDefault)?.id}function compiledHarnessModels(e){let t=environmentHarness(e);return t.models.map(e=>({id:e.id,label:e.label,...e.id===t.defaultModel?{isDefault:!0}:{}}))}function harnessModelChoices(e,t){let{provider:n}=environmentHarness(e);return t.map(e=>({id:e.id,provider:n,label:e.label,...e.isDefault?{isDefault:!0}:{}}))}const x=[`search`,`query`,`read`,`write`,`delete`,`organize`,`copy`],S=[...x,`edit_content`],C=[...S,`ask_questions`,`compact_context`,`request_work_mode`,`write_todos`],w=[`browser_autopilot`,`browser_batch`,`browser_computer`,`browser_find`,`browser_form_input`,`browser_get_text`,`browser_javascript`,`browser_navigate`,`browser_read_page`,`browser_tabs`],Fe=[`record`,`document`,`file`,`skill`,`schema`,`guide`],T={memory:{kinds:[`memory`],capabilities:[],tools:[`propose_memory`]},bulk:{kinds:[],capabilities:[`bulk`],tools:[]},activity:{kinds:[],capabilities:[`activity`],tools:[]},"email.read":{kinds:[`email`,`thread`],capabilities:[`copy_email`],tools:[]},"calendar.read":{kinds:[`event`],capabilities:[`transcript`],tools:[]}},E={sandbox:{icon:`terminal`,tools:[`exec_command`,`publish_artifact`,`sandbox_validate_payload`]},web:{icon:`globe`,tools:[`read_webpage`,`web_search`]},image:{icon:`image`,tools:[`generate_image`]},memory:{icon:`book-open`,tools:T.memory.tools},bulk:{icon:`layers-two`,tools:T.bulk.tools},activity:{icon:`activity`,tools:T.activity.tools},orchestration:{icon:`git-branch`,tools:[`message_agent`,`spawn_agent`]},host:{icon:`wrench`,tools:[]},"cloud-browser":{icon:`globe`,tools:[`browser_launch`]},notifications:{icon:`bell`,tools:[`notify`]}},D={mcp:{icon:`puzzle`,tools:[]},"email.read":{icon:`envelope`,tools:T[`email.read`].tools},"calendar.read":{icon:`calendar`,tools:T[`calendar.read`].tools},github:{icon:`brand-github`,tools:[]},"slack.read":{icon:`brand-slack`,tools:[`slack_read`,`slack_find`,`slack_download_file`]},"slack.write":{icon:`brand-slack`,tools:[`slack_send`,`slack_react`,`slack_set_status`]},device:{icon:`desktop`,tools:[`exec_command`]},browser:{icon:`link`,tools:w},"browser-profile":{icon:`globe`,tools:[`browser_launch`,...w]}},Ie={sandbox:{kinds:[],capabilities:[],tools:E.sandbox.tools},web:{kinds:[],capabilities:[],tools:E.web.tools},image:{kinds:[],capabilities:[],tools:E.image.tools},memory:T.memory,bulk:T.bulk,activity:T.activity,orchestration:{kinds:[],capabilities:[],tools:E.orchestration.tools},host:{kinds:[],capabilities:[],tools:E.host.tools},"cloud-browser":{kinds:[],capabilities:[],tools:E[`cloud-browser`].tools},notifications:{kinds:[],capabilities:[],tools:E.notifications.tools},mcp:{kinds:[],capabilities:[],tools:D.mcp.tools},"email.read":T[`email.read`],"calendar.read":T[`calendar.read`],github:{kinds:[],capabilities:[],tools:D.github.tools},"slack.read":{kinds:[],capabilities:[],tools:D[`slack.read`].tools},"slack.write":{kinds:[],capabilities:[],tools:D[`slack.write`].tools},device:{kinds:[],capabilities:[],tools:D.device.tools},browser:{kinds:[],capabilities:[],tools:D.browser.tools},"browser-profile":{kinds:[],capabilities:[],tools:D[`browser-profile`].tools}},Le={schema:[`discard_architect_draft`,`draft_schema`,`get_architect_draft`,`get_schema_history`,`request_design_review`,`search_icons`],"agent-config":[`get_agents`,`upsert_agent`],setup:[`request_setup`],internal:[`load_toolset`]},Re=[...new Set([...C,...m.flatMap(e=>E[e].tools),...h.flatMap(e=>D[e].tools)])],ze={"email.read":[`gmail`,`outlook`],"calendar.read":[`google-calendar`,`outlook-calendar`]};function connectionGrantKindOf(e){return e===`google-calendar`||e===`outlook-calendar`?`calendar.read`:`email.read`}function connectionGrantKindsOf(e){switch(e){case`github`:return[`github`];case`slack`:return[`slack.read`,`slack.write`];default:return[connectionGrantKindOf(e)]}}const Be=[`activity`,`bulk`,`image`,`memory`,`orchestration`,`sandbox`,`web`],O=[`memory`],Ve=new Set([`sandbox`,`host`,`cloud-browser`]);function needsManageWhenUnattended(e){return Ve.has(e)||isResourceGrant(e)}function isNativeToolGroup(e){return m.includes(e)}function parseToolGroupGrant(e){if(isNativeToolGroup(e))return{type:`native`,group:e};let t=e.indexOf(`:`);if(t<=0)return null;let n=e.slice(0,t),r=e.slice(t+1);return r.length===0||!h.includes(n)?null:{type:`resource`,kind:n,id:r}}function grantKindOf(e){let t=parseToolGroupGrant(e);return t?.type===`resource`?t.kind:null}function isResourceGrant(e){return parseToolGroupGrant(e)?.type===`resource`}function resourceGrant(e,t){return`${e}:${t}`}function canonicalToolGroups(e){return[...new Set(e)].sort()}const k=[{key:`direct`,icon:`message`,color:`ink`,description:`A message a person wrote to this mailbox: a conversation, a question, a request, a reply.`},{key:`transactional`,icon:`credit-card`,color:`terra`,description:`An automated message about an account or an operation: receipt, invoice, payment, order, shipping, booking, password reset, security alert.`},{key:`notifications`,icon:`bell`,color:`ochre`,description:`An automated alert from a tool or a service: activity on GitHub, Slack, a calendar, a CRM, a monitoring system.`},{key:`newsletters`,icon:`book-open`,color:`stone`,description:`Editorial content the mailbox subscribed to: newsletters, digests, articles, community updates.`},{key:`marketing`,icon:`percentage`,color:`iris`,description:`Promotion or prospecting: offers, discounts, product announcements, cold sales outreach.`}],A={direct:{en:`Direct`,fr:`Direct`},transactional:{en:`Transactional`,fr:`Transactionnel`},notifications:{en:`Notifications`,fr:`Notifications`},newsletters:{en:`Newsletters`,fr:`Newsletters`},marketing:{en:`Marketing`,fr:`Marketing`}},j=`stone`,M=new Set(`gmail.com,googlemail.com,outlook.com,hotmail.com,hotmail.fr,outlook.fr,live.com,live.fr,msn.com,yahoo.com,yahoo.fr,icloud.com,me.com,mac.com,proton.me,protonmail.com,gmx.com,gmx.fr,orange.fr,wanadoo.fr,free.fr,laposte.net,sfr.fr,bbox.fr,numericable.fr,aol.com`.split(`,`)),He=new Set(k.map(e=>e.key)),Ue=new Set(Object.entries(A).flatMap(([e,t])=>[e,t.en,t.fr].map(e=>e.toLowerCase())));function isSystemEmailCategory(e){return He.has(e)}function isSystemEmailCategoryName(e){return Ue.has(e.trim().toLowerCase())}function isPublicMailDomain(e){return M.has(e.toLowerCase())}const N={maxConcurrentRuns:3,retryPolicy:{maxRetries:3,backoffMs:1e3,backoffMultiplier:2}};var AgentBuilder=class{constructor(e){if(!e.name||e.name.trim().length===0)throw new t.ValidationError(`Agent name is required`,[]);this.bp={name:e.name,system:!0,visibility:`workspace`,triggers:[]}}description(e){return this.bp.description=e,this}label(e){return this.bp.label=e,this}avatar(e){return this.bp.avatar={type:e.type,color:e.color,expression:e.expression??`relaxed`},this}starters(e){return e.length===0?delete this.bp.starters:this.bp.starters=[...e],this}systemPrompt(e){return this.bp.systemPrompt=e,this}model(e,t,n){return this.bp.model={provider:e,model:t,...n},this}toolGroups(e){let n=e.find(e=>!isNativeToolGroup(e));if(n!==void 0)throw new t.ToolGroupGrantError(t.SchemaErrorCode.AGENT_TOOL_GROUP_UNKNOWN,n,`Agent "${this.bp.name}": "${n}" is not a native tool group (blueprints cannot grant tenant resources)`);return this.bp.toolGroups=canonicalToolGroups(e),this}schedule(e){return this.bp.schedule={...e,enabled:e.enabled??!0},this}config(e){let t=this.bp.config??N,n=e.inference===void 0?t.inference:{...t.inference,...e.inference};return this.bp.config={...t,...e,...n===void 0?{}:{inference:n}},this}delegation(e){return Object.assign(this.bp,e),this}approval(e){return this.bp.approval={...ee,...this.bp.approval,...e},this}visibility(e){return this.bp.visibility=e,this}trigger(e,t,n){return this.bp.triggers.push({name:e,eventType:t,...n,enabled:n?.enabled??!0}),this}runtime(){return this.bp.system=!1,this}build(){if(!this.bp.systemPrompt)throw new t.ValidationError(`Agent "${this.bp.name}": systemPrompt is required`,[]);if(!this.bp.model)throw new t.ValidationError(`Agent "${this.bp.name}": model is required`,[]);if(this.bp.system&&this.bp.visibility===`private`)throw new t.ValidationError(`Agent "${this.bp.name}": system agents must use workspace visibility`,[]);return e.r(this.bp.triggers,e=>e.name,e=>new t.ValidationError(`Agent "${this.bp.name}": duplicate trigger name "${e}"`,[])),{...this.bp,visibility:this.bp.visibility??`workspace`,toolGroups:this.bp.toolGroups??[...O],config:this.bp.config??N,systemPrompt:this.bp.systemPrompt,model:this.bp.model}}};function agent(e){return new AgentBuilder(e)}const P={issue:{events:[`issues`],actions:[`opened`,`edited`,`closed`,`reopened`,`labeled`,`unlabeled`,`assigned`,`unassigned`,`milestoned`,`demilestoned`,`transferred`,`pinned`],conditions:[`label`,`issueLabels`,`assignees`,`milestone`,`issueType`,`text`]},pull_request:{events:[`pull_request`],actions:[`opened`,`ready_for_review`,`synchronize`,`review_requested`,`merged`,`closed`,`reopened`,`converted_to_draft`,`labeled`,`assigned`,`edited`],conditions:[`baseBranch`,`headBranch`,`draft`,`issueLabels`,`changedPaths`,`prAuthor`]},review:{events:[`pull_request_review`],actions:[`submitted`,`edited`,`dismissed`],conditions:[`reviewState`,`prAuthor`]},comment:{events:[`issue_comment`,`pull_request_review_comment`,`commit_comment`],actions:[`created`,`edited`,`deleted`],conditions:[`text`,`issueAuthor`,`prAuthor`]},push:{events:[`push`],actions:[`pushed`],conditions:[`branch`,`changedPaths`,`forced`]},ref:{events:[`create`,`delete`],actions:[`created`,`deleted`],conditions:[`refType`,`branch`,`tag`]},workflow:{events:[`workflow_run`],actions:[`requested`,`in_progress`,`completed`],conditions:[`workflowName`,`conclusion`,`branch`,`originEvent`]},check:{events:[`check_suite`,`check_run`],actions:[`completed`,`rerequested`],conditions:[`checkApp`,`checkName`,`conclusion`]},project_item:{events:[`projects_v2_item`],actions:[`created`,`edited`,`archived`,`restored`,`deleted`],conditions:[`project`,`projectField`,`from`,`to`,`itemType`]},release:{events:[`release`],actions:[`published`,`created`,`edited`,`prereleased`,`deleted`],conditions:[`prerelease`,`tag`]},discussion:{events:[`discussion`,`discussion_comment`],actions:[`created`,`commented`,`answered`,`labeled`,`closed`],conditions:[`category`,`issueLabels`,`text`]},repository:{events:[`star`,`fork`,`repository`],actions:[`starred`,`forked`,`created`,`archived`],conditions:[]}},F={mention:{events:[`app_mention`],conditions:[`text`]},message:{events:[`message`],conditions:[`position`,`text`,`hasFile`]},dm:{events:[`message`],conditions:[`text`,`hasFile`]},reaction:{events:[`reaction_added`],conditions:[`messageAuthor`]},member_joined:{events:[`member_joined_channel`],conditions:[]}},I=n.z.object({field:n.z.literal(`text`),operator:n.z.enum([`contains`,`starts_with`]),value:n.z.string().min(1)}).strict();function stringCondition(e){return n.z.object({field:n.z.literal(e),value:n.z.string().min(1)}).strict()}function booleanCondition(e){return n.z.object({field:n.z.literal(e),value:n.z.boolean()}).strict()}function listCondition(e){return n.z.object({field:n.z.literal(e),operator:n.z.enum([`any`,`all`]).default(`any`),value:n.z.array(n.z.string().min(1)).min(1)}).strict()}const L=n.z.discriminatedUnion(`field`,[I,stringCondition(`label`),listCondition(`issueLabels`),listCondition(`assignees`),stringCondition(`milestone`),stringCondition(`issueType`),stringCondition(`baseBranch`),stringCondition(`headBranch`),stringCondition(`branch`),booleanCondition(`draft`),stringCondition(`changedPaths`),booleanCondition(`forced`),stringCondition(`prAuthor`),stringCondition(`issueAuthor`),n.z.object({field:n.z.literal(`reviewState`),value:n.z.enum([`approved`,`changes_requested`,`commented`])}).strict(),stringCondition(`workflowName`),stringCondition(`checkApp`),stringCondition(`checkName`),stringCondition(`conclusion`),stringCondition(`originEvent`),stringCondition(`project`),stringCondition(`projectField`),n.z.object({field:n.z.literal(`from`),value:n.z.string().nullable()}).strict(),n.z.object({field:n.z.literal(`to`),value:n.z.string().nullable()}).strict(),n.z.object({field:n.z.literal(`itemType`),value:n.z.enum([`issue`,`pull_request`,`draft`])}).strict(),booleanCondition(`prerelease`),stringCondition(`tag`),n.z.object({field:n.z.literal(`refType`),value:n.z.enum([`branch`,`tag`])}).strict(),stringCondition(`category`)]),R=n.z.discriminatedUnion(`field`,[I,n.z.object({field:n.z.literal(`position`),value:n.z.enum([`top_level`,`reply`])}).strict(),booleanCondition(`hasFile`),stringCondition(`messageAuthor`)]),We=n.z.string().regex(/^[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+$/),z=n.z.enum([`human`,`me`,`any`]),Ge=n.z.object({family:n.z.enum(Object.keys(P)),actions:n.z.array(n.z.string()).default([]),repositories:n.z.array(We).default([]),sender:n.z.union([z,n.z.object({logins:n.z.array(n.z.string().min(1)).min(1)}).strict()]).default(`human`),conditions:n.z.array(L).default([])}).strict().superRefine((e,t)=>{let n=P[e.family];e.actions.forEach((r,i)=>{n.actions.includes(r)||t.addIssue({code:`custom`,path:[`actions`,i],message:`Action ${r} is not supported by ${e.family}`})}),e.conditions.forEach((r,i)=>{n.conditions.includes(r.field)||t.addIssue({code:`custom`,path:[`conditions`,i,`field`],message:`Condition ${r.field} is not supported by ${e.family}`})})}).transform(e=>e),Ke=n.z.object({on:n.z.enum([`mention`,`message`,`dm`,`reaction`,`member_joined`]),channels:n.z.array(n.z.string().min(1)).default([]),reactions:n.z.array(n.z.string().min(1)).optional(),sender:n.z.union([z,n.z.object({users:n.z.array(n.z.string().min(1)).min(1)}).strict()]).default(`human`),conditions:n.z.array(R).default([])}).strict().superRefine((e,t)=>{e.conditions.forEach((n,r)=>{F[e.on].conditions.includes(n.field)||t.addIssue({code:`custom`,path:[`conditions`,r,`field`],message:`Condition ${n.field} is not supported by ${e.on}`})}),e.reactions!==void 0&&e.on!==`reaction`&&t.addIssue({code:`custom`,path:[`reactions`],message:`reactions requires on=reaction`})}).transform(e=>e),qe=n.z.union([Ge,Ke]),Je=[`force`,`skip`],Ye=[`none`,`all`,`external_only`],Xe={override:null,status:`none`,failureReason:null,botId:null},Ze=n.z.object({speaker:n.z.string().nullable(),startsAtMs:n.z.number(),endsAtMs:n.z.number(),text:n.z.string()}),Qe=n.z.object({fullText:n.z.string(),segments:n.z.array(Ze),language:n.z.string().nullable(),startedAt:n.z.string().nullable(),endedAt:n.z.string().nullable()}),$e={width:1280,height:720,maxBytes:13e5,mimeType:`image/jpeg`},et=Math.ceil($e.maxBytes/3)*4,tt=n.z.object({conferenceJoinUrl:n.z.string().min(1),botDisplayName:n.z.string().min(1),startsAt:n.z.string().nullable(),callbackUrl:n.z.url(),botImageJpeg:n.z.string().max(et).optional()}),nt=n.z.object({botId:n.z.string().min(1)}),rt=n.z.discriminatedUnion(`kind`,[n.z.object({kind:n.z.literal(`transcript-ready`),botId:n.z.string().min(1)}),n.z.object({kind:n.z.literal(`failure`),botId:n.z.string().min(1),reason:n.z.string()})]);let it=function(e){return e.Desktop=`desktop`,e}({});function isMailProvider(e){return e===`gmail`||e===`outlook`}const at=`DRAFT`;function isProviderDraft(e){return e.includes(at)}const ot=[`threads`,`messages`];function isMailboxListMode(e){return ot.includes(e)}const st=[`reply`,`reply_all`];function isReplyMode(e){return st.includes(e)}const B=n.z.number().finite().nonnegative(),V=n.z.enum(o),H=n.z.enum(s),U=n.z.enum(ne),W=n.z.enum(ae),G=n.z.object({provider:V,model:n.z.string().min(1)}).strict(),ct=n.z.object({speed:H.optional(),reasoning:U.optional(),routing:W.optional()}).strict(),K=n.z.string().regex(/^[a-z0-9][a-z0-9-]*\/[a-z0-9][a-z0-9._-]*$/),lt=n.z.object({model:G.optional(),speed:H.optional(),reasoning:U.optional(),imageModel:K.optional(),routing:W.optional()}).strict(),ut=lt.refine(e=>c.some(t=>e[t]!==void 0),{message:`At least one inference override is required`});function isSessionInferencePatch(e){return Object.keys(e).length>0&&Object.values(e).every(e=>e!==void 0)}const dt=n.z.object({model:G.nullable().optional(),speed:H.nullable().optional(),reasoning:U.nullable().optional(),imageModel:K.nullable().optional(),routing:W.nullable().optional()}).strict().refine(isSessionInferencePatch,{message:`At least one inference override is required`}),ft=n.z.object({model:n.z.string().min(1),routing:n.z.object({mode:n.z.literal(`auto`),tasks:n.z.array(n.z.enum(re)).optional(),demand:n.z.enum(ie).optional(),reason:n.z.enum([`selected`,`retained`,`fallback`]).optional(),relation:n.z.enum([`continue`,`modify`,`new`,`aside`,`unknown`]).optional(),anchorMessageId:n.z.string().min(1).optional()})}),q=n.z.object({label:n.z.string(),denied:n.z.boolean().optional(),deletion:n.z.object({target:n.z.string().optional(),count:B.optional(),restorableDays:B.optional()}).strict().optional(),record:n.z.object({objectName:n.z.string(),id:n.z.string(),label:n.z.string(),objectIcon:n.z.string().optional()}).strict().optional(),object:n.z.object({name:n.z.string(),label:n.z.string()}).strict().optional(),counts:n.z.record(n.z.string(),B).optional(),warnings:n.z.array(n.z.string()).optional()}).strict(),pt=n.z.union([n.z.object({type:n.z.literal(`text`),text:n.z.string()}).strict(),n.z.object({type:n.z.literal(`reasoning`),text:n.z.string()}).strict(),n.z.object({type:n.z.literal(`system`),code:n.z.enum(d)}).strict(),n.z.object({type:n.z.literal(`error`),error:n.z.string(),errorClass:n.z.string().optional()}).strict(),n.z.object({type:n.z.literal(`tool`),toolCallId:n.z.string(),name:n.z.string(),args:n.z.record(n.z.string(),n.z.unknown()),result:n.z.unknown().optional(),error:n.z.string().optional(),errorCode:n.z.enum([`output_limit_reached`,`interrupted`,t.SchemaErrorCode.INVALID_TOOL_INPUT,`external_outcome_unknown`,`external_not_dispatched`]).optional(),state:n.z.enum([`streaming`,`running`,`completed`,`error`,`pending`,`approval-requested`,`approval-responded`,`approval-dispatched`]),durationMs:B.optional(),approvalId:n.z.string().optional(),approvalImpact:q.optional(),approved:n.z.boolean().optional(),approvalReason:n.z.string().optional(),approvalDecidedBy:n.z.string().optional(),approvalDecidedAt:n.z.string().optional(),approvalRelaxableByAuto:n.z.boolean().optional()}).strict(),n.z.object({type:n.z.literal(`file`),fileId:n.z.string(),name:n.z.string(),mimeType:n.z.string()}).strict(),n.z.object({type:n.z.literal(`compaction`),state:n.z.literal(`in-progress`),reason:n.z.enum([`preflight_threshold`,`overflow_recovery`]),estimatedTokens:B.optional(),reportedTokens:B.optional()}).strict(),n.z.object({type:n.z.literal(`compaction`),state:n.z.literal(`completed`),tokensBefore:B,tokensAfter:B,tokensSaved:B,strategy:n.z.enum([`no-op`,`summary`,`truncation`]),durationMs:B,summary:n.z.string().optional()}).strict(),n.z.object({type:n.z.literal(`compaction`),state:n.z.literal(`failed`),reason:n.z.string(),durationMs:B.optional()}).strict()]),mt=n.z.object({id:n.z.string(),name:n.z.string(),mimeType:n.z.string(),size:B}).strict(),ht=n.z.object({id:n.z.string(),artifactId:n.z.string(),revision:n.z.number().int().min(1),selectedText:n.z.string()}).strict(),gt=n.z.object({id:n.z.string(),type:n.z.string().transform(e=>e),entityId:n.z.string(),label:n.z.string(),objectName:n.z.string().optional(),startIndex:B,endIndex:B}).strict(),_t=n.z.object({provider:V,model:n.z.string(),maxTokens:B.optional(),contextWindow:B.optional()}).strict(),vt=n.z.union([n.z.date(),n.z.string().datetime({offset:!0}).transform(e=>new Date(e))]),yt=n.z.object({id:n.z.string(),sessionId:n.z.string(),tenantId:n.z.string().optional(),runId:n.z.string().optional(),role:n.z.enum([`user`,`assistant`,`system`,`tool`]),parts:n.z.array(pt),attachments:n.z.array(mt).optional(),mentions:n.z.array(gt).optional(),quotes:n.z.array(ht).optional(),model:_t.optional(),tokenUsage:n.z.object({input:B,output:B}).strict().optional(),metadata:n.z.record(n.z.string(),n.z.unknown()).optional(),createdAt:vt}).strict(),bt=n.z.object({id:n.z.string(),description:n.z.string(),status:n.z.enum([`pending`,`in_progress`,`completed`,`blocked`]),result:n.z.string().optional(),updatedAt:B.optional()}).strict(),xt=n.z.object({id:n.z.string(),sessionId:n.z.string(),status:n.z.enum([`active`,`completed`,`abandoned`]),todos:n.z.array(bt),version:B,createdAt:n.z.string(),updatedAt:n.z.string(),completedAt:n.z.string().optional()}).strict(),J={"compaction-start":n.z.object({reason:n.z.enum([`preflight_threshold`,`overflow_recovery`]),estimatedTokens:B.optional(),reportedTokens:B.optional()}).strict(),"compaction-end":n.z.object({tokensBefore:B,tokensAfter:B,tokensSaved:B,strategy:n.z.enum([`no-op`,`summary`,`truncation`]),durationMs:B,summary:n.z.string().optional()}).strict(),"compaction-failed":n.z.object({reason:n.z.string()}).strict(),usage:n.z.object({messageId:n.z.string().min(1).optional(),inputTokens:B,outputTokens:B,totalTokens:B,cacheReadTokens:B.optional(),cacheCreationTokens:B.optional(),contextWindow:B,residentTokens:B,utilization:n.z.number().finite().min(0).max(1),costUsd:B.optional()}).strict(),"message-updated":n.z.object({message:yt}).strict(),"approval-context":n.z.object({approvalId:n.z.string(),toolCallId:n.z.string(),impact:q.optional(),relaxableByAuto:n.z.boolean().optional()}).strict()};function isAgentUIDataName(e){return e in J}function agentUIValidationError(e){return new t.ValidationError(`Invalid agent UI message chunk`,e.map(e=>({path:e.path.map(String),message:e.message,code:e.code})))}function assertCustomAgentUIMessageChunk(e){if(typeof e!=`object`||!e||typeof e.type!=`string`)throw new t.ValidationError(`Invalid agent UI message chunk`,[{path:[`type`],message:`Expected UI message chunk type`,code:`invalid_type`}]);let r=e.type;if(!r.startsWith(`data-`))throw new t.ValidationError(`Invalid agent UI message chunk`,[{path:[`type`],message:`Expected agent data chunk type`,code:`invalid_value`}]);let i=r.slice(5);if(!isAgentUIDataName(i))throw new t.ValidationError(`Invalid agent UI message chunk`,[{path:[`type`],message:`Unknown agent UI data type: ${i}`,code:`invalid_value`}]);let a=n.z.object({type:n.z.literal(`data-${i}`),id:n.z.string().optional(),data:J[i],transient:n.z.boolean().optional()}).strict().safeParse(e);if(!a.success)throw agentUIValidationError(a.error.issues);return a.data}function agentDataChunk(e,t,n){return assertCustomAgentUIMessageChunk({type:`data-${e}`,...n?.id===void 0?{}:{id:n.id},data:t,...n?.transient===void 0?{}:{transient:n.transient}})}const St=n.z.string().trim().min(1).max(24),Ct=n.z.string().trim().min(10).max(500),wt=n.z.enum([`address`,`domain`]),Tt=n.z.object({scope:n.z.enum([`personal`,`workspace`]),name:St,description:Ct,icon:e.f.default(`tag`),color:e.d.default(j)}),Et=n.z.object({name:St.optional(),description:Ct.optional(),icon:e.f.optional(),color:e.d.optional()}).refine(e=>Object.values(e).some(e=>e!==void 0),{message:`Nothing to update`}),Dt=n.z.object({moveTo:n.z.string().min(1).nullable().default(null)}),Ot=n.z.object({category:n.z.string().min(1).optional(),important:n.z.boolean().optional()}).refine(e=>e.category!==void 0||e.important!==void 0,{message:`Nothing to classify`}),kt=n.z.object({verdict:n.z.object({category:n.z.string().min(1).nullable(),important:n.z.boolean(),classifiedBy:n.z.enum([`model`,`rule`,`manual`]).nullable()}),ruleId:n.z.string().uuid().nullable(),previousRule:n.z.object({scope:wt,match:n.z.string().trim().toLowerCase().min(1),category:n.z.string().min(1)}).nullable()}).refine(e=>e.ruleId!==null||e.previousRule===null,{message:`A previous rule needs the rule it restores`}),At=n.z.object({scope:n.z.literal(`domain`)}),jt=n.z.object({scope:n.z.enum([`personal`,`workspace`])}),Y=n.z.object({type:n.z.enum(se),color:n.z.enum(r.AVATAR_COLOR_IDS),expression:n.z.enum(ce).default(`relaxed`)}).strict(),Mt=n.z.array(n.z.string().trim().min(1).max(200)).max(4);function agentAvatarFromMetadata(e){let t=Y.safeParse(e);return t.success?t.data:void 0}const Nt=[`record.created`,`record.updated`,`record.deleted`,`form.submitted`,`webhook`,`github`,`slack`],Pt=new Set([`record.created`,`record.updated`,`record.deleted`]),Ft=/^[A-Z_][A-Z0-9_]*$/,It=n.z.object({cron:n.z.string().min(9),timezone:n.z.string().optional(),enabled:n.z.boolean(),input:n.z.record(n.z.string(),n.z.unknown()).optional(),runFor:n.z.enum([`armer`,`audience`]).optional(),continueConversation:n.z.boolean().optional()}),Lt=/^[A-Za-z0-9_$-]+(\.[A-Za-z0-9_$-]+)*$/,X=n.z.object({name:n.z.string().max(120).optional(),eventType:n.z.enum(Nt),objectId:n.z.guid().optional(),watchedFields:n.z.array(n.z.string()).max(50).optional(),debounceMs:n.z.number().int().min(0).max(3e5).optional(),filter:n.z.object({combinator:n.z.enum([`and`,`or`]).default(`and`),rules:n.z.array(n.z.object({attribute:n.z.string(),operator:n.z.string(),value:n.z.unknown().optional()}))}).optional(),formDefinitionId:n.z.string().optional(),continuationKey:n.z.string().max(200).regex(Lt).nullable().optional(),connectionId:n.z.guid().optional(),match:qe.optional(),continueConversation:n.z.boolean().optional(),enabled:n.z.boolean().optional()});function refineTrigger(e){return e.refine(e=>!e.watchedFields?.length||e.eventType===`record.updated`,{message:`watchedFields requires eventType=record.updated`,path:[`watchedFields`]}).refine(e=>!(e.eventType&&Pt.has(e.eventType))||!!e.objectId,{message:`objectId is required for record.* triggers`,path:[`objectId`]}).refine(e=>!(e.continuationKey&&e.eventType)||e.eventType===`webhook`,{message:`continuationKey requires eventType=webhook`,path:[`continuationKey`]}).superRefine((e,t)=>{let n=e.eventType===`github`||e.eventType===`slack`;if(n&&!e.connectionId&&t.addIssue({code:`custom`,path:[`connectionId`],message:`connectionId is required for native connector triggers`}),n&&!e.match&&t.addIssue({code:`custom`,path:[`match`],message:`match is required for native connector triggers`}),e.match&&e.eventType&&((e.eventType===`github`?`family`in e.match:e.eventType===`slack`&&`on`in e.match)||t.addIssue({code:`custom`,path:[`match`],message:`match must belong to the trigger provider`})),e.eventType&&!n)for(let n of[`connectionId`,`continueConversation`])e[n]!==void 0&&t.addIssue({code:`custom`,path:[n],message:`${n} requires a native connector trigger`})})}const Rt=refineTrigger(X).transform(e=>({...e,...e.eventType===`github`||e.eventType===`slack`?{continueConversation:e.continueConversation??!0}:{}})),zt=X.partial();function parseMergedAgentTrigger(e,t){let n=zt.safeParse(t);if(!n.success)throw triggerValidationError(n.error);let r=Object.fromEntries(Object.entries(n.data).filter(([,e])=>e!==void 0)),i=Rt.safeParse({...e,...r});if(!i.success)throw triggerValidationError(i.error);return i.data}function triggerValidationError(e){return new t.ValidationError(`Invalid agent trigger`,e.issues.map(e=>({path:e.path.map(String),message:e.message})))}const Z=n.z.uuid(),Q=n.z.record(n.z.string(),n.z.unknown()),Bt=n.z.strictObject({objectName:n.z.string(),recordId:Z,attribute:n.z.string(),base:n.z.unknown(),props:Q.optional()}),Vt=n.z.strictObject({kind:n.z.literal(`record.set`),objectId:Z,recordId:Z,values:Q,base:Q.optional()}),Ht=n.z.strictObject({kind:n.z.literal(`record.create`),objectId:Z,recordId:Z,values:Q,options:n.z.strictObject({visibility:n.z.enum([`workspace`,`private`]).optional(),allowDraft:n.z.boolean().optional(),linkTo:Bt.optional()}).optional()}),Ut=n.z.strictObject({kind:n.z.literal(`record.delete`),objectId:Z,recordId:Z}),Wt=n.z.strictObject({kind:n.z.literal(`record.restore`),objectId:Z,recordId:Z}),$=n.z.string().min(1),Gt=n.z.discriminatedUnion(`command`,[n.z.strictObject({command:n.z.literal(`replace`),oldText:$,newText:n.z.string(),replaceAll:n.z.boolean().optional()}),n.z.strictObject({command:n.z.literal(`insert`),text:$,after:$.optional()})]),Kt=n.z.strictObject({kind:n.z.literal(`record.patch`),objectId:Z,recordId:Z,attribute:n.z.string(),edit:Gt}),qt=n.z.discriminatedUnion(`kind`,[Vt,Ht,Ut,Wt,Kt]),Jt=n.z.strictObject({opId:Z,steps:n.z.array(qt).min(1).max(100)}).superRefine((e,t)=>{let n=new Set;for(let r of e.steps){if(n.has(r.recordId)){t.addIssue({code:`custom`,message:`one step per record`,path:[`steps`]});return}n.add(r.recordId)}});Object.defineProperty(exports,"$",{enumerable:!0,get:function(){return st}}),Object.defineProperty(exports,"$n",{enumerable:!0,get:function(){return ge}}),Object.defineProperty(exports,"$r",{enumerable:!0,get:function(){return isAgentMessageMetadata}}),Object.defineProperty(exports,"$t",{enumerable:!0,get:function(){return grantKindOf}}),Object.defineProperty(exports,"A",{enumerable:!0,get:function(){return ht}}),Object.defineProperty(exports,"An",{enumerable:!0,get:function(){return 5242880}}),Object.defineProperty(exports,"Ar",{enumerable:!0,get:function(){return ee}}),Object.defineProperty(exports,"At",{enumerable:!0,get:function(){return 8}}),Object.defineProperty(exports,"B",{enumerable:!0,get:function(){return gt}}),Object.defineProperty(exports,"Bn",{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,"Br",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"Bt",{enumerable:!0,get:function(){return ze}}),Object.defineProperty(exports,"C",{enumerable:!0,get:function(){return ct}}),Object.defineProperty(exports,"Cn",{enumerable:!0,get:function(){return Oe}}),Object.defineProperty(exports,"Cr",{enumerable:!0,get:function(){return se}}),Object.defineProperty(exports,"Ct",{enumerable:!0,get:function(){return AgentBuilder}}),Object.defineProperty(exports,"D",{enumerable:!0,get:function(){return ut}}),Object.defineProperty(exports,"Dn",{enumerable:!0,get:function(){return Te}}),Object.defineProperty(exports,"Dr",{enumerable:!0,get:function(){return 4}}),Object.defineProperty(exports,"Dt",{enumerable:!0,get:function(){return`tag`}}),Object.defineProperty(exports,"E",{enumerable:!0,get:function(){return lt}}),Object.defineProperty(exports,"En",{enumerable:!0,get:function(){return Ce}}),Object.defineProperty(exports,"Er",{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,"Et",{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,"F",{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,"Fn",{enumerable:!0,get:function(){return 50}}),Object.defineProperty(exports,"Fr",{enumerable:!0,get:function(){return 200}}),Object.defineProperty(exports,"Ft",{enumerable:!0,get:function(){return isPublicMailDomain}}),Object.defineProperty(exports,"G",{enumerable:!0,get:function(){return dt}}),Object.defineProperty(exports,"Gn",{enumerable:!0,get:function(){return isBlocking}}),Object.defineProperty(exports,"Gr",{enumerable:!0,get:function(){return ie}}),Object.defineProperty(exports,"Gt",{enumerable:!0,get:function(){return Ie}}),Object.defineProperty(exports,"H",{enumerable:!0,get:function(){return G}}),Object.defineProperty(exports,"Hn",{enumerable:!0,get:function(){return humanRequestId}}),Object.defineProperty(exports,"Hr",{enumerable:!0,get:function(){return oe}}),Object.defineProperty(exports,"Ht",{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,"I",{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,"In",{enumerable:!0,get:function(){return 4}}),Object.defineProperty(exports,"Ir",{enumerable:!0,get:function(){return 366}}),Object.defineProperty(exports,"It",{enumerable:!0,get:function(){return isSystemEmailCategory}}),Object.defineProperty(exports,"J",{enumerable:!0,get:function(){return q}}),Object.defineProperty(exports,"Jn",{enumerable:!0,get:function(){return readAskQuestionsResult}}),Object.defineProperty(exports,"Jr",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"Jt",{enumerable:!0,get:function(){return Le}}),Object.defineProperty(exports,"K",{enumerable:!0,get:function(){return bt}}),Object.defineProperty(exports,"Kn",{enumerable:!0,get:function(){return isParkedOnHuman}}),Object.defineProperty(exports,"Kr",{enumerable:!0,get:function(){return te}}),Object.defineProperty(exports,"Kt",{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,"L",{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,"Ln",{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,"Lr",{enumerable:!0,get:function(){return 50}}),Object.defineProperty(exports,"Lt",{enumerable:!0,get:function(){return isSystemEmailCategoryName}}),Object.defineProperty(exports,"M",{enumerable:!0,get:function(){return J}}),Object.defineProperty(exports,"Mn",{enumerable:!0,get:function(){return recentActivityEntryKey}}),Object.defineProperty(exports,"Mr",{enumerable:!0,get:function(){return ne}}),Object.defineProperty(exports,"Mt",{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,"N",{enumerable:!0,get:function(){return vt}}),Object.defineProperty(exports,"Nn",{enumerable:!0,get:function(){return be}}),Object.defineProperty(exports,"Nr",{enumerable:!0,get:function(){return ae}}),Object.defineProperty(exports,"Nt",{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,"O",{enumerable:!0,get:function(){return yt}}),Object.defineProperty(exports,"On",{enumerable:!0,get:function(){return we}}),Object.defineProperty(exports,"Or",{enumerable:!0,get:function(){return 200}}),Object.defineProperty(exports,"Ot",{enumerable:!0,get:function(){return 500}}),Object.defineProperty(exports,"P",{enumerable:!0,get:function(){return K}}),Object.defineProperty(exports,"Pn",{enumerable:!0,get:function(){return 2e3}}),Object.defineProperty(exports,"Pr",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"Pt",{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,"Q",{enumerable:!0,get:function(){return at}}),Object.defineProperty(exports,"Qn",{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,"Qr",{enumerable:!0,get:function(){return compareAgentSessionMessages}}),Object.defineProperty(exports,"Qt",{enumerable:!0,get:function(){return connectionGrantKindsOf}}),Object.defineProperty(exports,"R",{enumerable:!0,get:function(){return isAgentUIDataName}}),Object.defineProperty(exports,"Rn",{enumerable:!0,get:function(){return ve}}),Object.defineProperty(exports,"Rr",{enumerable:!0,get:function(){return 500}}),Object.defineProperty(exports,"Rt",{enumerable:!0,get:function(){return Re}}),Object.defineProperty(exports,"S",{enumerable:!0,get:function(){return agentDataChunk}}),Object.defineProperty(exports,"Sn",{enumerable:!0,get:function(){return Ae}}),Object.defineProperty(exports,"Sr",{enumerable:!0,get:function(){return ce}}),Object.defineProperty(exports,"St",{enumerable:!0,get:function(){return Ke}}),Object.defineProperty(exports,"T",{enumerable:!0,get:function(){return pt}}),Object.defineProperty(exports,"Tn",{enumerable:!0,get:function(){return De}}),Object.defineProperty(exports,"Tr",{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,"Tt",{enumerable:!0,get:function(){return agent}}),Object.defineProperty(exports,"U",{enumerable:!0,get:function(){return V}}),Object.defineProperty(exports,"Un",{enumerable:!0,get:function(){return humanRequestKind}}),Object.defineProperty(exports,"Ur",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"Ut",{enumerable:!0,get:function(){return Be}}),Object.defineProperty(exports,"V",{enumerable:!0,get:function(){return _t}}),Object.defineProperty(exports,"Vn",{enumerable:!0,get:function(){return Se}}),Object.defineProperty(exports,"Vr",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"Vt",{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,"W",{enumerable:!0,get:function(){return ft}}),Object.defineProperty(exports,"Wn",{enumerable:!0,get:function(){return isAwaitingHuman}}),Object.defineProperty(exports,"Wr",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"Wt",{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,"X",{enumerable:!0,get:function(){return 2e5}}),Object.defineProperty(exports,"Xn",{enumerable:!0,get:function(){return _e}}),Object.defineProperty(exports,"Xr",{enumerable:!0,get:function(){return agentDisplayName}}),Object.defineProperty(exports,"Xt",{enumerable:!0,get:function(){return canonicalToolGroups}}),Object.defineProperty(exports,"Y",{enumerable:!0,get:function(){return ot}}),Object.defineProperty(exports,"Yn",{enumerable:!0,get:function(){return`discard_architect_draft`}}),Object.defineProperty(exports,"Yr",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"Yt",{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,"Z",{enumerable:!0,get:function(){return 998}}),Object.defineProperty(exports,"Zn",{enumerable:!0,get:function(){return`get_architect_draft`}}),Object.defineProperty(exports,"Zr",{enumerable:!0,get:function(){return assertSessionState}}),Object.defineProperty(exports,"Zt",{enumerable:!0,get:function(){return connectionGrantKindOf}}),Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return Tt}}),Object.defineProperty(exports,"_n",{enumerable:!0,get:function(){return isEnvironmentHarnessId}}),Object.defineProperty(exports,"_r",{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,"_t",{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return Nt}}),Object.defineProperty(exports,"ai",{enumerable:!0,get:function(){return mergeSessionInferencePatch}}),Object.defineProperty(exports,"an",{enumerable:!0,get:function(){return Pe}}),Object.defineProperty(exports,"ar",{enumerable:!0,get:function(){return pe}}),Object.defineProperty(exports,"at",{enumerable:!0,get:function(){return it}}),Object.defineProperty(exports,"b",{enumerable:!0,get:function(){return Et}}),Object.defineProperty(exports,"bn",{enumerable:!0,get:function(){return 50}}),Object.defineProperty(exports,"br",{enumerable:!0,get:function(){return 20}}),Object.defineProperty(exports,"bt",{enumerable:!0,get:function(){return Ge}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return zt}}),Object.defineProperty(exports,"cn",{enumerable:!0,get:function(){return 100}}),Object.defineProperty(exports,"cr",{enumerable:!0,get:function(){return parseAgentDefinitionAccessRole}}),Object.defineProperty(exports,"ct",{enumerable:!0,get:function(){return Xe}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return refineTrigger}}),Object.defineProperty(exports,"dn",{enumerable:!0,get:function(){return cliDefaultModelOf}}),Object.defineProperty(exports,"dr",{enumerable:!0,get:function(){return de}}),Object.defineProperty(exports,"dt",{enumerable:!0,get:function(){return tt}}),Object.defineProperty(exports,"ei",{enumerable:!0,get:function(){return isAgentNotificationMetadata}}),Object.defineProperty(exports,"en",{enumerable:!0,get:function(){return isNativeToolGroup}}),Object.defineProperty(exports,"er",{enumerable:!0,get:function(){return`agentSessionId`}}),Object.defineProperty(exports,"et",{enumerable:!0,get:function(){return isMailProvider}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return agentAvatarFromMetadata}}),Object.defineProperty(exports,"fn",{enumerable:!0,get:function(){return compiledHarnessModels}}),Object.defineProperty(exports,"fr",{enumerable:!0,get:function(){return 2048}}),Object.defineProperty(exports,"ft",{enumerable:!0,get:function(){return nt}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return Ot}}),Object.defineProperty(exports,"gn",{enumerable:!0,get:function(){return harnessModelChoices}}),Object.defineProperty(exports,"gr",{enumerable:!0,get:function(){return`browser_launch`}}),Object.defineProperty(exports,"gt",{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return kt}}),Object.defineProperty(exports,"hn",{enumerable:!0,get:function(){return findEnvironmentHarness}}),Object.defineProperty(exports,"hr",{enumerable:!0,get:function(){return ue}}),Object.defineProperty(exports,"ht",{enumerable:!0,get:function(){return Qe}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return Ft}}),Object.defineProperty(exports,"ii",{enumerable:!0,get:function(){return isToolApprovalState}}),Object.defineProperty(exports,"in",{enumerable:!0,get:function(){return resourceGrant}}),Object.defineProperty(exports,"ir",{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,"it",{enumerable:!0,get:function(){return 100}}),Object.defineProperty(exports,"j",{enumerable:!0,get:function(){return assertCustomAgentUIMessageChunk}}),Object.defineProperty(exports,"jn",{enumerable:!0,get:function(){return 50}}),Object.defineProperty(exports,"jr",{enumerable:!0,get:function(){return 182}}),Object.defineProperty(exports,"jt",{enumerable:!0,get:function(){return 24}}),Object.defineProperty(exports,"k",{enumerable:!0,get:function(){return agentUIValidationError}}),Object.defineProperty(exports,"kn",{enumerable:!0,get:function(){return 200}}),Object.defineProperty(exports,"kr",{enumerable:!0,get:function(){return re}}),Object.defineProperty(exports,"kt",{enumerable:!0,get:function(){return 10}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return Rt}}),Object.defineProperty(exports,"ln",{enumerable:!0,get:function(){return Ne}}),Object.defineProperty(exports,"lr",{enumerable:!0,get:function(){return parsePageAccessRole}}),Object.defineProperty(exports,"lt",{enumerable:!0,get:function(){return Je}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return Mt}}),Object.defineProperty(exports,"mn",{enumerable:!0,get:function(){return environmentWorkdir}}),Object.defineProperty(exports,"mr",{enumerable:!0,get:function(){return 500}}),Object.defineProperty(exports,"mt",{enumerable:!0,get:function(){return Ze}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return Jt}}),Object.defineProperty(exports,"ni",{enumerable:!0,get:function(){return isRoutineActorMetadata}}),Object.defineProperty(exports,"nn",{enumerable:!0,get:function(){return needsManageWhenUnattended}}),Object.defineProperty(exports,"nr",{enumerable:!0,get:function(){return isAgentWrittenAuditEntry}}),Object.defineProperty(exports,"nt",{enumerable:!0,get:function(){return isProviderDraft}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return It}}),Object.defineProperty(exports,"oi",{enumerable:!0,get:function(){return orderAgentSessionMessages}}),Object.defineProperty(exports,"on",{enumerable:!0,get:function(){return je}}),Object.defineProperty(exports,"or",{enumerable:!0,get:function(){return me}}),Object.defineProperty(exports,"ot",{enumerable:!0,get:function(){return $e}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return Y}}),Object.defineProperty(exports,"pn",{enumerable:!0,get:function(){return environmentHarness}}),Object.defineProperty(exports,"pr",{enumerable:!0,get:function(){return 100}}),Object.defineProperty(exports,"pt",{enumerable:!0,get:function(){return rt}}),Object.defineProperty(exports,"q",{enumerable:!0,get:function(){return xt}}),Object.defineProperty(exports,"qn",{enumerable:!0,get:function(){return openRequests}}),Object.defineProperty(exports,"qr",{enumerable:!0,get:function(){return le}}),Object.defineProperty(exports,"qt",{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return Lt}}),Object.defineProperty(exports,"ri",{enumerable:!0,get:function(){return isSystemPartCode}}),Object.defineProperty(exports,"rn",{enumerable:!0,get:function(){return parseToolGroupGrant}}),Object.defineProperty(exports,"rr",{enumerable:!0,get:function(){return fe}}),Object.defineProperty(exports,"rt",{enumerable:!0,get:function(){return isReplyMode}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return X}}),Object.defineProperty(exports,"sn",{enumerable:!0,get:function(){return Me}}),Object.defineProperty(exports,"sr",{enumerable:!0,get:function(){return deriveViewerAccess}}),Object.defineProperty(exports,"st",{enumerable:!0,get:function(){return et}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return 100}}),Object.defineProperty(exports,"ti",{enumerable:!0,get:function(){return isOpenToolPartState}}),Object.defineProperty(exports,"tn",{enumerable:!0,get:function(){return isResourceGrant}}),Object.defineProperty(exports,"tr",{enumerable:!0,get:function(){return he}}),Object.defineProperty(exports,"tt",{enumerable:!0,get:function(){return isMailboxListMode}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return parseMergedAgentTrigger}}),Object.defineProperty(exports,"un",{enumerable:!0,get:function(){return 64e3}}),Object.defineProperty(exports,"ur",{enumerable:!0,get:function(){return parseRecordAccessRole}}),Object.defineProperty(exports,"ut",{enumerable:!0,get:function(){return Ye}}),Object.defineProperty(exports,"v",{enumerable:!0,get:function(){return Dt}}),Object.defineProperty(exports,"vn",{enumerable:!0,get:function(){return 50}}),Object.defineProperty(exports,"vr",{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,"vt",{enumerable:!0,get:function(){return qe}}),Object.defineProperty(exports,"w",{enumerable:!0,get:function(){return mt}}),Object.defineProperty(exports,"wn",{enumerable:!0,get:function(){return Ee}}),Object.defineProperty(exports,"wr",{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,"wt",{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,"x",{enumerable:!0,get:function(){return At}}),Object.defineProperty(exports,"xn",{enumerable:!0,get:function(){return recordGraphNodeKey}}),Object.defineProperty(exports,"xr",{enumerable:!0,get:function(){return 4e3}}),Object.defineProperty(exports,"xt",{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,"y",{enumerable:!0,get:function(){return jt}}),Object.defineProperty(exports,"yn",{enumerable:!0,get:function(){return 200}}),Object.defineProperty(exports,"yr",{enumerable:!0,get:function(){return 32e3}}),Object.defineProperty(exports,"yt",{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,"z",{enumerable:!0,get:function(){return isSessionInferencePatch}}),Object.defineProperty(exports,"zn",{enumerable:!0,get:function(){return ye}}),Object.defineProperty(exports,"zr",{enumerable:!0,get:function(){return 80}}),Object.defineProperty(exports,"zt",{enumerable:!0,get:function(){return Fe}});
@@ -1,2 +0,0 @@
1
- /*! © 2025-2026 AND YOU CREATE SAS (RCS Paris 940 190 614). Proprietary — see LICENSE (Standards SDK License 1.0). */
2
- import{SchemaError as e,SchemaErrorCode as t,ToolGroupGrantError as n,ValidationError as r}from"./exceptions.mjs";import{d as i,f as ee,r as te}from"./attribute-validators-DRqhAt2t.mjs";import{z as a}from"zod";import{AVATAR_COLOR_IDS as ne}from"@standards/constants";const re=[`completed`,`failed`,`cancelled`];function invalidSessionState(n){throw new e(n,t.INVARIANT_VIOLATION)}function assertSessionState(e){e.phase===`running`?e.runningTurnId===void 0&&invalidSessionState(`running session without runningTurnId`):e.runningTurnId!==void 0&&invalidSessionState(`runningTurnId present on a ${e.phase} session`),e.phase===`parked`?e.parkedOn===void 0&&invalidSessionState(`parked session without parkedOn`):e.parkedOn!==void 0&&invalidSessionState(`parkedOn present on a ${e.phase} session`),e.parkedOn===`human`?e.humanRequestIds===void 0&&invalidSessionState(`human-parked session without humanRequestIds`):e.humanRequestIds!==void 0&&invalidSessionState(`humanRequestIds present on a session not parked on a human`)}const ie=[`createdAt`,`lastActivity`],o=Object.freeze({mutation:`ask`,destructive:`ask`,outward:`ask`}),ae=[`active`,`completed`,`abandoned`],s=[`openai`,`anthropic`,`google`,`spacexai`,`deepseek`,`moonshotai`,`alibaba`,`mistral`,`minimax`,`meta`,`zai`,`cursor`],c=[`standard`,`fast`],l=[`none`,`minimal`,`low`,`medium`,`high`,`xhigh`],u=[`conversation`,`writing`,`coding`,`analysis`,`extraction`],d=[`light`,`standard`,`heavy`],oe=[`manual`,`auto`],se={interactive:{inputPerMillionUsd:5,outputPerMillionUsd:25},delegated:{inputPerMillionUsd:2,outputPerMillionUsd:12}},f=[`model`,`speed`,`reasoning`,`imageModel`,`routing`];function mergeSessionInferencePatch(e,t){let n={...e};for(let e of f){let r=t[e];r===null?delete n[e]:r!==void 0&&Object.assign(n,{[e]:r})}return t.model&&t.routing===void 0&&(n.routing=`manual`),n}function isRoutineActorMetadata(e){return e?.kind===`routine`}const p=[`octopus`,`clover`,`flower`,`triangle`,`square`,`blob`,`circle`,`drop`,`hexagon`,`pill`,`pebble`,`puddle`],ce=[`relaxed`,`neutral`],le=4,ue=200;function agentDisplayName(e){return e.label?.trim()||e.name}const m=[`approval-requested`,`approval-responded`,`approval-dispatched`],de=[`streaming`,`running`,`pending`,...m];function isOpenToolPartState(e){return de.includes(e)}function isToolApprovalState(e){return m.includes(e)}const h=[`CREDITS_EXHAUSTED`];function isSystemPartCode(e){return typeof e==`string`&&h.includes(e)}const fe=20,pe=4e3,me=32e3;function compareAgentSessionMessages(e,t){let n=e.createdAt.getTime()-t.createdAt.getTime();return n===0?e.id.localeCompare(t.id):n}function orderAgentSessionMessages(e){return[...e].sort(compareAgentSessionMessages)}const he=200,ge=182,_e=366,ve=`agent-notification`;function isAgentNotificationMetadata(e){return e?.kind===ve}const ye=`agent-message`;function isAgentMessageMetadata(e){return e?.kind===ye}const be=[`pending`,`in_progress`,`completed`,`blocked`],xe=50,Se=80,Ce=500,g=[`sandbox`,`web`,`image`,`memory`,`bulk`,`activity`,`orchestration`,`host`,`cloud-browser`,`notifications`],we=`browser_launch`,_=[`mcp`,`email.read`,`calendar.read`,`github`,`slack.read`,`slack.write`,`device`,`browser`,`browser-profile`],Te=[`definition`,`default`,`child`,`inline`],Ee=[`manual`,`name-asc`,`name-desc`,`date-desc`,`date-asc`],De=100,Oe=500,ke=2048,v=[`reader`,`runner`,`editor`],y=[`reader`,`editor`],Ae=[`manual`,`meeting_attendee`],je=new Set([`memory`,`skill`]);function parseRole(e,t){if(typeof t==`string`&&e.includes(t))return t;let n=`role must be one of: ${e.join(`, `)}`;throw new r(n,[{path:[`role`],message:n}])}function parseRecordAccessRole(e){return parseRole(y,e)}function parseAgentDefinitionAccessRole(e){return parseRole(v,e)}function parsePageAccessRole(e){return parseRole(y,e)}function deriveViewerAccess(e,t){return e.visibility===`workspace`?`workspace`:e.ownedBy!==null&&t.includes(e.ownedBy)?`owner`:e.viewerGrant===`editor`?`editor`:e.viewerGrant===`runner`?`runner`:`reader`}const Me=[`record`,`object`,`attribute`,`view`,`user`,`role`,`settings`,`file`,`agent`,`schema_source`,`tenant_invitation`,`api_key`],Ne=`record.created,record.updated,record.deleted,record.restored,record.purged,record.access_changed,agent.access_changed,object.created,object.updated,object.deleted,attribute.created,attribute.updated,attribute.deleted,view.created,view.updated,view.deleted,schema_source.applied,schema_source.presented,schema_source.removed,user.created,user.invited,user.updated,user.deleted,user.login,user.logout,tenant_invitation.created,tenant_invitation.delivery_failed,tenant_invitation.resent,tenant_invitation.revoked,tenant_invitation.accepted,role.created,role.updated,role.deleted,role.assigned,role.revoked,api_key.detached,settings.updated,file.uploaded,file.updated,file.deleted`.split(`,`),Pe=`agentSessionId`;function isAgentWrittenAuditEntry(e){return e.actorType===`agent`||typeof e.metadata?.agentSessionId==`string`}const Fe=[`draft_schema`],Ie=`discard_architect_draft`,b=`request_design_review`,Le=`get_architect_draft`,x=`ask_questions`,S=`request_setup`,Re=new Set([x,b,S]),C=new Set([x,S]),w=new Set([b]),ze=4,Be=2e3,Ve=50,He=a.union([a.object({value:a.string(),label:a.string()}).strict(),a.object({values:a.array(a.string()),labels:a.array(a.string()),text:a.string().optional()}).strict(),a.object({text:a.string()}).strict()]),T=a.object({skipped:a.boolean().describe(`True if the person skipped all questions`),answers:a.record(a.string(),He).describe(`Map of question ID to the answer given, with each chosen option's value and label`)});function readAskQuestionsResult(e){let t=T.safeParse(e);return t.success?t.data:null}function humanRequestKind(e){return e.approvalId==null?C.has(e.name)?`question`:w.has(e.name)?`review`:null:`approval`}function isAwaitingHuman(e){return humanRequestKind(e)===null||e.state===`streaming`||!isOpenToolPartState(e.state)||e.result!==void 0||e.error!==void 0?!1:e.approvalId==null||e.state===`approval-requested`&&e.approved===void 0}function isBlocking(e){let t=humanRequestKind(e);return t===`review`?isOpenToolPartState(e.state):t===`approval`&&e.state===`approval-requested`&&e.approved===void 0}function humanRequestId(e){return e.approvalId??e.toolCallId}function openRequests(e,t){let n=t.blocking?isBlocking:isAwaitingHuman,r=[];for(let t of e)for(let e of t.parts??[])isToolRequestPart(e)&&n(e)&&r.push({part:e,id:humanRequestId(e),requestedAt:t.createdAt});return r}function isToolRequestPart(e){return e.type===`tool`}function isParkedOnHuman(e){return e?.phase===`parked`&&e.parkedOn===`human`}const Ue=50;function recentActivityEntryKey(e){return e.kind===`record`?JSON.stringify([`record`,e.objectName,e.recordId]):JSON.stringify([`conversation`,`sessionId`in e?e.sessionId:e.session.id])}const We=200,Ge=5242880,E=`Notetaker`,Ke=/^\d{1,9}(\.\d{1,6})?$/,qe={meetingRecordingPolicy:`none`,meetingBotDisplayName:E,memoryPersonMonthlyLimitUsd:null,memoryTenantMonthlyLimitUsd:null},Je=[`active`,`suspended`],Ye=[`architect`,`manual`,`auto`],Xe=[`panel`,`fullscreen`],Ze=50,Qe=200,$e=50,et=a.discriminatedUnion(`type`,[a.strictObject({type:a.literal(`record`),object:a.string().min(1),id:a.guid()}),a.strictObject({type:a.literal(`user`),id:a.guid()})]),tt=a.strictObject({nodes:a.array(et).min(1).max(50),limitPerNode:a.number().int().min(1).max(200).default(50)});function recordGraphNodeKey(e){return e.type===`record`?`record:${e.object}:${e.id}`:`user:${e.id}`}const nt=100,rt=64e3,D=`work`,O=`/vercel/sandbox/${D}`,k=`/workspace`;function environmentWorkdir(e){return e?O:k}const A=[{id:`claude-code`,label:`Claude Code`,provider:`anthropic`,apiKeyEnv:`ANTHROPIC_API_KEY`,models:[{id:`sonnet`,label:`Claude Sonnet`},{id:`opus`,label:`Claude Opus`},{id:`haiku`,label:`Claude Haiku`}],defaultModel:`sonnet`},{id:`codex`,label:`Codex`,provider:`openai`,apiKeyEnv:`OPENAI_API_KEY`,models:[{id:`gpt-6.1-sol`,label:`GPT-6.1 Sol`},{id:`gpt-6-luna`,label:`GPT-6 Luna`},{id:`gpt-6-astra`,label:`GPT-6 Astra`}],defaultModel:`gpt-6.1-sol`},{id:`cursor`,label:`Cursor`,provider:`cursor`,apiKeyEnv:`CURSOR_API_KEY`,models:[{id:`auto`,label:`Auto`,cliDefault:!0},{id:`composer-2.5`,label:`Composer 2.5`}],defaultModel:`auto`}],j=new Map(A.map(e=>[e.id,e]));function isEnvironmentHarnessId(e){return j.has(e)}function findEnvironmentHarness(e){return j.get(e)}function environmentHarness(n){let r=j.get(n);if(!r)throw new e(`Unknown harness "${n}"`,t.INVARIANT_VIOLATION);return r}function cliDefaultModelOf(e){return environmentHarness(e).models.find(e=>e.cliDefault)?.id}function compiledHarnessModels(e){let t=environmentHarness(e);return t.models.map(e=>({id:e.id,label:e.label,...e.id===t.defaultModel?{isDefault:!0}:{}}))}function harnessModelChoices(e,t){let{provider:n}=environmentHarness(e);return t.map(e=>({id:e.id,provider:n,label:e.label,...e.isDefault?{isDefault:!0}:{}}))}const M=[`search`,`query`,`read`,`write`,`delete`,`organize`,`copy`],N=[...M,`edit_content`],P=[...N,`ask_questions`,`compact_context`,`request_work_mode`,`write_todos`],F=[`browser_autopilot`,`browser_batch`,`browser_computer`,`browser_find`,`browser_form_input`,`browser_get_text`,`browser_javascript`,`browser_navigate`,`browser_read_page`,`browser_tabs`],it=[`record`,`document`,`file`,`skill`,`schema`,`guide`],I={memory:{kinds:[`memory`],capabilities:[],tools:[`propose_memory`]},bulk:{kinds:[],capabilities:[`bulk`],tools:[]},activity:{kinds:[],capabilities:[`activity`],tools:[]},"email.read":{kinds:[`email`,`thread`],capabilities:[`copy_email`],tools:[]},"calendar.read":{kinds:[`event`],capabilities:[`transcript`],tools:[]}},L={sandbox:{icon:`terminal`,tools:[`exec_command`,`publish_artifact`,`sandbox_validate_payload`]},web:{icon:`globe`,tools:[`read_webpage`,`web_search`]},image:{icon:`image`,tools:[`generate_image`]},memory:{icon:`book-open`,tools:I.memory.tools},bulk:{icon:`layers-two`,tools:I.bulk.tools},activity:{icon:`activity`,tools:I.activity.tools},orchestration:{icon:`git-branch`,tools:[`message_agent`,`spawn_agent`]},host:{icon:`wrench`,tools:[]},"cloud-browser":{icon:`globe`,tools:[`browser_launch`]},notifications:{icon:`bell`,tools:[`notify`]}},R={mcp:{icon:`puzzle`,tools:[]},"email.read":{icon:`envelope`,tools:I[`email.read`].tools},"calendar.read":{icon:`calendar`,tools:I[`calendar.read`].tools},github:{icon:`brand-github`,tools:[]},"slack.read":{icon:`brand-slack`,tools:[`slack_read`,`slack_find`,`slack_download_file`]},"slack.write":{icon:`brand-slack`,tools:[`slack_send`,`slack_react`,`slack_set_status`]},device:{icon:`desktop`,tools:[`exec_command`]},browser:{icon:`link`,tools:F},"browser-profile":{icon:`globe`,tools:[`browser_launch`,...F]}},at={sandbox:{kinds:[],capabilities:[],tools:L.sandbox.tools},web:{kinds:[],capabilities:[],tools:L.web.tools},image:{kinds:[],capabilities:[],tools:L.image.tools},memory:I.memory,bulk:I.bulk,activity:I.activity,orchestration:{kinds:[],capabilities:[],tools:L.orchestration.tools},host:{kinds:[],capabilities:[],tools:L.host.tools},"cloud-browser":{kinds:[],capabilities:[],tools:L[`cloud-browser`].tools},notifications:{kinds:[],capabilities:[],tools:L.notifications.tools},mcp:{kinds:[],capabilities:[],tools:R.mcp.tools},"email.read":I[`email.read`],"calendar.read":I[`calendar.read`],github:{kinds:[],capabilities:[],tools:R.github.tools},"slack.read":{kinds:[],capabilities:[],tools:R[`slack.read`].tools},"slack.write":{kinds:[],capabilities:[],tools:R[`slack.write`].tools},device:{kinds:[],capabilities:[],tools:R.device.tools},browser:{kinds:[],capabilities:[],tools:R.browser.tools},"browser-profile":{kinds:[],capabilities:[],tools:R[`browser-profile`].tools}},ot={schema:[`discard_architect_draft`,`draft_schema`,`get_architect_draft`,`get_schema_history`,`request_design_review`,`search_icons`],"agent-config":[`get_agents`,`upsert_agent`],setup:[`request_setup`],internal:[`load_toolset`]},st=[...new Set([...P,...g.flatMap(e=>L[e].tools),..._.flatMap(e=>R[e].tools)])],ct={"email.read":[`gmail`,`outlook`],"calendar.read":[`google-calendar`,`outlook-calendar`]};function connectionGrantKindOf(e){return e===`google-calendar`||e===`outlook-calendar`?`calendar.read`:`email.read`}function connectionGrantKindsOf(e){switch(e){case`github`:return[`github`];case`slack`:return[`slack.read`,`slack.write`];default:return[connectionGrantKindOf(e)]}}const lt=[`activity`,`bulk`,`image`,`memory`,`orchestration`,`sandbox`,`web`],ut=[`memory`],dt=new Set([`sandbox`,`host`,`cloud-browser`]);function needsManageWhenUnattended(e){return dt.has(e)||isResourceGrant(e)}function isNativeToolGroup(e){return g.includes(e)}function parseToolGroupGrant(e){if(isNativeToolGroup(e))return{type:`native`,group:e};let t=e.indexOf(`:`);if(t<=0)return null;let n=e.slice(0,t),r=e.slice(t+1);return r.length===0||!_.includes(n)?null:{type:`resource`,kind:n,id:r}}function grantKindOf(e){let t=parseToolGroupGrant(e);return t?.type===`resource`?t.kind:null}function isResourceGrant(e){return parseToolGroupGrant(e)?.type===`resource`}function resourceGrant(e,t){return`${e}:${t}`}function canonicalToolGroups(e){return[...new Set(e)].sort()}const ft=[{key:`direct`,icon:`message`,color:`ink`,description:`A message a person wrote to this mailbox: a conversation, a question, a request, a reply.`},{key:`transactional`,icon:`credit-card`,color:`terra`,description:`An automated message about an account or an operation: receipt, invoice, payment, order, shipping, booking, password reset, security alert.`},{key:`notifications`,icon:`bell`,color:`ochre`,description:`An automated alert from a tool or a service: activity on GitHub, Slack, a calendar, a CRM, a monitoring system.`},{key:`newsletters`,icon:`book-open`,color:`stone`,description:`Editorial content the mailbox subscribed to: newsletters, digests, articles, community updates.`},{key:`marketing`,icon:`percentage`,color:`iris`,description:`Promotion or prospecting: offers, discounts, product announcements, cold sales outreach.`}],pt={direct:{en:`Direct`,fr:`Direct`},transactional:{en:`Transactional`,fr:`Transactionnel`},notifications:{en:`Notifications`,fr:`Notifications`},newsletters:{en:`Newsletters`,fr:`Newsletters`},marketing:{en:`Marketing`,fr:`Marketing`}},mt=8,ht=24,gt=10,_t=500,vt=`tag`,yt=`stone`,bt=new Set(`gmail.com,googlemail.com,outlook.com,hotmail.com,hotmail.fr,outlook.fr,live.com,live.fr,msn.com,yahoo.com,yahoo.fr,icloud.com,me.com,mac.com,proton.me,protonmail.com,gmx.com,gmx.fr,orange.fr,wanadoo.fr,free.fr,laposte.net,sfr.fr,bbox.fr,numericable.fr,aol.com`.split(`,`)),xt=new Set(ft.map(e=>e.key)),St=new Set(Object.entries(pt).flatMap(([e,t])=>[e,t.en,t.fr].map(e=>e.toLowerCase())));function isSystemEmailCategory(e){return xt.has(e)}function isSystemEmailCategoryName(e){return St.has(e.trim().toLowerCase())}function isPublicMailDomain(e){return bt.has(e.toLowerCase())}const z={maxConcurrentRuns:3,retryPolicy:{maxRetries:3,backoffMs:1e3,backoffMultiplier:2}};var AgentBuilder=class{constructor(e){if(!e.name||e.name.trim().length===0)throw new r(`Agent name is required`,[]);this.bp={name:e.name,system:!0,visibility:`workspace`,triggers:[]}}description(e){return this.bp.description=e,this}label(e){return this.bp.label=e,this}avatar(e){return this.bp.avatar={type:e.type,color:e.color,expression:e.expression??`relaxed`},this}starters(e){return e.length===0?delete this.bp.starters:this.bp.starters=[...e],this}systemPrompt(e){return this.bp.systemPrompt=e,this}model(e,t,n){return this.bp.model={provider:e,model:t,...n},this}toolGroups(e){let r=e.find(e=>!isNativeToolGroup(e));if(r!==void 0)throw new n(t.AGENT_TOOL_GROUP_UNKNOWN,r,`Agent "${this.bp.name}": "${r}" is not a native tool group (blueprints cannot grant tenant resources)`);return this.bp.toolGroups=canonicalToolGroups(e),this}schedule(e){return this.bp.schedule={...e,enabled:e.enabled??!0},this}config(e){let t=this.bp.config??z,n=e.inference===void 0?t.inference:{...t.inference,...e.inference};return this.bp.config={...t,...e,...n===void 0?{}:{inference:n}},this}delegation(e){return Object.assign(this.bp,e),this}approval(e){return this.bp.approval={...o,...this.bp.approval,...e},this}visibility(e){return this.bp.visibility=e,this}trigger(e,t,n){return this.bp.triggers.push({name:e,eventType:t,...n,enabled:n?.enabled??!0}),this}runtime(){return this.bp.system=!1,this}build(){if(!this.bp.systemPrompt)throw new r(`Agent "${this.bp.name}": systemPrompt is required`,[]);if(!this.bp.model)throw new r(`Agent "${this.bp.name}": model is required`,[]);if(this.bp.system&&this.bp.visibility===`private`)throw new r(`Agent "${this.bp.name}": system agents must use workspace visibility`,[]);return te(this.bp.triggers,e=>e.name,e=>new r(`Agent "${this.bp.name}": duplicate trigger name "${e}"`,[])),{...this.bp,visibility:this.bp.visibility??`workspace`,toolGroups:this.bp.toolGroups??[...ut],config:this.bp.config??z,systemPrompt:this.bp.systemPrompt,model:this.bp.model}}};function agent(e){return new AgentBuilder(e)}const B={issue:{events:[`issues`],actions:[`opened`,`edited`,`closed`,`reopened`,`labeled`,`unlabeled`,`assigned`,`unassigned`,`milestoned`,`demilestoned`,`transferred`,`pinned`],conditions:[`label`,`issueLabels`,`assignees`,`milestone`,`issueType`,`text`]},pull_request:{events:[`pull_request`],actions:[`opened`,`ready_for_review`,`synchronize`,`review_requested`,`merged`,`closed`,`reopened`,`converted_to_draft`,`labeled`,`assigned`,`edited`],conditions:[`baseBranch`,`headBranch`,`draft`,`issueLabels`,`changedPaths`,`prAuthor`]},review:{events:[`pull_request_review`],actions:[`submitted`,`edited`,`dismissed`],conditions:[`reviewState`,`prAuthor`]},comment:{events:[`issue_comment`,`pull_request_review_comment`,`commit_comment`],actions:[`created`,`edited`,`deleted`],conditions:[`text`,`issueAuthor`,`prAuthor`]},push:{events:[`push`],actions:[`pushed`],conditions:[`branch`,`changedPaths`,`forced`]},ref:{events:[`create`,`delete`],actions:[`created`,`deleted`],conditions:[`refType`,`branch`,`tag`]},workflow:{events:[`workflow_run`],actions:[`requested`,`in_progress`,`completed`],conditions:[`workflowName`,`conclusion`,`branch`,`originEvent`]},check:{events:[`check_suite`,`check_run`],actions:[`completed`,`rerequested`],conditions:[`checkApp`,`checkName`,`conclusion`]},project_item:{events:[`projects_v2_item`],actions:[`created`,`edited`,`archived`,`restored`,`deleted`],conditions:[`project`,`projectField`,`from`,`to`,`itemType`]},release:{events:[`release`],actions:[`published`,`created`,`edited`,`prereleased`,`deleted`],conditions:[`prerelease`,`tag`]},discussion:{events:[`discussion`,`discussion_comment`],actions:[`created`,`commented`,`answered`,`labeled`,`closed`],conditions:[`category`,`issueLabels`,`text`]},repository:{events:[`star`,`fork`,`repository`],actions:[`starred`,`forked`,`created`,`archived`],conditions:[]}},Ct={mention:{events:[`app_mention`],conditions:[`text`]},message:{events:[`message`],conditions:[`position`,`text`,`hasFile`]},dm:{events:[`message`],conditions:[`text`,`hasFile`]},reaction:{events:[`reaction_added`],conditions:[`messageAuthor`]},member_joined:{events:[`member_joined_channel`],conditions:[]}},wt=a.object({field:a.literal(`text`),operator:a.enum([`contains`,`starts_with`]),value:a.string().min(1)}).strict();function stringCondition(e){return a.object({field:a.literal(e),value:a.string().min(1)}).strict()}function booleanCondition(e){return a.object({field:a.literal(e),value:a.boolean()}).strict()}function listCondition(e){return a.object({field:a.literal(e),operator:a.enum([`any`,`all`]).default(`any`),value:a.array(a.string().min(1)).min(1)}).strict()}const Tt=a.discriminatedUnion(`field`,[wt,stringCondition(`label`),listCondition(`issueLabels`),listCondition(`assignees`),stringCondition(`milestone`),stringCondition(`issueType`),stringCondition(`baseBranch`),stringCondition(`headBranch`),stringCondition(`branch`),booleanCondition(`draft`),stringCondition(`changedPaths`),booleanCondition(`forced`),stringCondition(`prAuthor`),stringCondition(`issueAuthor`),a.object({field:a.literal(`reviewState`),value:a.enum([`approved`,`changes_requested`,`commented`])}).strict(),stringCondition(`workflowName`),stringCondition(`checkApp`),stringCondition(`checkName`),stringCondition(`conclusion`),stringCondition(`originEvent`),stringCondition(`project`),stringCondition(`projectField`),a.object({field:a.literal(`from`),value:a.string().nullable()}).strict(),a.object({field:a.literal(`to`),value:a.string().nullable()}).strict(),a.object({field:a.literal(`itemType`),value:a.enum([`issue`,`pull_request`,`draft`])}).strict(),booleanCondition(`prerelease`),stringCondition(`tag`),a.object({field:a.literal(`refType`),value:a.enum([`branch`,`tag`])}).strict(),stringCondition(`category`)]),Et=a.discriminatedUnion(`field`,[wt,a.object({field:a.literal(`position`),value:a.enum([`top_level`,`reply`])}).strict(),booleanCondition(`hasFile`),stringCondition(`messageAuthor`)]),Dt=a.string().regex(/^[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+$/),Ot=a.enum([`human`,`me`,`any`]),kt=a.object({family:a.enum(Object.keys(B)),actions:a.array(a.string()).default([]),repositories:a.array(Dt).default([]),sender:a.union([Ot,a.object({logins:a.array(a.string().min(1)).min(1)}).strict()]).default(`human`),conditions:a.array(Tt).default([])}).strict().superRefine((e,t)=>{let n=B[e.family];e.actions.forEach((r,i)=>{n.actions.includes(r)||t.addIssue({code:`custom`,path:[`actions`,i],message:`Action ${r} is not supported by ${e.family}`})}),e.conditions.forEach((r,i)=>{n.conditions.includes(r.field)||t.addIssue({code:`custom`,path:[`conditions`,i,`field`],message:`Condition ${r.field} is not supported by ${e.family}`})})}).transform(e=>e),At=a.object({on:a.enum([`mention`,`message`,`dm`,`reaction`,`member_joined`]),channels:a.array(a.string().min(1)).default([]),reactions:a.array(a.string().min(1)).optional(),sender:a.union([Ot,a.object({users:a.array(a.string().min(1)).min(1)}).strict()]).default(`human`),conditions:a.array(Et).default([])}).strict().superRefine((e,t)=>{e.conditions.forEach((n,r)=>{Ct[e.on].conditions.includes(n.field)||t.addIssue({code:`custom`,path:[`conditions`,r,`field`],message:`Condition ${n.field} is not supported by ${e.on}`})}),e.reactions!==void 0&&e.on!==`reaction`&&t.addIssue({code:`custom`,path:[`reactions`],message:`reactions requires on=reaction`})}).transform(e=>e),jt=a.union([kt,At]),Mt=[`force`,`skip`],Nt=[`none`,`all`,`external_only`],Pt={override:null,status:`none`,failureReason:null,botId:null},Ft=a.object({speaker:a.string().nullable(),startsAtMs:a.number(),endsAtMs:a.number(),text:a.string()}),It=a.object({fullText:a.string(),segments:a.array(Ft),language:a.string().nullable(),startedAt:a.string().nullable(),endedAt:a.string().nullable()}),Lt={width:1280,height:720,maxBytes:13e5,mimeType:`image/jpeg`},Rt=Math.ceil(Lt.maxBytes/3)*4,zt=a.object({conferenceJoinUrl:a.string().min(1),botDisplayName:a.string().min(1),startsAt:a.string().nullable(),callbackUrl:a.url(),botImageJpeg:a.string().max(Rt).optional()}),Bt=a.object({botId:a.string().min(1)}),Vt=a.discriminatedUnion(`kind`,[a.object({kind:a.literal(`transcript-ready`),botId:a.string().min(1)}),a.object({kind:a.literal(`failure`),botId:a.string().min(1),reason:a.string()})]),Ht=100;let Ut=function(e){return e.Desktop=`desktop`,e}({});function isMailProvider(e){return e===`gmail`||e===`outlook`}const Wt=`DRAFT`;function isProviderDraft(e){return e.includes(Wt)}const Gt=[`threads`,`messages`];function isMailboxListMode(e){return Gt.includes(e)}const Kt=[`reply`,`reply_all`];function isReplyMode(e){return Kt.includes(e)}const qt=2e5,Jt=998,V=a.number().finite().nonnegative(),H=a.enum(s),U=a.enum(c),W=a.enum(l),G=a.enum(oe),K=a.object({provider:H,model:a.string().min(1)}).strict(),Yt=a.object({speed:U.optional(),reasoning:W.optional(),routing:G.optional()}).strict(),q=a.string().regex(/^[a-z0-9][a-z0-9-]*\/[a-z0-9][a-z0-9._-]*$/),Xt=a.object({model:K.optional(),speed:U.optional(),reasoning:W.optional(),imageModel:q.optional(),routing:G.optional()}).strict(),Zt=Xt.refine(e=>f.some(t=>e[t]!==void 0),{message:`At least one inference override is required`});function isSessionInferencePatch(e){return Object.keys(e).length>0&&Object.values(e).every(e=>e!==void 0)}const Qt=a.object({model:K.nullable().optional(),speed:U.nullable().optional(),reasoning:W.nullable().optional(),imageModel:q.nullable().optional(),routing:G.nullable().optional()}).strict().refine(isSessionInferencePatch,{message:`At least one inference override is required`}),$t=a.object({model:a.string().min(1),routing:a.object({mode:a.literal(`auto`),tasks:a.array(a.enum(u)).optional(),demand:a.enum(d).optional(),reason:a.enum([`selected`,`retained`,`fallback`]).optional(),relation:a.enum([`continue`,`modify`,`new`,`aside`,`unknown`]).optional(),anchorMessageId:a.string().min(1).optional()})}),J=a.object({label:a.string(),denied:a.boolean().optional(),deletion:a.object({target:a.string().optional(),count:V.optional(),restorableDays:V.optional()}).strict().optional(),record:a.object({objectName:a.string(),id:a.string(),label:a.string(),objectIcon:a.string().optional()}).strict().optional(),object:a.object({name:a.string(),label:a.string()}).strict().optional(),counts:a.record(a.string(),V).optional(),warnings:a.array(a.string()).optional()}).strict(),en=a.union([a.object({type:a.literal(`text`),text:a.string()}).strict(),a.object({type:a.literal(`reasoning`),text:a.string()}).strict(),a.object({type:a.literal(`system`),code:a.enum(h)}).strict(),a.object({type:a.literal(`error`),error:a.string(),errorClass:a.string().optional()}).strict(),a.object({type:a.literal(`tool`),toolCallId:a.string(),name:a.string(),args:a.record(a.string(),a.unknown()),result:a.unknown().optional(),error:a.string().optional(),errorCode:a.enum([`output_limit_reached`,`interrupted`,t.INVALID_TOOL_INPUT,`external_outcome_unknown`,`external_not_dispatched`]).optional(),state:a.enum([`streaming`,`running`,`completed`,`error`,`pending`,`approval-requested`,`approval-responded`,`approval-dispatched`]),durationMs:V.optional(),approvalId:a.string().optional(),approvalImpact:J.optional(),approved:a.boolean().optional(),approvalReason:a.string().optional(),approvalDecidedBy:a.string().optional(),approvalDecidedAt:a.string().optional(),approvalRelaxableByAuto:a.boolean().optional()}).strict(),a.object({type:a.literal(`file`),fileId:a.string(),name:a.string(),mimeType:a.string()}).strict(),a.object({type:a.literal(`compaction`),state:a.literal(`in-progress`),reason:a.enum([`preflight_threshold`,`overflow_recovery`]),estimatedTokens:V.optional(),reportedTokens:V.optional()}).strict(),a.object({type:a.literal(`compaction`),state:a.literal(`completed`),tokensBefore:V,tokensAfter:V,tokensSaved:V,strategy:a.enum([`no-op`,`summary`,`truncation`]),durationMs:V,summary:a.string().optional()}).strict(),a.object({type:a.literal(`compaction`),state:a.literal(`failed`),reason:a.string(),durationMs:V.optional()}).strict()]),tn=a.object({id:a.string(),name:a.string(),mimeType:a.string(),size:V}).strict(),nn=a.object({id:a.string(),artifactId:a.string(),revision:a.number().int().min(1),selectedText:a.string()}).strict(),rn=a.object({id:a.string(),type:a.string().transform(e=>e),entityId:a.string(),label:a.string(),objectName:a.string().optional(),startIndex:V,endIndex:V}).strict(),an=a.object({provider:H,model:a.string(),maxTokens:V.optional(),contextWindow:V.optional()}).strict(),on=a.union([a.date(),a.string().datetime({offset:!0}).transform(e=>new Date(e))]),sn=a.object({id:a.string(),sessionId:a.string(),tenantId:a.string().optional(),runId:a.string().optional(),role:a.enum([`user`,`assistant`,`system`,`tool`]),parts:a.array(en),attachments:a.array(tn).optional(),mentions:a.array(rn).optional(),quotes:a.array(nn).optional(),model:an.optional(),tokenUsage:a.object({input:V,output:V}).strict().optional(),metadata:a.record(a.string(),a.unknown()).optional(),createdAt:on}).strict(),cn=a.object({id:a.string(),description:a.string(),status:a.enum([`pending`,`in_progress`,`completed`,`blocked`]),result:a.string().optional(),updatedAt:V.optional()}).strict(),ln=a.object({id:a.string(),sessionId:a.string(),status:a.enum([`active`,`completed`,`abandoned`]),todos:a.array(cn),version:V,createdAt:a.string(),updatedAt:a.string(),completedAt:a.string().optional()}).strict(),Y={"compaction-start":a.object({reason:a.enum([`preflight_threshold`,`overflow_recovery`]),estimatedTokens:V.optional(),reportedTokens:V.optional()}).strict(),"compaction-end":a.object({tokensBefore:V,tokensAfter:V,tokensSaved:V,strategy:a.enum([`no-op`,`summary`,`truncation`]),durationMs:V,summary:a.string().optional()}).strict(),"compaction-failed":a.object({reason:a.string()}).strict(),usage:a.object({messageId:a.string().min(1).optional(),inputTokens:V,outputTokens:V,totalTokens:V,cacheReadTokens:V.optional(),cacheCreationTokens:V.optional(),contextWindow:V,residentTokens:V,utilization:a.number().finite().min(0).max(1),costUsd:V.optional()}).strict(),"message-updated":a.object({message:sn}).strict(),"approval-context":a.object({approvalId:a.string(),toolCallId:a.string(),impact:J.optional(),relaxableByAuto:a.boolean().optional()}).strict()};function isAgentUIDataName(e){return e in Y}function agentUIValidationError(e){return new r(`Invalid agent UI message chunk`,e.map(e=>({path:e.path.map(String),message:e.message,code:e.code})))}function assertCustomAgentUIMessageChunk(e){if(typeof e!=`object`||!e||typeof e.type!=`string`)throw new r(`Invalid agent UI message chunk`,[{path:[`type`],message:`Expected UI message chunk type`,code:`invalid_type`}]);let t=e.type;if(!t.startsWith(`data-`))throw new r(`Invalid agent UI message chunk`,[{path:[`type`],message:`Expected agent data chunk type`,code:`invalid_value`}]);let n=t.slice(5);if(!isAgentUIDataName(n))throw new r(`Invalid agent UI message chunk`,[{path:[`type`],message:`Unknown agent UI data type: ${n}`,code:`invalid_value`}]);let i=a.object({type:a.literal(`data-${n}`),id:a.string().optional(),data:Y[n],transient:a.boolean().optional()}).strict().safeParse(e);if(!i.success)throw agentUIValidationError(i.error.issues);return i.data}function agentDataChunk(e,t,n){return assertCustomAgentUIMessageChunk({type:`data-${e}`,...n?.id===void 0?{}:{id:n.id},data:t,...n?.transient===void 0?{}:{transient:n.transient}})}const un=a.string().trim().min(1).max(24),dn=a.string().trim().min(10).max(500),fn=a.enum([`address`,`domain`]),pn=a.object({scope:a.enum([`personal`,`workspace`]),name:un,description:dn,icon:ee.default(`tag`),color:i.default(yt)}),mn=a.object({name:un.optional(),description:dn.optional(),icon:ee.optional(),color:i.optional()}).refine(e=>Object.values(e).some(e=>e!==void 0),{message:`Nothing to update`}),hn=a.object({moveTo:a.string().min(1).nullable().default(null)}),gn=a.object({category:a.string().min(1).optional(),important:a.boolean().optional()}).refine(e=>e.category!==void 0||e.important!==void 0,{message:`Nothing to classify`}),_n=a.object({verdict:a.object({category:a.string().min(1).nullable(),important:a.boolean(),classifiedBy:a.enum([`model`,`rule`,`manual`]).nullable()}),ruleId:a.string().uuid().nullable(),previousRule:a.object({scope:fn,match:a.string().trim().toLowerCase().min(1),category:a.string().min(1)}).nullable()}).refine(e=>e.ruleId!==null||e.previousRule===null,{message:`A previous rule needs the rule it restores`}),vn=a.object({scope:a.literal(`domain`)}),yn=a.object({scope:a.enum([`personal`,`workspace`])}),bn=a.object({type:a.enum(p),color:a.enum(ne),expression:a.enum(ce).default(`relaxed`)}).strict(),xn=a.array(a.string().trim().min(1).max(200)).max(4);function agentAvatarFromMetadata(e){let t=bn.safeParse(e);return t.success?t.data:void 0}const Sn=[`record.created`,`record.updated`,`record.deleted`,`form.submitted`,`webhook`,`github`,`slack`],Cn=new Set([`record.created`,`record.updated`,`record.deleted`]),wn=/^[A-Z_][A-Z0-9_]*$/,Tn=a.object({cron:a.string().min(9),timezone:a.string().optional(),enabled:a.boolean(),input:a.record(a.string(),a.unknown()).optional(),runFor:a.enum([`armer`,`audience`]).optional(),continueConversation:a.boolean().optional()}),En=/^[A-Za-z0-9_$-]+(\.[A-Za-z0-9_$-]+)*$/,X=a.object({name:a.string().max(120).optional(),eventType:a.enum(Sn),objectId:a.guid().optional(),watchedFields:a.array(a.string()).max(50).optional(),debounceMs:a.number().int().min(0).max(3e5).optional(),filter:a.object({combinator:a.enum([`and`,`or`]).default(`and`),rules:a.array(a.object({attribute:a.string(),operator:a.string(),value:a.unknown().optional()}))}).optional(),formDefinitionId:a.string().optional(),continuationKey:a.string().max(200).regex(En).nullable().optional(),connectionId:a.guid().optional(),match:jt.optional(),continueConversation:a.boolean().optional(),enabled:a.boolean().optional()});function refineTrigger(e){return e.refine(e=>!e.watchedFields?.length||e.eventType===`record.updated`,{message:`watchedFields requires eventType=record.updated`,path:[`watchedFields`]}).refine(e=>!(e.eventType&&Cn.has(e.eventType))||!!e.objectId,{message:`objectId is required for record.* triggers`,path:[`objectId`]}).refine(e=>!(e.continuationKey&&e.eventType)||e.eventType===`webhook`,{message:`continuationKey requires eventType=webhook`,path:[`continuationKey`]}).superRefine((e,t)=>{let n=e.eventType===`github`||e.eventType===`slack`;if(n&&!e.connectionId&&t.addIssue({code:`custom`,path:[`connectionId`],message:`connectionId is required for native connector triggers`}),n&&!e.match&&t.addIssue({code:`custom`,path:[`match`],message:`match is required for native connector triggers`}),e.match&&e.eventType&&((e.eventType===`github`?`family`in e.match:e.eventType===`slack`&&`on`in e.match)||t.addIssue({code:`custom`,path:[`match`],message:`match must belong to the trigger provider`})),e.eventType&&!n)for(let n of[`connectionId`,`continueConversation`])e[n]!==void 0&&t.addIssue({code:`custom`,path:[n],message:`${n} requires a native connector trigger`})})}const Dn=refineTrigger(X).transform(e=>({...e,...e.eventType===`github`||e.eventType===`slack`?{continueConversation:e.continueConversation??!0}:{}})),On=X.partial();function parseMergedAgentTrigger(e,t){let n=On.safeParse(t);if(!n.success)throw triggerValidationError(n.error);let r=Object.fromEntries(Object.entries(n.data).filter(([,e])=>e!==void 0)),i=Dn.safeParse({...e,...r});if(!i.success)throw triggerValidationError(i.error);return i.data}function triggerValidationError(e){return new r(`Invalid agent trigger`,e.issues.map(e=>({path:e.path.map(String),message:e.message})))}const kn=100,Z=a.uuid(),Q=a.record(a.string(),a.unknown()),An=a.strictObject({objectName:a.string(),recordId:Z,attribute:a.string(),base:a.unknown(),props:Q.optional()}),jn=a.strictObject({kind:a.literal(`record.set`),objectId:Z,recordId:Z,values:Q,base:Q.optional()}),Mn=a.strictObject({kind:a.literal(`record.create`),objectId:Z,recordId:Z,values:Q,options:a.strictObject({visibility:a.enum([`workspace`,`private`]).optional(),allowDraft:a.boolean().optional(),linkTo:An.optional()}).optional()}),Nn=a.strictObject({kind:a.literal(`record.delete`),objectId:Z,recordId:Z}),Pn=a.strictObject({kind:a.literal(`record.restore`),objectId:Z,recordId:Z}),$=a.string().min(1),Fn=a.discriminatedUnion(`command`,[a.strictObject({command:a.literal(`replace`),oldText:$,newText:a.string(),replaceAll:a.boolean().optional()}),a.strictObject({command:a.literal(`insert`),text:$,after:$.optional()})]),In=a.strictObject({kind:a.literal(`record.patch`),objectId:Z,recordId:Z,attribute:a.string(),edit:Fn}),Ln=a.discriminatedUnion(`kind`,[jn,Mn,Nn,Pn,In]),Rn=a.strictObject({opId:Z,steps:a.array(Ln).min(1).max(100)}).superRefine((e,t)=>{let n=new Set;for(let r of e.steps){if(n.has(r.recordId)){t.addIssue({code:`custom`,message:`one step per record`,path:[`steps`]});return}n.add(r.recordId)}});export{Kt as $,Ne as $n,isAgentMessageMetadata as $r,grantKindOf as $t,nn as A,Ge as An,o as Ar,mt as At,rn as B,S as Bn,de as Br,ct as Bt,Yt as C,Xe as Cn,p as Cr,AgentBuilder as Ct,Zt as D,qe as Dn,le as Dr,vt as Dt,Xt as E,E as En,ie as Er,yt as Et,W as F,Ve as Fn,he as Fr,isPublicMailDomain as Ft,Qt as G,isBlocking as Gn,d as Gr,at as Gt,K as H,humanRequestId as Hn,se as Hr,P as Ht,G as I,ze as In,_e as Ir,isSystemEmailCategory as It,J,readAskQuestionsResult as Jn,m as Jr,ot as Jt,cn as K,isParkedOnHuman as Kn,ae as Kr,L as Kt,U as L,x as Ln,xe as Lr,isSystemEmailCategoryName as Lt,Y as M,recentActivityEntryKey as Mn,l as Mr,bt as Mt,on as N,w as Nn,oe as Nr,ft as Nt,sn as O,Ke as On,ue as Or,_t as Ot,q as P,Be as Pn,c as Pr,pt as Pt,Wt as Q,b as Qn,compareAgentSessionMessages as Qr,connectionGrantKindsOf as Qt,isAgentUIDataName as R,Re as Rn,Ce as Rr,st as Rt,agentDataChunk as S,tt as Sn,ce as Sr,At as St,en as T,Ye as Tn,ve as Tr,agent as Tt,H as U,humanRequestKind as Un,f as Ur,lt as Ut,an as V,T as Vn,s as Vr,N as Vt,$t as W,isAwaitingHuman as Wn,h as Wr,ut as Wt,qt as X,Fe as Xn,agentDisplayName as Xr,canonicalToolGroups as Xt,Gt as Y,Ie as Yn,re as Yr,M as Yt,Jt as Z,Le as Zn,assertSessionState as Zr,connectionGrantKindOf as Zt,pn as _,isEnvironmentHarnessId as _n,g as _r,Ct as _t,Sn as a,mergeSessionInferencePatch as ai,A as an,Ae as ar,Ut as at,mn as b,Ze as bn,fe as br,kt as bt,On as c,nt as cn,parseAgentDefinitionAccessRole as cr,Pt as ct,refineTrigger as d,cliDefaultModelOf as dn,Ee as dr,zt as dt,isAgentNotificationMetadata as ei,isNativeToolGroup as en,Pe as er,isMailProvider as et,agentAvatarFromMetadata as f,compiledHarnessModels as fn,ke as fr,Bt as ft,gn as g,harnessModelChoices as gn,we as gr,B as gt,_n as h,findEnvironmentHarness as hn,Te as hr,It as ht,wn as i,isToolApprovalState as ii,resourceGrant as in,y as ir,Ht as it,assertCustomAgentUIMessageChunk as j,Ue as jn,ge as jr,ht as jt,agentUIValidationError as k,We as kn,u as kr,gt as kt,Dn as l,k as ln,parsePageAccessRole as lr,Mt as lt,xn as m,environmentWorkdir as mn,Oe as mr,Ft as mt,Rn as n,isRoutineActorMetadata as ni,needsManageWhenUnattended as nn,isAgentWrittenAuditEntry as nr,isProviderDraft as nt,Tn as o,orderAgentSessionMessages as oi,D as on,je as or,Lt as ot,bn as p,environmentHarness as pn,De as pr,Vt as pt,ln as q,openRequests as qn,be as qr,R as qt,En as r,isSystemPartCode as ri,parseToolGroupGrant as rn,v as rr,isReplyMode as rt,X as s,O as sn,deriveViewerAccess as sr,Rt as st,kn as t,isOpenToolPartState as ti,isResourceGrant as tn,Me as tr,isMailboxListMode as tt,parseMergedAgentTrigger as u,rt as un,parseRecordAccessRole as ur,Nt as ut,hn as v,$e as vn,_ as vr,jt as vt,tn as w,Je as wn,ye as wr,z as wt,vn as x,recordGraphNodeKey as xn,pe as xr,Et as xt,yn as y,Qe as yn,me as yr,Tt as yt,isSessionInferencePatch as z,C as zn,Se as zr,it as zt};
@@ -1,2 +0,0 @@
1
- /*! © 2025-2026 AND YOU CREATE SAS (RCS Paris 940 190 614). Proprietary — see LICENSE (Standards SDK License 1.0). */
2
- const e=require("./core-397tQy5q.js");let t=require("zod");const n={email:`^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$`,url:`^https?:\\/\\/[\\w\\-]+(\\.[\\w\\-]+)+[/#?]?.*$`,slug:`^[a-z0-9]+(?:-[a-z0-9]+)*$`};function resolveTextPattern(e){return e.pattern?e.pattern:e.format?n[e.format]:void 0}var LRUCache=class{constructor(e){if(!Number.isInteger(e)||e<=0)throw Error(`LRU cache capacity must be greater than 0`);this.capacity=e,this.cache=new Map}get(e){if(!this.cache.has(e))return;let t=this.cache.get(e);return this.cache.delete(e),this.cache.set(e,t),t}set(e,t){if(this.cache.has(e))this.cache.delete(e);else if(this.cache.size>=this.capacity){let e=this.cache.keys().next();e.done||this.cache.delete(e.value)}this.cache.set(e,t)}has(e){return this.cache.has(e)}clear(){this.cache.clear()}get size(){return this.cache.size}};function createRegexCache(e=100){return new LRUCache(e)}function getCachedRegex(e,t){let n=e.get(t);return n||(n=new RegExp(t),e.set(t,n)),n}const r=createRegexCache();function createTextValidator(n,i=e.n){let a=t.z.string();n.minLength!==void 0&&(a=a.min(n.minLength,i.minLength(n,n.minLength))),n.maxLength!==void 0&&(a=a.max(n.maxLength,i.maxLength(n,n.maxLength)));let o=resolveTextPattern(n);return o&&(a=a.regex(getCachedRegex(r,o),i.invalidPattern(n))),a}Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return resolveTextPattern}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return createTextValidator}});
@@ -1,2 +0,0 @@
1
- /*! © 2025-2026 AND YOU CREATE SAS (RCS Paris 940 190 614). Proprietary — see LICENSE (Standards SDK License 1.0). */
2
- import{n as e}from"./core-BLHhNykL.mjs";import{z as t}from"zod";const n={email:`^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$`,url:`^https?:\\/\\/[\\w\\-]+(\\.[\\w\\-]+)+[/#?]?.*$`,slug:`^[a-z0-9]+(?:-[a-z0-9]+)*$`};function resolveTextPattern(e){return e.pattern?e.pattern:e.format?n[e.format]:void 0}var LRUCache=class{constructor(e){if(!Number.isInteger(e)||e<=0)throw Error(`LRU cache capacity must be greater than 0`);this.capacity=e,this.cache=new Map}get(e){if(!this.cache.has(e))return;let t=this.cache.get(e);return this.cache.delete(e),this.cache.set(e,t),t}set(e,t){if(this.cache.has(e))this.cache.delete(e);else if(this.cache.size>=this.capacity){let e=this.cache.keys().next();e.done||this.cache.delete(e.value)}this.cache.set(e,t)}has(e){return this.cache.has(e)}clear(){this.cache.clear()}get size(){return this.cache.size}};function createRegexCache(e=100){return new LRUCache(e)}function getCachedRegex(e,t){let n=e.get(t);return n||(n=new RegExp(t),e.set(t,n)),n}const r=createRegexCache();function createTextValidator(n,i=e){let a=t.string();n.minLength!==void 0&&(a=a.min(n.minLength,i.minLength(n,n.minLength))),n.maxLength!==void 0&&(a=a.max(n.maxLength,i.maxLength(n,n.maxLength)));let o=resolveTextPattern(n);return o&&(a=a.regex(getCachedRegex(r,o),i.invalidPattern(n))),a}export{n,resolveTextPattern as r,createTextValidator as t};
@@ -1,11 +0,0 @@
1
-
2
- import { z as TextAttribute } from "./attributes-D35Lcoui.js";
3
- import { r as ValidationMessages } from "./index-BLXzRQr9.js";
4
- import { z as z$1 } from "zod";
5
- //#region src/validation/primitives/text.d.ts
6
- /**
7
- * Create a Zod schema for a text attribute
8
- */
9
- declare function createTextValidator(attr: TextAttribute, messages?: ValidationMessages): z$1.ZodString;
10
- //#endregion
11
- export { createTextValidator as t };
@@ -1,11 +0,0 @@
1
-
2
- import { z as TextAttribute } from "./attributes-CZD_B0mZ.mjs";
3
- import { r as ValidationMessages } from "./index-CSDAHifu.mjs";
4
- import { z as z$1 } from "zod";
5
- //#region src/validation/primitives/text.d.ts
6
- /**
7
- * Create a Zod schema for a text attribute
8
- */
9
- declare function createTextValidator(attr: TextAttribute, messages?: ValidationMessages): z$1.ZodString;
10
- //#endregion
11
- export { createTextValidator as t };