react-semaphor 0.1.319 → 0.1.320
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/briefings/index.cjs +1 -1
- package/dist/briefings/index.js +567 -207
- package/dist/chunks/{calendar-preferences-dialog-DPaVsZlk.js → calendar-preferences-dialog-B7Z8OnuZ.js} +1 -1
- package/dist/chunks/{calendar-preferences-dialog-DLKB05SY.js → calendar-preferences-dialog-CFXQBJ4A.js} +1 -1
- package/dist/chunks/{dashboard-briefing-launcher-DR_i0anv.js → dashboard-briefing-launcher-DB16djcj.js} +2142 -2065
- package/dist/chunks/dashboard-briefing-launcher-DjDpGyD7.js +106 -0
- package/dist/chunks/{dashboard-controls-BNAIucBl.js → dashboard-controls-BisfskDD.js} +1 -1
- package/dist/chunks/{dashboard-controls-8J06Ot-K.js → dashboard-controls-DPStW1kd.js} +3 -3
- package/dist/chunks/{dashboard-json-B_Li7wO5.js → dashboard-json-2nyFJ_-w.js} +1 -1
- package/dist/chunks/{dashboard-json-DIsACFCO.js → dashboard-json-C8-kkiyT.js} +1 -1
- package/dist/chunks/{edit-dashboard-visual-2CBS2I52.js → edit-dashboard-visual-BP77bJFI.js} +1 -1
- package/dist/chunks/{edit-dashboard-visual-BGnC2DH7.js → edit-dashboard-visual-D6oiTlXr.js} +3 -3
- package/dist/chunks/{index-DYycYzpZ.js → index-Clw0hJzi.js} +4 -4
- package/dist/chunks/{index-cxoegFH9.js → index-D8eouWYC.js} +1 -1
- package/dist/chunks/{resource-management-panel-BwNGxqrB.js → resource-management-panel-DTvY5OIq.js} +1 -1
- package/dist/chunks/{resource-management-panel-YtbKp2kW.js → resource-management-panel-HcRJRZHO.js} +2 -2
- package/dist/chunks/{use-create-flow-overlay-state-Qnd7FF6L.js → use-create-flow-overlay-state-75l5mrVp.js} +2 -2
- package/dist/chunks/{use-create-flow-overlay-state-DQZneUXL.js → use-create-flow-overlay-state-CdCldE6J.js} +1 -1
- package/dist/chunks/{use-visual-utils-t73RlvjS.js → use-visual-utils-Bd4Cf9_B.js} +1 -1
- package/dist/chunks/{use-visual-utils-BdMhr0YR.js → use-visual-utils-CMdEUnM5.js} +1 -1
- package/dist/dashboard/index.cjs +1 -1
- package/dist/dashboard/index.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +5 -5
- package/dist/style.css +1 -1
- package/dist/surfboard/index.cjs +1 -1
- package/dist/surfboard/index.js +2 -2
- package/dist/types/briefings.d.ts +96 -0
- package/package.json +1 -1
- package/dist/chunks/dashboard-briefing-launcher-F3qKyuGr.js +0 -106
package/dist/briefings/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var q=Object.defineProperty;var U=(n,t,e)=>t in n?q(n,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[t]=e;var R=(n,t,e)=>U(n,typeof t!="symbol"?t+"":t,e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const C="BRIEFING",z=["markdown","html"],A=["markdown"],$=20,l={name:500,description:2e3,instruction:5e4,customMessage:5e4,attachmentTitle:500,presentationAudience:1e3,presentationTone:500,presentationFormat:2e3,id:500},O=new Set(z),H=new Set(["EMAIL","WEBHOOK","SLACK","IN_APP","TELEGRAM"]),B={maxToolCalls:{min:1,max:100},maxRows:{min:1,max:1e5},timeoutMs:{min:1e3,max:30*6e4}},J=new Set(["letter","legal","a4","a3","tabloid"]),X=new Set(["portrait","landscape"]),W=new Set([",",";"," "]),Y=new Set(["current","all"]),Z=new Set(["concise","balanced","detailed"]),Q=["pageSize","orientation","includeFilters","includeTimestamp","delimiter","includeHeaders","useFormattedValues","sheetSelection","currentSheetId","currentSheetName","filterValues","inlineFilterValues","sheetFilterValues","filterLine","controlValues","controlDefinitions","cardControlDefinitions","controlBindings","tablePreferences","dashboardInputExecutionSnapshot","selectedSheetId","cardType","theme"];class S extends Error{constructor(e){super(e.map(r=>`${r.field}: ${r.message}`).join("; "));R(this,"issues");this.name="BriefingContractError",this.issues=e}}function x(n){return typeof n=="object"&&n!==null&&!Array.isArray(n)}function c(n,t,e){n.push({field:t,message:e})}function h(n,t,e){return x(n)?n:(c(e,t,"Expected an object."),{})}function s(n,t,e,r){const o=new Set(e);Object.keys(n).forEach(i=>{o.has(i)||c(r,t?`${t}.${i}`:i,`Unexpected field "${i}".`)})}function u(n,t,e,r){if(typeof n!="string")return c(r,t,"Expected a string."),"";const o=n.trim();return o?(o.length>e&&c(r,t,`Must be ${e} characters or fewer.`),o):(c(r,t,"Required value cannot be empty."),"")}function p(n,t,e,r){if(n==null)return;if(typeof n!="string"){c(r,t,"Expected a string.");return}const o=n.trim();if(o)return o.length>e&&c(r,t,`Must be ${e} characters or fewer.`),o}function g(n,t,e,r){return n==null?t:typeof n!="boolean"?(c(r,e,"Expected a boolean."),t):n}function ee(n,t){return n==null?"ACTIVE":n==="ACTIVE"||n==="PAUSED"||n==="DISABLED"?n:(c(t,"status","Expected ACTIVE, PAUSED, or DISABLED."),"ACTIVE")}function te(n){return n.includes("@")&&n.includes(".")&&!n.includes(" ")}function N(n,t){if(n==null)return{type:"project"};const e=h(n,"source",t),r=e.type;return r==="project"?(s(e,"source",["type"],t),{type:"project"}):r==="dashboard"?(s(e,"source",["type","dashboardId"],t),{type:"dashboard",dashboardId:u(e.dashboardId,"source.dashboardId",l.id,t)}):(c(t,"source.type","Expected project or dashboard."),{type:"project"})}function M(n,t){const e=h(n,"body",t),r=e.type;return r==="generated_analysis"?(s(e,"body",["type","instruction"],t),{type:"generated_analysis",instruction:u(e.instruction,"body.instruction",l.instruction,t)}):r==="custom_message"?(s(e,"body",["type","message"],t),{type:"custom_message",message:u(e.message,"body.message",l.customMessage,t)}):r==="none"?(s(e,"body",["type"],t),{type:"none"}):(c(t,"body.type","Expected generated_analysis, custom_message, or none."),{type:"none"})}function ne(n,t){if(n==null)return[...A];if(!Array.isArray(n))return c(t,"presentation.artifactFormats","Expected an array."),[...A];if(n.length===0)return c(t,"presentation.artifactFormats","Choose at least one artifact format."),[];const e=[];return n.forEach((r,o)=>{if(typeof r!="string"||!O.has(r)){c(t,`presentation.artifactFormats.${o}`,"Expected markdown or html.");return}e.includes(r)||e.push(r)}),e}function V(n,t){if(n==null)return{artifactFormats:[...A],includeEvidence:!0,includeSql:!0};const e=h(n,"presentation",t);s(e,"presentation",["artifactFormats","includeEvidence","includeSql","audience","tone","format"],t);const r={artifactFormats:ne(e.artifactFormats,t),includeEvidence:g(e.includeEvidence,!0,"presentation.includeEvidence",t),includeSql:g(e.includeSql,!0,"presentation.includeSql",t)},o=p(e.audience,"presentation.audience",l.presentationAudience,t),i=p(e.tone,"presentation.tone",l.presentationTone,t),a=p(e.format,"presentation.format",l.presentationFormat,t);return o&&(r.audience=o),i&&(r.tone=i),a&&(r.format=a),r}function I(n,t,e,r){return typeof n=="string"&&e.includes(n)?n:(c(r,t,`Expected ${e.join(" or ")}.`),e[0])}function b(n,t,e,r,o){if(n!=null){if(typeof n=="string"&&e.has(n))return n;c(o,t,`Expected ${r}.`)}}function re(n,t,e){if(n!=null){if(!Array.isArray(n)){c(e,t,"Expected an array.");return}return n}}function oe(n,t,e){if(n!=null){if(!x(n)){c(e,t,"Expected an object.");return}return n}}function ie(n,t,e){if(n==null)return;const r=h(n,t,e);s(r,t,Q,e);const o={},i=b(r.pageSize,`${t}.pageSize`,J,"letter, legal, a4, a3, or tabloid",e),a=b(r.orientation,`${t}.orientation`,X,"portrait or landscape",e),f=b(r.delimiter,`${t}.delimiter`,W,"comma, semicolon, or tab",e),y=b(r.sheetSelection,`${t}.sheetSelection`,Y,"current or all",e);i&&(o.pageSize=i),a&&(o.orientation=a),f&&(o.delimiter=f),y&&(o.sheetSelection=y);for(const d of["includeFilters","includeTimestamp","includeHeaders","useFormattedValues"])if(!(r[d]===void 0||r[d]===null)){if(typeof r[d]!="boolean"){c(e,`${t}.${d}`,"Expected a boolean.");continue}o[d]=r[d]}for(const d of["currentSheetId","currentSheetName","filterLine","selectedSheetId","cardType","theme"]){const m=p(r[d],`${t}.${d}`,l.id,e);m&&(o[d]=m)}for(const d of["filterValues","inlineFilterValues","sheetFilterValues","controlDefinitions","cardControlDefinitions","controlBindings"]){const m=re(r[d],`${t}.${d}`,e);m&&(o[d]=m)}for(const d of["controlValues","tablePreferences","dashboardInputExecutionSnapshot"]){const m=oe(r[d],`${t}.${d}`,e);m&&(o[d]=m)}return Object.keys(o).length>0?o:void 0}function E(n,t,e,r){const o=p(t,e,l.attachmentTitle,r);return o&&(n.title=o),n}function v(n,t,e,r){const o=ie(t,e,r);return o&&(n.settings=o),n}function ae(n,t,e){const r=`attachments.${t}`,o=h(n,r,e),i=o.type;if(i==="dashboard"){s(o,r,["type","dashboardId","format","title","settings"],e);const a=E({type:"dashboard",dashboardId:u(o.dashboardId,`${r}.dashboardId`,l.id,e),format:I(o.format,`${r}.format`,["pdf"],e)},o.title,`${r}.title`,e);return v(a,o.settings,`${r}.settings`,e)}if(i==="dashboard_sheet"||i==="document_sheet"){s(o,r,["type","dashboardId","sheetId","format","title","settings"],e);const a=E({type:i,dashboardId:u(o.dashboardId,`${r}.dashboardId`,l.id,e),sheetId:u(o.sheetId,`${r}.sheetId`,l.id,e),format:I(o.format,`${r}.format`,["pdf"],e)},o.title,`${r}.title`,e);return v(a,o.settings,`${r}.settings`,e)}if(i==="visual"){s(o,r,["type","dashboardId","visualId","format","title","settings"],e);const a=E({type:"visual",dashboardId:u(o.dashboardId,`${r}.dashboardId`,l.id,e),visualId:u(o.visualId,`${r}.visualId`,l.id,e),format:I(o.format,`${r}.format`,["pdf","png"],e)},o.title,`${r}.title`,e);return v(a,o.settings,`${r}.settings`,e)}if(i==="card"){s(o,r,["type","dashboardId","cardId","format","title","settings"],e);const a=E({type:"card",dashboardId:u(o.dashboardId,`${r}.dashboardId`,l.id,e),cardId:u(o.cardId,`${r}.cardId`,l.id,e),format:I(o.format,`${r}.format`,["csv","pdf","png"],e)},o.title,`${r}.title`,e);return v(a,o.settings,`${r}.settings`,e)}return c(e,`${r}.type`,"Expected dashboard, dashboard_sheet, document_sheet, visual, or card."),{type:"dashboard",dashboardId:"",format:"pdf"}}function ce(n){switch(n.type){case"dashboard":return`${n.type}:${n.dashboardId}:${n.format}`;case"dashboard_sheet":case"document_sheet":return`${n.type}:${n.dashboardId}:${n.sheetId}:${n.format}`;case"visual":return`${n.type}:${n.dashboardId}:${n.visualId}:${n.format}`;case"card":return`${n.type}:${n.dashboardId}:${n.cardId}:${n.format}`}}function P(n,t){if(n==null)return[];if(!Array.isArray(n))return c(t,"attachments","Expected an array."),[];n.length>$&&c(t,"attachments",`Choose ${$} attachments or fewer.`);const e=n.slice(0,$).map((o,i)=>ae(o,i,t)),r=new Set;return e.forEach((o,i)=>{const a=ce(o);r.has(a)&&c(t,`attachments.${i}`,"Duplicate attachment."),r.add(a)}),e}function j(n,t){if(n==null)return;const e=h(n,"limits",t);s(e,"limits",Object.keys(B),t);const r={};return Object.keys(B).forEach(o=>{const i=e[o];if(i==null)return;const a=B[o];if(typeof i!="number"||!Number.isInteger(i)||i<a.min||i>a.max){c(t,`limits.${o}`,`Expected an integer between ${a.min} and ${a.max}.`);return}r[o]=i}),Object.keys(r).length>0?r:void 0}function w(n){if(n.length>0)throw new S(n)}function K(n,t,e){n.type==="none"&&t.length===0&&c(e,"body","Add briefing instructions, a custom message, or at least one attachment.")}function L(n){const t=[],e=h(n,"jobConfig",t);s(e,"jobConfig",["kind","source","body","attachments","presentation","limits"],t),e.kind!==C&&c(t,"kind","Expected BRIEFING.");const r=N(e.source,t),o=M(e.body,t),i=P(e.attachments,t),a=V(e.presentation,t),f=j(e.limits,t);return K(o,i,t),w(t),{kind:C,source:r,body:o,attachments:i,presentation:a,...f?{limits:f}:{}}}function de(n){return L({...n,kind:C})}function k(n,t,e,r="deliveryConfig.recipients"){const o=`${r}.${t}`,i=h(n,o,e),a=i.type;if(a==="email"){s(i,o,["type","address","name"],e);const f=u(i.address,`${o}.address`,l.id,e),y=p(i.name,`${o}.name`,l.attachmentTitle,e);return f&&!te(f)&&c(e,`${o}.address`,"Email address is invalid."),{type:"email",address:f,...y?{name:y}:{}}}return a==="user"?(s(i,o,["type","userId"],e),{type:"user",userId:u(i.userId,`${o}.userId`,l.id,e)}):a==="tenant_user"?(s(i,o,["type","tenantUserId"],e),{type:"tenant_user",tenantUserId:u(i.tenantUserId,`${o}.tenantUserId`,l.id,e)}):a==="group"?(s(i,o,["type","groupId"],e),{type:"group",groupId:u(i.groupId,`${o}.groupId`,l.id,e)}):(c(e,`${o}.type`,"Expected email, user, tenant_user, or group."),{type:"email",address:""})}function le(n,t){return n==null?[]:Array.isArray(n)?n.map((e,r)=>k(e,r,t)):(c(t,"deliveryConfig.recipients","Expected an array."),[])}function se(n,t){if(!Array.isArray(n))return c(t,"deliveryConfig.channels","Expected an array."),[];const e=[];return n.forEach((r,o)=>{if(!D(r)){c(t,`deliveryConfig.channels.${o}`,"Expected EMAIL, WEBHOOK, SLACK, IN_APP, or TELEGRAM.");return}e.includes(r)||e.push(r)}),e}function fe(n,t,e){if(n==null)return;const r=h(n,t,e),o={};return Object.entries(r).forEach(([i,a])=>{if(typeof a!="string"){c(e,`${t}.${i}`,"Expected a string.");return}o[i]=a.trim()}),Object.keys(o).length>0?o:void 0}function me(n,t,e){if(n==null)return;const r=h(n,t,e);s(r,t,["url","method","headers","secretEncrypted"],e);const o=r.method===void 0||r.method===null?void 0:I(r.method,`${t}.method`,["POST","PUT"],e),i=fe(r.headers,`${t}.headers`,e),a=p(r.secretEncrypted,`${t}.secretEncrypted`,2e3,e);return{url:u(r.url,`${t}.url`,2e3,e),...o?{method:o}:{},...i?{headers:i}:{},...a?{secretEncrypted:a}:{}}}function ue(n,t,e){const r=h(n,t,e),o=r.type;if(o==="channel"){s(r,t,["type","channelId","channelName","isPrivate"],e);const i=p(r.channelName,`${t}.channelName`,l.attachmentTitle,e),a=r.isPrivate===void 0||r.isPrivate===null?void 0:g(r.isPrivate,!1,`${t}.isPrivate`,e);return{type:"channel",channelId:u(r.channelId,`${t}.channelId`,l.id,e),...i?{channelName:i}:{},...a!==void 0?{isPrivate:a}:{}}}return o==="dm"?(s(r,t,["type","recipient"],e),c(e,`${t}.type`,"Slack DM delivery is not supported in V1."),{type:"dm",recipient:k(r.recipient,0,e,`${t}.recipient`)}):(c(e,`${t}.type`,"Expected channel."),{type:"channel",channelId:""})}function he(n,t,e){if(n==null)return;if(!Array.isArray(n)){c(e,t,"Expected an array.");return}const r=n.map((o,i)=>k(o,i,e,t));return r.length>0?r:void 0}function pe(n,t,e){if(n==null)return;const r=h(n,t,e);s(r,t,["destination","threadMentions","postThreadDetail","includeDashboardLink","includeBriefingLink"],e);const o=he(r.threadMentions,`${t}.threadMentions`,e),i=g(r.postThreadDetail,!0,`${t}.postThreadDetail`,e),a=g(r.includeDashboardLink,!0,`${t}.includeDashboardLink`,e),f=g(r.includeBriefingLink,!0,`${t}.includeBriefingLink`,e);return{destination:ue(r.destination,`${t}.destination`,e),...o?{threadMentions:o}:{},...r.postThreadDetail!==void 0?{postThreadDetail:i}:{},...r.includeDashboardLink!==void 0?{includeDashboardLink:a}:{},...r.includeBriefingLink!==void 0?{includeBriefingLink:f}:{}}}function ye(n,t,e){const r=h(n,t,e);s(r,t,["subjectOverride","titleOverride","summaryOverride","actionBlockVisible","formatProfile","slackConfig","webhookConfig"],e);const o=b(r.formatProfile,`${t}.formatProfile`,Z,"concise, balanced, or detailed",e),i=p(r.subjectOverride,`${t}.subjectOverride`,500,e),a=p(r.titleOverride,`${t}.titleOverride`,500,e),f=p(r.summaryOverride,`${t}.summaryOverride`,2e3,e),y=g(r.actionBlockVisible,!0,`${t}.actionBlockVisible`,e),d=me(r.webhookConfig,`${t}.webhookConfig`,e),m=pe(r.slackConfig,`${t}.slackConfig`,e);return{...o?{formatProfile:o}:{},...i?{subjectOverride:i}:{},...a?{titleOverride:a}:{},...f?{summaryOverride:f}:{},...r.actionBlockVisible!==void 0?{actionBlockVisible:y}:{},...m?{slackConfig:m}:{},...d?{webhookConfig:d}:{}}}function ge(n,t){if(n==null)return;const e=h(n,"deliveryConfig.channelConfigs",t),r={};return Object.entries(e).forEach(([o,i])=>{if(!D(o)){c(t,`deliveryConfig.channelConfigs.${o}`,"Expected a supported delivery channel.");return}r[o]=ye(i,`deliveryConfig.channelConfigs.${o}`,t)}),Object.keys(r).length>0?r:void 0}function Ie(n,t){var y,d,m;if(n==null)return null;const e=h(n,"deliveryConfig",t);s(e,"deliveryConfig",["recipients","channels","channelConfigs"],t);const r=ge(e.channelConfigs,t),o=le(e.recipients,t),i=se(e.channels,t),a=((d=(y=r==null?void 0:r.SLACK)==null?void 0:y.slackConfig)==null?void 0:d.destination.type)==="channel"&&!!r.SLACK.slackConfig.destination.channelId.trim();return i.some(_=>_!=="SLACK")&&o.length===0&&c(t,"deliveryConfig.recipients","Add at least one recipient or remove delivery config."),i.length===0&&c(t,"deliveryConfig.channels","Choose at least one delivery channel or remove delivery config."),i.includes("SLACK")&&!a&&c(t,"deliveryConfig.channelConfigs.SLACK.slackConfig.destination.channelId","Choose a Slack channel destination."),!i.includes("SLACK")&&((m=r==null?void 0:r.SLACK)!=null&&m.slackConfig)&&c(t,"deliveryConfig.channelConfigs.SLACK","Slack config requires SLACK in deliveryConfig.channels."),{recipients:o,channels:i,...r?{channelConfigs:r}:{}}}function T(n){const t=[],e=h(n,"draft",t);s(e,"draft",["name","description","status","scheduleExpr","timezone","source","body","attachments","presentation","limits","deliveryConfig"],t);const r=u(e.name,"name",l.name,t),o=p(e.description,"description",l.description,t)??null,i=p(e.scheduleExpr,"scheduleExpr",500,t)??null,a=p(e.timezone,"timezone",200,t)??"UTC",f=ee(e.status,t),y=N(e.source,t),d=M(e.body,t),m=P(e.attachments,t),_=V(e.presentation,t),F=j(e.limits,t),G=Ie(e.deliveryConfig,t);return K(d,m,t),w(t),{name:r,description:o,status:f,scheduleExpr:i,timezone:a,source:y,body:d,attachments:m,presentation:_,...F?{limits:F}:{},deliveryConfig:G}}function be(n){return T(n)}function Ee(n){return T(n)}function ve(n){try{return{valid:!0,value:T(n),issues:[]}}catch(t){if(t instanceof S)return{valid:!1,issues:t.issues};throw t}}function $e(n){try{return{valid:!0,value:L(n),issues:[]}}catch(t){if(t instanceof S)return{valid:!1,issues:t.issues};throw t}}function Ce(n){return typeof n=="string"&&O.has(n)}function D(n){return typeof n=="string"&&H.has(n)}exports.BRIEFING_ARTIFACT_FORMATS=z;exports.BRIEFING_KIND=C;exports.BRIEFING_TEXT_LIMITS=l;exports.BriefingContractError=S;exports.DEFAULT_BRIEFING_ARTIFACT_FORMATS=A;exports.MAX_BRIEFING_ATTACHMENTS=$;exports.buildBriefingJobConfig=de;exports.buildCreateBriefingRequest=be;exports.buildUpdateBriefingRequest=Ee;exports.isBriefingArtifactFormat=Ce;exports.isBriefingDeliveryChannel=D;exports.normalizeBriefingDraft=T;exports.normalizeBriefingJobConfig=L;exports.validateBriefingDraft=ve;exports.validateBriefingJobConfig=$e;
|
|
1
|
+
"use strict";var J=Object.defineProperty;var X=(n,t,e)=>t in n?J(n,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[t]=e;var z=(n,t,e)=>X(n,typeof t!="symbol"?t+"":t,e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const S="BRIEFING",N=["markdown","html"],k=["markdown"],x=20,l={name:500,description:2e3,instruction:5e4,customMessage:5e4,contentTitle:500,contentSummary:2e4,contentText:5e3,contentItem:2e3,contentCell:500,attachmentTitle:500,presentationAudience:1e3,presentationTone:500,presentationFormat:2e3,id:500},g={maxBlocks:50,maxTableRows:100,maxTableColumns:20,maxTableCellCharacters:l.contentCell,maxParagraphCharacters:l.contentText,maxFindingCharacters:l.contentText,maxListItems:100},O=new Set(N),W=new Set(["EMAIL","WEBHOOK","SLACK","IN_APP","TELEGRAM"]),B={maxToolCalls:{min:1,max:100},maxRows:{min:1,max:1e5},timeoutMs:{min:1e3,max:30*6e4}},Y=new Set(["letter","legal","a4","a3","tabloid"]),Z=new Set(["portrait","landscape"]),Q=new Set([",",";"," "]),ee=new Set(["current","all"]),te=new Set(["concise","balanced","detailed"]),ne=new Set(["info","positive","warning","critical"]),re=new Set(["text","number","currency","percent","date","boolean"]),oe=new Set(["left","center","right"]),ie=["pageSize","orientation","includeFilters","includeTimestamp","delimiter","includeHeaders","useFormattedValues","sheetSelection","currentSheetId","currentSheetName","filterValues","inlineFilterValues","sheetFilterValues","filterLine","controlValues","controlDefinitions","cardControlDefinitions","controlBindings","tablePreferences","dashboardInputExecutionSnapshot","selectedSheetId","cardType","theme"];class C extends Error{constructor(e){super(e.map(r=>`${r.field}: ${r.message}`).join("; "));z(this,"issues");this.name="BriefingContractError",this.issues=e}}function V(n){return typeof n=="object"&&n!==null&&!Array.isArray(n)}function c(n,t,e){n.push({field:t,message:e})}function h(n,t,e){return V(n)?n:(c(e,t,"Expected an object."),{})}function s(n,t,e,r){const o=new Set(e);Object.keys(n).forEach(i=>{o.has(i)||c(r,t?`${t}.${i}`:i,`Unexpected field "${i}".`)})}function u(n,t,e,r){if(typeof n!="string")return c(r,t,"Expected a string."),"";const o=n.trim();return o?(o.length>e&&c(r,t,`Must be ${e} characters or fewer.`),o):(c(r,t,"Required value cannot be empty."),"")}function y(n,t,e,r){if(n==null)return;if(typeof n!="string"){c(r,t,"Expected a string.");return}const o=n.trim();if(o)return o.length>e&&c(r,t,`Must be ${e} characters or fewer.`),o}function ae(n,t,e){if(n!=null){if(!Number.isInteger(n)||Number(n)<0){c(e,t,"Expected a non-negative integer.");return}return Number(n)}}function b(n,t,e,r={}){if(n==null)return r.required?(c(e,t,"Expected at least one evidence id."),[]):void 0;if(!Array.isArray(n))return c(e,t,"Expected an array."),r.required?[]:void 0;const o=[];return n.forEach((i,a)=>{const d=u(i,`${t}.${a}`,l.id,e);d&&!o.includes(d)&&o.push(d)}),r.required&&o.length===0&&c(e,t,"Expected at least one evidence id."),o.length>0||r.required?o:void 0}function $(n,t,e,r){return n==null?t:typeof n!="boolean"?(c(r,e,"Expected a boolean."),t):n}function ce(n,t){return n==null?"ACTIVE":n==="ACTIVE"||n==="PAUSED"||n==="DISABLED"?n:(c(t,"status","Expected ACTIVE, PAUSED, or DISABLED."),"ACTIVE")}function de(n){return n.includes("@")&&n.includes(".")&&!n.includes(" ")}function M(n,t){if(n==null)return{type:"project"};const e=h(n,"source",t),r=e.type;return r==="project"?(s(e,"source",["type"],t),{type:"project"}):r==="dashboard"?(s(e,"source",["type","dashboardId"],t),{type:"dashboard",dashboardId:u(e.dashboardId,"source.dashboardId",l.id,t)}):(c(t,"source.type","Expected project or dashboard."),{type:"project"})}function P(n,t){const e=h(n,"body",t),r=e.type;return r==="generated_analysis"?(s(e,"body",["type","instruction"],t),{type:"generated_analysis",instruction:u(e.instruction,"body.instruction",l.instruction,t)}):r==="custom_message"?(s(e,"body",["type","message"],t),{type:"custom_message",message:u(e.message,"body.message",l.customMessage,t)}):r==="none"?(s(e,"body",["type"],t),{type:"none"}):(c(t,"body.type","Expected generated_analysis, custom_message, or none."),{type:"none"})}function le(n,t){if(n==null)return[...k];if(!Array.isArray(n))return c(t,"presentation.artifactFormats","Expected an array."),[...k];if(n.length===0)return c(t,"presentation.artifactFormats","Choose at least one artifact format."),[];const e=[];return n.forEach((r,o)=>{if(typeof r!="string"||!O.has(r)){c(t,`presentation.artifactFormats.${o}`,"Expected markdown or html.");return}e.includes(r)||e.push(r)}),e}function j(n,t){if(n==null)return{artifactFormats:[...k],includeEvidence:!0,includeSql:!0};const e=h(n,"presentation",t);s(e,"presentation",["artifactFormats","includeEvidence","includeSql","audience","tone","format"],t);const r={artifactFormats:le(e.artifactFormats,t),includeEvidence:$(e.includeEvidence,!0,"presentation.includeEvidence",t),includeSql:$(e.includeSql,!0,"presentation.includeSql",t)},o=y(e.audience,"presentation.audience",l.presentationAudience,t),i=y(e.tone,"presentation.tone",l.presentationTone,t),a=y(e.format,"presentation.format",l.presentationFormat,t);return o&&(r.audience=o),i&&(r.tone=i),a&&(r.format=a),r}function fe(n,t,e){return Array.isArray(n)?(n.length===0&&c(e,t,"Expected at least one item."),n.length>g.maxListItems&&c(e,t,`Must have ${g.maxListItems} items or fewer.`),n.slice(0,g.maxListItems).map((r,o)=>u(r,`${t}.${o}`,l.contentItem,e)).filter(Boolean)):(c(e,t,"Expected an array."),[])}function se(n,t,e){return n===null||typeof n=="string"||typeof n=="number"||typeof n=="boolean"?typeof n=="string"&&n.length>l.contentCell?(c(e,t,`Must be ${l.contentCell} characters or fewer.`),n.slice(0,l.contentCell)):typeof n=="number"&&!Number.isFinite(n)?(c(e,t,"Expected a finite number."),null):n:(c(e,t,"Expected a string, number, boolean, or null."),null)}function me(n,t,e){if(!Array.isArray(n))return c(e,t,"Expected an array."),[];n.length===0&&c(e,t,"Expected at least one column."),n.length>g.maxTableColumns&&c(e,t,`Must have ${g.maxTableColumns} columns or fewer.`);const r=new Set;return n.slice(0,g.maxTableColumns).map((o,i)=>{const a=`${t}.${i}`,d=h(o,a,e);s(d,a,["key","label","kind","align"],e);const m=u(d.key,`${a}.key`,l.id,e);m&&(r.has(m)&&c(e,`${a}.key`,"Column key must be unique."),r.add(m));const f=u(d.label,`${a}.label`,l.contentTitle,e),p=v(d.kind,`${a}.kind`,re,"text, number, currency, percent, date, or boolean",e),I=v(d.align,`${a}.align`,oe,"left, center, or right",e);return{key:m,label:f,...p?{kind:p}:{},...I?{align:I}:{}}})}function pe(n,t,e,r){if(!Array.isArray(n))return c(r,t,"Expected an array."),[];n.length>g.maxTableRows&&c(r,t,`Must have ${g.maxTableRows} rows or fewer.`);const o=new Set(e.map(i=>i.key).filter(Boolean));return n.slice(0,g.maxTableRows).map((i,a)=>{const d=`${t}.${a}`,m=h(i,d,r);return Object.keys(m).forEach(f=>{o.has(f)||c(r,`${d}.${f}`,`Unexpected table cell "${f}".`)}),Object.fromEntries(e.map(f=>[f.key,se(m[f.key]??null,`${d}.${f.key}`,r)]))})}function ue(n,t,e){const r=`content.blocks.${t}`,o=h(n,r,e),i=o.type;if(i==="heading"){s(o,r,["type","text","level","evidenceIds"],e);const a=o.level===void 0||o.level===null?void 0:o.level===2||o.level===3?o.level:void 0;o.level!==void 0&&o.level!==null&&a===void 0&&c(e,`${r}.level`,"Expected 2 or 3.");const d=b(o.evidenceIds,`${r}.evidenceIds`,e);return{type:"heading",text:u(o.text,`${r}.text`,l.contentTitle,e),...a?{level:a}:{},...d?{evidenceIds:d}:{}}}if(i==="paragraph"){s(o,r,["type","text","evidenceIds"],e);const a=b(o.evidenceIds,`${r}.evidenceIds`,e);return{type:"paragraph",text:u(o.text,`${r}.text`,l.contentText,e),...a?{evidenceIds:a}:{}}}if(i==="finding"){s(o,r,["type","title","text","severity","evidenceIds"],e);const a=y(o.title,`${r}.title`,l.contentTitle,e),d=v(o.severity,`${r}.severity`,ne,"info, positive, warning, or critical",e);return{type:"finding",...a?{title:a}:{},text:u(o.text,`${r}.text`,l.contentText,e),...d?{severity:d}:{},evidenceIds:b(o.evidenceIds,`${r}.evidenceIds`,e,{required:!0})??[]}}if(i==="bullets"||i==="actions"||i==="limitations"){s(o,r,["type","title","items","evidenceIds"],e);const a=y(o.title,`${r}.title`,l.contentTitle,e),d=b(o.evidenceIds,`${r}.evidenceIds`,e);return{type:i,...a?{title:a}:{},items:fe(o.items,`${r}.items`,e),...d?{evidenceIds:d}:{}}}if(i==="metric"){s(o,r,["type","label","value","previousValue","delta","unit","evidenceIds"],e);const a=typeof o.value=="string"||typeof o.value=="number"?o.value:"";a===""&&c(e,`${r}.value`,"Expected a string or number.");const d=o.previousValue===void 0||o.previousValue===null||typeof o.previousValue=="string"||typeof o.previousValue=="number"?o.previousValue:void 0;o.previousValue!==void 0&&o.previousValue!==null&&d===void 0&&c(e,`${r}.previousValue`,"Expected a string, number, or null.");const m=o.delta===void 0||o.delta===null||typeof o.delta=="string"||typeof o.delta=="number"?o.delta:void 0;o.delta!==void 0&&o.delta!==null&&m===void 0&&c(e,`${r}.delta`,"Expected a string, number, or null.");const f=y(o.unit,`${r}.unit`,l.contentTitle,e),p=b(o.evidenceIds,`${r}.evidenceIds`,e);return{type:"metric",label:u(o.label,`${r}.label`,l.contentTitle,e),value:a,...d!==void 0?{previousValue:d}:{},...m!==void 0?{delta:m}:{},...f?{unit:f}:{},...p?{evidenceIds:p}:{}}}if(i==="table"){s(o,r,["type","id","title","columns","rows","caption","totalRows","evidenceIds"],e);const a=me(o.columns,`${r}.columns`,e),d=y(o.title,`${r}.title`,l.contentTitle,e),m=y(o.id,`${r}.id`,l.id,e),f=y(o.caption,`${r}.caption`,l.contentItem,e),p=ae(o.totalRows,`${r}.totalRows`,e),I=b(o.evidenceIds,`${r}.evidenceIds`,e);return{type:"table",...m?{id:m}:{},...d?{title:d}:{},columns:a,rows:pe(o.rows,`${r}.rows`,a,e),...f?{caption:f}:{},...p!==void 0?{totalRows:p}:{},...I?{evidenceIds:I}:{}}}if(i==="evidence_appendix"){s(o,r,["type","title","evidenceIds"],e);const a=y(o.title,`${r}.title`,l.contentTitle,e);return{type:"evidence_appendix",...a?{title:a}:{},evidenceIds:b(o.evidenceIds,`${r}.evidenceIds`,e,{required:!0})??[]}}return c(e,`${r}.type`,"Expected heading, paragraph, finding, bullets, metric, table, actions, limitations, or evidence_appendix."),{type:"paragraph",text:""}}function q(n){const t=[],e=h(n,"content",t);s(e,"content",["version","title","summary","blocks"],t),e.version!==1&&c(t,"content.version","Expected version 1.");const r=y(e.title,"content.title",l.contentTitle,t),o=y(e.summary,"content.summary",l.contentSummary,t);Array.isArray(e.blocks)||c(t,"content.blocks","Expected an array.");const i=Array.isArray(e.blocks)?e.blocks:[];i.length===0&&c(t,"content.blocks","Expected at least one block."),i.length>g.maxBlocks&&c(t,"content.blocks",`Must have ${g.maxBlocks} blocks or fewer.`);const a=i.slice(0,g.maxBlocks).map((d,m)=>ue(d,m,t));return L(t),{version:1,...r?{title:r}:{},...o?{summary:o}:{},blocks:a}}function ye(n){try{return{valid:!0,value:q(n),issues:[]}}catch(t){if(t instanceof C)return{valid:!1,issues:t.issues};throw t}}function E(n,t,e,r){return typeof n=="string"&&e.includes(n)?n:(c(r,t,`Expected ${e.join(" or ")}.`),e[0])}function v(n,t,e,r,o){if(n!=null){if(typeof n=="string"&&e.has(n))return n;c(o,t,`Expected ${r}.`)}}function he(n,t,e){if(n!=null){if(!Array.isArray(n)){c(e,t,"Expected an array.");return}return n}}function ge(n,t,e){if(n!=null){if(!V(n)){c(e,t,"Expected an object.");return}return n}}function Ie(n,t,e){if(n==null)return;const r=h(n,t,e);s(r,t,ie,e);const o={},i=v(r.pageSize,`${t}.pageSize`,Y,"letter, legal, a4, a3, or tabloid",e),a=v(r.orientation,`${t}.orientation`,Z,"portrait or landscape",e),d=v(r.delimiter,`${t}.delimiter`,Q,"comma, semicolon, or tab",e),m=v(r.sheetSelection,`${t}.sheetSelection`,ee,"current or all",e);i&&(o.pageSize=i),a&&(o.orientation=a),d&&(o.delimiter=d),m&&(o.sheetSelection=m);for(const f of["includeFilters","includeTimestamp","includeHeaders","useFormattedValues"])if(!(r[f]===void 0||r[f]===null)){if(typeof r[f]!="boolean"){c(e,`${t}.${f}`,"Expected a boolean.");continue}o[f]=r[f]}for(const f of["currentSheetId","currentSheetName","filterLine","selectedSheetId","cardType","theme"]){const p=y(r[f],`${t}.${f}`,l.id,e);p&&(o[f]=p)}for(const f of["filterValues","inlineFilterValues","sheetFilterValues","controlDefinitions","cardControlDefinitions","controlBindings"]){const p=he(r[f],`${t}.${f}`,e);p&&(o[f]=p)}for(const f of["controlValues","tablePreferences","dashboardInputExecutionSnapshot"]){const p=ge(r[f],`${t}.${f}`,e);p&&(o[f]=p)}return Object.keys(o).length>0?o:void 0}function T(n,t,e,r){const o=y(t,e,l.attachmentTitle,r);return o&&(n.title=o),n}function A(n,t,e,r){const o=Ie(t,e,r);return o&&(n.settings=o),n}function ve(n,t,e){const r=`attachments.${t}`,o=h(n,r,e),i=o.type;if(i==="dashboard"){s(o,r,["type","dashboardId","format","title","settings"],e);const a=T({type:"dashboard",dashboardId:u(o.dashboardId,`${r}.dashboardId`,l.id,e),format:E(o.format,`${r}.format`,["pdf"],e)},o.title,`${r}.title`,e);return A(a,o.settings,`${r}.settings`,e)}if(i==="dashboard_sheet"||i==="document_sheet"){s(o,r,["type","dashboardId","sheetId","format","title","settings"],e);const a=T({type:i,dashboardId:u(o.dashboardId,`${r}.dashboardId`,l.id,e),sheetId:u(o.sheetId,`${r}.sheetId`,l.id,e),format:E(o.format,`${r}.format`,["pdf"],e)},o.title,`${r}.title`,e);return A(a,o.settings,`${r}.settings`,e)}if(i==="visual"){s(o,r,["type","dashboardId","visualId","format","title","settings"],e);const a=T({type:"visual",dashboardId:u(o.dashboardId,`${r}.dashboardId`,l.id,e),visualId:u(o.visualId,`${r}.visualId`,l.id,e),format:E(o.format,`${r}.format`,["pdf","png"],e)},o.title,`${r}.title`,e);return A(a,o.settings,`${r}.settings`,e)}if(i==="card"){s(o,r,["type","dashboardId","cardId","format","title","settings"],e);const a=T({type:"card",dashboardId:u(o.dashboardId,`${r}.dashboardId`,l.id,e),cardId:u(o.cardId,`${r}.cardId`,l.id,e),format:E(o.format,`${r}.format`,["csv","pdf","png"],e)},o.title,`${r}.title`,e);return A(a,o.settings,`${r}.settings`,e)}return c(e,`${r}.type`,"Expected dashboard, dashboard_sheet, document_sheet, visual, or card."),{type:"dashboard",dashboardId:"",format:"pdf"}}function be(n){switch(n.type){case"dashboard":return`${n.type}:${n.dashboardId}:${n.format}`;case"dashboard_sheet":case"document_sheet":return`${n.type}:${n.dashboardId}:${n.sheetId}:${n.format}`;case"visual":return`${n.type}:${n.dashboardId}:${n.visualId}:${n.format}`;case"card":return`${n.type}:${n.dashboardId}:${n.cardId}:${n.format}`}}function K(n,t){if(n==null)return[];if(!Array.isArray(n))return c(t,"attachments","Expected an array."),[];n.length>x&&c(t,"attachments",`Choose ${x} attachments or fewer.`);const e=n.slice(0,x).map((o,i)=>ve(o,i,t)),r=new Set;return e.forEach((o,i)=>{const a=be(o);r.has(a)&&c(t,`attachments.${i}`,"Duplicate attachment."),r.add(a)}),e}function G(n,t){if(n==null)return;const e=h(n,"limits",t);s(e,"limits",Object.keys(B),t);const r={};return Object.keys(B).forEach(o=>{const i=e[o];if(i==null)return;const a=B[o];if(typeof i!="number"||!Number.isInteger(i)||i<a.min||i>a.max){c(t,`limits.${o}`,`Expected an integer between ${a.min} and ${a.max}.`);return}r[o]=i}),Object.keys(r).length>0?r:void 0}function L(n){if(n.length>0)throw new C(n)}function U(n,t,e){n.type==="none"&&t.length===0&&c(e,"body","Add briefing instructions, a custom message, or at least one attachment.")}function R(n){const t=[],e=h(n,"jobConfig",t);s(e,"jobConfig",["kind","source","body","attachments","presentation","limits"],t),e.kind!==S&&c(t,"kind","Expected BRIEFING.");const r=M(e.source,t),o=P(e.body,t),i=K(e.attachments,t),a=j(e.presentation,t),d=G(e.limits,t);return U(o,i,t),L(t),{kind:S,source:r,body:o,attachments:i,presentation:a,...d?{limits:d}:{}}}function $e(n){return R({...n,kind:S})}function w(n,t,e,r="deliveryConfig.recipients"){const o=`${r}.${t}`,i=h(n,o,e),a=i.type;if(a==="email"){s(i,o,["type","address","name"],e);const d=u(i.address,`${o}.address`,l.id,e),m=y(i.name,`${o}.name`,l.attachmentTitle,e);return d&&!de(d)&&c(e,`${o}.address`,"Email address is invalid."),{type:"email",address:d,...m?{name:m}:{}}}return a==="user"?(s(i,o,["type","userId"],e),{type:"user",userId:u(i.userId,`${o}.userId`,l.id,e)}):a==="tenant_user"?(s(i,o,["type","tenantUserId"],e),{type:"tenant_user",tenantUserId:u(i.tenantUserId,`${o}.tenantUserId`,l.id,e)}):a==="group"?(s(i,o,["type","groupId"],e),{type:"group",groupId:u(i.groupId,`${o}.groupId`,l.id,e)}):(c(e,`${o}.type`,"Expected email, user, tenant_user, or group."),{type:"email",address:""})}function Ee(n,t){return n==null?[]:Array.isArray(n)?n.map((e,r)=>w(e,r,t)):(c(t,"deliveryConfig.recipients","Expected an array."),[])}function Ce(n,t){if(!Array.isArray(n))return c(t,"deliveryConfig.channels","Expected an array."),[];const e=[];return n.forEach((r,o)=>{if(!D(r)){c(t,`deliveryConfig.channels.${o}`,"Expected EMAIL, WEBHOOK, SLACK, IN_APP, or TELEGRAM.");return}e.includes(r)||e.push(r)}),e}function Te(n,t,e){if(n==null)return;const r=h(n,t,e),o={};return Object.entries(r).forEach(([i,a])=>{if(typeof a!="string"){c(e,`${t}.${i}`,"Expected a string.");return}o[i]=a.trim()}),Object.keys(o).length>0?o:void 0}function Ae(n,t,e){if(n==null)return;const r=h(n,t,e);s(r,t,["url","method","headers","secretEncrypted"],e);const o=r.method===void 0||r.method===null?void 0:E(r.method,`${t}.method`,["POST","PUT"],e),i=Te(r.headers,`${t}.headers`,e),a=y(r.secretEncrypted,`${t}.secretEncrypted`,2e3,e);return{url:u(r.url,`${t}.url`,2e3,e),...o?{method:o}:{},...i?{headers:i}:{},...a?{secretEncrypted:a}:{}}}function xe(n,t,e){const r=h(n,t,e),o=r.type;if(o==="channel"){s(r,t,["type","channelId","channelName","isPrivate"],e);const i=y(r.channelName,`${t}.channelName`,l.attachmentTitle,e),a=r.isPrivate===void 0||r.isPrivate===null?void 0:$(r.isPrivate,!1,`${t}.isPrivate`,e);return{type:"channel",channelId:u(r.channelId,`${t}.channelId`,l.id,e),...i?{channelName:i}:{},...a!==void 0?{isPrivate:a}:{}}}return o==="dm"?(s(r,t,["type","recipient"],e),c(e,`${t}.type`,"Slack DM delivery is not supported in V1."),{type:"dm",recipient:w(r.recipient,0,e,`${t}.recipient`)}):(c(e,`${t}.type`,"Expected channel."),{type:"channel",channelId:""})}function Se(n,t,e){if(n==null)return;if(!Array.isArray(n)){c(e,t,"Expected an array.");return}const r=n.map((o,i)=>w(o,i,e,t));return r.length>0?r:void 0}function ke(n,t,e){if(n==null)return;const r=h(n,t,e);s(r,t,["destination","threadMentions","postThreadDetail","includeDashboardLink","includeBriefingLink"],e);const o=Se(r.threadMentions,`${t}.threadMentions`,e),i=$(r.postThreadDetail,!0,`${t}.postThreadDetail`,e),a=$(r.includeDashboardLink,!0,`${t}.includeDashboardLink`,e),d=$(r.includeBriefingLink,!0,`${t}.includeBriefingLink`,e);return{destination:xe(r.destination,`${t}.destination`,e),...o?{threadMentions:o}:{},...r.postThreadDetail!==void 0?{postThreadDetail:i}:{},...r.includeDashboardLink!==void 0?{includeDashboardLink:a}:{},...r.includeBriefingLink!==void 0?{includeBriefingLink:d}:{}}}function _e(n,t,e){const r=h(n,t,e);s(r,t,["subjectOverride","titleOverride","summaryOverride","actionBlockVisible","formatProfile","slackConfig","webhookConfig"],e);const o=v(r.formatProfile,`${t}.formatProfile`,te,"concise, balanced, or detailed",e),i=y(r.subjectOverride,`${t}.subjectOverride`,500,e),a=y(r.titleOverride,`${t}.titleOverride`,500,e),d=y(r.summaryOverride,`${t}.summaryOverride`,2e3,e),m=$(r.actionBlockVisible,!0,`${t}.actionBlockVisible`,e),f=Ae(r.webhookConfig,`${t}.webhookConfig`,e),p=ke(r.slackConfig,`${t}.slackConfig`,e);return{...o?{formatProfile:o}:{},...i?{subjectOverride:i}:{},...a?{titleOverride:a}:{},...d?{summaryOverride:d}:{},...r.actionBlockVisible!==void 0?{actionBlockVisible:m}:{},...p?{slackConfig:p}:{},...f?{webhookConfig:f}:{}}}function Be(n,t){if(n==null)return;const e=h(n,"deliveryConfig.channelConfigs",t),r={};return Object.entries(e).forEach(([o,i])=>{if(!D(o)){c(t,`deliveryConfig.channelConfigs.${o}`,"Expected a supported delivery channel.");return}r[o]=_e(i,`deliveryConfig.channelConfigs.${o}`,t)}),Object.keys(r).length>0?r:void 0}function Le(n,t){var m,f,p;if(n==null)return null;const e=h(n,"deliveryConfig",t);s(e,"deliveryConfig",["recipients","channels","channelConfigs"],t);const r=Be(e.channelConfigs,t),o=Ee(e.recipients,t),i=Ce(e.channels,t),a=((f=(m=r==null?void 0:r.SLACK)==null?void 0:m.slackConfig)==null?void 0:f.destination.type)==="channel"&&!!r.SLACK.slackConfig.destination.channelId.trim();return i.some(I=>I!=="SLACK")&&o.length===0&&c(t,"deliveryConfig.recipients","Add at least one recipient or remove delivery config."),i.length===0&&c(t,"deliveryConfig.channels","Choose at least one delivery channel or remove delivery config."),i.includes("SLACK")&&!a&&c(t,"deliveryConfig.channelConfigs.SLACK.slackConfig.destination.channelId","Choose a Slack channel destination."),!i.includes("SLACK")&&((p=r==null?void 0:r.SLACK)!=null&&p.slackConfig)&&c(t,"deliveryConfig.channelConfigs.SLACK","Slack config requires SLACK in deliveryConfig.channels."),{recipients:o,channels:i,...r?{channelConfigs:r}:{}}}function _(n){const t=[],e=h(n,"draft",t);s(e,"draft",["name","description","status","scheduleExpr","timezone","source","body","attachments","presentation","limits","deliveryConfig"],t);const r=u(e.name,"name",l.name,t),o=y(e.description,"description",l.description,t)??null,i=y(e.scheduleExpr,"scheduleExpr",500,t)??null,a=y(e.timezone,"timezone",200,t)??"UTC",d=ce(e.status,t),m=M(e.source,t),f=P(e.body,t),p=K(e.attachments,t),I=j(e.presentation,t),F=G(e.limits,t),H=Le(e.deliveryConfig,t);return U(f,p,t),L(t),{name:r,description:o,status:d,scheduleExpr:i,timezone:a,source:m,body:f,attachments:p,presentation:I,...F?{limits:F}:{},deliveryConfig:H}}function Re(n){return _(n)}function we(n){return _(n)}function De(n){try{return{valid:!0,value:_(n),issues:[]}}catch(t){if(t instanceof C)return{valid:!1,issues:t.issues};throw t}}function Fe(n){try{return{valid:!0,value:R(n),issues:[]}}catch(t){if(t instanceof C)return{valid:!1,issues:t.issues};throw t}}function ze(n){return typeof n=="string"&&O.has(n)}function D(n){return typeof n=="string"&&W.has(n)}exports.BRIEFING_ARTIFACT_FORMATS=N;exports.BRIEFING_CONTENT_LIMITS=g;exports.BRIEFING_KIND=S;exports.BRIEFING_TEXT_LIMITS=l;exports.BriefingContractError=C;exports.DEFAULT_BRIEFING_ARTIFACT_FORMATS=k;exports.MAX_BRIEFING_ATTACHMENTS=x;exports.buildBriefingJobConfig=$e;exports.buildCreateBriefingRequest=Re;exports.buildUpdateBriefingRequest=we;exports.isBriefingArtifactFormat=ze;exports.isBriefingDeliveryChannel=D;exports.normalizeBriefingContentDocument=q;exports.normalizeBriefingDraft=_;exports.normalizeBriefingJobConfig=R;exports.validateBriefingContentDocument=ye;exports.validateBriefingDraft=De;exports.validateBriefingJobConfig=Fe;
|