PageSourceSearch

https://midlandsoccerclub.com/chunk-4SMAESTK.js

js midlandsoccerclub.com collected 2026-10-09 22:41:22 UTC 97,475 bytes, 533 lines download raw bytes

1import{a as te}from"./chunk-IPNZ22E3.js";import{a as H,d as Xt,e as Jt}from"./chunk-KVMIYEBS.js";import{a as K,d as zt,e as Zt}from"./chunk-DLHY2JKF.js";import"./chunk-WLMRFXCZ.js";import"./chunk-Z3AXU4EF.js";import"./chunk-NXTJBJRP.js";import{B as Tt,Be as qt,Ce as Bt,D as Dt,Ec as Ut,Ia as Ot,Id as Z,Kb as Pt,Mb as Vt,Od as Gt,b as Et,d as It,jb as Mt,k as At,kh as Yt,sg as Wt,vg as jt,wg as Kt,xb as $t,xg as Ht,yg as Qt}from"./chunk-X5J6QTCG.js";import{$ as Y,$a as u,Ad as st,D as _t,Da as xt,Db as bt,E as ut,Fa as r,Fb as M,Hb as F,Ib as t,Jb as I,Ka as z,Kb as w,Lb as O,Ma as Ct,Mb as B,Na as X,Ni as Nt,Qb as P,Ra as gt,Rb as V,Sa as at,Sb as U,U as R,Wc as St,Xa as T,Xb as ot,_ as ft,bb as f,ca as ht,cb as L,cc as J,eb as D,fa as y,fb as k,fi as Rt,ga as v,gb as C,hb as l,hd as lt,ib as s,j as pt,jb as h,kd as N,lc as W,nc as j,pj as Lt,qb as S,qc as rt,sb as b,tb as m,xb as yt,xd as kt,yb as vt,yd as Ft,zb as wt}from"./chunk-SMW7PHYX.js";import{a as $,b as G}from"./chunk-BMIYOSOG.js";var tt=(()=>{let d=class d{constructor(){this.webAPI=ht(Rt)}startSession(n){return this.webAPI.postData("admin/calendar-agent/sessions",{prompt:n})}startSessionFromDocument(n,i){return this.webAPI.postFileAndBody("admin/calendar-agent/sessions/from-document",n,n.name,{prompt:i})}getSessions(){return this.webAPI.getData("admin/calendar-agent/sessions")}getSession(n){return this.webAPI.getData(`admin/calendar-agent/sessions/${n}`)}getSessionStatus(n){return this.webAPI.getData(`admin/calendar-agent/sessions/${n}/status`)}sendMessage(n,i,o=null){return this.webAPI.postData(`admin/calendar-agent/sessions/${n}/messages`,{message:i,selections:o})}applyDraft(n){return this.webAPI.postData(`admin/calendar-agent/drafts/${n}/apply`,{})}discardDraft(n){return this.webAPI.postData(`admin/calendar-agent/drafts/${n}/discard`,{})}undoDraft(n,i=!1){return this.webAPI.postData(`admin/calendar-agent/drafts/${n}/undo`,{force:i})}getDraftEvents(n){return this.webAPI.getData(`admin/calendar-agent/drafts/${n}/events`)}saveDraftEvents(n,i){return this.webAPI.putData(`admin/calendar-agent/drafts/${n}/events`,i)}deleteDraftEvent(n,i){return this.webAPI.deleteData(`admin/calendar-agent/drafts/${n}/events/${i}`)}getOptionCatalog(n=!1){let i=new lt;return i=i.append("fresh",n?"true":"false"),this.webAPI.getData("admin/calendar-agent/option-catalog",i)}getEventMetadata(){return this.webAPI.getData("admin/clubs/calendar-events/metadata")}getTeams(){let n=new lt;return n=n.append("includeInactive","false"),this.webAPI.getData("admin/teams/all",n)}getFields(){return this.webAPI.getData("admin/clubs/calendar-events/fields")}};d.\u0275fac=function(i){return new(i||d)},d.\u0275prov=ft({token:d,factory:d.\u0275fac});let a=d;return a})();var A=(function(a){return a[a.QUEUED=1]="QUEUED",a[a.RUNNING=2]="RUNNING",a[a.AWAITING_REVIEW=3]="AWAITING_REVIEW",a[a.NEEDS_INPUT=4]="NEEDS_INPUT",a[a.APPLIED=5]="APPLIED",a[a.DISCARDED=6]="DISCARDED",a[a.FAILED=7]="FAILED",a[a.UNDONE=8]="UNDONE",a})(A||{});var ee=["Before I can answer this, I need to know:"];var ct="cancel_events",et="retime_events",Q="relocate_events",nt="add_volunteer_roles",ne="import_rows",ie={get_club_calendar_context:"Reviewed your calendar setup",search_events:"Searched your events",get_event_details:"Read event details",list_teams:"Looked through your teams",list_fields:"Checked your fields",get_field_schedule:"Checked field schedules",find_free_fields:"Checked field availability",list_volunteer_role_templates:"Reviewed volunteer role templates",resolve_import_file:"Matched your import file against your club data",present_questions:"Asked you a few questions",present_answer:"Answered your question",propose_calendar_plan:"Staged a plan for your review"},ae={search_events:"events",list_teams:"teams",list_fields:"fields",find_free_fields:"fields"},oe={[A.QUEUED]:"Queued",[A.RUNNING]:"Working",[A.AWAITING_REVIEW]:"Ready for review",[A.NEEDS_INPUT]:"Waiting for your reply",[A.APPLIED]:"Applied",[A.DISCARDED]:"Discarded",[A.FAILED]:"Failed",[A.UNDONE]:"Undone"},re={[A.QUEUED]:"info",[A.RUNNING]:"info",[A.AWAITING_REVIEW]:"warning",[A.NEEDS_INPUT]:"warning",[A.APPLIED]:"success",[A.DISCARDED]:"disabled",[A.FAILED]:"error",[A.UNDONE]:"default"};var mt=()=>["/admin/calendar/review"],it=(a,d)=>d.key,pe=(a,d)=>d.sequence;function _e(a,d){a&1&&t(0,`
2            We couldn't check whether the AI Calendar Assistant is available for your club. Refresh the page to try again.
3        `)}function ue(a,d){a&1&&t(0,`
4            The AI Calendar Assistant is not enabled for your club, or we couldn't confirm it just now. Refresh the page to try again, or contact Sprocket Sports support if you would like to join the beta.
5        `)}function fe(a,d){if(a&1&&(t(0,`
6    `),l(1,"app-inline-alert",3),t(2,`
7        `),u(3,_e,1,0)(4,ue,1,0),s(),t(5,`
8`)),a&2){let e=m();r(),C("isInline",!0),r(2),f(e.featureCheckFailed?3:4)}}function he(a,d){if(a&1){let e=S();t(0,`
9                `),l(1,"label",10),t(2,"Recent sessions"),s(),t(3,`
10                `),l(4,"p-select",11),b("ngModelChange",function(i){y(e);let o=m(2);return v(o.openSession(i))}),s(),t(5,`
11            `)}if(a&2){let e=m(2);r(4),C("options",e.sessionOptions)("ngModel",e.selectedSessionID)}}function xe(a,d){if(a&1){let e=S();t(0,`
12                `),l(1,"button",12),b("click",function(){y(e);let i=m(2);return v(i.startOver())}),t(2,`
13                    `),h(3,"i",13),t(4,`
14                    New Conversation
15                `),s(),t(5,`
16            `)}}function Ce(a,d){a&1&&(t(0,`
17        `),l(1,"app-loader"),t(2,"Loading session..."),s(),t(3,`
18    `))}function ge(a,d){if(a&1&&(t(0,`
19                            `),l(1,"p",22),t(2),s(),t(3,`
20                        `)),a&2){let e=m(3);r(2),I(e.draft.summary)}}function ye(a,d){if(a&1&&(t(0,`
21                            `),l(1,"app-inline-alert",23),t(2,`
22                                `),l(3,"span",24),t(4,"Your calendar changed while this plan was waiting"),s(),t(5),s(),t(6,`
23                        `)),a&2){let e=m(3);r(),C("isInline",!0),r(4),w(`
24                                `,e.applyDriftNotice,`
25                            `)}}function ve(a,d){if(a&1&&(t(0,`
26                                        `),l(1,"li"),t(2),s(),t(3,`
27                                    `)),a&2){let e=d.$implicit;r(2),I(e)}}function we(a,d){if(a&1&&(t(0,`
28                            `),l(1,"app-inline-alert",25),t(2,`
29                                `),l(3,"span",24),t(4,"This plan has problems the assistant needs to fix:"),s(),t(5,`
30                                `),l(6,"ul",26),t(7,`
31                                    `),D(8,ve,4,1,null,null,L),s(),t(10,`
32                            `),s(),t(11,`
33                        `)),a&2){let e=m(3);r(),C("isInline",!0),r(7),k(e.draft.validation.errors)}}function be(a,d){if(a&1&&(t(0,`
34                                        `),l(1,"li"),t(2),s(),t(3,`
35                                    `)),a&2){let e=d.$implicit;r(2),I(e)}}function Se(a,d){if(a&1&&(t(0,`
36                            `),l(1,"app-inline-alert",27),t(2,`
37                                `),l(3,"span",24),t(4,"Worth knowing before you apply:"),s(),t(5,`
38                                `),l(6,"ul",26),t(7,`
39                                    `),D(8,be,4,1,null,null,L),s(),t(10,`
40                            `),s(),t(11,`
41                        `)),a&2){let e=m(3);r(),C("isInline",!0),r(7),k(e.draft.plan.warnings)}}function Ee(a,d){if(a&1&&(t(0,`
42                                                `),l(1,"span",7),t(2),s(),t(3,`
43                                            `)),a&2){let e=m().$implicit;r(2),I(e.detail)}}function Ie(a,d){if(a&1&&(t(0,`
44                                            `),l(1,"span",34),t(2),s(),t(3,`
45                                        `)),a&2){let e=m().$implicit;r(2),O("",e.eventCount," event",e.eventCount===1?"":"s")}}function Ae(a,d){if(a&1&&(t(0,`
46                                    `),l(1,"div",31),t(2,`
47                                        `),l(3,"div",32),t(4,`
48                                            `),l(5,"span",33),t(6),s(),t(7,`
49                                            `),u(8,Ee,4,1),s(),t(9,`
50                                        `),u(10,Ie,4,2),s(),t(11,`
51                                `)),a&2){let e=d.$implicit,n=d.$index,i=d.$count;r(),M("border-bottom",n!==i-1),r(5),I(e.label),r(2),f(e.detail?8:-1),r(2),f(e.eventCount!==null?10:-1)}}function Te(a,d){if(a&1&&(t(0,`
52                            `),l(1,"div",28),t(2,`
53                                `),l(3,"div",29),t(4,`
54                                    `),h(5,"i",30),t(6,`
55                                    `),l(7,"span",16),t(8),s(),t(9,`
56                                `),s(),t(10,`
57                                `),D(11,Ae,12,5,null,null,L),s(),t(13,`
58                        `)),a&2){let e=m(3);r(8),I(e.pendingLocationRows[0].created?"Locations this plan created":"Locations this plan will create when you apply it"),r(3),k(e.pendingLocationRows)}}function De(a,d){if(a&1&&(t(0,`
59                                    `),t(1,`
60                                    `),l(2,"span",40),t(3,`
61                                        `),h(4,"i"),t(5),s(),t(6,`
62                                `)),a&2){let e=m(4);r(2),M("text-grey",!e.planNotifies),T("data-notify",e.planNotifies),r(2),F(e.planNotifies?"fa-regular fa-bell mr-1":"fa-regular fa-bell-slash mr-1"),r(),w(`
63                                        `,e.planNotifies?"Members notified on publish":"No notifications",`
64                                    `)}}function ke(a,d){if(a&1&&t(0),a&2){let e=m(6);w(`
65                                                        \xB7 location set, `,e.locationType.toLowerCase(),` not added yet
66                                                    `)}}function Fe(a,d){a&1&&t(0,`
67                                                        \xB7 not one of your locations
68                                                    `)}function Re(a,d){if(a&1){let e=S();t(0,`
69                                                    `),l(1,"button",48),b("click",function(){y(e);let i=m().$implicit,o=m(5);return v(o.addLocationForGroup(i))}),t(2,`
70                                                        `),h(3,"i",13),t(4,`Add this location
71                                                    `),s(),t(5,`
72                                                `)}}function Ne(a,d){if(a&1){let e=S();t(0,`
73                                                    `),l(1,"button",49),b("click",function(){y(e);let i=m().$implicit,o=m(5);return v(o.addFieldForGroup(i))}),t(2,`
74                                                        `),h(3,"i",13),t(4),s(),t(5,`
75                                                `)}if(a&2){let e=m(6);r(4),w("Add this ",e.locationType.toLowerCase(),`
76                                                    `)}}function Le(a,d){if(a&1){let e=S();t(0,`
77                                        `),l(1,"div",44),t(2,`
78                                            `),l(3,"div",32),t(4,`
79                                                `),l(5,"span",33),t(6),s(),t(7,`
80                                                `),l(8,"span",7),t(9),u(10,ke,1,1)(11,Fe,1,0),s(),t(12,`
81                                            `),s(),t(13,`
82                                            `),l(14,"div",45),t(15,`
83                                                `),u(16,Re,6,0)(17,Ne,6,1),l(18,"button",46),b("click",function(){let i=y(e).$implicit,o=m(5);return v(o.selectGroupRows(i))}),t(19,`
84                                                    `),h(20,"i",47),t(21,`Select events
85                                                `),s(),t(22,`
86                                            `),s(),t(23,`
87                                        `),s(),t(24,`
88                                    `)}if(a&2){let e=d.$implicit,n=m(5);r(),T("data-needs",e.needs),r(5),I(n.unmatchedGroupLabel(e)),r(3),O(`
89                                                    `,e.eventIDs.length," event",e.eventIDs.length===1?"":"s",`
90                                                    `),r(),f(e.needs==="field"?10:11),r(6),f(e.needs==="location"&&e.name?16:e.needs==="field"?17:-1)}}function Oe(a,d){if(a&1&&(t(0,`
91                                `),l(1,"div",41),t(2,`
92                                    `),l(3,"div",29),t(4,`
93                                        `),h(5,"i",42),t(6,`
94                                        `),l(7,"span",16),t(8),s(),t(9,`
95                                    `),s(),t(10,`
96                                    `),D(11,Le,25,6,null,null,it),l(13,"div",43),t(14,"Or pick an existing location in the Location column \u2014 select the events first to fill them all at once."),s(),t(15,`
97                                `),s(),t(16,`
98                            `)),a&2){let e=m(4);r(8),O(`
99                                            `,e.unmatchedGroups.length===1?"A location":e.unmatchedGroups.length+" locations"," in this plan ",e.unmatchedGroups.length===1?"isn't":"aren't",` one of yours
100                                        `),r(3),k(e.unmatchedGroups)}}function Me(a,d){if(a&1&&t(0),a&2){let e=m().$implicit;w(`
101                                                        The file says \u201C`,e.fileValue,`\u201D
102                                                    `)}}function $e(a,d){if(a&1&&t(0),a&2){let e=m().$implicit;w(`
103                                                        No `,e.kind,` in the file
104                                                    `)}}function Pe(a,d){if(a&1){let e=S();t(0,`
105                                        `),l(1,"div",53),t(2,`
106                                            `),l(3,"div",32),t(4,`
107                                                `),l(5,"span",33),t(6,`
108                                                    `),u(7,Me,1,1)(8,$e,1,1),s(),t(9,`
109                                                `),l(10,"span",7),t(11),s(),t(12,`
110                                            `),s(),t(13,`
111                                            `),l(14,"div",45),t(15,`
112                                                `),l(16,"label",54),t(17),s(),t(18,`
113                                                `),l(19,"p-select",55),U("ngModelChange",function(i){let o=y(e).$implicit;return V(o.selectedID,i)||(o.selectedID=i),v(i)}),b("ngModelChange",function(){let i=y(e).$implicit,o=m(5);return v(o.applyAttentionPick(i))}),s(),t(20,`
114                                                `),l(21,"button",56),b("click",function(){let i=y(e).$implicit,o=m(5);return v(o.selectAttentionRows(i))}),t(22,`
115                                                    `),h(23,"i",47),t(24,`Select events
116                                                `),s(),t(25,`
117                                            `),s(),t(26,`
118                                        `),s(),t(27,`
119                                    `)}if(a&2){let e=d.$implicit,n=d.$index;r(),T("data-kind",e.kind)("data-count",e.eventIDs.length),r(6),f(e.fileValue?7:8),r(4),B("",e.eventIDs.length," event",e.eventIDs.length===1?"":"s"," \xB7 needs a ",e.kind),r(5),C("for","attention-"+n),r(),w("",e.kind==="team"?"Team":"Program"," for these events"),r(2),C("inputId","attention-"+n)("options",e.options),P("ngModel",e.selectedID),C("filter",!0)("placeholder",e.kind==="team"?"Pick the team":"Pick the program")}}function Ve(a,d){if(a&1&&(t(0,`
120                                `),l(1,"div",50),t(2,`
121                                    `),l(3,"div",29),t(4,`
122                                        `),h(5,"i",51),t(6,`
123                                        `),l(7,"span",52),t(8),s(),t(9,`
124                                    `),s(),t(10,`
125                                    `),D(11,Pe,28,13,null,null,it),l(13,"div",43),t(14,"A pick here fills every event in its group \u2014 then save your changes. You can also edit the Team and Program cells in the table, or remove an event from the plan."),s(),t(15,`
126                                `),s(),t(16,`
127                            `)),a&2){let e=m(4);r(8),B(`
128                                            `,e.incompleteCount," event",e.incompleteCount===1?"":"s"," still need",e.incompleteCount===1?"s":"",` a team or program before you can apply
129                                        `),r(3),k(e.attentionGroups)}}function Ue(a,d){a&1&&(t(0,`
130                                `),l(1,"app-inline-alert",57),t(2,`
131                                    The staged events could not be loaded. Refresh the page to try again, or open them on the
132                                    `),l(3,"a",58),t(4,"calendar review page"),s(),t(5,`
133                                    .
134                                `),s(),t(6,`
135                            `)),a&2&&(r(),C("isInline",!0),r(2),C("routerLink",J(2,mt)))}function Ge(a,d){a&1&&(t(0,`
136                                `),h(1,"app-loader"),t(2,`
137                            `))}function qe(a,d){if(a&1&&(t(0,`
138                                                `),h(1,"i",64),t(2)),a&2){let e=m(6);r(2),O(`
139                                                `,e.gridDirtyCount," unsaved ",e.gridDirtyCount===1?"change":"changes",`
140                                            `)}}function Be(a,d){a&1&&t(0,`
141                                                Click a cell to edit it. Tab and Enter move between cells.
142                                            `)}function We(a,d){if(a&1){let e=S();t(0,`
143                                    `),l(1,"div",60),t(2,`
144                                        `),l(3,"span",61),t(4,`
145                                            `),u(5,qe,3,2)(6,Be,1,0),s(),t(7,`
146                                        `),l(8,"button",62),b("click",function(){y(e);let i=m(5);return v(i.revertGridChanges())}),t(9,"Revert"),s(),t(10,`
147                                        `),l(11,"button",63),b("click",function(){y(e);let i=m(5);return v(i.saveGridChanges())}),t(12,`
148                                            `),h(13,"i"),t(14),s(),t(15,`
149                                    `),s(),t(16,`
150                                `)}if(a&2){let e=m(5);r(3),M("text-grey",!e.gridDirtyCount),T("data-count",e.gridDirtyCount),r(2),f(e.gridDirtyCount?5:6),r(3),C("disabled",!e.gridDirtyCount||e.gridSaving),r(3),C("disabled",!e.gridDirtyCount||e.gridSaving),r(2),F(e.gridSaving?"fa fa-spinner fa-spin mr-1":"fa-regular fa-floppy-disk mr-1"),r(),w(`
151                                            `,e.gridSaving?"Saving\u2026":"Save changes",`
152                                        `)}}function je(a,d){if(a&1){let e=S();t(0,`
153                                `),l(1,"app-dynamic-form-grid",59),b("dirtyChange",function(i){y(e);let o=m(4);return v(o.onGridDirtyChange(i))})("addOption",function(i){y(e);let o=m(4);return v(o.onGridAddOption(i))})("rowAction",function(i){y(e);let o=m(4);return v(o.onGridRowAction(i))}),s(),t(2,`
154
155                                `),u(3,We,17,9)}if(a&2){let e=m(4);r(),C("fields",e.eventFields)("columns",e.gridColumns)("rows",e.gridRows)("readonly",e.gridReadOnly)("busy",e.gridSaving||e.gridLoading)("selectable",!e.gridReadOnly)("optionsFor",e.optionsForFn)("rowStatus",e.rowStatusFn)("rowActions",e.gridRowActions),r(2),f(e.gridReadOnly?-1:3)}}function Ke(a,d){if(a&1&&(t(0,`
156                            `),l(1,"div",35),t(2,`
157                                `),l(3,"span",36),t(4),s(),t(5,`
158                                `),u(6,De,7,6),s(),t(7,`
159
160                            `),u(8,Oe,17,2),u(9,Ve,17,3),u(10,Ue,7,3)(11,Ge,3,0)(12,je,4,10),l(13,"div",37),t(14,`
161                                `),l(15,"a",38),t(16,`
162                                    `),h(17,"i",39),t(18,`
163                                    View these drafts on the calendar review page
164                                `),s(),t(19,`
165                            `),s(),t(20,`
166                        `)),a&2){let e=m(3);r(4),w("Staged events (",e.gridRows.length||e.createdEventIDs.length," \u2014 drafts, invisible to members)"),r(2),f(e.mixedNotifyIntent?-1:6),r(2),f(e.unmatchedGroups.length&&!e.gridReadOnly?8:-1),r(),f(e.attentionGroups.length&&!e.gridReadOnly?9:-1),r(),f(e.gridLoadFailed?10:!e.eventFields.length||e.gridLoading&&!e.gridRows.length?11:12),r(5),C("routerLink",J(6,mt))}}function He(a,d){if(a&1&&(t(0,`
167                                    `),l(1,"p",69),t(2,`
168                                        `),h(3,"i",70),t(4),s(),t(5,`
169                                `)),a&2){let e=m().$implicit;r(4),w(`
170                                        `,e.changeDetail,`
171                                    `)}}function Qe(a,d){if(a&1&&(t(0),W(1,"date")),a&2){let e=m(2).$implicit;w(`
172                                            \u2013 `,j(1,1,e.lastStart,"MMM d, y"),`
173                                        `)}}function Ye(a,d){if(a&1&&(t(0,`
174                                    `),l(1,"p",71),t(2,`
175                                        `),h(3,"i",72),t(4),W(5,"date"),u(6,Qe,2,4),W(7,"date"),W(8,"date"),s(),t(9,`
176                                `)),a&2){let e=m().$implicit;r(4),w(`
177                                        `,j(5,2,e.firstStart,"MMM d, y"),`
178                                        `),r(2),f(e.lastStart&&j(7,5,e.lastStart,"MMM d, y")!==j(8,8,e.firstStart,"MMM d, y")?6:-1)}}function ze(a,d){if(a&1&&(t(0,`
179                                            `),l(1,"li",74),t(2,`
180                                                `),h(3,"i"),t(4),s(),t(5,`
181                                        `)),a&2){let e=d.$implicit,n=m(2).$implicit;r(3),F(ot("",n.iconClass," mr-1")),r(),w(`
182                                                `,e,`
183                                            `)}}function Xe(a,d){if(a&1&&(t(0,`
184                                            `),l(1,"li",7),t(2),s(),t(3,`
185                                        `)),a&2){let e=m(2).$implicit;r(2),w("\u2026and ",e.count-e.sampleTitles.length," more")}}
185function Je(a,d){if(a&1&&(t(0,`
186                                    `),l(1,"ul",73),t(2,`
187                                        `),D(3,ze,6,4,null,null,L),u(5,Xe,4,1),s(),t(6,`
188                                `)),a&2){let e=m().$implicit;r(3),k(e.sampleTitles),r(2),f(e.count>e.sampleTitles.length?5:-1)}}function Ze(a,d){if(a&1&&(t(0,`
189                            `),l(1,"div",65),t(2,`
190                                `),l(3,"span",66),t(4,`
191                                    `),h(5,"i"),t(6),s(),t(7,`
192                                `),l(8,"p",67),t(9),s(),t(10,`
193                                `),u(11,He,6,1),u(12,Ye,10,11),u(13,Je,7,1),l(14,"span",68),t(15,`
194                                    `),h(16,"i"),t(17),s(),t(18,`
195                            `),s(),t(19,`
196                        `)),a&2){let e=d.$implicit;r(),T("data-op-kind",e.actionLabel),r(4),F(ot("",e.iconClass," mr-1")),r(),B(`
197                                    `,e.count," event",e.count===1?"":"s"," will be ",e.actionLabel,`
198                                `),r(3),I(e.criteriaSentence),r(2),f(e.changeDetail?11:-1),r(),f(e.firstStart?12:-1),r(),f(e.sampleTitles.length?13:-1),r(),M("text-grey",e.notifyUsers!==!0),T("data-notify",e.notifyUsers===!0),r(2),F(e.notifyUsers===!0?"fa-regular fa-bell mr-1":"fa-regular fa-bell-slash mr-1"),r(),w(`
199                                    `,e.notifyUsers===!0?e.notifyOnLabel:e.notifyOffLabel,`
200                                `)}}function tn(a,d){if(a&1&&(t(0," "),l(1,"span"),t(2),s(),t(3," ")),a&2){let e=m(2).$implicit;r(2),w(" (",e.sourceSummary,")")}}function en(a,d){if(a&1&&(t(0,`
201                                        `),l(1,"span",82),t(2),u(3,tn,4,1),s(),t(4,`
202                                    `)),a&2){let e=m().$implicit;r(2),w(`
203                                            from `,e.documentName),r(),f(e.sourceSummary?3:-1)}}function nn(a,d){a&1&&(t(0,`
204                                                        `),l(1,"span",88),t(2,"You confirmed this with the assistant."),s(),t(3,`
205                                                    `))}function an(a,d){if(a&1&&(t(0,`
206                                                `),l(1,"li",87),t(2),u(3,nn,4,0),s(),t(4,`
207                                            `)),a&2){let e=d.$implicit;r(),T("data-assumption-key",e.key),r(),w(`
208                                                    `,e.summary,`
209                                                    `),r(),f(e.question?3:-1)}}function on(a,d){if(a&1&&(t(0,`
210                                    `),l(1,"div",83),t(2,`
211                                        `),l(3,"span",84),t(4,`
212                                            `),h(5,"i",85),t(6,`
213                                            The file didn't say everything \u2014 here's what was assumed
214                                        `),s(),t(7,`
215                                        `),l(8,"ul",86),t(9,`
216                                            `),D(10,an,5,3,null,null,it),s(),t(12,`
217                                    `),s(),t(13,`
218                                `)),a&2){let e=m().$implicit;r(10),k(e.assumptions)}}function rn(a,d){if(a&1&&t(0),a&2){let e=m(2).$implicit;B(`
219                                                `,e.incompleteRowCount," event",e.incompleteRowCount===1?" was":"s were"," staged without something the file couldn't name \u2014 finish ",e.incompleteRowCount===1?"it":"them",` in the table above before you apply
220                                            `)}}function ln(a,d){a&1&&t(0,`
221                                                Worth a look in the table above
222                                            `)}function sn(a,d){if(a&1&&(t(0,`
223                                                `),l(1,"li",91),t(2),s(),t(3,`
224                                            `)),a&2){let e=d.$implicit;r(),M("text-body",e.blocksApply),T("data-attention-key",e.key),r(),I(e.summary)}}function dn(a,d){if(a&1&&(t(0,`
225                                    `),l(1,"div",89),t(2,`
226                                        `),l(3,"span",84),t(4,`
227                                            `),h(5,"i",90),t(6,`
228                                            `),u(7,rn,1,3)(8,ln,1,0),s(),t(9,`
229                                        `),l(10,"ul",86),t(11,`
230                                            `),D(12,sn,4,4,null,null,it),s(),t(14,`
231                                    `),s(),t(15,`
232                                `)),a&2){let e=m().$implicit;r(7),f(e.incompleteRowCount>0?7:8),r(5),k(e.attention)}}function cn(a,d){if(a&1&&t(0),a&2){let e=m().$implicit;w(" of ",e.source)}}function mn(a,d){if(a&1&&(t(0,`
233                                                `),l(1,"li",94),t(2),u(3,cn,
2331,1),t(4),s(),t(5,`
234                                            `)),a&2){let e=d.$implicit;r(2),w("Row ",e.rowNumber),r(),f(e.source?3:-1),r(),w(" ",e.message)}}function pn(a,d){if(a&1&&(t(0,`
235                                    `),l(1,"div",92),t(2,`
236                                        `),l(3,"span",84),t(4,`
237                                            `),h(5,"i",93),t(6),s(),t(7,`
238                                        `),l(8,"ul",86),t(9,`
239                                            `),D(10,mn,6,3,null,null,L),s(),t(12,`
240                                    `),s(),t(13,`
241                                `)),a&2){let e=m().$implicit;r(6),O(`
242                                            `,e.skippedRows.length," row",e.skippedRows.length===1?" was":"s were",` skipped
243                                        `),r(4),k(e.skippedRows)}}function _n(a,d){if(a&1&&(t(0,`
244                                    `),l(1,"p",95),t(2,`
245                                        `),h(3,"i",96),t(4),s(),t(5,`
246                                `)),a&2){let e=m().$implicit;r(4),O(`
247                                        `,e.unresolvedCellCount," name",e.unresolvedCellCount===1?"":"s",` in the file could not be matched \u2014 flagged below, and on the events they belong to.
248                                    `)}}function un(a,d){if(a&1&&(t(0,`
249                                    `),l(1,"p",95),t(2,`
250                                        `),h(3,"i",96),t(4),s(),t(5,`
251                                `)),a&2){let e=m().$implicit;r(4),O(`
252                                        `,e.inferredCellCount," match",e.inferredCellCount===1?"":"es",` below 100 \u2014 flagged below.
253                                    `)}}function fn(a,d){a&1&&(t(0,`
254                                            `),l(1,"tr"),t(2,`
255                                                `),l(3,"th",98),t(4,"Column"),s(),t(5,`
256                                                `),l(6,"th",98),t(7,"In your file"),s(),t(8,`
257                                                `),l(9,"th",98),t(10,"Matched to"),s(),t(11,`
258                                                `),l(12,"th",98),t(13,"Confidence"),s(),t(14,`
259                                                `),l(15,"th",98),t(16,"Why"),s(),t(17,`
260                                                `),l(18,"th",98),t(19,"Rows"),s(),t(20,`
261                                            `),s(),t(21,`
262                                        `))}function hn(a,d){a&1&&(t(0,`
263                                                        `),l(1,"span",101),t(2,"\u2014"),s(),t(3,`
264                                                    `))}function xn(a,d){if(a&1&&t(0),a&2){let e=m().$implicit;w(`
265                                                        `,e.resolvedName,`
266                                                    `)}}function Cn(a,d){a&1&&(t(0,`
267                                                        `),h(1,"app-pill",102),t(2,`
268                                                    `))}function gn(a,d){a&1&&(t(0,`
269                                                        `),h(1,"app-pill",103),t(2,`
270                                                    `))}function yn(a,d){a&1&&(t(0,`
271                                                        `),h(1,"app-pill",104),t(2,`
272                                                    `))}function vn(a,d){if(a&1&&(t(0,`
273                                                        `),h(1,"app-pill",105),t(2,`
274                                                    `)),a&2){let e=m().$implicit;r(),C("status",e.inferred?"warning":"success")("text",e.confidence+"%")}}function wn(a,d){if(a&1&&(t(0,`
275                                            `),l(1,"tr",99),t(2,`
276                                                `),l(3,"td"),t(4),s(),t(5,`
277                                                `),l(6,"td"),t(7),s(),t(8,`
278                                                `),l(9,"td"),t(10,`
279                                                    `),u(11,hn,4,0)(12,xn,1,1),s(),t(13,`
280                                                `),l(14,"td",100),t(15,`
281                                                    `),u(16,Cn,3,0)(17,gn,3,0)(18,yn,3,0)(19,vn,3,2),s(),t(20,`
282                                                `),l(21,"td",7),t(22),s(),t(23,`
283                                                `),l(24,"td"),t(25),s(),t(26,`
284                                            `),s(),t(27,`
285                                        `)),a&2){let e=d.$implicit;r(4),I(e.columnLabel),r(2),M("fw-600",e.inferred||e.unresolved),r(),I(e.value),r(4),f(e.unresolved||e.freeText?11:12),r(3),T("data-confidence",e.unresolved?"unmatched":e.freeText?"text":e.confidence),r(2),f(e.unresolved?16:e.pending?17:e.freeText?18:19),r(6),I(e.reason),r(3),I(e.rowCount)}}function bn(a,d){if(a&1&&(t(0,`
286                                    `),l(1,"p-table",97),t(2,`
287                                        `),at(3,fn,22,0,"ng-template",null,0,rt),t(5,`
288                                        `),at(6,wn,28,9,"ng-template",null,1,rt),t(8,`
289                                    `),s(),t(9,`
290                                `)),a&2){let e=m().$implicit;r(),C("value",e.cells)}}function Sn(a,d){a&1&&(t(0,`
291                                    `),l(1,"p",78),t(2,"Every reference in the file already carried its ID \u2014 nothing needed matching."),s(),t(3,`
292                                `))}function En(a,d){if(a&1&&(t(0,`
293                            `),l(1,"div",75),t(2,`
294                                `),l(3,"span",76),t(4,`
295                                    `),h(5,"i",77),t(6),u(7,en,5,2),s(),t(8,`
296                                `),l(9,"p",78),t(10,`
297                                    Names in the file were matched against your club's own data. Exact and admin-confirmed matches show 100;
298                                    anything lower was inferred \u2014 check those before you apply. The imported events are drafts, invisible to members.
299                                `),s(),t(11,`
300
301                                `),t(12,`
302                                `),u(13,on,14,0),u(14,dn,16,1),u(15,pn,14,2),u(16,_n,6,2)(17,un,6,2),u(18,bn,10,1)(19,Sn,4,0),l(20,"div",79),t(21,`
303                                    `),l(22,"a",80),t(23,`
304                                        `),h(24,"i",39),t(25,`
305                                        View the imported drafts on calendar review
306                                    `),s(),t(26,`
307                                    `),l(27,"span",81),t(28,`
308                                        `),h(29,"i"),t(30),s(),t(31,`
309                                `),s(),t(32,`
310                            `),s(),t(33,`
311                        `)),a&2){let e=d.$implicit;r(6),O(`
312                                    `,e.rowCount," event",e.rowCount===1?"":"s",` will be imported as drafts
313                                    `),r(),f(e.documentName?7:-1),r(6),f(e.assumptions.length?13:-1),r(),f(e.attention.length?14:-1),r(),f(e.skippedRows.length?15:-1),r(),f(e.unresolvedCellCount>0?16:e.inferredCellCount>0?17:-1),r(2),f(e.cells.length?18:19),r(4),C("routerLink",J(15,mt)),r(5),M("text-grey",e.notifyUsers!==!0),T("data-notify",e.notifyUsers===!0),r(2),F(e.notifyUsers===!0?"fa-regular fa-bell mr-1":"fa-regular fa-bell-slash mr-1"),r(),w(`
314                                        `,e.notifyUsers===!0?"Members will be notified when the imported events are published":"No notifications on publish",`
315                                    `)}}function In(a,d){if(a&1){let e=S();t(0,`
316                            `),l(1,"app-inline-alert",106),t(2,`
317                                `),l(3,"span",24),t(4,"Undo needs a second look"),s(),t(5),l(6,"div",107),t(7,`
318                                    `),l(8,"button",108),b("click",function(){y(e);let i=m(3);return v(i.requestAction("forceUndo"))}),t(9,`
319                                        `),h(10,"i",109),t(11,`
320                                        Undo anyway
321                                    `),s(),t(12,`
322                                `),s(),t(13,`
323                            `),s(),t(14,`
324                        `)}if(a&2){let e=m(3);r(),C("isInline",!0),r(4),w(`
325                                `,e.forceUndoMessage,`
326                                `),r(3),C("disabled",e.draftActionsLocked)}}function An(a,d){if(a&1&&(t(0,`
327                            `),l(1,"span",110),t(2,`
328                                `),h(3,"i",111),t(4),s(),t(5,`
329                        `)),a&2){let e=m(3);r(),C("pTooltip",e.draft.plan.assumptions.join(" \u2022 ")),r(3),w(`
330                                `,e.draft.plan.assumptions.length,`
331                                assumption(s) made
332                            `)}}function Tn(a,d){if(a&1){let e=S();t(0,`
333                            `),l(1,"button",112),b("click",function(){y(e);let i=m(3);return v(i.requestAction("discard"))}),t(2,`
334                                `),h(3,"i",113),t(4,`
335                                Discard
336                            `),s(),t(5,`
337                        `)}if(a&2){let e=m(3);r(),C("disabled",e.draftActionsLocked||e.gridDirtyCount>0)("pTooltip",e.gridDirtyCount?"Save or revert your edits first":null)}}function Dn(a,d){if(a&1){let e=S();t(0,`
338                            `),l(1,"button",114),b("click",function(){y(e);let i=m(3);return v(i.requestAction("apply"))}),t(2,`
339                                `),h(3,"i",115),t(4,`
340                                Apply
341                            `),s(),t(5,`
342                        `)}if(a&2){let e=m(3);r(),C("disabled",e.draftActionsLocked||!!e.applyBlockedReason)("pTooltip",e.applyBlockedReason),T("data-blocked",e.applyBlockedReason?"true":null)}}function kn(a,d){if(a&1){let e=S();t(0,`
343                            `),l(1,"button",116),b("click",function(){y(e);let i=m(3);return v(i.requestAction("undo"))}),t(2,`
344                                `),h(3,"i",109),t(4,`
345                                Undo
346                            `),s(),t(5,`
347                        `)}if(a&2){let e=m(3);r(),C("disabled",e.draftActionsLocked)}}function Fn(a,d){if(a&1&&(t(0,`
348            `),l(1,"div",14),t(2,`
349                `),l(3,"div",15),t(4,`
350                    `),l(5,"span",16),t(6,`
351                        `),h(7,"i",17),t(8,`
352                        Staged plan
353                        `),l(9,"span",18),t(10),s(),t(11,`
354                    `),s(),t(12,`
355                `),s(),t(13,`
356                `),l(14,"div",19),t(15,`
357                    `),l(16,"div",20),t(17,`
358                        `),u(18,ge,4,1),u(19,ye,7,2),u(20,we,12,1),u(21,Se,12,1),u(22,Te,14,1),u(23,Ke,21,7),D(24,Ze,20,17,null,null,L),D(26,En,34,16,null,null,L),u(28,In,15,3),s(),t(29,`
359                    `),l(30,"div",21),t(31,`
360                        `),u(32,An,6,2),u(33,Tn,6,2),u(34,Dn,6,3),u(35,kn,6,1),s(),t(36,`
361                `),s(),t(37,`
362            `),s(),t(38,`
363        `)),a&2){let e=m(2);r(),F(e.workColumnClass),r(9),w("v",e.draft.version),r(8),f(e.draft.summary?18:-1),r(),f(e.applyDriftNotice?19:-1),r(),f(!(e.draft.validation==null||e.draft.validation.errors==null)&&e.draft.validation.errors.length?20:-1),r(),f(!(e.draft.plan==null||e.draft.plan.warnings==null)&&e.draft.plan.warnings.length?21:-1),r(),f(e.pendingLocationRows.length?22:-1),r(),f(e.createdEventIDs.length||e.gridRows.length?23:-1),r(),k(e.mutationOperationRows),r(2),k(e.importOperationRows),r(2),f(e.forceUndoMessage?28:-1),r(4),f(!(e.draft.plan==null||e.draft.plan.assumptions==null)&&e.draft.plan.assumptions.length?32:-1),r(),f(e.draft.canDiscard?33:-1),r(),f(e.draft.canApply?34
363:-1),r(),f(e.draft.canUndo?35:-1)}}function Rn(a,d){if(a&1){let e=S();t(0,`
364                        `),l(1,"app-checkbox-row",128),U("ngModelChange",function(i){y(e);let o=m(3);return V(o.prompt,i)||(o.prompt=i),v(i)}),s(),t(2,`
365                    `)}if(a&2){let e=d.$implicit,n=d.$index,i=m(3);r(),C("compact",!0)("inputId","examplePrompt-"+n)("optionValue",e),P("ngModel",i.prompt),C("label",e)}}function Nn(a,d){if(a&1){let e=S();t(0,`
366                    `),l(1,"input",129,2),b("change",function(i){y(e);let o=m(3);return v(o.onFileSelected(i))}),s(),t(3,`
367                    `),l(4,"button",130),b("click",function(){y(e);let i=bt(2);return v(i.click())}),t(5,`
368                        `),h(6,"i",131),t(7,`
369                        Choose a file
370                    `),s(),t(8,`
371                `)}if(a&2){let e=m(3);r(),C("accept",e.acceptedDocumentTypes)}}function Ln(a,d){if(a&1){let e=S();t(0,`
372                    `),l(1,"div",132),t(2,`
373                        `),l(3,"span",133),h(4,"i",134),t(5),s(),t(6,`
374                        `),l(7,"button",135),b("click",function(){y(e);let i=m(3);return v(i.clearSelectedFile())}),t(8,"Remove"),s(),t(9,`
375                        `),l(10,"button",136),b("click",function(){y(e);let i=m(3);return v(i.startFromDocument())}),t(11,`
376                            `),h(12,"i"),t(13),s(),t(14,`
377                    `),s(),t(15,`
378                `)}if(a&2){let e=m(3);r(5),I(e.selectedFile.name),r(2),C("disabled",e.uploading),r(3),C("disabled",e.uploading),r(2),F(e.uploading?"fa fa-spinner fa-spin mr-1":"fa-duotone fa-sparkles mr-1"),r(),w(`
379                            `,e.uploading?"Reading\u2026":"Import this file",`
380                        `)}}function On(a,d){if(a&1){let e=S();t(0,`
381                `),l(1,"div",117),t(2,`
382                    `),h(3,"hr",118),t(4,`
383                    `),l(5,"span",119),t(6,"Manage your calendar with AI"),s(),t(7,`
384                    `),h(8,"hr",118),t(9,`
385                `),s(),t(10,`
386
387                `),l(11,"div",120),t(12,`
388                    `),l(13,"strong"),t(14,"Describe what you need"),s(),t(15,`
389                    \u2014 new events, bulk cancellations, or questions about your schedule \u2014 and the assistant stages it for your review.
390                    `),l(16,"strong"),t(17,"Nothing changes on your calendar until you apply"),s(),t(18,`
391                    , and new events arrive as drafts members can't see.
392                `),s(),t(19,`
393
394                `),l(20,"div",121),t(21,"Try an example \u2014 pick a prompt that matches what you need."),s(),t(22,`
395                `),l(23,"div",122),t(24,`
396                    `),D(25,Rn,3,5,null,null,L),s(),t(27,`
397
398                `),l(28,"div",123),t(29,`
399                    `),l(30,"label",124),t(31,"What would you like to do on your calendar?"),s(),t(32,`
400                    `),l(33,"textarea",125),U("ngModelChange",function(i){y(e);let o=m(2);return V(o.prompt,i)||(o.prompt=i),v(i)}),s(),t(34,`
401                `),s(),t(35,`
402
403                `),l(36,"div"),t(37,`
404                    `),l(38,"button",126),b("click",function(){y(e);let i=m(2);return v(i.startSession())}),t(39,`
405                        `),h(40,"i"),t(41),s(),t(42,`
406                `),s(),t(43,`
407
408                `),t(44,`
409                `),l(45,"div",117),t(46,`
410                    `),h(47,"hr",118),t(48,`
411                    `),l(49,"span",119),t(50,"Or import a calendar file"),s(),t(51,`
412                    `),h(52,"hr",118),t(53,`
413                `),s(),t(54,`
414
415                `),l(55,"div",127),t(56,`
416                    Upload a calendar export, a spreadsheet, or a `),l(57,"strong"),t(58,".zip of several files"),s(),t(59,` \u2014 CSV or Excel \u2014 and the
417                    assistant matches club, team, program, location and field `),l(60,"strong"),t(61,"names"),s(),t(62,` to your club's own data (no
418                    IDs needed), asks you about anything ambiguous, and stages every row as a draft event for your review.
419                    It reads a league's own schedule too: missing titles, event types and end times are filled 
419in, and it tells
420                    you every assumption it made. Anything you type above is used as extra instruction.
421                `),s(),t(63,`
422                `),u(64,Nn,9,1)(65,Ln,16,6)}if(a&2){let e=m(2);r(25),k(e.examplePrompts),r(8),P("ngModel",e.prompt),r(5),C("disabled",e.starting||!e.prompt.trim()),r(2),F(e.starting?"fa fa-spinner fa-spin mr-1":"fa-duotone fa-sparkles mr-1"),r(),w(`
423                        `,e.starting?"Starting\u2026":"Ask the assistant",`
424                    `),r(23),f(e.selectedFile?65:64)}}function Mn(a,d){if(a&1&&(t(0,`
425                                        `),l(1,"span",143),t(2),s(),t(3,`
426                                    `)),a&2){let e=m(4);r(2),I(e.workingStats)}}function $n(a,d){if(a&1&&(t(0,`
427                            `),l(1,"div",140),t(2,`
428                                `),h(3,"i",141),t(4,`
429                                `),l(5,"span"),t(6,`
430                                    `),l(7,"span",142),t(8),s(),t(9,`
431                                    `),u(10,Mn,4,1),s(),t(11,`
432                            `),s(),t(12,`
433                        `)),a&2){let e=m(3);r(8),I(e.workingLabel),r(2),f(e.workingStats?10:-1)}}function Pn(a,d){if(a&1){let e=S();t(0,`
434                                    `),l(1,"app-agent-question-panel",146),b("answeredChange",function(i){y(e);let o=m(4);return v(o.questionsAnswered=i)})("quickAnswer",function(){y(e);let i=m(4);return v(i.onQuickAnswer())}),s(),t(2,`
435                                `)}if(a&2){let e=m(4);r(),C("questions",e.activeQuestions)("questionKey",e.activeQuestionMessageID)("heading",e.questionPanelHeading)("hint",e.questionPanelHint)("disabled",e.sendingReply)}}function Vn(a,d){a&1&&(t(0,`
436                                    `),l(1,"app-inline-alert",147),t(2,`
437                                        `),l(3,"span",24),t(4,"You've edited this draft by hand"),s(),t(5,`
438                                        The assistant can answer questions but won't restage it. Apply publishes your edited events; to start over, Discard and ask again.
439                                    `),s(),t(6,`
440                                `)),a&2&&(r(),C("isInline",!0))}function Un(a,d){if(a&1){let e=S();t(0,`
441                            `),l(1,"div",144),t(2,`
442                                `),u(3,Pn,3,5),u(4,Vn,7,1),l(5,"app-agent-reply-composer",145),U("valueChange",function(i){y(e);let o=m(3);return V(o.reply,i)||(o.reply=i),v(i)}),b("send",function(){y(e);let i=m(3);return v(i.submitReply())}),s(),t(6,`
443                            `),s(),t(7,`
444                        `)}if(a&2){let e=m(3);r(3),f(e.showQuestionPanel?3:-1),r(),f(e.draft!=null&&e.draft.isHandEdited?4:-1),r(),C("label",e.composerLabel)("placeholder",e.composerPlaceholder)("hint",e.composerHint)("sending",e.sendingReply)("canSend",e.canSubmit)("sendLabel",e.sendLabel),P("value",e.reply)}}function Gn(a,d){a&1&&(t(0,`
445                            `),l(1,"p",148),t(2,`
446                                This plan was applied \u2014 the events are live on your calendar. Use Undo above if you need to take it back, or start a new conversation for your next request.
447                            `),s(),t(3,`
448                        `))}function qn(a,d){if(a&1){let e=S();t(0,`
449                                    `),l(1,"label",153),t(2,"Adjust your request and try again"),s(),t(3,`
450                                    `),l(4,"textarea",154),U("ngModelChange",function(i){y(e);let o=m(4);return V(o.reply,i)||(o.reply=i),v(i)}),s(),t(5,`
451                                    `),l(6,"p",155),t(7),s(),t(8,`
452                                    `),l(9,"div",156),t(10,`
453                                        `),l(11,"button",157),b("click",function(){y(e);let i=m(4);return v(i.startOver())}),t(12,"Start a new conversation instead"),s(),t(13,`
454                                        `),l(14,"button",158),b("click",function(){y(e);let i=m(4);return v(i.sendReply())}),t(15,`
455                                            `),h(16,"i"),t(17),s(),t(18,`
456                                    `),s(),t(19,`
457                                `)}if(a&2){let e=m(4);r(4),P("ngModel",e.reply),r(3),I(e.retryHint),r(7),C("disabled",!e.canSendReply),r(2),F(e.sendingReply?"fa fa-spinner fa-spin mr-1":"fa-regular fa-rotate-right mr-1"),r(),w(`
458                                            `,e.sendingReply?"Trying again\u2026":"Try again",`
459                                        `)}}function Bn(a,d){if(a&1){let e=S();t(0,`
460                                    `),l(1,"p",159),t(2,"Retrying here won't help \u2014 start this one over in a new conversation."),s(),t(3,`
461                                    `),l(4,"button",160),b("click",function(){y(e);let i=m(4);return v(i.startOver())}),t(5,`
462                                        `),h(6,"i",13),t(7,`
463                                        New conversation
464                                    `),s(),t(8,`
465                                `)}}function Wn(a,d){if(a&1&&(t(0,`
466                            `),l(1,"div",149),t(2,`
467                                `),l(3,"app-inline-alert",150),t(4,`
468                                    `),l(5,"span",151),t(6),s(),t(7,`
469                                    `),l(8,"span",152),t(9),s(),t(10,`
470                                `),s(),t(11,`
471
472                                `),u(12,qn,20,6)(13,Bn,9,0),s(),t(14,`
473                        `)),a&2){let e=m(3);r(),T("data-retryable",e.canRetryFailure),r(2),C("alertType",e.canRetryFailure?"warning":"error")("isInline",!0),r(3),I(e.failureHeadline),r(3),I(e.session.errorMessage||"Something went wrong while working on your request."),r(3),f(e.canRetryFailure?12:13)}}function jn(a,d){if(a&1&&(t(0,`
474                                        `),l(1,"li",164),t(2,`
475                                            `),h(3,"i",165),t(4),s(),t(5,`
476                                    `)),a&2){let e=d.$implicit,n=m(4);r(4),w(`
477                                            `,n.friendlyAction(e),`
478                                        `)}}function Kn(a,d){if(a&1&&(t(0,`
479                            `),l(1,"div",161),t(2,`
480                                `),l(3,"span",162),t(4,"Agent activity"),s(),t(5,`
481                                `),l(6,"ul",163),t(7,`
482                                    `),D(8,jn,6,1,null,null,pe),s(),t(10,`
483                            `),s(),t(11,`
484                        `)),a&2){let e=m(3);r(8),k(e.session.actions)}}function Hn(a,d){if(a&1){let e=S();t(0,`
485                `),l(1,"app-agent-chat-panel",137),U("collapsedChange",function(i){y(e);let o=m(2);
485return V(o.chatCollapsed,i)||(o.chatCollapsed=i),v(i)}),t(2,`
486                        `),h(3,"app-pill",138),t(4,`
487
488                        `),t(5,`
489                        `),h(6,"app-agent-chat-transcript",139),t(7,`
490
491                        `),t(8,`
492                        `),u(9,$n,13,2),u(10,Un,8,9),u(11,Gn,4,0),u(12,Wn,15,6),u(13,Kn,12,0),s(),t(14,`
493            `)}if(a&2){let e=m(2);r(),C("canCollapse",e.canHideChat),P("collapsed",e.chatCollapsed),r(2),C("status",e.statusPill(e.session.statusID))("text",e.statusLabel(e.session.statusID)),T("data-status",e.session.statusID),r(3),C("messages",e.transcriptMessages)("renderMarkdown",!0)("answers",e.transcriptAnswers)("selections",e.transcriptSelections)("sourceNouns",e.sourceNouns),r(3),f(e.isProcessing(e.session.statusID)?9:-1),r(),f(e.canReply?10:-1),r(),f(e.session.statusID===e.SessionStatus.APPLIED?11:-1),r(),f(e.hasFailed?12:-1),r(),f(e.session.actions!=null&&e.session.actions.length?13:-1)}}function Qn(a,d){if(a&1){let e=S();t(0,`
494        `),l(1,"app-yes-no-modal",166),b("onYesSelect",function(){y(e);let i=m(2);return v(i.confirmActionYes())})("onNoSelect",function(){y(e);let i=m(2);return v(i.cancelAction())}),s(),t(2,`
495    `)}if(a&2){let e=m(2);r(),C("modalText",e.confirmText)("loading",e.actionBusy)("alertType",e.confirmAction==="discard"||e.confirmAction==="forceUndo"?"warning":"info")}}function Yn(a,d){if(a&1){let e=S();t(0,`
496        `),l(1,"div",167),t(2,`
497            `),l(3,"div",168),t(4,`
498                `),l(5,"div",169),t(6,"Add Location"),s(),t(7,`
499                `),l(8,"div",170),t(9,`
500                    `),l(10,"app-practice-facility-form",171),b("saveComplete",function(i){y(e);let o=m(2);return v(o.addedNewPracticeFacility(i))})("cancelEvent",function(){y(e);let i=m(2);return v(i.showAddFacilityModal=!1)}),s(),t(11,`
501                `),s(),t(12,`
502            `),s(),t(13,`
503        `),s(),t(14,`
504    `)}if(a&2){let e=m(2);r(10),C("practiceFacilityEntity",e.practiceFacility)}}function zn(a,d){if(a&1){let e=S();t(0,`
505        `),l(1,"div",172),t(2,`
506            `),l(3,"div",168),t(4,`
507                `),l(5,"div",169),t(6),s(),t(7,`
508                `),l(8,"div",170),t(9,`
509                    `),l(10,"app-facility-field-form",173),b("saveComplete",function(i){y(e);let o=m(2);return v(o.addedNewFacilityField(i))})("cancelEvent",function(){y(e);let i=m(2);return v(i.showAddFieldModal=!1)}),s(),t(11,`
510                `),s(),t(12,`
511            `),s(),t(13,`
512        `),s(),t(14,`
513    `)}if(a&2){let e=m(2);r(6),w("Add ",e.locationType),r(4),C("facilityFieldEntity",e.facilityField)}}function Xn(a,d){if(a&1&&(t(0,`
514    `),l(1,"div",4),t(2,`
515        `),l(3,"app-inline-alert",5),t(4,`
516            `),h(5,"app-pill",6),t(6,`
517            `),l(7,"span",7),t(8,"Everything is staged for your review \u2014 events are created as drafts and nothing changes on your calendar until you apply."),s(),t(9,`
518        `),s(),t(10,`
519        `),l(11,"span",8),t(12,`
520            `),u(13,he,6,2),u(14,xe,6,0),s(),t(15,`
521    `),s(),t(16,`
522
523    `),u(17,Ce,4,0),l(18,"div",9),t(19,`
524        `),t(20,`
525        `),u(21,Fn,39,14),l(22,"div"),t(23,`
526            `),t(24,`
527            `),u(25,On,66,6),u(26,Hn,15,15),s(),t(27,`
528    `),s(),t(28,`
529
530    `),t(29,`
531    `),u(30,Qn,3,3),u(31,Yn,15,1),u(32,zn,15,2)),a&2){let e=m();r(3),C("alertType","info")("isInline",!1),r(10),f(e.sessionOptions.length?13:-1),r(),f(e.session?14:-1),r(3),f(e.loadingSession?17:-1),r(4),f(e.draft?21:-1),r(),F(e.chatColumnClass),r(3),f(!e.session&&!e.loadingSession?25:-1),r(),f(e.session?26:-1),r(4),f(e.confirmAction?30:-1),r(),f(e.showAddFacilityModal?31:-1),r(),f(e.showAddFieldModal?32:-1)}}var Jn={label:"Add Location",value:-1,icon:"fa fa-plus",isAddOption:!0},le=200,Zn={[ct]:{verb:"Cancel",actionLabel:"cancelled",iconClass:"fa-regular fa-ban text-red",notifyOnLabel:"Members will be notified of the cancellation",notifyOffLabel:"No cancellation notifications"},[et]:{verb:"Reschedule",actionLabel:"rescheduled",iconClass:"fa-regular fa-clock text-warning",notifyOnLabel:"Members will be notified of the change",notifyOffLabel:"No change notifications"},[Q]:{verb:"Move",actionLabel:"relocated",iconClass:"fa-regular fa-location-dot text-warning",notifyOnLabel:"Members will be notified of the change",notifyOffLabel:"No change notifications"},[nt]:{verb:"Add volunteer roles to",actionLabel:"given volunteer roles",iconClass:"fa-regular fa-user-plus text-info",notifyOnLabel:"No notifications \u2014 members see the open roles on the event",n
531otifyOffLabel:"No notifications \u2014 members see the open roles on the event"}},ti={Club:"Club",Team:"Team",OpponentTeam:"Opponent team",Program:"Program",Location:"Location",Field:"Field"},ei=["Sundays","Mondays","Tuesdays","Wednesdays","Thursdays","Fridays","Saturdays"],ni={CLUB:"Club",PRACTICE:"Practice",GAME:"Game",OTHER:"Other"},se=(()=>{let d=class d extends te{get api(){return this.calendarAgentService}constructor(n,i,o){super(n),this.calendarAgentService=i,this.router=o,this.display={statusLabels:oe,statusPills:re,toolActionLabels:ie},this.copy={workingReading:"Reading your request and reviewing your calendar\u2026",retryNarrowerAsk:"one event, one day, or a simpler question.",retryFirstHint:"Narrowing it down usually does it: fewer events, a tighter date range, or one request at a time. Your conversation and anything already staged are kept."},this.acceptedDocumentTypes=".csv,.tsv,.txt,.xlsx,.zip",this.selectedFile=null,this.uploading=!1,this.confirmAction=null,this.actionBusy=!1,this.applyDriftNotice=null,this.forceUndoMessage=null,this.draftKey="",this.draftIdentity="",this.mutationOperationRows=[],this.importOperationRows=[],this.pendingLocationRows=[],this.createdEventIDs=[],this.eventFields=[],this.gridColumns=[],this.gridRows=[],this.gridLoading=!1,this.gridSaving=!1,this.gridDirtyCount=0,this.gridReadOnly=!1,this.gridLoadFailed=!1,this.locationType="Field",this.unmatchedGroups=[],this.allUnmatchedGroups=[],this.attentionGroups=[],this.incompleteCount=0,this.mixedNotifyIntent=!1,this.rowInfo=new Map,this.rowResults=new Map,this.catalog=null,this.locationOptions=[],this.metadataRequested=!1,this.catalogRequested=!1,this.gridIdentity="",this.handEditConfirmed=!1,this.pendingRemoveKey=null,this.pendingAdd=null,this.showAddFacilityModal=!1,this.showAddFieldModal=!1,this.practiceFacility=new K,this.facilityField=new H,this.gridRowActions=[{key:"open",icon:"fa-regular fa-pencil",label:"Open in the event editor"},{key:"remove",icon:"fa-regular fa-trash",label:"Remove from this plan",show:c=>this.canRemoveRow(c)}],this.rowStatusFn=c=>this.rowStatus(c),this.optionsForFn=(c,p)=>this.optionsFor(c,p),this.teamNames=null,this.fieldNames=null,this.facilityNames=null,this.teamsRequested=!1,this.fieldsRequested=!1,this.SessionStatus=A,this.examplePrompts=["Add U12 practice every Tuesday 6\u20137:30pm at our main field through the end of October","Cancel all events next Saturday \u2014 the fields are flooded. Let everyone know.","What does our calendar look like next week?"],this.transcriptMessages=[],this.transcriptAnswers={},this.sourceNouns=ae,this.transcriptSelections={}}ngOnInit(){this.checkFeature(Nt.ENABLE_AI_CALENDAR_AGENT,()=>this.loadSessions())}applySessionDerivedState(){this.prepareTranscript(),this.syncDraftRows()}clearAgentState(){this.selectedFile=null,this.applyDriftNotice=null,this.forceUndoMessage=null,this.draftKey="",this.draftIdentity="",this.pendingLocationRows=[],this.mutationOperationRows=[],this.importOperationRows=[],this.createdEventIDs=[],this.resetGrid()}startSession(){let n=(this.prompt||"").trim();!n||this.starting||this.startWith(this.calendarAgentService.startSession(n))}onFileSelected(n){let i=n.target,o=i.files?.[0]??null;if(i.value="",!!o){if(o.size>d.MaxDocumentBytes){this.siteDataService.showSiteErrorAlert("That file is too large. Please upload a file under 10 MB.");return}this.selectedFile=o}}clearSelectedFile(){this.selectedFile=null}startFromDocument(){!this.selectedFile||this.uploading||(this.uploading=!0,this.calendarAgentService.startSessionFromDocument(this.selectedFile,(this.prompt||"").trim()).pipe(R(this.unsubscribe$)).subscribe({next:n=>{this.uploading=!1,this.prompt="",this.selectedFile=null,this.setSession(n),this.loadSessions()},error:n=>{if(this.uploading=!1,n?.status===N.TooManyRequests)this.siteDataService.showSiteWarnAlert(this.extractErrorMessage(n)||"You have reached the assistant usage limit. Please try again later.");else{let i=n?.status===N.BadRequest?this.extractErrorMessage(n):null;this.siteDataService.showSiteErrorAlert(i||"There was a problem reading that file. Please try again.")}}}))}get canSendReply(){return!this.sendingReply&&!!this.reply?.trim()}get questionPanelHeading(){return"A few answers first"}get questionPanelHint(){return"Pick the answers that fit, or write your own. Anything you skip, the assistant decides for you and records as an assumption."}get composerLabel(){return this.soleOpenQuestion?this.soleOpenQuestion.question:this.showQuestionPanel?"Anything else the assistant should know?":this.replyingToDraft?"Want anything changed? Tell the assistant":"The assistant needs a little more information"}get composerPlaceholder(){return this.showQuestionPanel?"Optional \u2014 anything the questions above don't cover\u2026":this.soleOpenQuestion?"Type your answer\u2026":this.replyingToDraft?"e.g. Make it 6:30 instead, and don't notify anyone\u2026":"Type your answer\u2026"}
531get composerHint(){let n=[];return this.showQuestionPanel&&n.push("Sent together with the answers you picked above."),this.replyingToDraft&&n.push(this.draft?.isHandEdited?"You edited this draft by hand, so the assistant answers questions but won't restage it.":"The assistant restages the plan with your changes \u2014 the staged version below is replaced."),n.length>0?n.join(" "):null}transcriptText(n){return!n?.message||!this.isActiveQuestionMessage(n)?n?.message:Wt(n.message,ee)}prepareTranscript(){this.transcriptMessages=(this.session?.messages??[]).map(o=>G($({},o),{message:this.transcriptText(o)}));let n={},i={};for(let o of this.session?.messages??[])o.answer?.headline&&(n[o.messageID]=o.answer),o.selections?.selections?.length&&(i[o.messageID]=o.selections);this.transcriptAnswers=n,this.transcriptSelections=i}get draft(){return this.session?.draft??null}get confirmText(){switch(this.confirmAction){case"apply":return this.applyConfirmText;case"discard":return"Discard this plan? Its draft events are deleted \u2014 nothing was ever visible to members.";case"undo":return"Undo this plan? Published events return to draft and cancelled events are restored.";case"forceUndo":return"Undo anyway? Edits made to these events after the plan was applied will be overwritten.";case"saveGrid":return"Save your edits? From here on the assistant can answer questions about this draft but won't regenerate it \u2014 Apply publishes your edited events, or Discard and ask again to start over.";case"removeRow":return"Remove this event from the plan? Its draft is deleted \u2014 nothing was ever visible to members.";default:return""}}get applyConfirmText(){return(this.draft?.plan?.operations??[]).some(i=>i.notifyUsers===!0)?"Apply this plan? Draft events are published and the operations below run \u2014 members WILL be notified where shown.":"Apply this plan? Draft events are published and the operations below run. No notifications will be sent."}get draftActionsLocked(){return this.actionBusy||!!this.session&&this.isProcessing(this.session.statusID)}requestAction(n){this.confirmAction=n}cancelAction(){this.confirmAction=null}confirmActionYes(){let n=this.draft?.draftID,i=this.confirmAction;if(!n||!i||this.actionBusy)return;if(i==="saveGrid"){this.confirmAction=null,this.handEditConfirmed=!0,this.performGridSave();return}if(i==="removeRow"){this.confirmAction=null,this.performRemoveRow();return}this.actionBusy=!0,(i==="apply"?this.calendarAgentService.applyDraft(n):i==="discard"?this.calendarAgentService.discardDraft(n):this.calendarAgentService.undoDraft(n,i==="forceUndo")).pipe(R(this.unsubscribe$)).subscribe({next:()=>{this.actionBusy=!1,this.confirmAction=null,this.applyDriftNotice=null,this.forceUndoMessage=null,i==="apply"?this.siteDataService.showSiteSuccessAlert("The plan was applied. Published events are live on your calendar."):i==="discard"?this.siteDataService.showSiteSuccessAlert("Plan discarded. Its draft events were deleted."):this.siteDataService.showSiteSuccessAlert("The plan was undone."),this.refreshSession()},error:c=>{this.actionBusy=!1,this.confirmAction=null,this.handleActionError(i,c)}})}handleActionError(n,i){let o=this.extractErrorMessage(i);if(i?.status===N.Conflict&&n==="apply"){this.applyDriftNotice=(o||"The events this plan targets changed since it was staged.")+" The plan below has been refreshed with your calendar's current state \u2014 please re-review it and apply again.",this.refreshSession();return}if(i?.status===N.Conflict&&n==="undo"){this.forceUndoMessage=o||"Events in this plan were edited after it was applied \u2014 undoing would overwrite those edits.";return}let c=[N.BadRequest,N.Conflict].includes(i?.status)?o:null;this.siteDataService.showSiteErrorAlert(c||"There was a problem completing that action. Please try again.")}syncDraftRows(n=!1){let i=this.draft;if(!i){this.draftKey="",this.draftIdentity="",this.pendingLocationRows=[],this.mutationOperationRows=[],this.importOperationRows=[],this.createdEventIDs=[],this.resetGrid();return}let o=`${i.draftID}:${i.version}:${i.statusID}`,c=`${o}:${i.updatedOn}`;if(c===this.draftKey&&!n)return;o!==this.draftIdentity&&(this.applyDriftNotice=null,this.forceUndoMessage=null),this.draftKey=c,this.draftIdentity=o;let p=i.plan?.operations??[];this.mutationOperationRows=p.filter(_=>!!this.mutationTargets(_)).map(_=>this.toMutationRow(_)),this.importOperationRows=p.filter(_=>_?.kind===ne&&_.import?.resolution).map(_=>this.toImportRow(_)),this.createdEventIDs=i.createdEventIDs??[],this.pendingLocationRows=this.toPendingLocationRows(i),this.mixedNotifyIntent=new Set(p.map(_=>_?.notifyUsers===!0)).size>1,o!==this.gridIdentity&&this.loadGrid(o),this.ensureNameLookups(p)}mutationTargets(n){switch(n?.kind){case ct:return n.cancel;case et:return n.retime;case Q:return n.relocate;case nt:return n.addVolunteerRoles;default:return null}}volunteerRolesSummary(n){return(n??[]).filter(i=>!!i).map(i=>{let o=Math.max(1,i.quantity??1),c=i.points?` (${i.points} pt${i.points===1?"":"s"})`:"";return`${o} \xD7 ${i.name}${c}`}).join(", ")}toMutationRow(n){let i=this.mutationTargets(n),o=Zn[n.kind];return{kind:n.kind,count:i.resolvedSummary?.count??i.resolvedEventIDs?.length??0,actionLabel:o.actionLabel,iconClass:o.iconClass,criteriaSentence:this.criteriaSentence(i,o.verb),changeDetail:this.changeDetail(n),firstStart:this.parsePlanDate(i.resolvedSummary?.firstStart),lastStart:this.parsePlanDate(i.resolvedSummary?.lastStart),sampleTitles:i.resolvedSummary?.sampleTitles??[],notifyUsers:n.notifyUsers,notifyOnLabel:o.notifyOnLabel,notifyOffLabel:o.notifyOffLabel}}criteriaSentence(n,i){let o=n.criteria;if(!o)return`${i} the events listed below. Sign-ups, rentals and ticketed events are never touched.`;
531let c=(o.eventTypes??[]).map(g=>ni[g?.toUpperCase()]??g).join(", "),p=[];p.push(`${i} ${c?c.toLowerCase()+" events":"events"}`),o.title&&p.push(`with titles containing "${o.title}"`);let _=this.parsePlanDate(o.startDate),x=this.parsePlanDate(o.endDate);return _&&x&&_.toDateString()===x.toDateString()?p.push(`on ${this.formatDate(_)}`):_&&x&&p.push(`starting ${this.formatDate(_)} through ${this.formatDate(x)}`),o.daysOfWeek?.length&&p.push(`on ${o.daysOfWeek.map(g=>ei[g]??"").filter(g=>g).join(", ")}`),o.teamID&&p.push(`for ${this.nameFor(o.teamID,this.teamNames,"team")}`),o.fieldID?p.push(`at ${this.nameFor(o.fieldID,this.fieldNames,"field")}`):o.facilityID&&p.push(`at ${this.nameFor(o.facilityID,this.facilityNames,"facility")}`),p.join(" ")+". Sign-ups, rentals and ticketed events are never touched."}toImportRow(n){let i=n.import.resolution,o=(i.cells??[]).map(p=>this.toImportCellRow(p)),c=i.sources??[];return{documentName:i.documentName,rowCount:i.totalRows,cells:o,inferredCellCount:o.filter(p=>p.inferred).length,unresolvedCellCount:i.unresolvedCellCount??o.filter(p=>p.unresolved).length,freeTextCellCount:o.filter(p=>p.freeText).length,incompleteRowCount:i.incompleteRowCount??0,skippedRows:i.rowErrors??[],attention:i.attention??[],assumptions:i.assumptions??[],sourceSummary:c.length>1?`${c.length} files`:null,notifyUsers:n.notifyUsers}}toImportCellRow(n){let i=n.resolvedID!==null&&n.resolvedID!==void 0,o=!i&&!!n.pendingCreate;return{columnLabel:ti[n.column]??n.column,value:n.value,resolvedName:o?`${n.newFacility?.name??n.value} (new)`:n.resolvedName,confidence:n.confidence,inferred:i&&n.confidence<100,unresolved:!i&&!n.isFreeText&&!o,freeText:!i&&!!n.isFreeText&&!o,pending:o,reason:n.reason,rowCount:n.rowCount}}changeDetail(n){if(n.kind===et&&n.retime)return this.retimeDetail(n.retime);if(n.kind===Q&&n.relocate)return this.relocateDetail(n.relocate);if(n.kind===nt&&n.addVolunteerRoles){let i=this.volunteerRolesSummary(n.addVolunteerRoles.roles);return i?`Adds to each event: ${i}. Each unit is one open sign-up slot.`:null}return null}retimeDetail(n){if(n.shiftMinutes){let c=Math.abs(n.shiftMinutes),p=c%60===0?`${c/60} hour${c===60?"":"s"}`:`${c} minute${c===1?"":"s"}`,_=n.shiftMinutes>0?"later":"earlier";return`Each event moves ${p} ${_} \u2014 same duration, same timezone.`}let i=this.formatTimeOfDay(n.newStartTime),o=this.formatTimeOfDay(n.newEndTime);return!i||!o?null:`New time: ${i} \u2013 ${o}, on each event's own date.`}relocateDetail(n){let i=this.locationLabel(n.facilityID,n.fieldIDs,n.newFacility,n.newFields);return i?`New location: ${i}. Current field assignments are replaced.`:"The events move to the selected location. Current field assignments are replaced."}locationLabel(n,i,o,c){let p=o?.name?`${o.name} (new)`:n?this.nameFor(n,this.facilityNames,"Facility"):null,_=[...(i??[]).map(g=>this.nameFor(g,this.fieldNames,"Field")),...(c??[]).filter(g=>!!g?.name).map(g=>`${g.name} (new)`)],x=[p,_.length?_.join(", "):null].filter(g=>!!g);return x.length?x.join(" \u2014 "):null}toPendingLocationRows(n){if(n.createdLocations?.length)return n.createdLocations.map(o=>({label:o.facilityCreated?`${o.facilityName} (new facility)`:o.facilityName,detail:o.fields.length?`Fields created: ${o.fields.map(c=>c.name).join(", ")}`:null,eventCount:null,created:!0}));let i=[];for(let o of n.pendingLocations??[]){let c=o.newFacility,p=c?`${c.name} (new facility)`:this.nameFor(o.facilityID??0,this.facilityNames,"Facility"),_=c?[c.address1,c.address2,c.city,[c.state,c.zip].filter(E=>!!E).join(" ")].filter(E=>!!E).join(", "):null,x=(o.newFields??[]).filter(E=>!!E?.name).map(E=>E.name),g=[_,x.length?`New field${x.length===1?"":"s"}: ${x.join(", ")}`:null].filter(E=>!!E).join(" \xB7 ");i.push({label:p,detail:g||null,eventCount:o.eventIDs?.length??0,created:!1})}return i}formatTimeOfDay(n){let i=/^(\d{1,2}):(\d{2})$/.exec(n??"");return i?this.formatTime(new Date(2e3,0,1,Number(i[1]),Number(i[2]))):null}ensureNameLookups(n){let i=n.map(_=>this.mutationTargets(_)?.criteria).filter(_=>!!_),o=n.filter(_=>_?.kind===Q&&_.relocate).map(_=>_.relocate),c=i.some(_=>!!_.teamID),p=i.some(_=>!!_.fieldID||!!_.facilityID)||o.some(_=>!!_.facilityID||!!_.fieldIDs?.length);c&&!this.teamsRequested&&(this.teamsRequested=!0,this.calendarAgentService.getTeams().pipe(R(this.unsubscribe$)).subscribe({next:_=>{this.teamNames=new Map((_??[]).map(x=>[x.teamID,x.name])),this.syncDraftRows(!0)},error:()=>{this.teamNames=new Map}})),p&&!this.fieldsRequested&&(this.fieldsRequested=!0,this.calendarAgentService.getFields().pipe(R(this.unsubscribe$)).subscribe({next:_=>{this.fieldNames=new Map((_??[]).map(x=>[x.facilityFieldID,x.fieldName])),this.facilityNames=new Map((_??[]).filter(x=>!!x.practiceFacilityID&&!!x.practiceFacility?.name).map(x=>[x.practiceFacilityID,x.practiceFacility.name])),this.syncDraftRows(!0)},error:()=>{this.fieldNames=new Map,this.facilityNames=new Map}}))}namesFor(n,i,o){return n?.length?n.map(c=>i?.get(c)??`${o} #${c}`).join(", "):null}nameFor(n,i,o){return i?.get(n)??`${o} #${n}`}parsePlanDate(n){if(!n)return null;let i=n.length===10?`${n}T00:00:00`:n.replace(" ","T"),o=new Date(i);return isNaN(o.getTime())?null:o}formatTime(n){return n.toLocaleTimeString([],{hour:"numeric",minute:"2-digit"})}formatDate(n){return n.toLocaleDateString([],{month:"short",day:"numeric",year:"numeric"})}editorLink(n){return`/admin/calendar/${n}`}resetGrid(){this.gridIdentity="",this.gridRows=[],this.rowInfo=new Map,this.rowResults=new Map,this.unmatchedGroups=[],this.allUnmatchedGroups=[],this.attentionGroups=[],this.incompleteCount=0,this.gridDirtyCount=0,this.gridReadOnly=!1,this.gridLoadFailed=!1,this.handEditConfirmed=!1,this.pendingAdd=null,this.pendingRemoveKey=null,this.showAddFacilityModal=!1,this.showAddFieldModal=!1}loadGrid(n){this.gridIdentity=n,this.rowResults=new Map,this.handEditConfirmed=!1,this.ensureEventMetadata(),this.ensureCatalog(!1),this.loadDraftEvents()}ensureEventMetadata(){this.metadataRequested||(this.metadataRequested=!0,this.calendarAgentService.getEventMetadata().pipe(R(this.unsubscribe$)).subscribe({next:n=>this.applyEventMetadata(n?.fields??[]),error:()=>{this.metadataRequested=!1,this.gridLoadFailed=!0}}))}applyEventMetadata(n){let i=n.find(c=>c.controlName==="facilityFieldIDs");this.locationType=this.locationTypeFrom(i?.label);let o=n.find(c=>c.controlName==="locationID");this.locationOptions=[Jn,...(o?.options??[]).filter(c=>!c.isAddOption)],o&&(o.options=this.locationOptions),this.gridColumns=this.buildGridColumns(),this.eventFields=n}locationTypeFrom(n){let i=/^Location:\s*(.+?)\(s\)\s*$/.exec(n??"");return i?i[1].trim():"Field"}
531buildGridColumns(){return[{field:"clubEventTypeID",header:"Type",readonly:!0,width:"7rem"},{field:"title",header:"Title",width:"14rem"},{field:"startDate",part:"date",header:"Date",width:"9rem"},{field:"startDate",part:"time",header:"Start",width:"7rem"},{field:"endDate",part:"time",header:"End",width:"7rem"},{field:"isAllDayEvent",header:"All day",width:"5rem"},{field:"showTimeTBD",header:"Time TBD",width:"6rem"},{field:"programID",header:"Program",width:"11rem"},{field:"teamID",header:"Team",width:"11rem"},{field:"opponentTeamID",header:"Opponent team",width:"11rem"},{field:"opponent",header:"Opponent",width:"10rem"},{field:"awayGame",header:"Away",width:"5rem"},{field:"locationID",header:"Location",width:"12rem"},{field:"facilityFieldIDs",header:`${this.locationType}(s)`,width:"12rem"},{field:"arrival",part:"time",header:"Arrival",width:"7rem"},{field:"uniform",header:"Uniform",width:"9rem"},{field:"tag",header:"Tag",width:"7rem"},{field:"notes",header:"Notes",width:"16rem"},{field:"collectParticipation",header:"RSVP",width:"5rem"},{field:"isPrivate",header:"Private",width:"5rem"}]}ensureCatalog(n){this.catalogRequested&&!n||(this.catalogRequested=!0,this.calendarAgentService.getOptionCatalog(n).pipe(R(this.unsubscribe$)).subscribe({next:i=>{this.catalog=i??{programs:[],facilities:[]},this.gridRows=[...this.gridRows],this.attentionGroups=this.attentionGroups.map(o=>G($({},o),{options:this.attentionOptions(o)}))},error:()=>{this.catalogRequested=!1,this.siteDataService.showSiteWarnAlert("Program, team and field lists could not be loaded \u2014 the dropdowns may be incomplete.")}}))}loadDraftEvents(){let n=this.draft?.draftID;n&&(this.gridLoading=!0,this.calendarAgentService.getDraftEvents(n).pipe(R(this.unsubscribe$)).subscribe({next:i=>{this.gridLoading=!1,this.gridLoadFailed=!1,this.rowInfo=new Map((i??[]).map(o=>[o.event.id,o])),this.gridReadOnly=!this.draft?.canDiscard||(i??[]).some(o=>o.isReadOnly),this.gridRows=(i??[]).map(o=>o.event),this.allUnmatchedGroups=this.buildUnmatchedGroups(i??[]),this.refreshUnmatchedGroups(),this.attentionGroups=this.buildAttentionGroups(i??[]),this.incompleteCount=(i??[]).filter(o=>o.problems?.length).length},error:()=>{this.gridLoading=!1,this.gridLoadFailed=!0}}))}buildUnmatchedGroups(n){let i=new Map;return n.forEach(o=>{let c=o.unmatchedLocation;if(!c||!c.name&&!c.fieldNames?.length)return;let p=`${c.name??""}|${(c.fieldNames??[]).join(",")}`,_=i.get(p)??{key:p,name:c.name,fieldNames:c.fieldNames??[],eventIDs:[],needs:"location",locationID:null};_.eventIDs.push(o.event.id),i.set(p,_)}),[...i.values()]}refreshUnmatchedGroups(){this.unmatchedGroups=this.allUnmatchedGroups.map(n=>{let i=n.eventIDs.map(p=>this.grid?.valuesOf(p)??this.rowInfo.get(p)?.event??{}),o=i.every(p=>p.locationID)?i[0].locationID:null,c=i.every(p=>Array.isArray(p.facilityFieldIDs)&&p.facilityFieldIDs.length>0);return n.name&&!o?G($({},n),{needs:"location",locationID:null}):n.fieldNames.length&&!c?G($({},n),{needs:"field",locationID:o}):null}).filter(n=>!!n)}buildAttentionGroups(n){let i=new Map,o=(c,p,_)=>{let x=p?.name??null,g=`${c}|${x??""}`,E=i.get(g);E||(E={key:g,kind:c,fileValue:x,candidates:p?.candidates??[],eventIDs:[],options:[],selectedID:null},i.set(g,E)),E.eventIDs.push(_)};return n.forEach(c=>{let p=c.problems??[];if(!p.length)return;let _=x=>p.some(g=>g.toLowerCase().includes(x));!c.event?.teamID&&(c.unmatchedTeam||_("team"))&&o("team",c.unmatchedTeam,c.event.id),!c.event?.programID&&(c.unmatchedProgram||_("program"))&&o("program",c.unmatchedProgram,c.event.id)}),[...i.values()].map(c=>G($({},c),{options:this.attentionOptions(c)}))}attentionOptions(n){let i=new Set(n.candidates.map(p=>p.id)),o=n.candidates.map(p=>this.option(`${p.name} \u2014 suggested`,p.id));return(n.kind==="team"?this.teamOptions(this.catalog?.programs??[]):(this.catalog?.programs??[]).map(p=>this.option(p.name,p.programID))).filter(p=>!i.has(p.value)).forEach(p=>o.push(p)),o}applyAttentionPick(n){let i=n.selectedID;if(!i||!this.grid)return;let o=n.options.find(p=>p.value===i)?.label?.replace(/ — suggested$/,"")??"";n.eventIDs.forEach(p=>{let _=this.grid.valuesOf(p)??{};if(n.kind==="team"){let x=this.programsWithTeam(i),g=x.some(q=>q.programID===_.programID),E={teamID:i};!g&&x.length&&(E.programID=x[0].programID),this.grid.patchRow(p,E);return}this.grid.patchRow(p,{programID:i}),_.teamID&&this.grid.patchRow(p,{teamID:_.teamID})});let c=n.eventIDs.length;this.siteDataService.showSiteSuccessAlert(`${o} set on ${c} event${c===1?"":"s"} \u2014 save your changes to keep it.`)}selectAttentionRows(n){this.grid?.selectRows(n.eventIDs)}programsWithTeam(n){return(this.catalog?.programs??[]).filter(i=>(i.teams??[]).some(o=>o.id===n))}get applyBlockedReason(){return this.gridDirtyCount>0?"Save or revert your edits first":this.incompleteCount>0?`${this.incompleteCount} event${this.incompleteCount===1?" still needs":"s still need"} a team or program \u2014 pick them in the table, then save`:null}unmatchedGroupLabel(n){let i=n.fieldNames.length?`${this.locationType.toLowerCase()}${n.fieldNames.length===1?"":"s"} ${n.fieldNames.join(", ")}`:"";return n.name?i?`${n.name} (${i})`:n.name:i}optionsFor(n,i){switch(i.controlName){case"programID":return this.catalog?this.catalog.programs.map(o=>this.option(o.name,o.programID)):null;case"teamID":{if(!this.catalog)return null;let o=this.catalog.programs.find(c=>c.programID===n?.programID);return this.teamOptions(o?[o]:this.catalog.programs)}case"opponentTeamID":return this.catalog?this.teamOptions(this.catalog.programs):null;case"locationID":return this.locationOptions.length?this.locationOptions:null;case"facilityFieldIDs":{if(!n?.locationID)return[];let o=this.catalog?.facilities.find(p=>p.facilityID===n.locationID);return[{label:`Add ${this.locationType}`,value:-1,icon:"fa fa-plus",isAddOption:!0},...(o?.fields??[]).map(p=>this.option(p.name,p.id))]}default:return null}}teamOptions(n){let i=new Set,o=[];
531return n.forEach(c=>(c.teams??[]).forEach(p=>{i.has(p.id)||(i.add(p.id),o.push(this.option(p.name,p.id)))})),o}option(n,i){return{label:n,value:i}}rowStatus(n){let i=this.rowInfo.get(n?.id),o=this.rowResults.get(n?.id),c=[];i?.isSeriesChild&&c.push({label:"Series",icon:"fa-regular fa-repeat",tooltip:"One occurrence of a recurring series \u2014 editing it here marks it as manually edited.",testId:"agent-recurrence-badge"}),i?.isSeriesOriginal&&c.push({label:"Series start",icon:"fa-regular fa-repeat",tooltip:"The first event of a series \u2014 remove the whole series from the event editor.",testId:"agent-recurrence-badge"});let p=i?this.draft?.plan?.operations?.[i.operationIndex]?.create?.volunteerRoles:null;if(p?.length){let x=p.reduce((g,E)=>g+Math.max(1,E?.quantity??1),0);c.push({label:`${x} volunteer slot${x===1?"":"s"}`,icon:"fa-regular fa-hand",tooltip:this.volunteerRolesSummary(p),testId:"agent-volunteer-badge"})}if(this.mixedNotifyIntent&&i&&c.push(this.operationNotifies(i.operationIndex)?{label:"Notifies",icon:"fa-regular fa-bell",tooltip:"Members will be notified when this event is published."}:{label:"No notify",icon:"fa-regular fa-bell-slash",tooltip:"No notifications when this event is published."}),i?.unmatchedLocation){let x=this.unmatchedGroupLabel({name:i.unmatchedLocation.name,fieldNames:i.unmatchedLocation.fieldNames??[]});c.push({label:"Location not matched",icon:"fa-regular fa-location-dot",tooltip:`"${x}" is not one of your locations \u2014 pick one, or add it.`})}return i?.unmatchedTeam&&!n?.teamID&&c.push({label:"Team not matched",icon:"fa-regular fa-people-group",tooltip:`The file says "${i.unmatchedTeam.name}" \u2014 not one of your teams. Pick one.`,testId:"agent-unmatched-team-badge"}),i?.unmatchedProgram&&!n?.programID&&c.push({label:"Program not matched",icon:"fa-regular fa-list-tree",tooltip:`The file says "${i.unmatchedProgram.name}" \u2014 not one of your programs. Pick one.`,testId:"agent-unmatched-program-badge"}),{errors:[...o?.errors??[],...(i?.problems??[]).filter(x=>!(o?.errors??[]).includes(x))],warnings:o?.warnings??[],badges:c}}operationNotifies(n){return this.draft?.plan?.operations?.[n]?.notifyUsers===!0}get planNotifies(){return(this.draft?.plan?.operations??[]).some(n=>n?.notifyUsers===!0)}canRemoveRow(n){return!this.gridReadOnly&&!this.rowInfo.get(n?.id)?.isSeriesOriginal}onGridDirtyChange(n){this.gridDirtyCount=n,this.refreshUnmatchedGroups()}onGridRowAction(n){n.action==="open"?this.router.navigate([this.editorLink(n.key)]):n.action==="remove"&&(this.pendingRemoveKey=n.key,this.requestAction("removeRow"))}onGridAddOption(n){let i=this.rowInfo.get(n.key);if(n.field.controlName==="locationID"){this.practiceFacility=new K,this.practiceFacility.name=n.text||i?.unmatchedLocation?.name||"",this.pendingAdd={key:n.key,field:"locationID",group:this.groupContaining(n.key,"name")},this.showAddFacilityModal=!0;return}if(n.field.controlName==="facilityFieldIDs"){let o=n.values?.locationID;if(!o){this.siteDataService.showSiteWarnAlert(`Pick a location first \u2014 a ${this.locationType.toLowerCase()} belongs to one.`);return}this.facilityField=new H,this.facilityField.practiceFacilityID=o,this.facilityField.fieldName=n.text||i?.unmatchedLocation?.fieldNames?.[0]||"",this.pendingAdd={key:n.key,field:"facilityFieldIDs",group:this.groupContaining(n.key,"fields")},this.showAddFieldModal=!0}}groupContaining(n,i){let o=this.unmatchedGroups.find(c=>c.eventIDs.includes(n));return o?i==="name"?o.name?o:null:o.fieldNames.length?o:null:null}addLocationForGroup(n){this.practiceFacility=new K,this.practiceFacility.name=n.name??"",this.pendingAdd={key:n.eventIDs[0],field:"locationID",group:n},this.showAddFacilityModal=!0}addFieldForGroup(n){if(!n.locationID){this.siteDataService.showSiteWarnAlert(`Pick a location first \u2014 a ${this.locationType.toLowerCase()} belongs to one.`);return}this.facilityField=new H,this.facilityField.practiceFacilityID=n.locationID,this.facilityField.fieldName=n.fieldNames[0]??"",this.pendingAdd={key:n.eventIDs[0],field:"facilityFieldIDs",group:n},this.showAddFieldModal=!0}selectGroupRows(n){this.grid?.selectRows(n.eventIDs)}addedNewPracticeFacility(n){this.showAddFacilityModal=!1;let i=n?.practiceFacility?.id;if(!i){this.pendingAdd=null;return}n.choseExistingFacility||(this.locationOptions=[...this.locationOptions,this.option(n.practiceFacility.name,i)],this.grid?.setOptions("locationID",this.locationOptions),this.ensureCatalog(!0));let o=this.pendingAdd?.group?this.pendingAdd.group.eventIDs:this.pendingAdd?[this.pendingAdd.key]:[];o.forEach(c=>this.grid?.patchRow(c,{locationID:i})),o.length>1&&this.siteDataService.showSiteSuccessAlert(`${n.practiceFacility.name} set on ${o.length} events \u2014 save your changes to keep it.`),this.pendingAdd=null,this.practiceFacility=new K,this.refreshUnmatchedGroups()}
531addedNewFacilityField(n){this.showAddFieldModal=!1;let i=n?.facilityField?.facilityFieldID,o=this.facilityField.practiceFacilityID;if(!i){this.pendingAdd=null;return}n.choseExistingField||this.ensureCatalog(!0);let c=this.pendingAdd?.group?this.pendingAdd.group.eventIDs:this.pendingAdd?[this.pendingAdd.key]:[],p=this.option(n.facilityField.fieldName,i),_=0;c.forEach(x=>{let g=this.grid?.valuesOf(x);if(!g||g.locationID!==o)return;let E=Array.isArray(g.facilityFieldIDs)?g.facilityFieldIDs:[];if(E.includes(i))return;let q=this.optionsFor(g,{controlName:"facilityFieldIDs"})??[];this.grid?.setOptions("facilityFieldIDs",q.some(ce=>ce.value===i)?q:[...q,p],x),this.grid?.patchRow(x,{facilityFieldIDs:[...E,i]}),_++}),_>1&&this.siteDataService.showSiteSuccessAlert(`${n.facilityField.fieldName} added to ${_} events \u2014 save your changes to keep it.`),this.pendingAdd=null,this.facilityField=new H,this.refreshUnmatchedGroups()}onKeydown(n){(n.ctrlKey||n.metaKey)&&n.key?.toLowerCase()==="s"&&this.gridDirtyCount>0&&(n.preventDefault(),this.saveGridChanges())}saveGridChanges(){if(!this.grid||this.gridSaving||!this.draft||this.gridDirtyCount===0)return;let n=this.grid.invalidRows();if(n.length){this.siteDataService.showSiteWarnAlert(`Fix the ${n.length} highlighted ${n.length===1?"event":"events"} before saving: ${n[0].errors[0]}`);return}if(!this.draft.isHandEdited&&!this.handEditConfirmed){this.requestAction("saveGrid");return}this.performGridSave()}revertGridChanges(){(this.grid?.dirtyKeys()??[]).forEach(n=>this.grid.revertRow(n))}performGridSave(){let n=this.draft?.draftID,i=this.grid?.dirtyRows()??[];if(!n||!i.length)return;let o=[];for(let c=0;c<i.length;c+=le)o.push(i.slice(c,c+le).map(p=>this.toSavePayload(p)));this.gridSaving=!0,pt(o).pipe(ut(c=>this.calendarAgentService.saveDraftEvents(n,c)),_t(),R(this.unsubscribe$)).subscribe({next:c=>{this.gridSaving=!1;let p=c.flatMap(g=>g?.rows??[]);p.forEach(g=>this.rowResults.set(g.eventID,g));let _=p.filter(g=>g.saved).map(g=>g.eventID);this.grid?.markClean(_);let x=p.length-_.length;x>0?this.siteDataService.showSiteWarnAlert(`${_.length} saved, ${x} ${x===1?"needs":"need"} attention \u2014 see the row markers.`):this.siteDataService.showSiteSuccessAlert(`${_.length} ${_.length===1?"event":"events"} saved.`),this.loadDraftEvents(),this.refreshSession()},error:c=>{if(this.gridSaving=!1,c?.status===N.Conflict){this.siteDataService.showSiteWarnAlert(this.extractErrorMessage(c)||"This plan is no longer pending, so its events can't be edited here."),this.refreshSession();return}this.siteDataService.showSiteErrorAlert("There was a problem saving your changes. Please try again.")}})}toSavePayload(n){let i=$({},n);return["startDate","endDate","arrival"].forEach(o=>{i[o]instanceof Date&&(i[o]=this.wallClock(i[o]))}),i}wallClock(n){let i=o=>String(o).padStart(2,"0");return`${n.getFullYear()}-${i(n.getMonth()+1)}-${i(n.getDate())}T${i(n.getHours())}:${i(n.getMinutes())}
531:${i(n.getSeconds())}`}performRemoveRow(){let n=this.draft?.draftID,i=this.pendingRemoveKey;this.pendingRemoveKey=null,!(!n||!i)&&(this.gridSaving=!0,this.calendarAgentService.deleteDraftEvent(n,i).pipe(R(this.unsubscribe$)).subscribe({next:()=>{this.gridSaving=!1,this.handEditConfirmed=!0,this.siteDataService.showSiteSuccessAlert("The event was removed from the plan."),this.loadDraftEvents(),this.refreshSession()},error:o=>{this.gridSaving=!1;let c=[N.Conflict,N.NotFound].includes(o?.status)?this.extractErrorMessage(o):null;this.siteDataService.showSiteErrorAlert(c||"There was a problem removing that event. Please try again.")}}))}};d.MaxDocumentBytes=10*1024*1024,d.\u0275fac=function(i){return new(i||d)(z(Lt),z(tt),z(kt))},d.\u0275cmp=Ct({type:d,selectors:[["ng-component"]],viewQuery:function(i,o){if(i&1&&yt(Z,5),i&2){let c;vt(c=wt())&&(o.grid=c.first)}},hostBindings:function(i,o){i&1&&b("keydown",function(p){return o.onKeydown(p)},xt)},standalone:!1,features:[gt],decls:3,vars:2,consts:[["header",""],["body",""],["importInput",""],["alertType","warning","data-testid","calendar-agent-unavailable",1,"mt-3",3,"isInline"],["data-testid","calendar-agent",1,"d-flex","align-items-center","flex-wrap","mb-3"],[1,"d-inline-block","flex-grow-1","mr-3",3,"alertType","isInline"],["status","color1","text","Beta","styleClass","mr-2"],[1,"text-small","text-grey"],[1,"nowrap","ml-auto"],[1,"row"],["for","sessionSelect",1,"sr-only"],["inputId","sessionSelect","placeholder","Recent sessions","data-testid","agent-session-select",3,"ngModelChange","options","ngModel"],["type","button","data-testid","agent-new-conversation",1,"btn","btn-secondary","ml-2","text-nowrap",3,"click"],[1,"fa-regular","fa-plus","mr-1"],["data-testid","agent-staged-plan"],[1,"card-header","d-flex","align-items-center","justify-content-between"],[1,"fw-600"],[1,"fa-regular","fa-calendar-check","mr-1"],["data-testid","agent-plan-version",1,"text-small","text-grey","ml-1"],[1,"card"],[1,"card-body"],[1,"card-footer","d-flex","align-items-center","justify-content-end","flex-wrap","border-top","py-2","px-3","mx-0","mt-0"],[1,"text-medium","mb-3"],["alertType","warning","data-testid","agent-drift-notice",1,"d-block","mb-3",3,"isInline"],[1,"fw-600","d-block","mb-1"],["alertType","error","data-testid","agent-plan-errors",1,"d-block","mb-3",3,"isInline"],[1,"m-0","pl-3"],["alertType","info","data-testid","agent-plan-warnings",1,"d-block","mb-3",3,"isInline"],["data-testid","agent-pending-locations",1,"border-all","border-radius","mb-3"],[1,"d-flex","align-items-center","px-3","py-2","bg-grey-lt","border-bottom"],[1,"fa-regular","fa-location-dot","text-blue","mr-2"],["data-testid","agent-pending-location-row",1,"d-flex","align-items-center","flex-wrap","px-3","py-2"],[1,"flex-grow-1","min-width-0","mr-3"],[1,"fw-600","d-block"],[1,"text-small","text-grey","nowrap"],[1,"d-flex","align-items-center","justify-content-between","flex-wrap","mb-1"],["data-testid","agent-draft-events-heading",1,"small-label"],[1,"text-small","text-grey","mt-2"],["data-testid","agent-review-link",3,"routerLink"],[1,"fa-regular","fa-eye","mr-1"],["data-testid","agent-notify-indicator","pTooltip",`Set from your answer when the plan was staged. To change it, tell the assistant \u2014 e.g. "don't notify anyone".`,"tooltipPosition","top",1,"text-small"],["data-testid","agent-unmatched-locations",1,"border-all","border-radius","mb-3"],[1,"fa-regular","fa-triangle-exclamation","text-warning","mr-2"],[1,"px-3","py-2","text-small","text-grey"],["data-testid","agent-unmatched-group",1,"d-flex","align-items-center","flex-wrap","px-3","py-2","border-bottom"],[1,"d-flex","align-items-center","flex-wrap"],["type","button","data-testid","agent-select-unmatched",1,"btn","btn-naked","btn-sm",3,"click"],[1,"fa-regular","fa-check-double","mr-1"],["type","button","data-testid","agent-add-location",1,"btn","btn-secondary","btn-sm","mr-2",3,"click"],["type","button","data-testid","agent-add-field",1,"btn","btn-secondary","btn-sm","mr-2",3,"click"],["data-testid","agent-attention",1,"border-all","border-radius","mb-3"],[1,"fa-regular","fa-circle-exclamation","text-red","mr-2"],["data-testid","agent-attention-heading",1,"fw-600"],["data-testid","agent-attention-group",1,"d-flex","align-items-center","flex-wrap","px-3","py-2","border-bottom"],[1,"sr-only",3,"for"],["appendTo","body","data-testid","agent-attention-pick",1,"mr-2",3,"ngModelChange","inputId","options","ngModel","filter","placeholder"],["type","button","data-testid","agent-select-attention",1,"btn","btn-naked","btn-sm",3,"click"],["alertType","error","data-testid","agent-grid-error",1,"d-block","mb-2",3,"isInline"],[3,"routerLink"],["gridID","agent-draft-events","rowKey","id","scrollHeight","55vh","emptyText","No draft events are staged.",3,"dirtyChange","addOption","rowAction","fields","columns","rows","readonly","busy","selectable","optionsFor","rowStatus","rowActions"],["data-testid","agent-grid-save-bar",1,"d-flex","align-items-center","flex-wrap","border-top","pt-2","mt-2"],["data-testid","agent-grid-dirty-count",1,"text-small","mr-auto"],["type","button","data-testid","agent-grid-revert",1,"btn","btn-naked","btn-sm","mr-2",3,"click","disabled"],["type","button","data-testid","agent-grid-save",1,"btn","btn-primary","btn-sm",3,"click","disabled"],[1,"fa-regular","fa-pen","mr-1"],["data-testid","agent-mutation-op",1,"border-all","border-radius","p-3","mt-3"],["data-testid","agent-mutation-headline",1,"fw-600","d-block","mb-1"],["data-testid","agent-mutation-criteria",1,"text-small","text-grey","mb-2"],["data-testid","agent-notify-indicator","pTooltip","Set from your answer when the plan was staged. To change it, tell the assistant.","tooltipPosition","top",1,"text-small","d-block","mt-2"],["data-testid","agent-mutation-detail",1,"text-small","fw-600","mb-2"],[1,"fa-regular","fa-arrow-right","mr-1"],[1,"text-small","mb-2"],[1,"fa-regular","fa-calendar","mr-1"],["data-testid","agent-mutation-targets",1,"no-bullets","p-0","m-0"],["data-testid","agent-mutation-target",1,"text-small","mb-1"],["data-testid","agent-import-op",1,"border-all","border-radius","p-3","mt-3"],["data-testid","agent-import-headline",1,"fw-600","d-block","mb-1"],[1,"fa-regular","fa-file-import","mr-1"],[1,"text-small","text-grey","mb-2"],[1,"d-flex","align-items-center","justify-content-between","flex-wrap","mt-2"],["data-testid","agent-review-link",1,"text-small",3,"routerLink"],["data-testid","agent-notify-indicator","pTooltip","Set from your answer when the plan was staged. To change it, tell the assistant.","tooltipPosition","top",1,"text-small"],[1,"text-small","text-grey","ml-1"],["data-testid","agent-import-assumptions",1,"border-all","border-radius","p-2","mb-2"],[1,"fw-600","text-small","d-block","mb-1"],[1,"fa-regular","fa-wand-magic-sparkles","mr-1"],[1,"mb-0","pl-4","text-small","text-grey"],["data-testid","agent-import-assumption"],[1,"fw-600","text-body"],["data-testid","agent-import-attention",1,"border-all","border-radius","p-2","mb-2"],[1,"fa-regular","fa-circle-exclamation","text-warning","mr-1"],["data-testid","agent-import-attention-item"],["data-testid","agent-import-skipped",1,"border-all","border-radius","p-2","mb-2"],[1,"fa-regular","fa-ban","text-grey","mr-1"],["data-testid","agent-import-skipped-row"],[1,"text-small","fw-600","mb-2"],[1,"fa-regular","fa-triangle-exclamation","text-warning","mr-1"],["styleClass","p-datatable-sm","responsiveLayout","scroll","data-testid","agent-import-resolutions",3,"value"],["scope","col"],["data-testid","agent-import-resolution-row"],["data-testid","agent-import-confidence"],[1,"text-grey"],["status","error","text","Unmatched"],["status","warning","text","Will be created"],["status","info","text","Kept as text"],[3,"status","text"],["alertType","warning","data-testid","agent-force-undo-notice",1,"d-block","mt-3",3,"isInline"],[1,"mt-2"],["type","button","data-testid","agent-force-undo",1,"btn","btn-red","btn-sm",3,"click","disabled"],[1,"fa-regular","fa-rotate-left","mr-1"],["tooltipPosition","top",1,"text-small","text-grey","mr-
531auto",3,"pTooltip"],[1,"fa-regular","fa-circle-info","mr-1"],["type","button","tooltipPosition","top","data-testid","agent-discard",1,"btn","btn-red","mr-2",3,"click","disabled","pTooltip"],[1,"fa-regular","fa-trash","mr-1"],["type","button","tooltipPosition","top","data-testid","agent-apply",1,"btn","btn-primary",3,"click","disabled","pTooltip"],[1,"fa-regular","fa-circle-check","mr-1"],["type","button","data-testid","agent-undo",1,"btn","btn-secondary",3,"click","disabled"],[1,"d-flex","align-items-center","my-4"],[1,"flex-grow-1"],[1,"small-label","mx-3"],[1,"border-all","border-radius","text-medium","text-grey","p-3","mb-5","bg-primary"],[1,"text-medium","fw-600","mb-1"],[1,"mb-5"],["data-testid","agent-empty-state",1,"form-group"],["for","agentPrompt",1,"fw-600"],["id","agentPrompt","data-testid","agent-prompt","rows","4","maxlength","2000","placeholder","e.g. Add U12 practice Tuesdays 6\u20137:30pm at Lions Park through October\u2026",1,"form-control","auto-grow",3,"ngModelChange","ngModel"],["type","button","data-testid","agent-start",1,"btn","btn-primary",3,"click","disabled"],[1,"border-all","border-radius","text-grey","p-3","mb-3","bg-secondary"],["styleClass","mb-2 mx-0","controlGroupName","examplePrompt",3,"ngModelChange","compact","inputId","optionValue","ngModel","label"],["type","file","data-testid","agent-file-input",1,"d-none",3,"change","accept"],["type","button","data-testid","agent-choose-file",1,"btn",3,"click"],[1,"fa-regular","fa-upload","mr-1"],["data-testid","agent-selected-file",1,"d-flex","align-items-center","flex-wrap"],[1,"fw-600","mr-2","mb-2"],[1,"fa-regular","fa-file","mr-1"],["type","button","data-testid","agent-clear-file",1,"btn","btn-naked","btn-sm","mr-2","mb-2",3,"click","disabled"],["type","button","data-testid","agent-import-submit",1,"btn","btn-primary","btn-sm","mb-2",3,"click","disabled"],["data-testid","agent-session",1,"d-block",3,"collapsedChange","canCollapse","collapsed"],["slot","status","data-testid","agent-session-status",3,"status","text"],["data-testid","agent-transcript",3,"messages","renderMarkdown","answers","selections","sourceNouns"],["role","status","data-testid","agent-working",1,"d-flex","align-items-center","text-grey","mt-2"],[1,"fa","fa-spinner","fa-spin","mr-2"],[1,"text-medium","d-block"],[1,"text-small"],[1,"border-top","pt-3","mt-3"],["data-testid","agent-reply-composer",3,"valueChange","send","label","placeholder","hint","sending","canSend","sendLabel","value"],["data-testid","agent-question-panel",1,"d-block","mb-3",3,"answeredChange","quickAnswer","questions","questionKey","heading","hint","disabled"],["alertType","info","data-testid","agent-hand-edit-notice",1,"d-block","mb-3",3,"isInline"],[1,"text-small","text-grey","border-top","pt-3","mt-3","mb-0"],["data-testid","agent-failure-panel",1,"border-top","pt-3","mt-3"],[1,"d-block",3,"alertType","isInline"],["data-testid","agent-failure-headline",1,"fw-600","d-block","mb-1"],["data-testid","agent-failure-message"],["for","agentRetry",1,"fw-600","mt-3"],["id","agentRetry","data-testid","agent-retry-prompt","rows","4","maxlength","2000","placeholder","Describe it again, more simply\u2026",1,"form-control","auto-grow",3,"ngModelChange","ngModel"],["data-testid","agent-retry-hint",1,"text-small","text-grey","mt-1","mb-0"],[1,"d-flex","justify-content-between","align-items-center","flex-wrap","mt-2"],["type","button",1,"btn","btn-naked","btn-sm",3,"click"],["type","button","data-testid","agent-retry",1,"btn","btn-primary",3,"click","disabled"],["data-testid","agent-retry-wont-help",1,"text-medium","mt-3","mb-2"],["type","button",1,"btn","btn-primary",3,"click"],["data-testid","agent-activity",1,"border-top","pt-2","mt-3"],[1,"small-label"],[1,"no-bullets","p-0","m-0","mt-1"],["data-testid","agent-activity-item",1,"text-small","text-grey","mb-1"],[1,"fa-regular","fa-circle-check","text-green","mr-1"],[3,"onYesSelect","onNoSelect","modalText","loading","alertType"],["data-testid","agent-add-location-modal",1,"sprocket-dialog"],[1,"sprocket-dialog-inner"],[1,"sprocket-dialog-header"],[1,"sprocket-dialog-content"],[3,"saveComplete","cancelEvent","practiceFacilityEntity"],["data-testid","agent-add-field-modal",1,"sprocket-dialog"],[3,"saveComplete","cancelEvent","facilityFieldEntity"]],template:function(i,o){i&1&&(t(0,`
532
533`),u(1,fe,6,2),u(2,Xn,33,13)),i&2&&(r(),f(o.featureChecked&&!o.featureEnabled?1:-1),r(),f(o.featureEnabled?2:-1))},dependencies:[Z,Et,It,Tt,At,Ot,Ft,Pt,Vt,qt,Bt,jt,Kt,Ht,Qt,Gt,Ut,$t,Mt,zt,Xt,St],encapsulation:2});let a=d;return a})();var de=(()=>{let d=class d{};d.\u0275fac=function(i){return new(i||d)},d.\u0275mod=X({type:d}),d.\u0275inj=Y({imports:[st.forChild([{path:"",component:se}]),st]});let a=d;return a})();var ea=(()=>{let d=class d{};d.\u0275fac=function(i){return new(i||d)},d.\u0275mod=X({type:d}),d.\u0275inj=Y({providers:[tt],imports:[Yt,Zt,Jt,Dt,de]});let a=d;return a})();export{ea as CalendarAgentModule};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.