@standards/schema 0.0.0-stage → 1.0.0-alpha.382
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +111 -0
- package/README.md +8 -2
- package/dist/all-BgYwavNm.d.mts +2956 -0
- package/dist/all-DjdKldjX.d.ts +2956 -0
- package/dist/api/index.d.mts +11838 -0
- package/dist/api/index.d.ts +11838 -0
- package/dist/api/index.js +2 -0
- package/dist/api/index.mjs +2 -0
- package/dist/attribute-validators-DRqhAt2t.mjs +11 -0
- package/dist/attribute-validators-WAoJbap5.js +11 -0
- package/dist/attributes-aTeqx6cK.d.mts +557 -0
- package/dist/attributes-kAhQzg8-.d.ts +557 -0
- package/dist/checkbox-BZvZOraX.d.mts +11 -0
- package/dist/checkbox-n0YV1O13.d.ts +11 -0
- package/dist/config-BIxnbUN8.mjs +2 -0
- package/dist/config-DdjlHdPg.js +2 -0
- package/dist/core-397tQy5q.js +2 -0
- package/dist/core-BLHhNykL.mjs +2 -0
- package/dist/date-CxqDOhA0.d.mts +24 -0
- package/dist/date-D007KyTI.d.ts +24 -0
- package/dist/exceptions-DjPVyS-Q.d.mts +761 -0
- package/dist/exceptions-DjPVyS-Q.d.ts +761 -0
- package/dist/exceptions.d.mts +3 -0
- package/dist/exceptions.d.ts +3 -0
- package/dist/exceptions.js +2 -0
- package/dist/exceptions.mjs +2 -0
- package/dist/index-3HZjBOpj.d.mts +53 -0
- package/dist/index-BmNMneu3.d.mts +278 -0
- package/dist/index-Bu9xF5Nq.d.ts +278 -0
- package/dist/index-CiTBL4gH.d.ts +101 -0
- package/dist/index-D7TEaPqX.d.ts +16519 -0
- package/dist/index-DLO8JpnY.d.ts +53 -0
- package/dist/index-DPO5w-fC.d.mts +101 -0
- package/dist/index-DwQWBzYJ.d.mts +16519 -0
- package/dist/index.d.mts +15 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.js +2 -0
- package/dist/index.mjs +2 -0
- package/dist/number-CgBxEbjI.d.mts +11 -0
- package/dist/number-DncH-WRO.d.ts +11 -0
- package/dist/object-DcgxLvip.js +4 -0
- package/dist/object-Dzl7sfq8.mjs +4 -0
- package/dist/objects-B4DgFZ82.d.ts +398 -0
- package/dist/objects-C9f6hFW_.d.mts +398 -0
- package/dist/phone-BB-tzcSr.js +2 -0
- package/dist/phone-Bca_xiOX.mjs +2 -0
- package/dist/record-aggregates-CzG86pUS.mjs +2 -0
- package/dist/record-aggregates-DwpIJ2Dv.js +2 -0
- package/dist/record-operation-BSXczk7v.js +2 -0
- package/dist/record-operation-C9oXHmfF.mjs +2 -0
- package/dist/text-A9AJ1wUO.js +2 -0
- package/dist/text-C8Lb-NFo.mjs +2 -0
- package/dist/text-DDoY_LcQ.d.ts +11 -0
- package/dist/text-DeUqCFp9.d.mts +11 -0
- package/dist/utils-B7Dlrtnx.d.ts +163 -0
- package/dist/utils-DbRMK8NI.d.mts +163 -0
- package/dist/utils-fXIvFFl6.mjs +2 -0
- package/dist/utils-gY3d9Dwp.js +2 -0
- package/dist/utils.d.mts +3 -0
- package/dist/utils.d.ts +3 -0
- package/dist/utils.js +2 -0
- package/dist/utils.mjs +2 -0
- package/dist/validation/all.d.mts +6 -0
- package/dist/validation/all.d.ts +6 -0
- package/dist/validation/all.js +2 -0
- package/dist/validation/all.mjs +2 -0
- package/dist/validation/complex/currency.d.mts +13 -0
- package/dist/validation/complex/currency.d.ts +13 -0
- package/dist/validation/complex/currency.js +2 -0
- package/dist/validation/complex/currency.mjs +2 -0
- package/dist/validation/complex/location.d.mts +20 -0
- package/dist/validation/complex/location.d.ts +20 -0
- package/dist/validation/complex/location.js +2 -0
- package/dist/validation/complex/location.mjs +2 -0
- package/dist/validation/complex/phone.d.mts +20 -0
- package/dist/validation/complex/phone.d.ts +20 -0
- package/dist/validation/complex/phone.js +2 -0
- package/dist/validation/complex/phone.mjs +2 -0
- package/dist/validation/complex/relation.d.mts +23 -0
- package/dist/validation/complex/relation.d.ts +23 -0
- package/dist/validation/complex/relation.js +2 -0
- package/dist/validation/complex/relation.mjs +2 -0
- package/dist/validation/complex/richtext.d.mts +11 -0
- package/dist/validation/complex/richtext.d.ts +11 -0
- package/dist/validation/complex/richtext.js +2 -0
- package/dist/validation/complex/richtext.mjs +2 -0
- package/dist/validation/complex/select.d.mts +18 -0
- package/dist/validation/complex/select.d.ts +18 -0
- package/dist/validation/complex/select.js +2 -0
- package/dist/validation/complex/select.mjs +2 -0
- package/dist/validation/complex/user.d.mts +11 -0
- package/dist/validation/complex/user.d.ts +11 -0
- package/dist/validation/complex/user.js +2 -0
- package/dist/validation/complex/user.mjs +2 -0
- package/dist/validation/computed/formula.d.mts +12 -0
- package/dist/validation/computed/formula.d.ts +12 -0
- package/dist/validation/computed/formula.js +2 -0
- package/dist/validation/computed/formula.mjs +2 -0
- package/dist/validation/computed/rollup.d.mts +12 -0
- package/dist/validation/computed/rollup.d.ts +12 -0
- package/dist/validation/computed/rollup.js +2 -0
- package/dist/validation/computed/rollup.mjs +2 -0
- package/dist/validation/config/index.d.mts +3 -0
- package/dist/validation/config/index.d.ts +3 -0
- package/dist/validation/config/index.js +2 -0
- package/dist/validation/config/index.mjs +2 -0
- package/dist/validation/core/index.d.mts +3 -0
- package/dist/validation/core/index.d.ts +3 -0
- package/dist/validation/core/index.js +2 -0
- package/dist/validation/core/index.mjs +2 -0
- package/dist/validation/object/index.d.mts +3 -0
- package/dist/validation/object/index.d.ts +3 -0
- package/dist/validation/object/index.js +2 -0
- package/dist/validation/object/index.mjs +2 -0
- package/dist/validation/primitives/checkbox.d.mts +3 -0
- package/dist/validation/primitives/checkbox.d.ts +3 -0
- package/dist/validation/primitives/checkbox.js +2 -0
- package/dist/validation/primitives/checkbox.mjs +2 -0
- package/dist/validation/primitives/date.d.mts +3 -0
- package/dist/validation/primitives/date.d.ts +3 -0
- package/dist/validation/primitives/date.js +2 -0
- package/dist/validation/primitives/date.mjs +2 -0
- package/dist/validation/primitives/number.d.mts +3 -0
- package/dist/validation/primitives/number.d.ts +3 -0
- package/dist/validation/primitives/number.js +2 -0
- package/dist/validation/primitives/number.mjs +2 -0
- package/dist/validation/primitives/text.d.mts +3 -0
- package/dist/validation/primitives/text.d.ts +3 -0
- package/dist/validation/primitives/text.js +2 -0
- package/dist/validation/primitives/text.mjs +2 -0
- package/dist/view-config.schema-BQ9tU_9G.js +2 -0
- package/dist/view-config.schema-BmjCQJ51.mjs +2 -0
- package/package.json +279 -3
|
@@ -0,0 +1,2 @@
|
|
|
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`,`live.com`,`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`,`aol.com`]),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};
|
|
@@ -0,0 +1,2 @@
|
|
|
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}});
|
|
@@ -0,0 +1,2 @@
|
|
|
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};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
|
|
2
|
+
import { z as TextAttribute } from "./attributes-kAhQzg8-.js";
|
|
3
|
+
import { r as ValidationMessages } from "./index-DLO8JpnY.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 };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
|
|
2
|
+
import { z as TextAttribute } from "./attributes-aTeqx6cK.mjs";
|
|
3
|
+
import { r as ValidationMessages } from "./index-3HZjBOpj.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 };
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
|
|
2
|
+
import { P as SchemaError } from "./exceptions-DjPVyS-Q.js";
|
|
3
|
+
//#region src/utils/stable-json.d.ts
|
|
4
|
+
declare class NonJsonValueError extends SchemaError {
|
|
5
|
+
constructor();
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Serializes a value into deterministic JSON: object keys are sorted
|
|
9
|
+
* recursively, array order is preserved, `undefined` object entries are
|
|
10
|
+
* omitted, and no whitespace is emitted.
|
|
11
|
+
*
|
|
12
|
+
* The canonicalization hashed across the runtime boot seed, the server and the CLI
|
|
13
|
+
* — the output must stay byte-identical for equivalent
|
|
14
|
+
* inputs regardless of key insertion order or jsonb storage round-trips.
|
|
15
|
+
*
|
|
16
|
+
* @throws {ValidationError} On circular references, unsupported value types
|
|
17
|
+
* (functions, symbols, bigint), and on a `Date`, `Map`, `Set` or any other
|
|
18
|
+
* non-plain object — it is a content identity, and those carry no own
|
|
19
|
+
* enumerable entry, so emitting them as `{}` made two different values hash
|
|
20
|
+
* alike (#3406). Project such a value yourself (`date.toISOString()`,
|
|
21
|
+
* `[...map]`) before hashing it.
|
|
22
|
+
*/
|
|
23
|
+
declare function canonicalStringify(value: unknown): string;
|
|
24
|
+
/**
|
|
25
|
+
* Key-sorted JSON for comparing values that round-trip through jsonb. Coerces
|
|
26
|
+
* what JSON cannot express rather than refusing — the caller is asking "are
|
|
27
|
+
* these the same?", not "is this valid?".
|
|
28
|
+
*/
|
|
29
|
+
declare function serializeStableJson(value: unknown): string;
|
|
30
|
+
/**
|
|
31
|
+
* Key-sorted JSON for content identity. Throws {@link NonJsonValueError} on
|
|
32
|
+
* anything JSON cannot represent, so two different values never hash alike.
|
|
33
|
+
*/
|
|
34
|
+
declare function serializeCanonicalJson(value: unknown): string;
|
|
35
|
+
/**
|
|
36
|
+
* Order-insensitive deep equality over {@link serializeStableJson}.
|
|
37
|
+
*
|
|
38
|
+
* Not `deepEqual` from `../utils`: that one compares in place without
|
|
39
|
+
* allocating, and answers differently for `NaN`, for an explicitly-`undefined`
|
|
40
|
+
* entry, and for a cycle. Reach for this when the bytes are the point.
|
|
41
|
+
*/
|
|
42
|
+
declare function sameStableValue(left: unknown, right: unknown): boolean;
|
|
43
|
+
//#endregion
|
|
44
|
+
//#region src/utils.d.ts
|
|
45
|
+
/**
|
|
46
|
+
* Brand symbol for nominal typing.
|
|
47
|
+
* This ensures type-safety by making IDs non-interchangeable.
|
|
48
|
+
*/
|
|
49
|
+
declare const __brand: unique symbol;
|
|
50
|
+
/**
|
|
51
|
+
* Creates a branded type from a base type.
|
|
52
|
+
* Branded types are structurally identical but nominally different.
|
|
53
|
+
*/
|
|
54
|
+
type Brand<T, B> = T & {
|
|
55
|
+
readonly [__brand]: B;
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* UUID string type for all identifiers
|
|
59
|
+
*/
|
|
60
|
+
type Uuid = string;
|
|
61
|
+
/**
|
|
62
|
+
* Tenant identifier for multi-tenant isolation.
|
|
63
|
+
* Branded type to prevent accidental mixing with other string IDs.
|
|
64
|
+
*
|
|
65
|
+
* @example
|
|
66
|
+
* ```typescript
|
|
67
|
+
* const tenantId: TenantId = asTenantId('tenant-123');
|
|
68
|
+
* const userId: UserId = asUserId('user-456');
|
|
69
|
+
*
|
|
70
|
+
* // Type error: cannot assign UserId to TenantId
|
|
71
|
+
* const wrong: TenantId = userId;
|
|
72
|
+
* ```
|
|
73
|
+
*/
|
|
74
|
+
type TenantId = Brand<string, "TenantId">;
|
|
75
|
+
/**
|
|
76
|
+
* User identifier for audit trails and permissions.
|
|
77
|
+
* Branded type to prevent accidental mixing with other string IDs.
|
|
78
|
+
*/
|
|
79
|
+
type UserId = Brand<string, "UserId">;
|
|
80
|
+
/**
|
|
81
|
+
* Convert a string to a TenantId.
|
|
82
|
+
* Use this when receiving tenant IDs from external sources (JWT, headers).
|
|
83
|
+
*
|
|
84
|
+
* @param id - The string to convert
|
|
85
|
+
* @returns A branded TenantId
|
|
86
|
+
*
|
|
87
|
+
* @example
|
|
88
|
+
* ```typescript
|
|
89
|
+
* const tenantId = asTenantId(request.headers['x-tenant-id']);
|
|
90
|
+
* ```
|
|
91
|
+
*/
|
|
92
|
+
declare function asTenantId(id: string): TenantId;
|
|
93
|
+
/**
|
|
94
|
+
* Convert a string to a UserId.
|
|
95
|
+
* Use this when receiving user IDs from external sources (JWT, auth).
|
|
96
|
+
*
|
|
97
|
+
* @param id - The string to convert
|
|
98
|
+
* @returns A branded UserId
|
|
99
|
+
*
|
|
100
|
+
* @example
|
|
101
|
+
* ```typescript
|
|
102
|
+
* const userId = asUserId(jwtPayload.sub);
|
|
103
|
+
* ```
|
|
104
|
+
*/
|
|
105
|
+
declare function asUserId(id: string): UserId;
|
|
106
|
+
/**
|
|
107
|
+
* Generate a unique UUID v4
|
|
108
|
+
* Uses crypto.randomUUID() when available (Node.js 19+, modern browsers)
|
|
109
|
+
* Falls back to a manual implementation for older environments
|
|
110
|
+
*
|
|
111
|
+
* @returns A UUID v4 string
|
|
112
|
+
*
|
|
113
|
+
* @example
|
|
114
|
+
* ```typescript
|
|
115
|
+
* const id = generateId();
|
|
116
|
+
* // "a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d"
|
|
117
|
+
* ```
|
|
118
|
+
*/
|
|
119
|
+
declare function generateId(): Uuid;
|
|
120
|
+
/**
|
|
121
|
+
* Create a Map indexed by a key extracted from each item.
|
|
122
|
+
* This eliminates the repeated pattern: new Map(items.map(item => [keyFn(item), item]))
|
|
123
|
+
*
|
|
124
|
+
* Time complexity: O(n)
|
|
125
|
+
* Space complexity: O(n)
|
|
126
|
+
*
|
|
127
|
+
* @param items - Array of items to index
|
|
128
|
+
* @param keyFn - Function to extract the key from each item
|
|
129
|
+
* @returns Map indexed by the extracted key
|
|
130
|
+
*
|
|
131
|
+
* @example
|
|
132
|
+
* ```typescript
|
|
133
|
+
* const attributes = [{ name: "title", type: "text" }, { name: "status", type: "select" }];
|
|
134
|
+
*
|
|
135
|
+
* // Before:
|
|
136
|
+
* const attrMap = new Map(attributes.map(a => [a.name, a]));
|
|
137
|
+
*
|
|
138
|
+
* // After:
|
|
139
|
+
* const attrMap = indexBy(attributes, a => a.name);
|
|
140
|
+
* ```
|
|
141
|
+
*/
|
|
142
|
+
declare function indexBy<T, K extends PropertyKey>(items: T[], keyFn: (item: T) => K): Map<K, T>;
|
|
143
|
+
/**
|
|
144
|
+
* Deep equality comparison for plain objects and arrays.
|
|
145
|
+
* Handles nested structures, arrays, primitives, null, and undefined.
|
|
146
|
+
*
|
|
147
|
+
* Time complexity: O(n) where n is total number of properties
|
|
148
|
+
*
|
|
149
|
+
* @param a - First value to compare
|
|
150
|
+
* @param b - Second value to compare
|
|
151
|
+
* @returns true if values are deeply equal
|
|
152
|
+
*
|
|
153
|
+
* @example
|
|
154
|
+
* ```typescript
|
|
155
|
+
* deepEqual({ a: 1, b: { c: 2 } }, { a: 1, b: { c: 2 } }); // true
|
|
156
|
+
* deepEqual({ a: 1, b: 2 }, { b: 2, a: 1 }); // true (order-independent)
|
|
157
|
+
* deepEqual([1, 2, 3], [1, 2, 3]); // true
|
|
158
|
+
* deepEqual([1, 2], [2, 1]); // false (arrays preserve order)
|
|
159
|
+
* ```
|
|
160
|
+
*/
|
|
161
|
+
declare function deepEqual(a: unknown, b: unknown): boolean;
|
|
162
|
+
//#endregion
|
|
163
|
+
export { asUserId as a, indexBy as c, sameStableValue as d, serializeCanonicalJson as f, asTenantId as i, NonJsonValueError as l, UserId as n, deepEqual as o, serializeStableJson as p, Uuid as r, generateId as s, TenantId as t, canonicalStringify as u };
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
|
|
2
|
+
import { P as SchemaError } from "./exceptions-DjPVyS-Q.mjs";
|
|
3
|
+
//#region src/utils/stable-json.d.ts
|
|
4
|
+
declare class NonJsonValueError extends SchemaError {
|
|
5
|
+
constructor();
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Serializes a value into deterministic JSON: object keys are sorted
|
|
9
|
+
* recursively, array order is preserved, `undefined` object entries are
|
|
10
|
+
* omitted, and no whitespace is emitted.
|
|
11
|
+
*
|
|
12
|
+
* The canonicalization hashed across the runtime boot seed, the server and the CLI
|
|
13
|
+
* — the output must stay byte-identical for equivalent
|
|
14
|
+
* inputs regardless of key insertion order or jsonb storage round-trips.
|
|
15
|
+
*
|
|
16
|
+
* @throws {ValidationError} On circular references, unsupported value types
|
|
17
|
+
* (functions, symbols, bigint), and on a `Date`, `Map`, `Set` or any other
|
|
18
|
+
* non-plain object — it is a content identity, and those carry no own
|
|
19
|
+
* enumerable entry, so emitting them as `{}` made two different values hash
|
|
20
|
+
* alike (#3406). Project such a value yourself (`date.toISOString()`,
|
|
21
|
+
* `[...map]`) before hashing it.
|
|
22
|
+
*/
|
|
23
|
+
declare function canonicalStringify(value: unknown): string;
|
|
24
|
+
/**
|
|
25
|
+
* Key-sorted JSON for comparing values that round-trip through jsonb. Coerces
|
|
26
|
+
* what JSON cannot express rather than refusing — the caller is asking "are
|
|
27
|
+
* these the same?", not "is this valid?".
|
|
28
|
+
*/
|
|
29
|
+
declare function serializeStableJson(value: unknown): string;
|
|
30
|
+
/**
|
|
31
|
+
* Key-sorted JSON for content identity. Throws {@link NonJsonValueError} on
|
|
32
|
+
* anything JSON cannot represent, so two different values never hash alike.
|
|
33
|
+
*/
|
|
34
|
+
declare function serializeCanonicalJson(value: unknown): string;
|
|
35
|
+
/**
|
|
36
|
+
* Order-insensitive deep equality over {@link serializeStableJson}.
|
|
37
|
+
*
|
|
38
|
+
* Not `deepEqual` from `../utils`: that one compares in place without
|
|
39
|
+
* allocating, and answers differently for `NaN`, for an explicitly-`undefined`
|
|
40
|
+
* entry, and for a cycle. Reach for this when the bytes are the point.
|
|
41
|
+
*/
|
|
42
|
+
declare function sameStableValue(left: unknown, right: unknown): boolean;
|
|
43
|
+
//#endregion
|
|
44
|
+
//#region src/utils.d.ts
|
|
45
|
+
/**
|
|
46
|
+
* Brand symbol for nominal typing.
|
|
47
|
+
* This ensures type-safety by making IDs non-interchangeable.
|
|
48
|
+
*/
|
|
49
|
+
declare const __brand: unique symbol;
|
|
50
|
+
/**
|
|
51
|
+
* Creates a branded type from a base type.
|
|
52
|
+
* Branded types are structurally identical but nominally different.
|
|
53
|
+
*/
|
|
54
|
+
type Brand<T, B> = T & {
|
|
55
|
+
readonly [__brand]: B;
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* UUID string type for all identifiers
|
|
59
|
+
*/
|
|
60
|
+
type Uuid = string;
|
|
61
|
+
/**
|
|
62
|
+
* Tenant identifier for multi-tenant isolation.
|
|
63
|
+
* Branded type to prevent accidental mixing with other string IDs.
|
|
64
|
+
*
|
|
65
|
+
* @example
|
|
66
|
+
* ```typescript
|
|
67
|
+
* const tenantId: TenantId = asTenantId('tenant-123');
|
|
68
|
+
* const userId: UserId = asUserId('user-456');
|
|
69
|
+
*
|
|
70
|
+
* // Type error: cannot assign UserId to TenantId
|
|
71
|
+
* const wrong: TenantId = userId;
|
|
72
|
+
* ```
|
|
73
|
+
*/
|
|
74
|
+
type TenantId = Brand<string, "TenantId">;
|
|
75
|
+
/**
|
|
76
|
+
* User identifier for audit trails and permissions.
|
|
77
|
+
* Branded type to prevent accidental mixing with other string IDs.
|
|
78
|
+
*/
|
|
79
|
+
type UserId = Brand<string, "UserId">;
|
|
80
|
+
/**
|
|
81
|
+
* Convert a string to a TenantId.
|
|
82
|
+
* Use this when receiving tenant IDs from external sources (JWT, headers).
|
|
83
|
+
*
|
|
84
|
+
* @param id - The string to convert
|
|
85
|
+
* @returns A branded TenantId
|
|
86
|
+
*
|
|
87
|
+
* @example
|
|
88
|
+
* ```typescript
|
|
89
|
+
* const tenantId = asTenantId(request.headers['x-tenant-id']);
|
|
90
|
+
* ```
|
|
91
|
+
*/
|
|
92
|
+
declare function asTenantId(id: string): TenantId;
|
|
93
|
+
/**
|
|
94
|
+
* Convert a string to a UserId.
|
|
95
|
+
* Use this when receiving user IDs from external sources (JWT, auth).
|
|
96
|
+
*
|
|
97
|
+
* @param id - The string to convert
|
|
98
|
+
* @returns A branded UserId
|
|
99
|
+
*
|
|
100
|
+
* @example
|
|
101
|
+
* ```typescript
|
|
102
|
+
* const userId = asUserId(jwtPayload.sub);
|
|
103
|
+
* ```
|
|
104
|
+
*/
|
|
105
|
+
declare function asUserId(id: string): UserId;
|
|
106
|
+
/**
|
|
107
|
+
* Generate a unique UUID v4
|
|
108
|
+
* Uses crypto.randomUUID() when available (Node.js 19+, modern browsers)
|
|
109
|
+
* Falls back to a manual implementation for older environments
|
|
110
|
+
*
|
|
111
|
+
* @returns A UUID v4 string
|
|
112
|
+
*
|
|
113
|
+
* @example
|
|
114
|
+
* ```typescript
|
|
115
|
+
* const id = generateId();
|
|
116
|
+
* // "a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d"
|
|
117
|
+
* ```
|
|
118
|
+
*/
|
|
119
|
+
declare function generateId(): Uuid;
|
|
120
|
+
/**
|
|
121
|
+
* Create a Map indexed by a key extracted from each item.
|
|
122
|
+
* This eliminates the repeated pattern: new Map(items.map(item => [keyFn(item), item]))
|
|
123
|
+
*
|
|
124
|
+
* Time complexity: O(n)
|
|
125
|
+
* Space complexity: O(n)
|
|
126
|
+
*
|
|
127
|
+
* @param items - Array of items to index
|
|
128
|
+
* @param keyFn - Function to extract the key from each item
|
|
129
|
+
* @returns Map indexed by the extracted key
|
|
130
|
+
*
|
|
131
|
+
* @example
|
|
132
|
+
* ```typescript
|
|
133
|
+
* const attributes = [{ name: "title", type: "text" }, { name: "status", type: "select" }];
|
|
134
|
+
*
|
|
135
|
+
* // Before:
|
|
136
|
+
* const attrMap = new Map(attributes.map(a => [a.name, a]));
|
|
137
|
+
*
|
|
138
|
+
* // After:
|
|
139
|
+
* const attrMap = indexBy(attributes, a => a.name);
|
|
140
|
+
* ```
|
|
141
|
+
*/
|
|
142
|
+
declare function indexBy<T, K extends PropertyKey>(items: T[], keyFn: (item: T) => K): Map<K, T>;
|
|
143
|
+
/**
|
|
144
|
+
* Deep equality comparison for plain objects and arrays.
|
|
145
|
+
* Handles nested structures, arrays, primitives, null, and undefined.
|
|
146
|
+
*
|
|
147
|
+
* Time complexity: O(n) where n is total number of properties
|
|
148
|
+
*
|
|
149
|
+
* @param a - First value to compare
|
|
150
|
+
* @param b - Second value to compare
|
|
151
|
+
* @returns true if values are deeply equal
|
|
152
|
+
*
|
|
153
|
+
* @example
|
|
154
|
+
* ```typescript
|
|
155
|
+
* deepEqual({ a: 1, b: { c: 2 } }, { a: 1, b: { c: 2 } }); // true
|
|
156
|
+
* deepEqual({ a: 1, b: 2 }, { b: 2, a: 1 }); // true (order-independent)
|
|
157
|
+
* deepEqual([1, 2, 3], [1, 2, 3]); // true
|
|
158
|
+
* deepEqual([1, 2], [2, 1]); // false (arrays preserve order)
|
|
159
|
+
* ```
|
|
160
|
+
*/
|
|
161
|
+
declare function deepEqual(a: unknown, b: unknown): boolean;
|
|
162
|
+
//#endregion
|
|
163
|
+
export { asUserId as a, indexBy as c, sameStableValue as d, serializeCanonicalJson as f, asTenantId as i, NonJsonValueError as l, UserId as n, deepEqual as o, serializeStableJson as p, Uuid as r, generateId as s, TenantId as t, canonicalStringify as u };
|
|
@@ -0,0 +1,2 @@
|
|
|
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";var NonJsonValueError=class extends e{constructor(){super(`Value must contain only JSON-compatible values`,t.VALIDATION_FAILED),this.name=`NonJsonValueError`}};const nonJsonValue=()=>new NonJsonValueError,r={refuseNonJson:!0,refuseNonPlainObject:!0,refuseUnrepresentableType:!0,readAccessors:!1,unrepresentable:nonJsonValue,circular:nonJsonValue},i={refuseNonJson:!1,refuseNonPlainObject:!1,refuseUnrepresentableType:!1,readAccessors:!1,unrepresentable:nonJsonValue,circular:nonJsonValue},a={refuseNonJson:!1,refuseNonPlainObject:!0,refuseUnrepresentableType:!0,readAccessors:!0,unrepresentable:e=>new n(`Cannot canonicalize ${describeUnrepresentable(e)}`,[]),circular:()=>new n(`Cannot canonicalize circular structure`,[])};function describeUnrepresentable(e){if(typeof e!=`object`||!e)return`value of type ${typeof e}`;let t=e.constructor?.name;return typeof t==`string`&&t.length>0?`a ${t} value`:`a non-plain object`}function isPlainObject(e){let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function assertArrayShape(e,t){if(Object.getPrototypeOf(e)!==Array.prototype||Object.getOwnPropertySymbols(e).length>0)throw t.unrepresentable(e);let n=Object.getOwnPropertyNames(e);if(n.length!==e.length+1||!n.includes(`length`))throw t.unrepresentable(e);for(let n=0;n<e.length;n+=1){let r=Object.getOwnPropertyDescriptor(e,String(n));if(r===void 0||!(`value`in r)||r.enumerable!==!0)throw t.unrepresentable(e)}}function sortedEntries(e,t){if(t.refuseNonJson&&Object.getOwnPropertySymbols(e).length>0)throw t.unrepresentable(e);let n=[];for(let r of Object.getOwnPropertyNames(e)){let i=Object.getOwnPropertyDescriptor(e,r);if(i===void 0||i.enumerable!==!0){if(t.refuseNonJson)throw t.unrepresentable(e);continue}if(!(`value`in i)){if(t.refuseNonJson)throw t.unrepresentable(e);if(!t.readAccessors)continue;let i=e[r];if(i===void 0)continue;n.push([r,i]);continue}i.value!==void 0&&n.push([r,i.value])}return n.sort(([e],[t])=>e<t?-1:+(e>t))}function serialize(e,t,n){if(e===null)return`null`;if(e===void 0){if(t.refuseNonJson)throw t.unrepresentable(e);return`null`}if(typeof e==`boolean`||typeof e==`string`)return JSON.stringify(e);if(typeof e==`number`){if(Number.isFinite(e))return JSON.stringify(e);if(t.refuseNonJson)throw t.unrepresentable(e);return`null`}if(typeof e!=`object`){if(t.refuseNonJson||t.refuseUnrepresentableType)throw t.unrepresentable(e);return JSON.stringify(String(e))}if(n.has(e))throw t.circular();n.add(e);try{if(Array.isArray(e)){t.refuseNonJson&&assertArrayShape(e,t);let r=[];for(let i=0;i<e.length;i+=1)r.push(serialize(e[i],t,n));return`[${r.join(`,`)}]`}if(t.refuseNonPlainObject&&!isPlainObject(e))throw t.unrepresentable(e);return`{${sortedEntries(e,t).map(([e,r])=>`${JSON.stringify(e)}:${serialize(r,t,n)}`).join(`,`)}}`}finally{n.delete(e)}}function canonicalStringify(e){return serialize(e,a,new Set)}function serializeStableJson(e){return serialize(e,i,new Set)}function serializeCanonicalJson(e){return serialize(e,r,new Set)}function sameStableValue(e,t){return serializeStableJson(e)===serializeStableJson(t)}function asTenantId(e){return e}function asUserId(e){return e}function generateId(){return typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID():`xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx`.replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e===`x`?t:t&3|8).toString(16)})}function indexBy(e,t){return new Map(e.map(e=>[t(e),e]))}function deepEqual(e,t){if(e===t)return!0;if(e==null||t==null||typeof e!=typeof t)return!1;if(Array.isArray(e))return!Array.isArray(t)||e.length!==t.length?!1:e.every((e,n)=>deepEqual(e,t[n]));if(typeof e==`object`&&typeof t==`object`){let n=e,r=t,i=Object.keys(n),a=Object.keys(r);return i.length===a.length&&i.every(e=>e in r&&deepEqual(n[e],r[e]))}return!1}export{indexBy as a,sameStableValue as c,generateId as i,serializeCanonicalJson as l,asUserId as n,NonJsonValueError as o,deepEqual as r,canonicalStringify as s,asTenantId as t,serializeStableJson as u};
|
|
@@ -0,0 +1,2 @@
|
|
|
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");var NonJsonValueError=class extends e.SchemaError{constructor(){super(`Value must contain only JSON-compatible values`,e.SchemaErrorCode.VALIDATION_FAILED),this.name=`NonJsonValueError`}};const nonJsonValue=()=>new NonJsonValueError,t={refuseNonJson:!0,refuseNonPlainObject:!0,refuseUnrepresentableType:!0,readAccessors:!1,unrepresentable:nonJsonValue,circular:nonJsonValue},n={refuseNonJson:!1,refuseNonPlainObject:!1,refuseUnrepresentableType:!1,readAccessors:!1,unrepresentable:nonJsonValue,circular:nonJsonValue},r={refuseNonJson:!1,refuseNonPlainObject:!0,refuseUnrepresentableType:!0,readAccessors:!0,unrepresentable:t=>new e.ValidationError(`Cannot canonicalize ${describeUnrepresentable(t)}`,[]),circular:()=>new e.ValidationError(`Cannot canonicalize circular structure`,[])};function describeUnrepresentable(e){if(typeof e!=`object`||!e)return`value of type ${typeof e}`;let t=e.constructor?.name;return typeof t==`string`&&t.length>0?`a ${t} value`:`a non-plain object`}function isPlainObject(e){let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function assertArrayShape(e,t){if(Object.getPrototypeOf(e)!==Array.prototype||Object.getOwnPropertySymbols(e).length>0)throw t.unrepresentable(e);let n=Object.getOwnPropertyNames(e);if(n.length!==e.length+1||!n.includes(`length`))throw t.unrepresentable(e);for(let n=0;n<e.length;n+=1){let r=Object.getOwnPropertyDescriptor(e,String(n));if(r===void 0||!(`value`in r)||r.enumerable!==!0)throw t.unrepresentable(e)}}function sortedEntries(e,t){if(t.refuseNonJson&&Object.getOwnPropertySymbols(e).length>0)throw t.unrepresentable(e);let n=[];for(let r of Object.getOwnPropertyNames(e)){let i=Object.getOwnPropertyDescriptor(e,r);if(i===void 0||i.enumerable!==!0){if(t.refuseNonJson)throw t.unrepresentable(e);continue}if(!(`value`in i)){if(t.refuseNonJson)throw t.unrepresentable(e);if(!t.readAccessors)continue;let i=e[r];if(i===void 0)continue;n.push([r,i]);continue}i.value!==void 0&&n.push([r,i.value])}return n.sort(([e],[t])=>e<t?-1:+(e>t))}function serialize(e,t,n){if(e===null)return`null`;if(e===void 0){if(t.refuseNonJson)throw t.unrepresentable(e);return`null`}if(typeof e==`boolean`||typeof e==`string`)return JSON.stringify(e);if(typeof e==`number`){if(Number.isFinite(e))return JSON.stringify(e);if(t.refuseNonJson)throw t.unrepresentable(e);return`null`}if(typeof e!=`object`){if(t.refuseNonJson||t.refuseUnrepresentableType)throw t.unrepresentable(e);return JSON.stringify(String(e))}if(n.has(e))throw t.circular();n.add(e);try{if(Array.isArray(e)){t.refuseNonJson&&assertArrayShape(e,t);let r=[];for(let i=0;i<e.length;i+=1)r.push(serialize(e[i],t,n));return`[${r.join(`,`)}]`}if(t.refuseNonPlainObject&&!isPlainObject(e))throw t.unrepresentable(e);return`{${sortedEntries(e,t).map(([e,r])=>`${JSON.stringify(e)}:${serialize(r,t,n)}`).join(`,`)}}`}finally{n.delete(e)}}function canonicalStringify(e){return serialize(e,r,new Set)}function serializeStableJson(e){return serialize(e,n,new Set)}function serializeCanonicalJson(e){return serialize(e,t,new Set)}function sameStableValue(e,t){return serializeStableJson(e)===serializeStableJson(t)}function asTenantId(e){return e}function asUserId(e){return e}function generateId(){return typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID():`xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx`.replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e===`x`?t:t&3|8).toString(16)})}function indexBy(e,t){return new Map(e.map(e=>[t(e),e]))}function deepEqual(e,t){if(e===t)return!0;if(e==null||t==null||typeof e!=typeof t)return!1;if(Array.isArray(e))return!Array.isArray(t)||e.length!==t.length?!1:e.every((e,n)=>deepEqual(e,t[n]));if(typeof e==`object`&&typeof t==`object`){let n=e,r=t,i=Object.keys(n),a=Object.keys(r);return i.length===a.length&&i.every(e=>e in r&&deepEqual(n[e],r[e]))}return!1}Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return indexBy}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return sameStableValue}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return generateId}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return serializeCanonicalJson}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return asUserId}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return NonJsonValueError}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return deepEqual}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return canonicalStringify}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return asTenantId}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return serializeStableJson}});
|
package/dist/utils.d.mts
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
|
|
2
|
+
import { a as asUserId, c as indexBy, i as asTenantId, n as UserId, o as deepEqual, r as Uuid, s as generateId, t as TenantId, u as canonicalStringify } from "./utils-DbRMK8NI.mjs";
|
|
3
|
+
export { TenantId, UserId, Uuid, asTenantId, asUserId, canonicalStringify, deepEqual, generateId, indexBy };
|
package/dist/utils.d.ts
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
|
|
2
|
+
import { a as asUserId, c as indexBy, i as asTenantId, n as UserId, o as deepEqual, r as Uuid, s as generateId, t as TenantId, u as canonicalStringify } from "./utils-B7Dlrtnx.js";
|
|
3
|
+
export { TenantId, UserId, Uuid, asTenantId, asUserId, canonicalStringify, deepEqual, generateId, indexBy };
|
package/dist/utils.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! © 2025-2026 AND YOU CREATE SAS (RCS Paris 940 190 614). Proprietary — see LICENSE (Standards SDK License 1.0). */
|
|
2
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./utils-gY3d9Dwp.js");exports.asTenantId=e.t,exports.asUserId=e.n,exports.canonicalStringify=e.s,exports.deepEqual=e.r,exports.generateId=e.i,exports.indexBy=e.a;
|
package/dist/utils.mjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! © 2025-2026 AND YOU CREATE SAS (RCS Paris 940 190 614). Proprietary — see LICENSE (Standards SDK License 1.0). */
|
|
2
|
+
import{a as e,i as t,n,r,s as i,t as a}from"./utils-fXIvFFl6.mjs";export{a as asTenantId,n as asUserId,i as canonicalStringify,r as deepEqual,t as generateId,e as indexBy};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
|
|
2
|
+
import { f as colorIdSchema, m as SCHEMA_LIMITS, o as publishedViewContentDefinitionSchema, p as iconNameSchema, r as draftContentViewDefinitionSchema, s as collectionContentSourceSchema, t as contentViewDefinitionSchema } from "../all-BgYwavNm.mjs";
|
|
3
|
+
import { S as withoutUnknownOptionKeys, _ as selectOptionWriteSchema, b as wireHiddenTypeConfigMask, c as multiselectOptionWriteSchema, d as parseAttributeConfigForUpdate, f as propertyAttributeSchema, g as refuseForeignKeys, h as propertySchemaWireSchema, i as attributeConfigSchemas, l as parseAttributeConfig, m as propertySchemaSchema, n as WIRE_OFFERED_BASE_CONFIG, o as getAttributeConfigSchema, p as propertyAttributeWireSchema, r as WIRE_OMITTED_CONFIG_KEYS, s as getAttributeConfigWriteSchema, t as SIMPLE_PROPERTY_TYPES, u as parseAttributeConfigForCreate, v as statusGroupSchema, x as wireOmittedConfigKeysFor, y as statusOptionWriteSchema } from "../index-BmNMneu3.mjs";
|
|
4
|
+
import { i as ValidationResult, n as DEFAULT_VALIDATION_MESSAGES, r as ValidationMessages, t as formatZodErrors } from "../index-3HZjBOpj.mjs";
|
|
5
|
+
import { a as validateDraft, c as validateObjectOrThrow, d as createAttributeValidator, f as createFormAttributeValidator, i as validateAttribute, o as validateDraftOrThrow, r as rejectUnknownAttributesOrThrow, s as validateObject } from "../index-DPO5w-fC.mjs";
|
|
6
|
+
export { DEFAULT_VALIDATION_MESSAGES, SCHEMA_LIMITS, SIMPLE_PROPERTY_TYPES, type ValidationMessages, type ValidationResult, WIRE_OFFERED_BASE_CONFIG, WIRE_OMITTED_CONFIG_KEYS, attributeConfigSchemas, collectionContentSourceSchema, colorIdSchema, contentViewDefinitionSchema, createAttributeValidator, createFormAttributeValidator, draftContentViewDefinitionSchema, formatZodErrors, getAttributeConfigSchema, getAttributeConfigWriteSchema, iconNameSchema, multiselectOptionWriteSchema, parseAttributeConfig, parseAttributeConfigForCreate, parseAttributeConfigForUpdate, propertyAttributeSchema, propertyAttributeWireSchema, propertySchemaSchema, propertySchemaWireSchema, publishedViewContentDefinitionSchema, refuseForeignKeys, rejectUnknownAttributesOrThrow, selectOptionWriteSchema, statusGroupSchema, statusOptionWriteSchema, validateAttribute, validateDraft, validateDraftOrThrow, validateObject, validateObjectOrThrow, wireHiddenTypeConfigMask, wireOmittedConfigKeysFor, withoutUnknownOptionKeys };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
|
|
2
|
+
import { f as colorIdSchema, m as SCHEMA_LIMITS, o as publishedViewContentDefinitionSchema, p as iconNameSchema, r as draftContentViewDefinitionSchema, s as collectionContentSourceSchema, t as contentViewDefinitionSchema } from "../all-DjdKldjX.js";
|
|
3
|
+
import { S as withoutUnknownOptionKeys, _ as selectOptionWriteSchema, b as wireHiddenTypeConfigMask, c as multiselectOptionWriteSchema, d as parseAttributeConfigForUpdate, f as propertyAttributeSchema, g as refuseForeignKeys, h as propertySchemaWireSchema, i as attributeConfigSchemas, l as parseAttributeConfig, m as propertySchemaSchema, n as WIRE_OFFERED_BASE_CONFIG, o as getAttributeConfigSchema, p as propertyAttributeWireSchema, r as WIRE_OMITTED_CONFIG_KEYS, s as getAttributeConfigWriteSchema, t as SIMPLE_PROPERTY_TYPES, u as parseAttributeConfigForCreate, v as statusGroupSchema, x as wireOmittedConfigKeysFor, y as statusOptionWriteSchema } from "../index-Bu9xF5Nq.js";
|
|
4
|
+
import { i as ValidationResult, n as DEFAULT_VALIDATION_MESSAGES, r as ValidationMessages, t as formatZodErrors } from "../index-DLO8JpnY.js";
|
|
5
|
+
import { a as validateDraft, c as validateObjectOrThrow, d as createAttributeValidator, f as createFormAttributeValidator, i as validateAttribute, o as validateDraftOrThrow, r as rejectUnknownAttributesOrThrow, s as validateObject } from "../index-CiTBL4gH.js";
|
|
6
|
+
export { DEFAULT_VALIDATION_MESSAGES, SCHEMA_LIMITS, SIMPLE_PROPERTY_TYPES, type ValidationMessages, type ValidationResult, WIRE_OFFERED_BASE_CONFIG, WIRE_OMITTED_CONFIG_KEYS, attributeConfigSchemas, collectionContentSourceSchema, colorIdSchema, contentViewDefinitionSchema, createAttributeValidator, createFormAttributeValidator, draftContentViewDefinitionSchema, formatZodErrors, getAttributeConfigSchema, getAttributeConfigWriteSchema, iconNameSchema, multiselectOptionWriteSchema, parseAttributeConfig, parseAttributeConfigForCreate, parseAttributeConfigForUpdate, propertyAttributeSchema, propertyAttributeWireSchema, propertySchemaSchema, propertySchemaWireSchema, publishedViewContentDefinitionSchema, refuseForeignKeys, rejectUnknownAttributesOrThrow, selectOptionWriteSchema, statusGroupSchema, statusOptionWriteSchema, validateAttribute, validateDraft, validateDraftOrThrow, validateObject, validateObjectOrThrow, wireHiddenTypeConfigMask, wireOmittedConfigKeysFor, withoutUnknownOptionKeys };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! © 2025-2026 AND YOU CREATE SAS (RCS Paris 940 190 614). Proprietary — see LICENSE (Standards SDK License 1.0). */
|
|
2
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../attribute-validators-WAoJbap5.js"),t=require("../view-config.schema-BQ9tU_9G.js"),n=require("../core-397tQy5q.js"),r=require("../config-DdjlHdPg.js"),i=require("../object-DcgxLvip.js");exports.DEFAULT_VALIDATION_MESSAGES=n.n,exports.SCHEMA_LIMITS=e.p,exports.SIMPLE_PROPERTY_TYPES=r.t,exports.WIRE_OFFERED_BASE_CONFIG=r.n,exports.WIRE_OMITTED_CONFIG_KEYS=r.r,exports.attributeConfigSchemas=r.i,exports.collectionContentSourceSchema=t.ut,exports.colorIdSchema=e.d,exports.contentViewDefinitionSchema=t.t,exports.createAttributeValidator=i.d,exports.createFormAttributeValidator=i.f,exports.draftContentViewDefinitionSchema=t.r,exports.formatZodErrors=n.t,exports.getAttributeConfigSchema=r.o,exports.getAttributeConfigWriteSchema=r.s,exports.iconNameSchema=e.f,exports.multiselectOptionWriteSchema=r.c,exports.parseAttributeConfig=r.l,exports.parseAttributeConfigForCreate=r.u,exports.parseAttributeConfigForUpdate=r.d,exports.propertyAttributeSchema=r.f,exports.propertyAttributeWireSchema=r.p,exports.propertySchemaSchema=r.m,exports.propertySchemaWireSchema=r.h,exports.publishedViewContentDefinitionSchema=t.o,exports.refuseForeignKeys=r.g,exports.rejectUnknownAttributesOrThrow=i.r,exports.selectOptionWriteSchema=r._,exports.statusGroupSchema=r.v,exports.statusOptionWriteSchema=r.y,exports.validateAttribute=i.i,exports.validateDraft=i.a,exports.validateDraftOrThrow=i.o,exports.validateObject=i.s,exports.validateObjectOrThrow=i.c,exports.wireHiddenTypeConfigMask=r.b,exports.wireOmittedConfigKeysFor=r.x,exports.withoutUnknownOptionKeys=r.S;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! © 2025-2026 AND YOU CREATE SAS (RCS Paris 940 190 614). Proprietary — see LICENSE (Standards SDK License 1.0). */
|
|
2
|
+
import{o as e,r as t,t as n,ut as r}from"../view-config.schema-BmjCQJ51.mjs";import{d as i,f as a,p as o}from"../attribute-validators-DRqhAt2t.mjs";import{n as s,t as c}from"../core-BLHhNykL.mjs";import{S as l,_ as u,b as d,c as f,d as p,f as m,g as h,h as g,i as _,l as v,m as y,n as b,o as x,p as S,r as C,s as w,t as T,u as E,v as D,x as O,y as k}from"../config-BIxnbUN8.mjs";import{a as A,c as j,d as M,f as N,i as P,o as F,r as I,s as L}from"../object-Dzl7sfq8.mjs";export{s as DEFAULT_VALIDATION_MESSAGES,o as SCHEMA_LIMITS,T as SIMPLE_PROPERTY_TYPES,b as WIRE_OFFERED_BASE_CONFIG,C as WIRE_OMITTED_CONFIG_KEYS,_ as attributeConfigSchemas,r as collectionContentSourceSchema,i as colorIdSchema,n as contentViewDefinitionSchema,M as createAttributeValidator,N as createFormAttributeValidator,t as draftContentViewDefinitionSchema,c as formatZodErrors,x as getAttributeConfigSchema,w as getAttributeConfigWriteSchema,a as iconNameSchema,f as multiselectOptionWriteSchema,v as parseAttributeConfig,E as parseAttributeConfigForCreate,p as parseAttributeConfigForUpdate,m as propertyAttributeSchema,S as propertyAttributeWireSchema,y as propertySchemaSchema,g as propertySchemaWireSchema,e as publishedViewContentDefinitionSchema,h as refuseForeignKeys,I as rejectUnknownAttributesOrThrow,u as selectOptionWriteSchema,D as statusGroupSchema,k as statusOptionWriteSchema,P as validateAttribute,A as validateDraft,F as validateDraftOrThrow,L as validateObject,j as validateObjectOrThrow,d as wireHiddenTypeConfigMask,O as wireOmittedConfigKeysFor,l as withoutUnknownOptionKeys};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
|
|
2
|
+
import { l as CurrencyAttribute } from "../../attributes-aTeqx6cK.mjs";
|
|
3
|
+
import { r as ValidationMessages } from "../../index-3HZjBOpj.mjs";
|
|
4
|
+
import { z as z$1 } from "zod";
|
|
5
|
+
//#region src/validation/complex/currency.d.ts
|
|
6
|
+
/**
|
|
7
|
+
* Create a Zod schema for a currency attribute
|
|
8
|
+
*/
|
|
9
|
+
export declare function createCurrencyValidator(attr: CurrencyAttribute, messages?: ValidationMessages): z$1.ZodType<{
|
|
10
|
+
code: string;
|
|
11
|
+
value: number;
|
|
12
|
+
}>;
|
|
13
|
+
//#endregion
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
|
|
2
|
+
import { l as CurrencyAttribute } from "../../attributes-kAhQzg8-.js";
|
|
3
|
+
import { r as ValidationMessages } from "../../index-DLO8JpnY.js";
|
|
4
|
+
import { z as z$1 } from "zod";
|
|
5
|
+
//#region src/validation/complex/currency.d.ts
|
|
6
|
+
/**
|
|
7
|
+
* Create a Zod schema for a currency attribute
|
|
8
|
+
*/
|
|
9
|
+
export declare function createCurrencyValidator(attr: CurrencyAttribute, messages?: ValidationMessages): z$1.ZodType<{
|
|
10
|
+
code: string;
|
|
11
|
+
value: number;
|
|
12
|
+
}>;
|
|
13
|
+
//#endregion
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! © 2025-2026 AND YOU CREATE SAS (RCS Paris 940 190 614). Proprietary — see LICENSE (Standards SDK License 1.0). */
|
|
2
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../core-397tQy5q.js");let t=require("zod");function createCurrencyValidator(n,r=e.n){let i=n.allowNegative?t.z.number():t.z.number().min(0);return t.z.object({code:t.z.string().length(3),value:i},{message:r.invalidCurrency(n)})}exports.createCurrencyValidator=createCurrencyValidator;
|
|
@@ -0,0 +1,2 @@
|
|
|
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";function createCurrencyValidator(n,r=e){let i=n.allowNegative?t.number():t.number().min(0);return t.object({code:t.string().length(3),value:i},{message:r.invalidCurrency(n)})}export{createCurrencyValidator};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
|
|
2
|
+
import { y as LocationAttribute } from "../../attributes-aTeqx6cK.mjs";
|
|
3
|
+
import { r as ValidationMessages } from "../../index-3HZjBOpj.mjs";
|
|
4
|
+
import { z as z$1 } from "zod";
|
|
5
|
+
//#region src/validation/complex/location.d.ts
|
|
6
|
+
type LocationShape = {
|
|
7
|
+
address?: string;
|
|
8
|
+
address2?: string;
|
|
9
|
+
city?: string;
|
|
10
|
+
state?: string;
|
|
11
|
+
postalCode?: string;
|
|
12
|
+
country?: string;
|
|
13
|
+
latitude?: number;
|
|
14
|
+
longitude?: number;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Create a Zod schema for a location attribute
|
|
18
|
+
*/
|
|
19
|
+
export declare function createLocationValidator(attr: LocationAttribute, messages?: ValidationMessages): z$1.ZodType<LocationShape>;
|
|
20
|
+
//#endregion
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
|
|
2
|
+
import { y as LocationAttribute } from "../../attributes-kAhQzg8-.js";
|
|
3
|
+
import { r as ValidationMessages } from "../../index-DLO8JpnY.js";
|
|
4
|
+
import { z as z$1 } from "zod";
|
|
5
|
+
//#region src/validation/complex/location.d.ts
|
|
6
|
+
type LocationShape = {
|
|
7
|
+
address?: string;
|
|
8
|
+
address2?: string;
|
|
9
|
+
city?: string;
|
|
10
|
+
state?: string;
|
|
11
|
+
postalCode?: string;
|
|
12
|
+
country?: string;
|
|
13
|
+
latitude?: number;
|
|
14
|
+
longitude?: number;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Create a Zod schema for a location attribute
|
|
18
|
+
*/
|
|
19
|
+
export declare function createLocationValidator(attr: LocationAttribute, messages?: ValidationMessages): z$1.ZodType<LocationShape>;
|
|
20
|
+
//#endregion
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! © 2025-2026 AND YOU CREATE SAS (RCS Paris 940 190 614). Proprietary — see LICENSE (Standards SDK License 1.0). */
|
|
2
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../core-397tQy5q.js");let t=require("zod");function createLocationValidator(n,r=e.n){return t.z.object({address:t.z.string().optional(),address2:t.z.string().optional(),city:t.z.string().optional(),state:t.z.string().optional(),postalCode:t.z.string().optional(),country:t.z.string().length(3).optional(),latitude:t.z.number().min(-90).max(90).optional(),longitude:t.z.number().min(-180).max(180).optional()},{message:r.invalidLocation(n)})}exports.createLocationValidator=createLocationValidator;
|
|
@@ -0,0 +1,2 @@
|
|
|
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";function createLocationValidator(n,r=e){return t.object({address:t.string().optional(),address2:t.string().optional(),city:t.string().optional(),state:t.string().optional(),postalCode:t.string().optional(),country:t.string().length(3).optional(),latitude:t.number().min(-90).max(90).optional(),longitude:t.number().min(-180).max(180).optional()},{message:r.invalidLocation(n)})}export{createLocationValidator};
|