@whoz-oss/coday-client 0.249.14 → 0.249.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/browser/{chunk-CDlpxL7C.js → chunk-1C8FfjAR.js} +1 -1
  2. package/browser/{chunk-C61o-KhY.js → chunk-2Go-OM7t.js} +1 -1
  3. package/browser/{chunk-0DLazttZ.js → chunk-7SmTiVF_.js} +1 -1
  4. package/browser/{chunk-BTaLhUa1.js → chunk-B5wj-AWl.js} +1 -1
  5. package/browser/{chunk-C857K-GW.js → chunk-BNJpFR5J.js} +1 -1
  6. package/browser/{chunk-B8Hj5zSc.js → chunk-BO_Hh7E9.js} +1 -1
  7. package/browser/{chunk-DZo4BkAy.js → chunk-BQ15qZFz.js} +1 -1
  8. package/browser/{chunk-C1jgW_vt.js → chunk-BS_qtnJa.js} +1 -1
  9. package/browser/{chunk-B4IOFZod.js → chunk-BT8nWWPc.js} +1 -1
  10. package/browser/{chunk-B5JJGvDV.js → chunk-BU7wmUzy.js} +1 -1
  11. package/browser/{chunk-pvYR1_Ao.js → chunk-BWdAFY49.js} +1 -1
  12. package/browser/{chunk-Dax4e1JZ.js → chunk-Bc7OrHjR.js} +1 -1
  13. package/browser/{chunk-CPtlVKZn.js → chunk-BkZgPVhu.js} +1 -1
  14. package/browser/{chunk-C_Myq1m3.js → chunk-BqyfQo5r.js} +1 -1
  15. package/browser/{chunk-CtA5aepT.js → chunk-BuUqIQZe.js} +1 -1
  16. package/browser/{chunk-DGZZZMSy.js → chunk-Bx6U7hp8.js} +1 -1
  17. package/browser/{chunk-DcNhcvYJ.js → chunk-Byflz_yZ.js} +1 -1
  18. package/browser/{chunk-DR7eHENE.js → chunk-C-Omuw0k.js} +1 -1
  19. package/browser/{chunk-COV5Dgin.js → chunk-C6N4Xim3.js} +1 -1
  20. package/browser/{chunk-BCdZ0s7K.js → chunk-CBKxLIx3.js} +1 -1
  21. package/browser/{chunk-CjOZDsNf.js → chunk-CDiCP0cs.js} +3 -3
  22. package/browser/{chunk-C7O0lv-N.js → chunk-CFAzj-K1.js} +1 -1
  23. package/browser/{chunk-CgzkgcLp.js → chunk-CGaNqBLr.js} +1 -1
  24. package/browser/{chunk-BEWBmv_p.js → chunk-CL89mvBt.js} +1 -1
  25. package/browser/{chunk-BjmMhl9l.js → chunk-CRxfSRf8.js} +1 -1
  26. package/browser/{chunk-5rdVZHKH.js → chunk-Ca08FpV3.js} +1 -1
  27. package/browser/chunk-CePUnppu.js +1 -0
  28. package/browser/{chunk-B4glcPfc.js → chunk-CfZSDspr.js} +1 -1
  29. package/browser/{chunk-DpTWpgRi.js → chunk-Cpwt3qJr.js} +1 -1
  30. package/browser/{chunk-B638hYBH.js → chunk-Cr9SQ4Nl.js} +1 -1
  31. package/browser/{chunk-14xVulKm.js → chunk-Craeqqq-.js} +1 -1
  32. package/browser/{chunk-CEIj_SQC.js → chunk-CweOwCOY.js} +1 -1
  33. package/browser/{chunk-BCqgdXa2.js → chunk-D-9o3uam.js} +1 -1
  34. package/browser/{chunk-ILoui0Go.js → chunk-D-Y7a6aq.js} +1 -1
  35. package/browser/{chunk-CX_ZpPnR.js → chunk-D0WPRxvI.js} +1 -1
  36. package/browser/{chunk-B9bfwdrZ.js → chunk-D6im9idH.js} +1 -1
  37. package/browser/{chunk-Djxe1buY.js → chunk-DDLM6Cth.js} +1 -1
  38. package/browser/{chunk-BFyba197.js → chunk-DGF8f8rP.js} +1 -1
  39. package/browser/{chunk-CALvfg9j.js → chunk-DOwIRP9H.js} +1 -1
  40. package/browser/{chunk-Hwi8LgHH.js → chunk-DXAivyZi.js} +1 -1
  41. package/browser/chunk-DXKXt8mt.js +1 -0
  42. package/browser/{chunk-BQJyTdNB.js → chunk-DZANBioo.js} +1 -1
  43. package/browser/{chunk-Djnp-vUI.js → chunk-DdIe-Q8z.js} +1 -1
  44. package/browser/{chunk-D21FPLZ4.js → chunk-Dg-7WJin.js} +1 -1
  45. package/browser/{chunk-BfZyIX9-.js → chunk-DhHp86i1.js} +1 -1
  46. package/browser/{chunk-SFXE5Xl_.js → chunk-DhogzxpT.js} +1 -1
  47. package/browser/{chunk-4W78grSG.js → chunk-DlHlRrm5.js} +1 -1
  48. package/browser/{chunk-BJDByX7-.js → chunk-Dx3RUcFR.js} +1 -1
  49. package/browser/{chunk-D1TRN0MX.js → chunk-DxV9RsfD.js} +1 -1
  50. package/browser/{chunk-BgYxYYFj.js → chunk-DyOpupcY.js} +1 -1
  51. package/browser/{chunk-B86dntDV.js → chunk-J9jbGr5V.js} +1 -1
  52. package/browser/{chunk-vZ6JA8WO.js → chunk-L8gDvVhI.js} +1 -1
  53. package/browser/{chunk-BbLMzp9k.js → chunk-MYEQTQOG.js} +1 -1
  54. package/browser/{chunk-CRfYIzzY.js → chunk-OfW8ypwW.js} +1 -1
  55. package/browser/{chunk-RmWeivJM.js → chunk-PZm2mGLF.js} +1 -1
  56. package/browser/{chunk-6SsfFSoG.js → chunk-YTDAsLsc.js} +1 -1
  57. package/browser/{chunk-_rnm3CUz.js → chunk-YvUhHp6t.js} +1 -1
  58. package/browser/{chunk-B1LoEamJ.js → chunk-Zmd4R9cO.js} +1 -1
  59. package/browser/{chunk-FNh4E199.js → chunk-aJ44yjwO.js} +1 -1
  60. package/browser/{chunk-EaXjSZ08.js → chunk-fMW6C3Ap.js} +1 -1
  61. package/browser/{chunk-CxSXBi5z.js → chunk-gEgtSVjj.js} +1 -1
  62. package/browser/{chunk-BiIYygHc.js → chunk-lbDJ4ttg.js} +1 -1
  63. package/browser/{chunk-SmTJ8TRR.js → chunk-rEBsHfWZ.js} +1 -1
  64. package/browser/{chunk-DOgkeupI.js → chunk-w8cyoPom.js} +1 -1
  65. package/browser/{chunk-Bs4lUz4W.js → chunk-wQH6b0eH.js} +1 -1
  66. package/browser/{chunk-B_SIbEE4.js → chunk-y7hKHMfT.js} +1 -1
  67. package/browser/index.html +1 -1
  68. package/browser/{main-VYETRYCE.js → main-FZBZNLDT.js} +4 -4
  69. package/package.json +1 -1
  70. package/browser/chunk-BSTCpwsr.js +0 -1
  71. package/browser/chunk-DtIFBPXN.js +0 -1
@@ -1,4 +1,4 @@
1
- import {a as P$1,av as dt$1,z as z$1}from'./main-VYETRYCE.js';function ct(){return {async:false,breaks:false,extensions:null,gfm:true,hooks:null,pedantic:false,renderer:null,silent:false,tokenizer:null,walkTokens:null}}var re=ct();function rn(n){re=n;}var xe={exec:()=>null};function k(n,e=""){let r=typeof n=="string"?n:n.source,s={replace:(t,a)=>{let l=typeof a=="string"?a:a.source;return l=l.replace(D.caret,"$1"),r=r.replace(t,l),s},getRegex:()=>new RegExp(r,e)};return s}var D={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] /,listReplaceTask:/^\[[ xX]\] +/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:n=>new RegExp(`^( {0,3}${n})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:n=>new RegExp(`^ {0,${Math.min(3,n-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:n=>new RegExp(`^ {0,${Math.min(3,n-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:n=>new RegExp(`^ {0,${Math.min(3,n-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:n=>new RegExp(`^ {0,${Math.min(3,n-1)}}#`),htmlBeginRegex:n=>new RegExp(`^ {0,${Math.min(3,n-1)}}<(?:[a-z].*>|!--)`,"i")},Hn=/^(?:[ \t]*(?:\n|$))+/,Gn=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,Wn=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,Te=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,qn=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,pt=/(?:[*+-]|\d{1,9}[.)])/,sn=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,ln=k(sn).replace(/bull/g,pt).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),Zn=k(sn).replace(/bull/g,pt).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),ut=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,Yn=/^[^\n]+/,ht=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,jn=k(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",ht).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),Xn=k(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,pt).getRegex(),Fe="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",ft=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,Qn=k("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",ft).replace("tag",Fe).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),an=k(ut).replace("hr",Te).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Fe).getRegex(),Vn=k(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",an).getRegex(),gt={blockquote:Vn,code:Gn,def:jn,fences:Wn,heading:qn,hr:Te,html:Qn,lheading:ln,list:Xn,newline:Hn,paragraph:an,table:xe,text:Yn},Vt=k("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",Te).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Fe).getRegex(),Kn=z$1(P$1({},gt),{lheading:Zn,table:Vt,paragraph:k(ut).replace("hr",Te).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",Vt).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Fe).getRegex()}),Jn=z$1(P$1({},gt),{html:k(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",ft).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:xe,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:k(ut).replace("hr",Te).replace("heading",` *#{1,6} *[^
1
+ import {a as P$1,av as dt$1,z as z$1}from'./main-FZBZNLDT.js';function ct(){return {async:false,breaks:false,extensions:null,gfm:true,hooks:null,pedantic:false,renderer:null,silent:false,tokenizer:null,walkTokens:null}}var re=ct();function rn(n){re=n;}var xe={exec:()=>null};function k(n,e=""){let r=typeof n=="string"?n:n.source,s={replace:(t,a)=>{let l=typeof a=="string"?a:a.source;return l=l.replace(D.caret,"$1"),r=r.replace(t,l),s},getRegex:()=>new RegExp(r,e)};return s}var D={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] /,listReplaceTask:/^\[[ xX]\] +/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:n=>new RegExp(`^( {0,3}${n})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:n=>new RegExp(`^ {0,${Math.min(3,n-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:n=>new RegExp(`^ {0,${Math.min(3,n-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:n=>new RegExp(`^ {0,${Math.min(3,n-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:n=>new RegExp(`^ {0,${Math.min(3,n-1)}}#`),htmlBeginRegex:n=>new RegExp(`^ {0,${Math.min(3,n-1)}}<(?:[a-z].*>|!--)`,"i")},Hn=/^(?:[ \t]*(?:\n|$))+/,Gn=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,Wn=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,Te=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,qn=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,pt=/(?:[*+-]|\d{1,9}[.)])/,sn=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,ln=k(sn).replace(/bull/g,pt).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),Zn=k(sn).replace(/bull/g,pt).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),ut=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,Yn=/^[^\n]+/,ht=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,jn=k(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",ht).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),Xn=k(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,pt).getRegex(),Fe="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",ft=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,Qn=k("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",ft).replace("tag",Fe).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),an=k(ut).replace("hr",Te).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Fe).getRegex(),Vn=k(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",an).getRegex(),gt={blockquote:Vn,code:Gn,def:jn,fences:Wn,heading:qn,hr:Te,html:Qn,lheading:ln,list:Xn,newline:Hn,paragraph:an,table:xe,text:Yn},Vt=k("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",Te).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Fe).getRegex(),Kn=z$1(P$1({},gt),{lheading:Zn,table:Vt,paragraph:k(ut).replace("hr",Te).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",Vt).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Fe).getRegex()}),Jn=z$1(P$1({},gt),{html:k(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",ft).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:xe,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:k(ut).replace("hr",Te).replace("heading",` *#{1,6} *[^
2
2
  ]`).replace("lheading",ln).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()}),er=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,tr=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,on=/^( {2,}|\\)\n(?!\s*$)/,nr=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,Be=/[\p{P}\p{S}]/u,dt=/[\s\p{P}\p{S}]/u,cn=/[^\s\p{P}\p{S}]/u,rr=k(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,dt).getRegex(),pn=/(?!~)[\p{P}\p{S}]/u,sr=/(?!~)[\s\p{P}\p{S}]/u,ir=/(?:[^\s\p{P}\p{S}]|~)/u,lr=/\[(?:[^\[\]`]|`[^`]*?`)*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)|`[^`]*?`|<(?! )[^<>]*?>/g,un=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,ar=k(un,"u").replace(/punct/g,Be).getRegex(),or=k(un,"u").replace(/punct/g,pn).getRegex(),hn="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",cr=k(hn,"gu").replace(/notPunctSpace/g,cn).replace(/punctSpace/g,dt).replace(/punct/g,Be).getRegex(),pr=k(hn,"gu").replace(/notPunctSpace/g,ir).replace(/punctSpace/g,sr).replace(/punct/g,pn).getRegex(),ur=k("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,cn).replace(/punctSpace/g,dt).replace(/punct/g,Be).getRegex(),hr=k(/\\(punct)/,"gu").replace(/punct/g,Be).getRegex(),fr=k(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),gr=k(ft).replace("(?:-->|$)","-->").getRegex(),dr=k("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",gr).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),ze=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+[^`]*?`+(?!`)|[^\[\]\\`])*?/,mr=k(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label",ze).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),fn=k(/^!?\[(label)\]\[(ref)\]/).replace("label",ze).replace("ref",ht).getRegex(),gn=k(/^!?\[(ref)\](?:\[\])?/).replace("ref",ht).getRegex(),kr=k("reflink|nolink(?!\\()","g").replace("reflink",fn).replace("nolink",gn).getRegex(),Kt=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,mt={_backpedal:xe,anyPunctuation:hr,autolink:fr,blockSkip:lr,br:on,code:tr,del:xe,emStrongLDelim:ar,emStrongRDelimAst:cr,emStrongRDelimUnd:ur,escape:er,link:mr,nolink:gn,punctuation:rr,reflink:fn,reflinkSearch:kr,tag:dr,text:nr,url:xe},br=z$1(P$1({},mt),{link:k(/^!?\[(label)\]\((.*?)\)/).replace("label",ze).getRegex(),reflink:k(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",ze).getRegex()}),lt=z$1(P$1({},mt),{emStrongRDelimAst:pr,emStrongLDelim:or,url:k(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",Kt).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:k(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",Kt).getRegex()}),xr=z$1(P$1({},lt),{br:k(on).replace("{2,}","*").getRegex(),text:k(lt.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()}),ve={normal:gt,gfm:Kn,pedantic:Jn},me={normal:mt,gfm:lt,breaks:xr,pedantic:br},Tr={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},Jt=n=>Tr[n];function q(n,e){if(e){if(D.escapeTest.test(n))return n.replace(D.escapeReplace,Jt)}else if(D.escapeTestNoEncode.test(n))return n.replace(D.escapeReplaceNoEncode,Jt);return n}function en(n){try{n=encodeURI(n).replace(D.percentDecode,"%");}catch(e){return null}return n}function tn(n,e){let r=n.replace(D.findPipe,(a,l,o)=>{let p=false,u=l;for(;--u>=0&&o[u]==="\\";)p=!p;return p?"|":" |"}),s=r.split(D.splitPipe),t=0;if(s[0].trim()||s.shift(),s.length>0&&!s.at(-1)?.trim()&&s.pop(),e)if(s.length>e)s.splice(e);else for(;s.length<e;)s.push("");for(;t<s.length;t++)s[t]=s[t].trim().replace(D.slashPipe,"|");return s}function ke(n,e,r){let s=n.length;if(s===0)return "";let t=0;for(;t<s;){let a=n.charAt(s-t-1);if(a===e&&true)t++;else break}return n.slice(0,s-t)}function wr(n,e){if(n.indexOf(e[1])===-1)return -1;let r=0;for(let s=0;s<n.length;s++)if(n[s]==="\\")s++;else if(n[s]===e[0])r++;else if(n[s]===e[1]&&(r--,r<0))return s;return r>0?-2:-1}function nn(n,e,r,s,t){let a=e.href,l=e.title||null,o=n[1].replace(t.other.outputLinkReplace,"$1");s.state.inLink=true;let p={type:n[0].charAt(0)==="!"?"image":"link",raw:r,href:a,title:l,text:o,tokens:s.inlineTokens(o)};return s.state.inLink=false,p}function Ar(n,e,r){let s=n.match(r.other.indentCodeCompensation);if(s===null)return e;let t=s[1];return e.split(`
3
3
  `).map(a=>{let l=a.match(r.other.beginningSpace);if(l===null)return a;let[o]=l;return o.length>=t.length?a.slice(t.length):a}).join(`
4
4
  `)}var $e=class{options;rules;lexer;constructor(n){this.options=n||re;}space(n){let e=this.rules.block.newline.exec(n);if(e&&e[0].length>0)return {type:"space",raw:e[0]}}code(n){let e=this.rules.block.code.exec(n);if(e){let r=e[0].replace(this.rules.other.codeRemoveIndent,"");return {type:"code",raw:e[0],codeBlockStyle:"indented",text:this.options.pedantic?r:ke(r,`
@@ -1,4 +1,4 @@
1
- import {c as ce,s as se,b as at$1,d as de}from'./chunk-BiIYygHc.js';import {w as wr,h as hr,a as fr,f as ft,z as zi,F as Fn,H as Hi$1}from'./chunk-Djnp-vUI.js';import {W as We,Q as Qt$1}from'./chunk-Dax4e1JZ.js';import {aK as Do,aL as qn,bC as ge,aN as wt,bD as vt,g,bM as F,br as Cl,az as Qt,bs as Qn,aS as Ut,aQ as As,c3 as On,aV as w,aR as K,an as ce$1,H as Hi,bP as Zy,bQ as bd,bR as ma,bO as Yy,al as yt,ae as Ot,u as ue,bx as am,c4 as Et,ap as Vy,aA as sn,bt as Ve,c5 as Rt,bG as Pt$1,c0 as E,A as Aw,c6 as _e$1,aC as Cu,aZ as YT,c7 as QT,bz as vC,v as vs,l as Ag,n as eC,k as fl,c8 as kf,o as bg,af as Dg,T as TC,X as XE,C as Cg,t as tC,r as Tg,b4 as nT,y as Hg,D as Fg,I as IC,E as wC,bu as kg,bK as pe,c2 as kt,W as WC,ac as mC,a8 as Zg,a9 as dC,aa as If,ab as wf,bA as DC,b_ as FC}from'./main-VYETRYCE.js';import {_,b as _e,d as an,E as En}from'./chunk-BbLMzp9k.js';var Qe=["trigger"],Ye=["panel"],Ue=[[["mat-select-trigger"]],"*"],Xe=["mat-select-trigger","*"];function Je(a,_){if(a&1&&(vs(0,"span",4),WC(1),fl()),a&2){let e=mC();XE(),Zg(e.placeholder);}}function Ze(a,_){a&1&&DC(0);}function $e(a,_){if(a&1&&(vs(0,"span",11),WC(1),fl()),a&2){let e=mC(2);XE(),Zg(e.triggerValue);}}function et(a,_){if(a&1&&(vs(0,"span",5),eC(1,Ze,1,0)(2,$e,2,1,"span",11),fl()),a&2){let e=mC();XE(),tC(e.customTrigger?1:2);}}function tt(a,_){if(a&1){let e=dC();vs(0,"div",12,1),Ag("keydown",function(i){If(e);let n=mC();return wf(n._handleKeydown(i))}),DC(2,1),fl();}if(a&2){let e=mC();FC(e.panelClass),Hg("mat-select-panel-animations-enabled",!e._animationsDisabled)("mat-primary",e._parentFormField?.color==="primary")("mat-accent",e._parentFormField?.color==="accent")("mat-warn",e._parentFormField?.color==="warn")("mat-undefined",!e._parentFormField?.color),Cg("id",e.id+"-panel")("aria-multiselectable",e.multiple)("aria-label",e.ariaLabel||null)("aria-labelledby",e._getPanelAriaLabelledby());}}var it=new w("mat-select-scroll-strategy",{providedIn:"root",factory:()=>{let a=g(pe);return ()=>kt(a)}}),nt=new w("MAT_SELECT_CONFIG"),at=new w("MatSelectTrigger"),B=class{source;value;constructor(_,e){this.source=_,this.value=e;}},Lt=(()=>{class a{_viewportRuler=g(F);_changeDetectorRef=g(Cl);_elementRef=g(Qt);_dir=g(Qn,{optional:true});_idGenerator=g(Ut);_renderer=g(As);_parentFormField=g(se,{optional:true});ngControl=g(_,{self:true,optional:true});_liveAnnouncer=g(On);_defaultOptions=g(nt,{optional:true});_animationsDisabled=K();_popoverLocation;_initialized=new ce$1;_cleanupDetach;options;optionGroups;customTrigger;_positions=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom",panelClass:"mat-mdc-select-panel-above"},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom",panelClass:"mat-mdc-select-panel-above"}];_scrollOptionIntoView(e){let t=this.options.toArray()[e];if(t){let i=this.panel.nativeElement,n=hr(e,this.options,this.optionGroups),r=t._getHostElement();e===0&&n===1?i.scrollTop=0:i.scrollTop=fr(r.offsetTop,r.offsetHeight,i.scrollTop,i.offsetHeight);}}_positioningSettled(){this._scrollOptionIntoView(this._keyManager.activeItemIndex||0);}_getChangeEvent(e){return new B(this,e)}_scrollStrategyFactory=g(it);_panelOpen=false;_compareWith=(e,t)=>e===t;_uid=this._idGenerator.getId("mat-select-");_triggerAriaLabelledBy=null;_previousControl;_destroy=new ce$1;_errorStateTracker;stateChanges=new ce$1;disableAutomaticLabeling=true;userAriaDescribedBy;_selectionModel;_keyManager;_preferredOverlayOrigin;_overlayWidth;_onChange=()=>{};_onTouched=()=>{};_valueId=this._idGenerator.getId("mat-select-value-");_scrollStrategy;_overlayPanelClass=this._defaultOptions?.overlayPanelClass||"";get focused(){return this._focused||this._panelOpen}_focused=false;controlType="mat-select";trigger;panel;_overlayDir;panelClass;disabled=false;get disableRipple(){return this._disableRipple()}set disableRipple(e){this._disableRipple.set(e);}_disableRipple=Hi(false);tabIndex=0;get hideSingleSelectionIndicator(){return this._hideSingleSelectionIndicator}set hideSingleSelectionIndicator(e){this._hideSingleSelectionIndicator=e,this._syncParentProperties();}_hideSingleSelectionIndicator=this._defaultOptions?.hideSingleSelectionIndicator??false;get placeholder(){return this._placeholder}set placeholder(e){this._placeholder=e,this.stateChanges.next();}_placeholder;get required(){return this._required??this.ngControl?.control?.hasValidator(_e.required)??false}set required(e){this._required=e,this.stateChanges.next();}_required;get multiple(){return this._multiple}set multiple(e){this._selectionModel,this._multiple=e;}_multiple=false;disableOptionCentering=this._defaultOptions?.disableOptionCentering??false;get compareWith(){return this._compareWith}set compareWith(e){this._compareWith=e,this._selectionModel&&this._initializeSelection();}get value(){return this._value}set value(e){this._assignValue(e)&&this._onChange(e);}_value;ariaLabel="";ariaLabelledby;get errorStateMatcher(){return this._errorStateTracker.matcher}set errorStateMatcher(e){this._errorStateTracker.matcher=e;}typeaheadDebounceInterval;sortComparator;get id(){return this._id}set id(e){this._id=e||this._uid,this.stateChanges.next();}_id;get errorState(){return this._errorStateTracker.errorState}set errorState(e){this._errorStateTracker.errorState=e;}panelWidth=this._defaultOptions&&typeof this._defaultOptions.panelWidth<"u"?this._defaultOptions.panelWidth:"auto";canSelectNullableOptions=this._defaultOptions?.canSelectNullableOptions??false;optionSelectionChanges=Zy(()=>{let e=this.options;return e?e.changes.pipe(bd(e),ma(()=>Yy(...e.map(t=>t.onSelectionChange)))):this._initialized.pipe(ma(()=>this.optionSelectionChanges))});openedChange=new yt;_openedStream=this.openedChange.pipe(Ot(e=>e),ue(()=>{}));_closedStream=this.openedChange.pipe(Ot(e=>!e),ue(()=>{}));selectionChange=new yt;valueChange=new yt;constructor(){let e=g(We),t=g(an,{optional:true}),i=g(En,{optional:true}),n=g(new am("tabindex"),{optional:true}),r=g(Et,{optional:true}),d=g(at$1,{optional:true,self:true});this.ngControl&&(this.ngControl.valueAccessor=this),this._defaultOptions?.typeaheadDebounceInterval!=null&&(this.typeaheadDebounceInterval=this._defaultOptions.typeaheadDebounceInterval),this._errorStateTracker=new Qt$1(e,d||this.ngControl,i,t,this.stateChanges),this._scrollStrategy=this._scrollStrategyFactory(),this.tabIndex=n==null?0:parseInt(n)||0,this._popoverLocation=r?.usePopover===false?null:"inline",this.id=this.id;}ngOnInit(){this._selectionModel=new ft(this.multiple),this.stateChanges.next(),this._viewportRuler.change().pipe(Vy(this._destroy)).subscribe(()=>{this.panelOpen&&(this._overlayWidth=this._getOverlayWidth(this._preferredOverlayOrigin),this._changeDetectorRef.detectChanges());});}ngAfterContentInit(){this._initialized.next(),this._initialized.complete(),this._initKeyManager(),this._selectionModel.changed.pipe(Vy(this._destroy)).subscribe(e=>{e.added.forEach(t=>t.select()),e.removed.forEach(t=>t.deselect());}),this.options.changes.pipe(bd(null),Vy(this._destroy)).subscribe(()=>{this._resetOptions(),this._initializeSelection();});}ngDoCheck(){let e=this._getTriggerAriaLabelledby(),t=this.ngControl;if(e!==this._triggerAriaLabelledBy){let i=this._elementRef.nativeElement;this._triggerAriaLabelledBy=e,e?i.setAttribute("aria-labelledby",e):i.removeAttribute("aria-labelledby");}t&&(this._previousControl!==t.control&&(this._previousControl!==void 0&&t.disabled!==null&&t.disabled!==this.disabled&&(this.disabled=t.disabled),this._previousControl=t.control),this.updateErrorState());}ngOnChanges(e){(e.disabled||e.userAriaDescribedBy)&&this.stateChanges.next(),e.typeaheadDebounceInterval&&this._keyManager&&this._keyManager.withTypeAhead(this.typeaheadDebounceInterval),e.panelClass&&this.panelClass instanceof Set&&(this.panelClass=Array.from(this.panelClass));}ngOnDestroy(){this._cleanupDetach?.(),this._keyManager?.destroy(),this._destroy.next(),this._destroy.complete(),this.stateChanges.complete();}toggle(){this.panelOpen?this.close():this.open();}open(){this._canOpen()&&(this._parentFormField&&(this._preferredOverlayOrigin=this._parentFormField.getConnectedOverlayOrigin()),this._cleanupDetach?.(),this._overlayWidth=this._getOverlayWidth(this._preferredOverlayOrigin),this._panelOpen=true,this._overlayDir.positionChange.pipe(sn(1)).subscribe(()=>{this._changeDetectorRef.detectChanges(),this._positioningSettled();}),this._overlayDir.attachOverlay(),this._keyManager.withHorizontalOrientation(null),this._highlightCorrectOption(),this._changeDetectorRef.markForCheck(),this.stateChanges.next(),Promise.resolve().then(()=>this.openedChange.emit(true)));}close(){this._panelOpen&&(this._panelOpen=false,this._exitAndDetach(),this._keyManager.withHorizontalOrientation(this._isRtl()?"rtl":"ltr"),this._changeDetectorRef.markForCheck(),this._onTouched(),this.stateChanges.next(),Promise.resolve().then(()=>this.openedChange.emit(false)));}_exitAndDetach(){if(this._animationsDisabled||!this.panel){this._detachOverlay();return}this._cleanupDetach?.(),this._cleanupDetach=()=>{t(),clearTimeout(i),this._cleanupDetach=void 0;};let e=this.panel.nativeElement,t=this._renderer.listen(e,"animationend",n=>{n.animationName==="_mat-select-exit"&&(this._cleanupDetach?.(),this._detachOverlay());}),i=setTimeout(()=>{this._cleanupDetach?.(),this._detachOverlay();},200);e.classList.add("mat-select-panel-exit");}_detachOverlay(){this._overlayDir.detachOverlay(),this._changeDetectorRef.markForCheck();}writeValue(e){this._assignValue(e);}registerOnChange(e){this._onChange=e;}registerOnTouched(e){this._onTouched=e;}setDisabledState(e){this.disabled=e,this._changeDetectorRef.markForCheck(),this.stateChanges.next();}get panelOpen(){return this._panelOpen}get selected(){return this.multiple?this._selectionModel?.selected||[]:this._selectionModel?.selected[0]}get triggerValue(){if(this.empty)return "";if(this._multiple){let e=this._selectionModel.selected.map(t=>t.viewValue);return this._isRtl()&&e.reverse(),e.join(", ")}return this._selectionModel.selected[0].viewValue}updateErrorState(){this._errorStateTracker.updateErrorState();}_isRtl(){return this._dir?this._dir.value==="rtl":false}_handleKeydown(e){this.disabled||(this.panelOpen?this._handleOpenKeydown(e):this._handleClosedKeydown(e));}_handleClosedKeydown(e){let t=e.keyCode,i=t===40||t===38||t===37||t===39,n=t===13||t===32,r=this._keyManager;if(!r.isTyping()&&n&&!Ve(e)||(this.multiple||e.altKey)&&i)e.preventDefault(),this.open();else if(!this.multiple){let d=this.selected;r.onKeydown(e);let o=this.selected;o&&d!==o&&this._liveAnnouncer.announce(o.viewValue,1e4);}}_handleOpenKeydown(e){let t=this._keyManager,i=e.keyCode,n=i===40||i===38,r=t.isTyping();if(n&&e.altKey)e.preventDefault(),this.close();else if(!r&&(i===13||i===32)&&t.activeItem&&!Ve(e))e.preventDefault(),t.activeItem._selectViaInteraction();else if(!r&&this._multiple&&i===65&&e.ctrlKey){e.preventDefault();let d=this.options.some(o=>!o.disabled&&!o.selected);this.options.forEach(o=>{o.disabled||(d?o.select():o.deselect());});}else {let d=t.activeItemIndex;t.onKeydown(e),this._multiple&&n&&e.shiftKey&&t.activeItem&&t.activeItemIndex!==d&&t.activeItem._selectViaInteraction();}}_handleOverlayKeydown(e){e.keyCode===27&&!Ve(e)&&(e.preventDefault(),this.close());}_onFocus(){this.disabled||(this._focused=true,this.stateChanges.next());}_onBlur(){this._focused=false,this._keyManager?.cancelTypeahead(),!this.disabled&&!this.panelOpen&&(this._onTouched(),this._changeDetectorRef.markForCheck(),this.stateChanges.next());}get empty(){return !this._selectionModel||this._selectionModel.isEmpty()}_initializeSelection(){Promise.resolve().then(()=>{this.ngControl&&(this._value=this.ngControl.value),this._setSelectionByValue(this._value),this.stateChanges.next();});}_setSelectionByValue(e){if(this.options.forEach(t=>t.setInactiveStyles()),this._selectionModel.clear(),this.multiple&&e)e.forEach(t=>this._selectOptionByValue(t)),this._sortValues();else {let t=this._selectOptionByValue(e);t?this._keyManager.updateActiveItem(t):this.panelOpen||this._keyManager.updateActiveItem(-1);}this._changeDetectorRef.markForCheck();}_selectOptionByValue(e){let t=this.options.find(i=>{if(this._selectionModel.isSelected(i))return false;try{return (i.value!=null||this.canSelectNullableOptions)&&this._compareWith(i.value,e)}catch(n){return false}});return t&&this._selectionModel.select(t),t}_assignValue(e){return e!==this._value||this._multiple&&Array.isArray(e)?(this.options&&this._setSelectionByValue(e),this._value=e,true):false}_skipPredicate=e=>this.panelOpen?false:e.disabled;_getOverlayWidth(e){return this.panelWidth==="auto"?(e instanceof Rt?e.elementRef:e||this._elementRef).nativeElement.getBoundingClientRect().width:this.panelWidth===null?"":this.panelWidth}_syncParentProperties(){if(this.options)for(let e of this.options)e._changeDetectorRef.markForCheck();}_initKeyManager(){this._keyManager=new Pt$1(this.options).withTypeAhead(this.typeaheadDebounceInterval).withVerticalOrientation().withHorizontalOrientation(this._isRtl()?"rtl":"ltr").withHomeAndEnd().withPageUpDown().withAllowedModifierKeys(["shiftKey"]).skipPredicate(this._skipPredicate),this._keyManager.tabOut.subscribe(()=>{this.panelOpen&&(!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction(),this.focus(),this.close());}),this._keyManager.change.subscribe(()=>{this._panelOpen&&this.panel?this._scrollOptionIntoView(this._keyManager.activeItemIndex||0):!this._panelOpen&&!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction();});}_resetOptions(){let e=Yy(this.options.changes,this._destroy);this.optionSelectionChanges.pipe(Vy(e)).subscribe(t=>{this._onSelect(t.source,t.isUserInput),t.isUserInput&&!this.multiple&&this._panelOpen&&(this.close(),this.focus());}),Yy(...this.options.map(t=>t._stateChanges)).pipe(Vy(e)).subscribe(()=>{this._changeDetectorRef.detectChanges(),this.stateChanges.next();});}_onSelect(e,t){let i=this._selectionModel.isSelected(e);!this.canSelectNullableOptions&&e.value==null&&!this._multiple?(e.deselect(),this._selectionModel.clear(),this.value!=null&&this._propagateChanges(e.value)):(i!==e.selected&&(e.selected?this._selectionModel.select(e):this._selectionModel.deselect(e)),t&&this._keyManager.setActiveItem(e),this.multiple&&(this._sortValues(),t&&this.focus())),i!==this._selectionModel.isSelected(e)&&this._propagateChanges(),this.stateChanges.next();}_sortValues(){if(this.multiple){let e=this.options.toArray();this._selectionModel.sort((t,i)=>this.sortComparator?this.sortComparator(t,i,e):e.indexOf(t)-e.indexOf(i)),this.stateChanges.next();}}_propagateChanges(e){let t;this.multiple?t=this.selected.map(i=>i.value):t=this.selected?this.selected.value:e,this._value=t,this.valueChange.emit(t),this._onChange(t),this.selectionChange.emit(this._getChangeEvent(t)),this._changeDetectorRef.markForCheck();}_highlightCorrectOption(){if(this._keyManager)if(this.empty){let e=-1;for(let t=0;t<this.options.length;t++)if(!this.options.get(t).disabled){e=t;break}this._keyManager.setActiveItem(e);}else this._keyManager.setActiveItem(this._selectionModel.selected[0]);}_canOpen(){return !this._panelOpen&&!this.disabled&&this.options?.length>0&&!!this._overlayDir}focus(e){this._elementRef.nativeElement.focus(e);}_getPanelAriaLabelledby(){if(this.ariaLabel)return null;let e=this._parentFormField?.getLabelId()||null,t=e?e+" ":"";return this.ariaLabelledby?t+this.ariaLabelledby:e}_getAriaActiveDescendant(){return this.panelOpen&&this._keyManager&&this._keyManager.activeItem?this._keyManager.activeItem.id:null}_getTriggerAriaLabelledby(){if(this.ariaLabel)return null;let e=this._parentFormField?.getLabelId()||"";return this.ariaLabelledby&&(e+=" "+this.ariaLabelledby),e||(e=this._valueId),e}get describedByIds(){return this._elementRef.nativeElement.getAttribute("aria-describedby")?.split(" ")||[]}setDescribedByIds(e){let t=this._elementRef.nativeElement;e.length?t.setAttribute("aria-describedby",e.join(" ")):t.removeAttribute("aria-describedby");}onContainerClick(e){let t=E(e);t&&(t.tagName==="MAT-OPTION"||t.classList.contains("cdk-overlay-backdrop")||t.closest(".mat-mdc-select-panel"))||(this.focus(),this.open());}get shouldLabelFloat(){return this.panelOpen||!this.empty||this.focused&&!!this.placeholder}static \u0275fac=function(t){return new(t||a)};static \u0275cmp=Aw({type:a,selectors:[["mat-select"]],contentQueries:function(t,i,n){if(t&1&&kg(n,at,5)(n,Fn,5)(n,Hi$1,5),t&2){let r;IC(r=wC())&&(i.customTrigger=r.first),IC(r=wC())&&(i.options=r),IC(r=wC())&&(i.optionGroups=r);}},viewQuery:function(t,i){if(t&1&&Fg(Qe,5)(Ye,5)(_e$1,5),t&2){let n;IC(n=wC())&&(i.trigger=n.first),IC(n=wC())&&(i.panel=n.first),IC(n=wC())&&(i._overlayDir=n.first);}},hostAttrs:["role","combobox","aria-haspopup","listbox",1,"mat-mdc-select"],hostVars:21,hostBindings:function(t,i){t&1&&Ag("keydown",function(r){return i._handleKeydown(r)})("focus",function(){return i._onFocus()})("blur",function(){return i._onBlur()}),t&2&&(Cg("id",i.id)("tabindex",i.disabled?-1:i.tabIndex)("aria-controls",i.panelOpen?i.id+"-panel":null)("aria-expanded",i.panelOpen)("aria-label",i.ariaLabel||null)("aria-required",i.required.toString())("aria-disabled",i.disabled.toString())("aria-invalid",i.errorState)("aria-activedescendant",i._getAriaActiveDescendant()),Hg("mat-mdc-select-disabled",i.disabled)("mat-mdc-select-invalid",i.errorState)("mat-mdc-select-required",i.required)("mat-mdc-select-empty",i.empty)("mat-mdc-select-multiple",i.multiple)("mat-select-open",i.panelOpen));},inputs:{userAriaDescribedBy:[0,"aria-describedby","userAriaDescribedBy"],panelClass:"panelClass",disabled:[2,"disabled","disabled",YT],disableRipple:[2,"disableRipple","disableRipple",YT],tabIndex:[2,"tabIndex","tabIndex",e=>e==null?0:QT(e)],hideSingleSelectionIndicator:[2,"hideSingleSelectionIndicator","hideSingleSelectionIndicator",YT],placeholder:"placeholder",required:[2,"required","required",YT],multiple:[2,"multiple","multiple",YT],disableOptionCentering:[2,"disableOptionCentering","disableOptionCentering",YT],compareWith:"compareWith",value:"value",ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"],errorStateMatcher:"errorStateMatcher",typeaheadDebounceInterval:[2,"typeaheadDebounceInterval","typeaheadDebounceInterval",QT],sortComparator:"sortComparator",id:"id",panelWidth:"panelWidth",canSelectNullableOptions:[2,"canSelectNullableOptions","canSelectNullableOptions",YT]},outputs:{openedChange:"openedChange",_openedStream:"opened",_closedStream:"closed",selectionChange:"selectionChange",valueChange:"valueChange"},exportAs:["matSelect"],features:[nT([{provide:de,useExisting:a},{provide:zi,useExisting:a}]),Cu],ngContentSelectors:Xe,decls:11,vars:10,consts:[["fallbackOverlayOrigin","cdkOverlayOrigin","trigger",""],["panel",""],["cdk-overlay-origin","",1,"mat-mdc-select-trigger",3,"click"],[1,"mat-mdc-select-value"],[1,"mat-mdc-select-placeholder","mat-mdc-select-min-line"],[1,"mat-mdc-select-value-text"],[1,"mat-mdc-select-arrow-wrapper"],[1,"mat-mdc-select-arrow"],["viewBox","0 0 24 24","width","24px","height","24px","focusable","false","aria-hidden","true"],["d","M7 10l5 5 5-5z"],["cdk-connected-overlay","","cdkConnectedOverlayHasBackdrop","","cdkConnectedOverlayBackdropClass","cdk-overlay-transparent-backdrop",3,"detach","backdropClick","overlayKeydown","cdkConnectedOverlayDisableClose","cdkConnectedOverlayPanelClass","cdkConnectedOverlayScrollStrategy","cdkConnectedOverlayOrigin","cdkConnectedOverlayPositions","cdkConnectedOverlayWidth","cdkConnectedOverlayFlexibleDimensions","cdkConnectedOverlayUsePopover"],[1,"mat-mdc-select-min-line"],["role","listbox","tabindex","-1",1,"mat-mdc-select-panel","mdc-menu-surface","mdc-menu-surface--open",3,"keydown"]],template:function(t,i){if(t&1&&(vC(Ue),vs(0,"div",2,0),Ag("click",function(){return i.open()}),vs(3,"div",3),eC(4,Je,2,1,"span",4)(5,et,3,1,"span",5),fl(),vs(6,"div",6)(7,"div",7),kf(),vs(8,"svg",8),bg(9,"path",9),fl()()()(),Dg(10,tt,3,16,"ng-template",10),Ag("detach",function(){return i.close()})("backdropClick",function(){return i.close()})("overlayKeydown",function(r){return i._handleOverlayKeydown(r)})),t&2){let n=TC(1);XE(3),Cg("id",i._valueId),XE(),tC(i.empty?4:5),XE(6),Tg("cdkConnectedOverlayDisableClose",true)("cdkConnectedOverlayPanelClass",i._overlayPanelClass)("cdkConnectedOverlayScrollStrategy",i._scrollStrategy)("cdkConnectedOverlayOrigin",i._preferredOverlayOrigin||n)("cdkConnectedOverlayPositions",i._positions)("cdkConnectedOverlayWidth",i._overlayWidth)("cdkConnectedOverlayFlexibleDimensions",true)("cdkConnectedOverlayUsePopover",i._popoverLocation);}},dependencies:[Rt,_e$1],styles:[`@keyframes _mat-select-enter {
1
+ import {c as ce,s as se,b as at$1,d as de}from'./chunk-lbDJ4ttg.js';import {w as wr,h as hr,a as fr,f as ft,z as zi,F as Fn,H as Hi$1}from'./chunk-DdIe-Q8z.js';import {W as We,Q as Qt$1}from'./chunk-Bc7OrHjR.js';import {aK as Do,aL as qn,bC as ge,aN as wt,bD as vt,g,bM as F,br as Cl,az as Qt,bs as Qn,aS as Ut,aQ as As,c3 as On,aV as w,aR as K,an as ce$1,H as Hi,bP as Zy,bQ as bd,bR as ma,bO as Yy,al as yt,ae as Ot,u as ue,bx as am,c4 as Et,ap as Vy,aA as sn,bt as Ve,c5 as Rt,bG as Pt$1,c0 as E,A as Aw,c6 as _e$1,aC as Cu,aZ as YT,c7 as QT,bz as vC,v as vs,l as Ag,n as eC,k as fl,c8 as kf,o as bg,af as Dg,T as TC,X as XE,C as Cg,t as tC,r as Tg,b4 as nT,y as Hg,D as Fg,I as IC,E as wC,bu as kg,bK as pe,c2 as kt,W as WC,ac as mC,a8 as Zg,a9 as dC,aa as If,ab as wf,bA as DC,b_ as FC}from'./main-FZBZNLDT.js';import {_,b as _e,d as an,E as En}from'./chunk-MYEQTQOG.js';var Qe=["trigger"],Ye=["panel"],Ue=[[["mat-select-trigger"]],"*"],Xe=["mat-select-trigger","*"];function Je(a,_){if(a&1&&(vs(0,"span",4),WC(1),fl()),a&2){let e=mC();XE(),Zg(e.placeholder);}}function Ze(a,_){a&1&&DC(0);}function $e(a,_){if(a&1&&(vs(0,"span",11),WC(1),fl()),a&2){let e=mC(2);XE(),Zg(e.triggerValue);}}function et(a,_){if(a&1&&(vs(0,"span",5),eC(1,Ze,1,0)(2,$e,2,1,"span",11),fl()),a&2){let e=mC();XE(),tC(e.customTrigger?1:2);}}function tt(a,_){if(a&1){let e=dC();vs(0,"div",12,1),Ag("keydown",function(i){If(e);let n=mC();return wf(n._handleKeydown(i))}),DC(2,1),fl();}if(a&2){let e=mC();FC(e.panelClass),Hg("mat-select-panel-animations-enabled",!e._animationsDisabled)("mat-primary",e._parentFormField?.color==="primary")("mat-accent",e._parentFormField?.color==="accent")("mat-warn",e._parentFormField?.color==="warn")("mat-undefined",!e._parentFormField?.color),Cg("id",e.id+"-panel")("aria-multiselectable",e.multiple)("aria-label",e.ariaLabel||null)("aria-labelledby",e._getPanelAriaLabelledby());}}var it=new w("mat-select-scroll-strategy",{providedIn:"root",factory:()=>{let a=g(pe);return ()=>kt(a)}}),nt=new w("MAT_SELECT_CONFIG"),at=new w("MatSelectTrigger"),B=class{source;value;constructor(_,e){this.source=_,this.value=e;}},Lt=(()=>{class a{_viewportRuler=g(F);_changeDetectorRef=g(Cl);_elementRef=g(Qt);_dir=g(Qn,{optional:true});_idGenerator=g(Ut);_renderer=g(As);_parentFormField=g(se,{optional:true});ngControl=g(_,{self:true,optional:true});_liveAnnouncer=g(On);_defaultOptions=g(nt,{optional:true});_animationsDisabled=K();_popoverLocation;_initialized=new ce$1;_cleanupDetach;options;optionGroups;customTrigger;_positions=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom",panelClass:"mat-mdc-select-panel-above"},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom",panelClass:"mat-mdc-select-panel-above"}];_scrollOptionIntoView(e){let t=this.options.toArray()[e];if(t){let i=this.panel.nativeElement,n=hr(e,this.options,this.optionGroups),r=t._getHostElement();e===0&&n===1?i.scrollTop=0:i.scrollTop=fr(r.offsetTop,r.offsetHeight,i.scrollTop,i.offsetHeight);}}_positioningSettled(){this._scrollOptionIntoView(this._keyManager.activeItemIndex||0);}_getChangeEvent(e){return new B(this,e)}_scrollStrategyFactory=g(it);_panelOpen=false;_compareWith=(e,t)=>e===t;_uid=this._idGenerator.getId("mat-select-");_triggerAriaLabelledBy=null;_previousControl;_destroy=new ce$1;_errorStateTracker;stateChanges=new ce$1;disableAutomaticLabeling=true;userAriaDescribedBy;_selectionModel;_keyManager;_preferredOverlayOrigin;_overlayWidth;_onChange=()=>{};_onTouched=()=>{};_valueId=this._idGenerator.getId("mat-select-value-");_scrollStrategy;_overlayPanelClass=this._defaultOptions?.overlayPanelClass||"";get focused(){return this._focused||this._panelOpen}_focused=false;controlType="mat-select";trigger;panel;_overlayDir;panelClass;disabled=false;get disableRipple(){return this._disableRipple()}set disableRipple(e){this._disableRipple.set(e);}_disableRipple=Hi(false);tabIndex=0;get hideSingleSelectionIndicator(){return this._hideSingleSelectionIndicator}set hideSingleSelectionIndicator(e){this._hideSingleSelectionIndicator=e,this._syncParentProperties();}_hideSingleSelectionIndicator=this._defaultOptions?.hideSingleSelectionIndicator??false;get placeholder(){return this._placeholder}set placeholder(e){this._placeholder=e,this.stateChanges.next();}_placeholder;get required(){return this._required??this.ngControl?.control?.hasValidator(_e.required)??false}set required(e){this._required=e,this.stateChanges.next();}_required;get multiple(){return this._multiple}set multiple(e){this._selectionModel,this._multiple=e;}_multiple=false;disableOptionCentering=this._defaultOptions?.disableOptionCentering??false;get compareWith(){return this._compareWith}set compareWith(e){this._compareWith=e,this._selectionModel&&this._initializeSelection();}get value(){return this._value}set value(e){this._assignValue(e)&&this._onChange(e);}_value;ariaLabel="";ariaLabelledby;get errorStateMatcher(){return this._errorStateTracker.matcher}set errorStateMatcher(e){this._errorStateTracker.matcher=e;}typeaheadDebounceInterval;sortComparator;get id(){return this._id}set id(e){this._id=e||this._uid,this.stateChanges.next();}_id;get errorState(){return this._errorStateTracker.errorState}set errorState(e){this._errorStateTracker.errorState=e;}panelWidth=this._defaultOptions&&typeof this._defaultOptions.panelWidth<"u"?this._defaultOptions.panelWidth:"auto";canSelectNullableOptions=this._defaultOptions?.canSelectNullableOptions??false;optionSelectionChanges=Zy(()=>{let e=this.options;return e?e.changes.pipe(bd(e),ma(()=>Yy(...e.map(t=>t.onSelectionChange)))):this._initialized.pipe(ma(()=>this.optionSelectionChanges))});openedChange=new yt;_openedStream=this.openedChange.pipe(Ot(e=>e),ue(()=>{}));_closedStream=this.openedChange.pipe(Ot(e=>!e),ue(()=>{}));selectionChange=new yt;valueChange=new yt;constructor(){let e=g(We),t=g(an,{optional:true}),i=g(En,{optional:true}),n=g(new am("tabindex"),{optional:true}),r=g(Et,{optional:true}),d=g(at$1,{optional:true,self:true});this.ngControl&&(this.ngControl.valueAccessor=this),this._defaultOptions?.typeaheadDebounceInterval!=null&&(this.typeaheadDebounceInterval=this._defaultOptions.typeaheadDebounceInterval),this._errorStateTracker=new Qt$1(e,d||this.ngControl,i,t,this.stateChanges),this._scrollStrategy=this._scrollStrategyFactory(),this.tabIndex=n==null?0:parseInt(n)||0,this._popoverLocation=r?.usePopover===false?null:"inline",this.id=this.id;}ngOnInit(){this._selectionModel=new ft(this.multiple),this.stateChanges.next(),this._viewportRuler.change().pipe(Vy(this._destroy)).subscribe(()=>{this.panelOpen&&(this._overlayWidth=this._getOverlayWidth(this._preferredOverlayOrigin),this._changeDetectorRef.detectChanges());});}ngAfterContentInit(){this._initialized.next(),this._initialized.complete(),this._initKeyManager(),this._selectionModel.changed.pipe(Vy(this._destroy)).subscribe(e=>{e.added.forEach(t=>t.select()),e.removed.forEach(t=>t.deselect());}),this.options.changes.pipe(bd(null),Vy(this._destroy)).subscribe(()=>{this._resetOptions(),this._initializeSelection();});}ngDoCheck(){let e=this._getTriggerAriaLabelledby(),t=this.ngControl;if(e!==this._triggerAriaLabelledBy){let i=this._elementRef.nativeElement;this._triggerAriaLabelledBy=e,e?i.setAttribute("aria-labelledby",e):i.removeAttribute("aria-labelledby");}t&&(this._previousControl!==t.control&&(this._previousControl!==void 0&&t.disabled!==null&&t.disabled!==this.disabled&&(this.disabled=t.disabled),this._previousControl=t.control),this.updateErrorState());}ngOnChanges(e){(e.disabled||e.userAriaDescribedBy)&&this.stateChanges.next(),e.typeaheadDebounceInterval&&this._keyManager&&this._keyManager.withTypeAhead(this.typeaheadDebounceInterval),e.panelClass&&this.panelClass instanceof Set&&(this.panelClass=Array.from(this.panelClass));}ngOnDestroy(){this._cleanupDetach?.(),this._keyManager?.destroy(),this._destroy.next(),this._destroy.complete(),this.stateChanges.complete();}toggle(){this.panelOpen?this.close():this.open();}open(){this._canOpen()&&(this._parentFormField&&(this._preferredOverlayOrigin=this._parentFormField.getConnectedOverlayOrigin()),this._cleanupDetach?.(),this._overlayWidth=this._getOverlayWidth(this._preferredOverlayOrigin),this._panelOpen=true,this._overlayDir.positionChange.pipe(sn(1)).subscribe(()=>{this._changeDetectorRef.detectChanges(),this._positioningSettled();}),this._overlayDir.attachOverlay(),this._keyManager.withHorizontalOrientation(null),this._highlightCorrectOption(),this._changeDetectorRef.markForCheck(),this.stateChanges.next(),Promise.resolve().then(()=>this.openedChange.emit(true)));}close(){this._panelOpen&&(this._panelOpen=false,this._exitAndDetach(),this._keyManager.withHorizontalOrientation(this._isRtl()?"rtl":"ltr"),this._changeDetectorRef.markForCheck(),this._onTouched(),this.stateChanges.next(),Promise.resolve().then(()=>this.openedChange.emit(false)));}_exitAndDetach(){if(this._animationsDisabled||!this.panel){this._detachOverlay();return}this._cleanupDetach?.(),this._cleanupDetach=()=>{t(),clearTimeout(i),this._cleanupDetach=void 0;};let e=this.panel.nativeElement,t=this._renderer.listen(e,"animationend",n=>{n.animationName==="_mat-select-exit"&&(this._cleanupDetach?.(),this._detachOverlay());}),i=setTimeout(()=>{this._cleanupDetach?.(),this._detachOverlay();},200);e.classList.add("mat-select-panel-exit");}_detachOverlay(){this._overlayDir.detachOverlay(),this._changeDetectorRef.markForCheck();}writeValue(e){this._assignValue(e);}registerOnChange(e){this._onChange=e;}registerOnTouched(e){this._onTouched=e;}setDisabledState(e){this.disabled=e,this._changeDetectorRef.markForCheck(),this.stateChanges.next();}get panelOpen(){return this._panelOpen}get selected(){return this.multiple?this._selectionModel?.selected||[]:this._selectionModel?.selected[0]}get triggerValue(){if(this.empty)return "";if(this._multiple){let e=this._selectionModel.selected.map(t=>t.viewValue);return this._isRtl()&&e.reverse(),e.join(", ")}return this._selectionModel.selected[0].viewValue}updateErrorState(){this._errorStateTracker.updateErrorState();}_isRtl(){return this._dir?this._dir.value==="rtl":false}_handleKeydown(e){this.disabled||(this.panelOpen?this._handleOpenKeydown(e):this._handleClosedKeydown(e));}_handleClosedKeydown(e){let t=e.keyCode,i=t===40||t===38||t===37||t===39,n=t===13||t===32,r=this._keyManager;if(!r.isTyping()&&n&&!Ve(e)||(this.multiple||e.altKey)&&i)e.preventDefault(),this.open();else if(!this.multiple){let d=this.selected;r.onKeydown(e);let o=this.selected;o&&d!==o&&this._liveAnnouncer.announce(o.viewValue,1e4);}}_handleOpenKeydown(e){let t=this._keyManager,i=e.keyCode,n=i===40||i===38,r=t.isTyping();if(n&&e.altKey)e.preventDefault(),this.close();else if(!r&&(i===13||i===32)&&t.activeItem&&!Ve(e))e.preventDefault(),t.activeItem._selectViaInteraction();else if(!r&&this._multiple&&i===65&&e.ctrlKey){e.preventDefault();let d=this.options.some(o=>!o.disabled&&!o.selected);this.options.forEach(o=>{o.disabled||(d?o.select():o.deselect());});}else {let d=t.activeItemIndex;t.onKeydown(e),this._multiple&&n&&e.shiftKey&&t.activeItem&&t.activeItemIndex!==d&&t.activeItem._selectViaInteraction();}}_handleOverlayKeydown(e){e.keyCode===27&&!Ve(e)&&(e.preventDefault(),this.close());}_onFocus(){this.disabled||(this._focused=true,this.stateChanges.next());}_onBlur(){this._focused=false,this._keyManager?.cancelTypeahead(),!this.disabled&&!this.panelOpen&&(this._onTouched(),this._changeDetectorRef.markForCheck(),this.stateChanges.next());}get empty(){return !this._selectionModel||this._selectionModel.isEmpty()}_initializeSelection(){Promise.resolve().then(()=>{this.ngControl&&(this._value=this.ngControl.value),this._setSelectionByValue(this._value),this.stateChanges.next();});}_setSelectionByValue(e){if(this.options.forEach(t=>t.setInactiveStyles()),this._selectionModel.clear(),this.multiple&&e)e.forEach(t=>this._selectOptionByValue(t)),this._sortValues();else {let t=this._selectOptionByValue(e);t?this._keyManager.updateActiveItem(t):this.panelOpen||this._keyManager.updateActiveItem(-1);}this._changeDetectorRef.markForCheck();}_selectOptionByValue(e){let t=this.options.find(i=>{if(this._selectionModel.isSelected(i))return false;try{return (i.value!=null||this.canSelectNullableOptions)&&this._compareWith(i.value,e)}catch(n){return false}});return t&&this._selectionModel.select(t),t}_assignValue(e){return e!==this._value||this._multiple&&Array.isArray(e)?(this.options&&this._setSelectionByValue(e),this._value=e,true):false}_skipPredicate=e=>this.panelOpen?false:e.disabled;_getOverlayWidth(e){return this.panelWidth==="auto"?(e instanceof Rt?e.elementRef:e||this._elementRef).nativeElement.getBoundingClientRect().width:this.panelWidth===null?"":this.panelWidth}_syncParentProperties(){if(this.options)for(let e of this.options)e._changeDetectorRef.markForCheck();}_initKeyManager(){this._keyManager=new Pt$1(this.options).withTypeAhead(this.typeaheadDebounceInterval).withVerticalOrientation().withHorizontalOrientation(this._isRtl()?"rtl":"ltr").withHomeAndEnd().withPageUpDown().withAllowedModifierKeys(["shiftKey"]).skipPredicate(this._skipPredicate),this._keyManager.tabOut.subscribe(()=>{this.panelOpen&&(!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction(),this.focus(),this.close());}),this._keyManager.change.subscribe(()=>{this._panelOpen&&this.panel?this._scrollOptionIntoView(this._keyManager.activeItemIndex||0):!this._panelOpen&&!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction();});}_resetOptions(){let e=Yy(this.options.changes,this._destroy);this.optionSelectionChanges.pipe(Vy(e)).subscribe(t=>{this._onSelect(t.source,t.isUserInput),t.isUserInput&&!this.multiple&&this._panelOpen&&(this.close(),this.focus());}),Yy(...this.options.map(t=>t._stateChanges)).pipe(Vy(e)).subscribe(()=>{this._changeDetectorRef.detectChanges(),this.stateChanges.next();});}_onSelect(e,t){let i=this._selectionModel.isSelected(e);!this.canSelectNullableOptions&&e.value==null&&!this._multiple?(e.deselect(),this._selectionModel.clear(),this.value!=null&&this._propagateChanges(e.value)):(i!==e.selected&&(e.selected?this._selectionModel.select(e):this._selectionModel.deselect(e)),t&&this._keyManager.setActiveItem(e),this.multiple&&(this._sortValues(),t&&this.focus())),i!==this._selectionModel.isSelected(e)&&this._propagateChanges(),this.stateChanges.next();}_sortValues(){if(this.multiple){let e=this.options.toArray();this._selectionModel.sort((t,i)=>this.sortComparator?this.sortComparator(t,i,e):e.indexOf(t)-e.indexOf(i)),this.stateChanges.next();}}_propagateChanges(e){let t;this.multiple?t=this.selected.map(i=>i.value):t=this.selected?this.selected.value:e,this._value=t,this.valueChange.emit(t),this._onChange(t),this.selectionChange.emit(this._getChangeEvent(t)),this._changeDetectorRef.markForCheck();}_highlightCorrectOption(){if(this._keyManager)if(this.empty){let e=-1;for(let t=0;t<this.options.length;t++)if(!this.options.get(t).disabled){e=t;break}this._keyManager.setActiveItem(e);}else this._keyManager.setActiveItem(this._selectionModel.selected[0]);}_canOpen(){return !this._panelOpen&&!this.disabled&&this.options?.length>0&&!!this._overlayDir}focus(e){this._elementRef.nativeElement.focus(e);}_getPanelAriaLabelledby(){if(this.ariaLabel)return null;let e=this._parentFormField?.getLabelId()||null,t=e?e+" ":"";return this.ariaLabelledby?t+this.ariaLabelledby:e}_getAriaActiveDescendant(){return this.panelOpen&&this._keyManager&&this._keyManager.activeItem?this._keyManager.activeItem.id:null}_getTriggerAriaLabelledby(){if(this.ariaLabel)return null;let e=this._parentFormField?.getLabelId()||"";return this.ariaLabelledby&&(e+=" "+this.ariaLabelledby),e||(e=this._valueId),e}get describedByIds(){return this._elementRef.nativeElement.getAttribute("aria-describedby")?.split(" ")||[]}setDescribedByIds(e){let t=this._elementRef.nativeElement;e.length?t.setAttribute("aria-describedby",e.join(" ")):t.removeAttribute("aria-describedby");}onContainerClick(e){let t=E(e);t&&(t.tagName==="MAT-OPTION"||t.classList.contains("cdk-overlay-backdrop")||t.closest(".mat-mdc-select-panel"))||(this.focus(),this.open());}get shouldLabelFloat(){return this.panelOpen||!this.empty||this.focused&&!!this.placeholder}static \u0275fac=function(t){return new(t||a)};static \u0275cmp=Aw({type:a,selectors:[["mat-select"]],contentQueries:function(t,i,n){if(t&1&&kg(n,at,5)(n,Fn,5)(n,Hi$1,5),t&2){let r;IC(r=wC())&&(i.customTrigger=r.first),IC(r=wC())&&(i.options=r),IC(r=wC())&&(i.optionGroups=r);}},viewQuery:function(t,i){if(t&1&&Fg(Qe,5)(Ye,5)(_e$1,5),t&2){let n;IC(n=wC())&&(i.trigger=n.first),IC(n=wC())&&(i.panel=n.first),IC(n=wC())&&(i._overlayDir=n.first);}},hostAttrs:["role","combobox","aria-haspopup","listbox",1,"mat-mdc-select"],hostVars:21,hostBindings:function(t,i){t&1&&Ag("keydown",function(r){return i._handleKeydown(r)})("focus",function(){return i._onFocus()})("blur",function(){return i._onBlur()}),t&2&&(Cg("id",i.id)("tabindex",i.disabled?-1:i.tabIndex)("aria-controls",i.panelOpen?i.id+"-panel":null)("aria-expanded",i.panelOpen)("aria-label",i.ariaLabel||null)("aria-required",i.required.toString())("aria-disabled",i.disabled.toString())("aria-invalid",i.errorState)("aria-activedescendant",i._getAriaActiveDescendant()),Hg("mat-mdc-select-disabled",i.disabled)("mat-mdc-select-invalid",i.errorState)("mat-mdc-select-required",i.required)("mat-mdc-select-empty",i.empty)("mat-mdc-select-multiple",i.multiple)("mat-select-open",i.panelOpen));},inputs:{userAriaDescribedBy:[0,"aria-describedby","userAriaDescribedBy"],panelClass:"panelClass",disabled:[2,"disabled","disabled",YT],disableRipple:[2,"disableRipple","disableRipple",YT],tabIndex:[2,"tabIndex","tabIndex",e=>e==null?0:QT(e)],hideSingleSelectionIndicator:[2,"hideSingleSelectionIndicator","hideSingleSelectionIndicator",YT],placeholder:"placeholder",required:[2,"required","required",YT],multiple:[2,"multiple","multiple",YT],disableOptionCentering:[2,"disableOptionCentering","disableOptionCentering",YT],compareWith:"compareWith",value:"value",ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"],errorStateMatcher:"errorStateMatcher",typeaheadDebounceInterval:[2,"typeaheadDebounceInterval","typeaheadDebounceInterval",QT],sortComparator:"sortComparator",id:"id",panelWidth:"panelWidth",canSelectNullableOptions:[2,"canSelectNullableOptions","canSelectNullableOptions",YT]},outputs:{openedChange:"openedChange",_openedStream:"opened",_closedStream:"closed",selectionChange:"selectionChange",valueChange:"valueChange"},exportAs:["matSelect"],features:[nT([{provide:de,useExisting:a},{provide:zi,useExisting:a}]),Cu],ngContentSelectors:Xe,decls:11,vars:10,consts:[["fallbackOverlayOrigin","cdkOverlayOrigin","trigger",""],["panel",""],["cdk-overlay-origin","",1,"mat-mdc-select-trigger",3,"click"],[1,"mat-mdc-select-value"],[1,"mat-mdc-select-placeholder","mat-mdc-select-min-line"],[1,"mat-mdc-select-value-text"],[1,"mat-mdc-select-arrow-wrapper"],[1,"mat-mdc-select-arrow"],["viewBox","0 0 24 24","width","24px","height","24px","focusable","false","aria-hidden","true"],["d","M7 10l5 5 5-5z"],["cdk-connected-overlay","","cdkConnectedOverlayHasBackdrop","","cdkConnectedOverlayBackdropClass","cdk-overlay-transparent-backdrop",3,"detach","backdropClick","overlayKeydown","cdkConnectedOverlayDisableClose","cdkConnectedOverlayPanelClass","cdkConnectedOverlayScrollStrategy","cdkConnectedOverlayOrigin","cdkConnectedOverlayPositions","cdkConnectedOverlayWidth","cdkConnectedOverlayFlexibleDimensions","cdkConnectedOverlayUsePopover"],[1,"mat-mdc-select-min-line"],["role","listbox","tabindex","-1",1,"mat-mdc-select-panel","mdc-menu-surface","mdc-menu-surface--open",3,"keydown"]],template:function(t,i){if(t&1&&(vC(Ue),vs(0,"div",2,0),Ag("click",function(){return i.open()}),vs(3,"div",3),eC(4,Je,2,1,"span",4)(5,et,3,1,"span",5),fl(),vs(6,"div",6)(7,"div",7),kf(),vs(8,"svg",8),bg(9,"path",9),fl()()()(),Dg(10,tt,3,16,"ng-template",10),Ag("detach",function(){return i.close()})("backdropClick",function(){return i.close()})("overlayKeydown",function(r){return i._handleOverlayKeydown(r)})),t&2){let n=TC(1);XE(3),Cg("id",i._valueId),XE(),tC(i.empty?4:5),XE(6),Tg("cdkConnectedOverlayDisableClose",true)("cdkConnectedOverlayPanelClass",i._overlayPanelClass)("cdkConnectedOverlayScrollStrategy",i._scrollStrategy)("cdkConnectedOverlayOrigin",i._preferredOverlayOrigin||n)("cdkConnectedOverlayPositions",i._positions)("cdkConnectedOverlayWidth",i._overlayWidth)("cdkConnectedOverlayFlexibleDimensions",true)("cdkConnectedOverlayUsePopover",i._popoverLocation);}},dependencies:[Rt,_e$1],styles:[`@keyframes _mat-select-enter {
2
2
  from {
3
3
  opacity: 0;
4
4
  transform: scaleY(0.8);
@@ -1 +1 @@
1
- import {g,bk as Mt,Y as x}from'./main-VYETRYCE.js';var s=class n{snackBar=g(Mt);success(t,o=2e3){this.snackBar.open(t,"",{duration:o,horizontalPosition:"center",verticalPosition:"bottom",panelClass:["snackbar-success"]});}error(t,o=3e3){this.snackBar.open(t,"",{duration:o,horizontalPosition:"center",verticalPosition:"bottom",panelClass:["snackbar-error"]});}info(t,o=2e3){this.snackBar.open(t,"",{duration:o,horizontalPosition:"center",verticalPosition:"bottom",panelClass:["snackbar-info"]});}static \u0275fac=function(o){return new(o||n)};static \u0275prov=x({token:n,factory:n.\u0275fac,providedIn:"root"})};export{s};
1
+ import {g,bk as Mt,Y as x}from'./main-FZBZNLDT.js';var s=class n{snackBar=g(Mt);success(t,o=2e3){this.snackBar.open(t,"",{duration:o,horizontalPosition:"center",verticalPosition:"bottom",panelClass:["snackbar-success"]});}error(t,o=3e3){this.snackBar.open(t,"",{duration:o,horizontalPosition:"center",verticalPosition:"bottom",panelClass:["snackbar-error"]});}info(t,o=2e3){this.snackBar.open(t,"",{duration:o,horizontalPosition:"center",verticalPosition:"bottom",panelClass:["snackbar-info"]});}static \u0275fac=function(o){return new(o||n)};static \u0275prov=x({token:n,factory:n.\u0275fac,providedIn:"root"})};export{s};
@@ -1 +1 @@
1
- import {g,G,P,A as Aw,i as hr,p as pr,v as vs,l as Ag,W as WC,k as fl,n as eC,X as XE,r as Tg,t as tC,a5 as yl,al as yt$1,am as Gm,a9 as dC,ai as Jg,aa as If,aj as KC,ab as wf,a3 as HI,ak as Xg,a6 as $I,D as Fg,I as IC,E as wC,ac as mC,a8 as Zg}from'./main-VYETRYCE.js';import {y as yt,w as wt,t as ti,Y as Ye,Z as Zn,c as cn}from'./chunk-BbLMzp9k.js';var J=["inputElement"];function K(o,r){if(o&1&&(vs(0,"span",3),WC(1),fl()),o&2){let t=mC();XE(),Zg(t.label);}}function U(o,r){if(o&1&&(vs(0,"small",5),WC(1),fl()),o&2){let t=mC();XE(),Zg(t.hint);}}var h=class o{label="";placeholder="";hint="";isDisabled=false;value="";autoFocus=true;valueChange=new yt$1;enterPressed=new yt$1;inputElement;inputValue="";ngAfterViewInit(){this.inputValue=this.value,this.autoFocus&&setTimeout(()=>this.inputElement?.nativeElement.focus(),100);}onValueChange(r){this.valueChange.emit(r);}onEnter(){this.inputValue.trim()&&this.enterPressed.emit(this.inputValue.trim());}focus(){this.inputElement?.nativeElement.focus();}static \u0275fac=function(t){return new(t||o)};static \u0275cmp=Aw({type:o,selectors:[["app-text-input"]],viewQuery:function(t,e){if(t&1&&Fg(J,5),t&2){let p;IC(p=wC())&&(e.inputElement=p.first);}},inputs:{label:"label",placeholder:"placeholder",hint:"hint",isDisabled:"isDisabled",value:"value",autoFocus:"autoFocus"},outputs:{valueChange:"valueChange",enterPressed:"enterPressed"},decls:6,vars:5,consts:[["inputElement",""],[1,"text-input-container"],[1,"text-input-wrapper"],[1,"text-input-label"],["type","text",1,"text-input-field",3,"ngModelChange","keydown.enter","ngModel","placeholder","disabled"],[1,"text-input-hint"]],template:function(t,e){if(t&1){let p=dC();vs(0,"div",1)(1,"label",2),eC(2,K,2,1,"span",3),vs(3,"input",4,0),Jg("ngModelChange",function(m){return If(p),KC(e.inputValue,m)||(e.inputValue=m),wf(m)}),Ag("ngModelChange",function(m){return e.onValueChange(m)})("keydown.enter",function(){return e.onEnter()}),fl(),HI(),fl(),eC(5,U,2,1,"small",5),fl();}t&2&&(XE(2),tC(e.label?2:-1),XE(),Xg("ngModel",e.inputValue),Tg("placeholder",e.placeholder)("disabled",e.isDisabled),$I(),XE(2),tC(e.hint?5:-1));},dependencies:[ti,Ye,Zn,cn,Gm],styles:[".text-input-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;width:100%}.text-input-wrapper[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;width:100%;cursor:text}.text-input-label[_ngcontent-%COMP%]{font-size:.95rem;font-weight:500;color:var(--color-text);margin:0}.text-input-field[_ngcontent-%COMP%]{width:100%;padding:.75rem 1rem;font-size:1rem;color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;outline:none;transition:all .2s ease}.text-input-field[_ngcontent-%COMP%]::placeholder{color:var(--color-text-secondary);opacity:.7}.text-input-field[_ngcontent-%COMP%]:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.text-input-field[_ngcontent-%COMP%]:disabled{opacity:.6;cursor:not-allowed;background:var(--color-surface)}.text-input-hint[_ngcontent-%COMP%]{font-size:.85rem;color:var(--color-text-secondary);margin:0;font-style:italic}@media(max-width:768px){.text-input-field[_ngcontent-%COMP%]{padding:.65rem .85rem;font-size:.95rem}.text-input-label[_ngcontent-%COMP%]{font-size:.9rem}.text-input-hint[_ngcontent-%COMP%]{font-size:.8rem}}"],changeDetection:1})};function X(o,r){if(o&1&&(vs(0,"div",8),WC(1),fl()),o&2){let t=mC();XE(),Zg(t.errorMessage);}}var L=class o{router=g(G);projectStateService=g(P);projectName="";projectPath="";isCreating=false;errorMessage=null;isValid(){return this.projectName.trim()!==""&&this.projectPath.trim()!==""}onCreate(){if(!this.isValid()){this.errorMessage="Both name and path are required";return}this.isCreating=true,this.errorMessage=null,this.projectStateService.createProject(this.projectName.trim(),this.projectPath.trim()).subscribe({next:()=>{let r=this.projectName.trim();this.isCreating=false,this.projectStateService.selectProject(r),this.router.navigate(["project",r]);},error:r=>{this.errorMessage=r.error?.error??"Failed to create project",this.isCreating=false;}});}onCancel(){this.router.navigate(["/"]);}static \u0275fac=function(t){return new(t||o)};static \u0275cmp=Aw({type:o,selectors:[["app-project-new"]],decls:19,vars:9,consts:[[1,"project-new-page"],[1,"project-new-card"],["mat-button","",1,"project-new__back",3,"click"],[1,"project-new__title"],[1,"project-new__subtitle"],[1,"project-new__form"],["label","Project name","placeholder","my-project",3,"valueChange","value","isDisabled","autoFocus"],["label","Project path","placeholder","/path/to/project","hint","Absolute path to the project directory",3,"valueChange","enterPressed","value","isDisabled"],[1,"project-new__error"],[1,"project-new__actions"],["mat-button","",3,"click","disabled"],["mat-flat-button","","color","primary",3,"click","disabled"]],template:function(t,e){t&1&&(vs(0,"div",0)(1,"div",1)(2,"button",2),Ag("click",function(){return e.onCancel()}),vs(3,"mat-icon"),WC(4,"arrow_back"),fl(),WC(5," Back to projects "),fl(),vs(6,"h1",3),WC(7,"New project"),fl(),vs(8,"p",4),WC(9,"Point Coday to an existing directory on your machine."),fl(),vs(10,"div",5)(11,"app-text-input",6),Ag("valueChange",function(d){return e.projectName=d}),fl(),vs(12,"app-text-input",7),Ag("valueChange",function(d){return e.projectPath=d})("enterPressed",function(){return e.onCreate()}),fl(),eC(13,X,2,1,"div",8),fl(),vs(14,"div",9)(15,"button",10),Ag("click",function(){return e.onCancel()}),WC(16,"Cancel"),fl(),vs(17,"button",11),Ag("click",function(){return e.onCreate()}),WC(18),fl()()()()),t&2&&(XE(11),Tg("value",e.projectName)("isDisabled",e.isCreating)("autoFocus",true),XE(),Tg("value",e.projectPath)("isDisabled",e.isCreating),XE(),tC(e.errorMessage?13:-1),XE(2),Tg("disabled",e.isCreating),XE(2),Tg("disabled",!e.isValid()||e.isCreating),XE(),yl(" ",e.isCreating?"Creating\u2026":"Create project"," "));},dependencies:[hr,pr,yt,wt,h],styles:[".project-new-page[_ngcontent-%COMP%]{display:flex;align-items:flex-start;justify-content:center;min-height:100vh;width:100%;background:var(--color-bg);padding:2rem 1.5rem;box-sizing:border-box}.project-new-card[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem;width:100%;max-width:560px;padding:2rem;background:var(--color-bg-secondary, rgba(255, 255, 255, .7));border:1px solid var(--color-border, rgba(0, 0, 0, .1));border-radius:16px;box-shadow:var(--glass-shadow, 0 8px 32px rgba(31, 38, 135, .15));margin-top:2rem}.project-new__back[_ngcontent-%COMP%]{align-self:flex-start;margin-left:-.5rem;color:var(--color-text-secondary, #6e6e73)}.project-new__title[_ngcontent-%COMP%]{margin:0;font-size:1.625rem;font-weight:700;color:var(--color-text, #1d1d1f);letter-spacing:-.02em}.project-new__subtitle[_ngcontent-%COMP%]{margin:-.75rem 0 0;font-size:.9375rem;color:var(--color-text-secondary, #6e6e73)}.project-new__form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.25rem}.project-new__error[_ngcontent-%COMP%]{padding:.75rem 1rem;background:#dc262614;border:1px solid rgba(220,38,38,.25);border-radius:8px;color:var(--color-error, #ff3b30);font-size:.875rem}.project-new__actions[_ngcontent-%COMP%]{display:flex;gap:.75rem;justify-content:flex-end;padding-top:.25rem}"],changeDetection:1})};export{L as ProjectNewComponent};
1
+ import {g,G,P,A as Aw,i as hr,p as pr,v as vs,l as Ag,W as WC,k as fl,n as eC,X as XE,r as Tg,t as tC,a5 as yl,al as yt$1,am as Gm,a9 as dC,ai as Jg,aa as If,aj as KC,ab as wf,a3 as HI,ak as Xg,a6 as $I,D as Fg,I as IC,E as wC,ac as mC,a8 as Zg}from'./main-FZBZNLDT.js';import {y as yt,w as wt,t as ti,Y as Ye,Z as Zn,c as cn}from'./chunk-MYEQTQOG.js';var J=["inputElement"];function K(o,r){if(o&1&&(vs(0,"span",3),WC(1),fl()),o&2){let t=mC();XE(),Zg(t.label);}}function U(o,r){if(o&1&&(vs(0,"small",5),WC(1),fl()),o&2){let t=mC();XE(),Zg(t.hint);}}var h=class o{label="";placeholder="";hint="";isDisabled=false;value="";autoFocus=true;valueChange=new yt$1;enterPressed=new yt$1;inputElement;inputValue="";ngAfterViewInit(){this.inputValue=this.value,this.autoFocus&&setTimeout(()=>this.inputElement?.nativeElement.focus(),100);}onValueChange(r){this.valueChange.emit(r);}onEnter(){this.inputValue.trim()&&this.enterPressed.emit(this.inputValue.trim());}focus(){this.inputElement?.nativeElement.focus();}static \u0275fac=function(t){return new(t||o)};static \u0275cmp=Aw({type:o,selectors:[["app-text-input"]],viewQuery:function(t,e){if(t&1&&Fg(J,5),t&2){let p;IC(p=wC())&&(e.inputElement=p.first);}},inputs:{label:"label",placeholder:"placeholder",hint:"hint",isDisabled:"isDisabled",value:"value",autoFocus:"autoFocus"},outputs:{valueChange:"valueChange",enterPressed:"enterPressed"},decls:6,vars:5,consts:[["inputElement",""],[1,"text-input-container"],[1,"text-input-wrapper"],[1,"text-input-label"],["type","text",1,"text-input-field",3,"ngModelChange","keydown.enter","ngModel","placeholder","disabled"],[1,"text-input-hint"]],template:function(t,e){if(t&1){let p=dC();vs(0,"div",1)(1,"label",2),eC(2,K,2,1,"span",3),vs(3,"input",4,0),Jg("ngModelChange",function(m){return If(p),KC(e.inputValue,m)||(e.inputValue=m),wf(m)}),Ag("ngModelChange",function(m){return e.onValueChange(m)})("keydown.enter",function(){return e.onEnter()}),fl(),HI(),fl(),eC(5,U,2,1,"small",5),fl();}t&2&&(XE(2),tC(e.label?2:-1),XE(),Xg("ngModel",e.inputValue),Tg("placeholder",e.placeholder)("disabled",e.isDisabled),$I(),XE(2),tC(e.hint?5:-1));},dependencies:[ti,Ye,Zn,cn,Gm],styles:[".text-input-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;width:100%}.text-input-wrapper[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;width:100%;cursor:text}.text-input-label[_ngcontent-%COMP%]{font-size:.95rem;font-weight:500;color:var(--color-text);margin:0}.text-input-field[_ngcontent-%COMP%]{width:100%;padding:.75rem 1rem;font-size:1rem;color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;outline:none;transition:all .2s ease}.text-input-field[_ngcontent-%COMP%]::placeholder{color:var(--color-text-secondary);opacity:.7}.text-input-field[_ngcontent-%COMP%]:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.text-input-field[_ngcontent-%COMP%]:disabled{opacity:.6;cursor:not-allowed;background:var(--color-surface)}.text-input-hint[_ngcontent-%COMP%]{font-size:.85rem;color:var(--color-text-secondary);margin:0;font-style:italic}@media(max-width:768px){.text-input-field[_ngcontent-%COMP%]{padding:.65rem .85rem;font-size:.95rem}.text-input-label[_ngcontent-%COMP%]{font-size:.9rem}.text-input-hint[_ngcontent-%COMP%]{font-size:.8rem}}"],changeDetection:1})};function X(o,r){if(o&1&&(vs(0,"div",8),WC(1),fl()),o&2){let t=mC();XE(),Zg(t.errorMessage);}}var L=class o{router=g(G);projectStateService=g(P);projectName="";projectPath="";isCreating=false;errorMessage=null;isValid(){return this.projectName.trim()!==""&&this.projectPath.trim()!==""}onCreate(){if(!this.isValid()){this.errorMessage="Both name and path are required";return}this.isCreating=true,this.errorMessage=null,this.projectStateService.createProject(this.projectName.trim(),this.projectPath.trim()).subscribe({next:()=>{let r=this.projectName.trim();this.isCreating=false,this.projectStateService.selectProject(r),this.router.navigate(["project",r]);},error:r=>{this.errorMessage=r.error?.error??"Failed to create project",this.isCreating=false;}});}onCancel(){this.router.navigate(["/"]);}static \u0275fac=function(t){return new(t||o)};static \u0275cmp=Aw({type:o,selectors:[["app-project-new"]],decls:19,vars:9,consts:[[1,"project-new-page"],[1,"project-new-card"],["mat-button","",1,"project-new__back",3,"click"],[1,"project-new__title"],[1,"project-new__subtitle"],[1,"project-new__form"],["label","Project name","placeholder","my-project",3,"valueChange","value","isDisabled","autoFocus"],["label","Project path","placeholder","/path/to/project","hint","Absolute path to the project directory",3,"valueChange","enterPressed","value","isDisabled"],[1,"project-new__error"],[1,"project-new__actions"],["mat-button","",3,"click","disabled"],["mat-flat-button","","color","primary",3,"click","disabled"]],template:function(t,e){t&1&&(vs(0,"div",0)(1,"div",1)(2,"button",2),Ag("click",function(){return e.onCancel()}),vs(3,"mat-icon"),WC(4,"arrow_back"),fl(),WC(5," Back to projects "),fl(),vs(6,"h1",3),WC(7,"New project"),fl(),vs(8,"p",4),WC(9,"Point Coday to an existing directory on your machine."),fl(),vs(10,"div",5)(11,"app-text-input",6),Ag("valueChange",function(d){return e.projectName=d}),fl(),vs(12,"app-text-input",7),Ag("valueChange",function(d){return e.projectPath=d})("enterPressed",function(){return e.onCreate()}),fl(),eC(13,X,2,1,"div",8),fl(),vs(14,"div",9)(15,"button",10),Ag("click",function(){return e.onCancel()}),WC(16,"Cancel"),fl(),vs(17,"button",11),Ag("click",function(){return e.onCreate()}),WC(18),fl()()()()),t&2&&(XE(11),Tg("value",e.projectName)("isDisabled",e.isCreating)("autoFocus",true),XE(),Tg("value",e.projectPath)("isDisabled",e.isCreating),XE(),tC(e.errorMessage?13:-1),XE(2),Tg("disabled",e.isCreating),XE(2),Tg("disabled",!e.isValid()||e.isCreating),XE(),yl(" ",e.isCreating?"Creating\u2026":"Create project"," "));},dependencies:[hr,pr,yt,wt,h],styles:[".project-new-page[_ngcontent-%COMP%]{display:flex;align-items:flex-start;justify-content:center;min-height:100vh;width:100%;background:var(--color-bg);padding:2rem 1.5rem;box-sizing:border-box}.project-new-card[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem;width:100%;max-width:560px;padding:2rem;background:var(--color-bg-secondary, rgba(255, 255, 255, .7));border:1px solid var(--color-border, rgba(0, 0, 0, .1));border-radius:16px;box-shadow:var(--glass-shadow, 0 8px 32px rgba(31, 38, 135, .15));margin-top:2rem}.project-new__back[_ngcontent-%COMP%]{align-self:flex-start;margin-left:-.5rem;color:var(--color-text-secondary, #6e6e73)}.project-new__title[_ngcontent-%COMP%]{margin:0;font-size:1.625rem;font-weight:700;color:var(--color-text, #1d1d1f);letter-spacing:-.02em}.project-new__subtitle[_ngcontent-%COMP%]{margin:-.75rem 0 0;font-size:.9375rem;color:var(--color-text-secondary, #6e6e73)}.project-new__form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.25rem}.project-new__error[_ngcontent-%COMP%]{padding:.75rem 1rem;background:#dc262614;border:1px solid rgba(220,38,38,.25);border-radius:8px;color:var(--color-error, #ff3b30);font-size:.875rem}.project-new__actions[_ngcontent-%COMP%]{display:flex;gap:.75rem;justify-content:flex-end;padding-top:.25rem}"],changeDetection:1})};export{L as ProjectNewComponent};
@@ -1 +1 @@
1
- import {O}from'./chunk-RmWeivJM.js';import {g,ao as V$1,G as G$1,w as we,d8 as M,aI as Tr,bR as ma,Q as By,a7 as ga,S as ha,u as ue,b as U$1,A as Aw,aJ as Nb,v as vs,be as aT,l as Ag,W as WC,k as fl,af as Dg,T as TC,r as Tg,bf as uT,ah as rT,n as eC,ac as mC,t as tC,a9 as dC,aa as If,ab as wf,ag as fT}from'./main-VYETRYCE.js';import {W as Wn}from'./chunk-Djnp-vUI.js';import'./chunk-Dax4e1JZ.js';import'./chunk-BbLMzp9k.js';var F=()=>[];function U(o,t){if(o&1){let n=dC();vs(0,"agentos-agent-config-item",4),Ag("deleteRequested",function(i){If(n);let D=mC(2);return wf(D.deleteConfig(i))}),fl();}if(o&2){let n=mC().$implicit,e=mC();Tg("config",t)("namespaceId",e.namespaceId)("readOnly",e.isPlatformConfig(n.id));}}function V(o,t){if(o&1&&eC(0,U,1,3,"agentos-agent-config-item",3),o&2){let n,e=t.$implicit,i=mC();tC((n=i.resolveConfig(e.id))?0:-1,n);}}var j="namespace",G="platform",q=class o{route=g(V$1);router=g(G$1);destroyRef=g(we);agentConfigController=g(M);namespaceId=this.route.snapshot.params.namespaceId;refresh$=new Tr(void 0);allConfigs$=this.refresh$.pipe(ma(()=>By({namespace:this.agentConfigController.listByParentAgentConfig(this.namespaceId),platform:this.agentConfigController.listPlatformAgentsAgentConfig().pipe(ga(()=>ha([])))})));configItems$=this.allConfigs$.pipe(ue(({namespace:t,platform:n})=>[...n.map(e=>({id:e.id??"",name:e.name,description:e.description,groupKey:G,groupLabel:"Platform (read-only)"})),...t.map(e=>({id:e.id??"",name:e.name,description:e.description,groupKey:j,groupLabel:"Namespace"}))]));namespaceConfigsById=new Map;platformConfigsById=new Map;constructor(){this.allConfigs$.pipe(U$1(this.destroyRef)).subscribe(({namespace:t,platform:n})=>{this.namespaceConfigsById=new Map(t.map(e=>[e.id??"",e])),this.platformConfigsById=new Map(n.map(e=>[e.id??"",e]));});}goBack(){this.router.navigate(["/agentos","namespaces"]);}openCreateForm(){this.router.navigate(["/agentos",this.namespaceId,"agent-configs","new"]);}deleteConfig(t){this.agentConfigController.deleteAgentConfig(t.id??"").pipe(U$1(this.destroyRef)).subscribe(()=>this.refresh$.next());}resolveConfig(t){return this.namespaceConfigsById.get(t)??this.platformConfigsById.get(t)??null}isPlatformConfig(t){return this.platformConfigsById.has(t)}static \u0275fac=function(n){return new(n||o)};static \u0275cmp=Aw({type:o,selectors:[["agentos-namespace-agent-configs"]],decls:6,vars:6,consts:[["agentConfigItemTpl",""],["title","Agent Configs","emptyMessage","No agent configs defined yet. Add one above.","cardMinWidth","400px",3,"createRequested","items","showCreate","itemTemplate"],["toolbar-start","","type","button",1,"namespace-agent-configs__back",3,"click"],[3,"config","namespaceId","readOnly"],[3,"deleteRequested","config","namespaceId","readOnly"]],template:function(n,e){if(n&1&&(vs(0,"ds-entity-list",1),aT(1,"async"),Ag("createRequested",function(){return e.openCreateForm()}),vs(2,"button",2),Ag("click",function(){return e.goBack()}),WC(3," \u2190 Namespaces "),fl()(),Dg(4,V,1,1,"ng-template",null,0,fT)),n&2){let i=TC(5);Tg("items",uT(1,3,e.configItems$)??rT(5,F))("showCreate",true)("itemTemplate",i);}},dependencies:[Wn,O,Nb],styles:[".namespace-agent-configs__back[_ngcontent-%COMP%]{background:none;border:none;padding:0;cursor:pointer;font-size:.875rem;color:var(--color-primary, #007aff);font-family:inherit}.namespace-agent-configs__back[_ngcontent-%COMP%]:hover{text-decoration:underline}"]})};export{q as NamespaceAgentConfigsComponent};
1
+ import {O}from'./chunk-PZm2mGLF.js';import {g,ao as V$1,G as G$1,w as we,d8 as M,aI as Tr,bR as ma,Q as By,a7 as ga,S as ha,u as ue,b as U$1,A as Aw,aJ as Nb,v as vs,be as aT,l as Ag,W as WC,k as fl,af as Dg,T as TC,r as Tg,bf as uT,ah as rT,n as eC,ac as mC,t as tC,a9 as dC,aa as If,ab as wf,ag as fT}from'./main-FZBZNLDT.js';import {W as Wn}from'./chunk-DdIe-Q8z.js';import'./chunk-Bc7OrHjR.js';import'./chunk-MYEQTQOG.js';var F=()=>[];function U(o,t){if(o&1){let n=dC();vs(0,"agentos-agent-config-item",4),Ag("deleteRequested",function(i){If(n);let D=mC(2);return wf(D.deleteConfig(i))}),fl();}if(o&2){let n=mC().$implicit,e=mC();Tg("config",t)("namespaceId",e.namespaceId)("readOnly",e.isPlatformConfig(n.id));}}function V(o,t){if(o&1&&eC(0,U,1,3,"agentos-agent-config-item",3),o&2){let n,e=t.$implicit,i=mC();tC((n=i.resolveConfig(e.id))?0:-1,n);}}var j="namespace",G="platform",q=class o{route=g(V$1);router=g(G$1);destroyRef=g(we);agentConfigController=g(M);namespaceId=this.route.snapshot.params.namespaceId;refresh$=new Tr(void 0);allConfigs$=this.refresh$.pipe(ma(()=>By({namespace:this.agentConfigController.listByParentAgentConfig(this.namespaceId),platform:this.agentConfigController.listPlatformAgentsAgentConfig().pipe(ga(()=>ha([])))})));configItems$=this.allConfigs$.pipe(ue(({namespace:t,platform:n})=>[...n.map(e=>({id:e.id??"",name:e.name,description:e.description,groupKey:G,groupLabel:"Platform (read-only)"})),...t.map(e=>({id:e.id??"",name:e.name,description:e.description,groupKey:j,groupLabel:"Namespace"}))]));namespaceConfigsById=new Map;platformConfigsById=new Map;constructor(){this.allConfigs$.pipe(U$1(this.destroyRef)).subscribe(({namespace:t,platform:n})=>{this.namespaceConfigsById=new Map(t.map(e=>[e.id??"",e])),this.platformConfigsById=new Map(n.map(e=>[e.id??"",e]));});}goBack(){this.router.navigate(["/agentos","namespaces"]);}openCreateForm(){this.router.navigate(["/agentos",this.namespaceId,"agent-configs","new"]);}deleteConfig(t){this.agentConfigController.deleteAgentConfig(t.id??"").pipe(U$1(this.destroyRef)).subscribe(()=>this.refresh$.next());}resolveConfig(t){return this.namespaceConfigsById.get(t)??this.platformConfigsById.get(t)??null}isPlatformConfig(t){return this.platformConfigsById.has(t)}static \u0275fac=function(n){return new(n||o)};static \u0275cmp=Aw({type:o,selectors:[["agentos-namespace-agent-configs"]],decls:6,vars:6,consts:[["agentConfigItemTpl",""],["title","Agent Configs","emptyMessage","No agent configs defined yet. Add one above.","cardMinWidth","400px",3,"createRequested","items","showCreate","itemTemplate"],["toolbar-start","","type","button",1,"namespace-agent-configs__back",3,"click"],[3,"config","namespaceId","readOnly"],[3,"deleteRequested","config","namespaceId","readOnly"]],template:function(n,e){if(n&1&&(vs(0,"ds-entity-list",1),aT(1,"async"),Ag("createRequested",function(){return e.openCreateForm()}),vs(2,"button",2),Ag("click",function(){return e.goBack()}),WC(3," \u2190 Namespaces "),fl()(),Dg(4,V,1,1,"ng-template",null,0,fT)),n&2){let i=TC(5);Tg("items",uT(1,3,e.configItems$)??rT(5,F))("showCreate",true)("itemTemplate",i);}},dependencies:[Wn,O,Nb],styles:[".namespace-agent-configs__back[_ngcontent-%COMP%]{background:none;border:none;padding:0;cursor:pointer;font-size:.875rem;color:var(--color-primary, #007aff);font-family:inherit}.namespace-agent-configs__back[_ngcontent-%COMP%]:hover{text-decoration:underline}"]})};export{q as NamespaceAgentConfigsComponent};
@@ -0,0 +1 @@
1
+ import {m}from'./chunk-CDiCP0cs.js';import {g,ao as V,G,w as we,d8 as M,H as Hi,b as U,a7 as ga,S as ha,z as z$1,a as P,A as Aw,v as vs,l as Ag,W as WC,k as fl,n as eC,X as XE,a5 as yl,a8 as Zg,t as tC,a9 as dC,o as bg,a3 as HI,q as oC,bn as nC,ac as mC,r as Tg,y as Hg,a6 as $I,x as iC,aa as If,ab as wf}from'./main-FZBZNLDT.js';import {o as z,z as ze,k as _t,b as _e$1,n as ni,J as Jn,Q as Qn,e as ei,Y as Ye,A as At,Z as Zn,l as Xn,C as Cn,E as En,p as An,q as Ct,V as Vt}from'./chunk-MYEQTQOG.js';import'./chunk-CFAzj-K1.js';import'./chunk-DdIe-Q8z.js';import'./chunk-Bc7OrHjR.js';var ne=(i,t)=>t.id;function ie(i,t){i&1&&(vs(0,"p",5),WC(1,"Loading\u2026"),fl());}function ae(i,t){i&1&&(vs(0,"span",12),WC(1,"Name is required."),fl());}function le(i,t){if(i&1&&(vs(0,"p",32),WC(1),fl(),vs(2,"span",26),WC(3,"Agent Config cannot be changed after creation."),fl()),i&2){let e=mC(3);XE(),Zg(e.resolveAgentConfigName(e.agentConfigIdControl.value));}}function me(i,t){if(i&1&&(vs(0,"option",34),WC(1),fl()),i&2){let e=t.$implicit;Tg("ngValue",e.id),XE(),Zg(e.name);}}function pe(i,t){if(i&1&&(vs(0,"select",33)(1,"option",34),WC(2,"\u2014 None \u2014"),fl(),oC(3,me,2,2,"option",34,ne),fl(),HI(),vs(5,"span",26),WC(6,"Optional. Links this prompt to an agent as a starter. Immutable after creation."),fl()),i&2){let e=mC(3);Tg("formControl",e.agentConfigIdControl),$I(),XE(),Tg("ngValue",null),XE(2),iC(e.availableAgentConfigs());}}function de(i,t){if(i&1&&(vs(0,"div",8)(1,"label",31),WC(2,"Agent Config"),fl(),eC(3,le,4,1)(4,pe,7,2),fl()),i&2){let e=mC(2);XE(3),tC(e.isEditMode()&&e.agentConfigIdControl.value?3:e.isEditMode()?-1:4);}}function ce(i,t){i&1&&(vs(0,"p",19),WC(1,"No parameters defined."),fl());}function se(i,t){i&1&&(vs(0,"span",12),WC(1,"Parameter name is required."),fl());}function _e(i,t){if(i&1){let e=dC();vs(0,"div",20)(1,"div",35)(2,"div",36)(3,"label",37),WC(4,"Name "),vs(5,"span",10),WC(6,"*"),fl()(),bg(7,"input",38),HI(),eC(8,se,2,0,"span",12),fl(),vs(9,"div",36)(10,"label",37),WC(11,"Description"),fl(),bg(12,"input",39),HI(),fl(),vs(13,"div",36)(14,"label",37),WC(15,"Default value"),fl(),bg(16,"input",40),HI(),fl()(),vs(17,"button",41),Ag("click",function(){let m=If(e).$index,d=mC(2);return wf(d.removeParameter(m))}),WC(18," \xD7 "),fl()();}if(i&2){let e=t.$implicit,l=t.$index;Tg("formGroupName",l),XE(3),Tg("for","param-name-"+l),XE(4),Hg("prompt-form__input--invalid",e.controls.name.invalid&&e.controls.name.touched),Tg("id","param-name-"+l),$I(),XE(),tC(e.controls.name.invalid&&e.controls.name.touched?8:-1),XE(2),Tg("for","param-desc-"+l),XE(2),Tg("id","param-desc-"+l),$I(),XE(2),Tg("for","param-default-"+l),XE(2),Tg("id","param-default-"+l),$I();}}function fe(i,t){i&1&&(vs(0,"span",12),WC(1,"Content entry must not be blank."),fl());}function ue(i,t){if(i&1){let e=dC();vs(0,"div",22)(1,"span",42),WC(2),fl(),vs(3,"div",43),bg(4,"textarea",44),HI(),eC(5,fe,2,0,"span",12),fl(),vs(6,"button",45),Ag("click",function(){let m=If(e).$index,d=mC(2);return wf(d.removeContentEntry(m))}),WC(7," \xD7 "),fl()();}if(i&2){let e=t.$implicit,l=t.$index,m=mC(2);XE(2),Zg(l+1),XE(2),Hg("prompt-form__textarea--invalid",e.invalid&&e.touched),Tg("formControlName",l),$I(),XE(),tC(e.invalid&&e.touched?5:-1),XE(),Tg("disabled",m.contentArray.length===1);}}function ge(i,t){if(i&1&&(vs(0,"p",23),WC(1),fl()),i&2){let e=mC(2);XE(),Zg(e.errorMessage());}}function Ce(i,t){i&1&&(vs(0,"span",12),WC(1,"Invalid JSON."),fl());}function xe(i,t){if(i&1){let e=dC();vs(0,"button",46),Ag("click",function(){If(e);let m=mC(2);return wf(m.exportYaml())}),WC(1),fl();}if(i&2){let e=mC(2);Tg("disabled",e.isExporting()),XE(),yl(" ",e.isExporting()?"Exporting\u2026":"Export as YAML"," ");}}function ve(i,t){if(i&1){let e=dC();vs(0,"form",7),Ag("ngSubmit",function(){If(e);let m=mC();return wf(m.submit())}),vs(1,"div",8)(2,"label",9),WC(3,"Name "),vs(4,"span",10),WC(5,"*"),fl()(),bg(6,"input",11),HI(),eC(7,ae,2,0,"span",12),fl(),vs(8,"div",8)(9,"label",13),WC(10,"Description"),fl(),bg(11,"input",14),HI(),fl(),eC(12,de,5,1,"div",8),vs(13,"fieldset",15)(14,"legend",16),WC(15," Parameters "),vs(16,"span",17),WC(17,"Named placeholders used in content"),fl()(),vs(18,"p",18),WC(19," Each parameter must have a name and a default value. Use "),vs(20,"code"),WC(21),fl(),WC(22," in content entries to reference them. "),fl(),eC(23,ce,2,0,"p",19),oC(24,_e,19,10,"div",20,nC),vs(26,"button",21),Ag("click",function(){If(e);let m=mC();return wf(m.addParameter())}),WC(27,"+ Add parameter"),fl()(),vs(28,"fieldset",15)(29,"legend",16),WC(30," Content "),vs(31,"span",10),WC(32,"*"),fl(),vs(33,"span",17),WC(34,"Ordered list of text commands"),fl()(),vs(35,"p",18),WC(36," Each content entry is a command. Use "),vs(37,"code"),WC(38,"@AgentName"),fl(),WC(39," to target an agent, "),vs(40,"code"),WC(41,"/promptName param1 param2"),fl(),WC(42," to call another prompt, and "),vs(43,"code"),WC(44),fl(),WC(45," for parameter placeholders. "),fl(),oC(46,ue,8,6,"div",22,nC),vs(48,"button",21),Ag("click",function(){If(e);let m=mC();return wf(m.addContentEntry())}),WC(49,"+ Add content entry"),fl()(),eC(50,ge,2,1,"p",23),vs(51,"div",8)(52,"label",24),WC(53,"External Metadata"),fl(),bg(54,"textarea",25),HI(),eC(55,Ce,2,0,"span",12),vs(56,"span",26),WC(57,"Optional. Opaque JSON object stored as-is. Leave empty to clear."),fl()(),vs(58,"div",27)(59,"button",28),WC(60),fl(),eC(61,xe,2,2,"button",29),vs(62,"button",30),Ag("click",function(){If(e);let m=mC();return wf(m.cancel())}),WC(63,"Cancel"),fl()()();}if(i&2){let e=mC();Tg("formGroup",e.form),XE(6),Hg("prompt-form__input--invalid",e.nameControl.invalid&&e.nameControl.touched),Tg("formControl",e.nameControl),$I(),XE(),tC(e.nameControl.invalid&&e.nameControl.touched?7:-1),XE(4),Tg("formControl",e.descriptionControl),$I(),XE(),tC(e.availableAgentConfigs().length>0?12:-1),XE(),Tg("formArrayName","parameters"),XE(8),Zg(e.paramPlaceholderSyntax),XE(2),tC(e.parametersArray.length===0?23:-1),XE(),iC(e.parametersArray.controls),XE(4),Tg("formArrayName","content"),XE(16),Zg(e.paramPlaceholderSyntax),XE(2),iC(e.contentArray.controls),XE(4),tC(e.errorMessage()?50:-1),XE(4),Tg("formControl",e.externalMetadataJsonControl),$I(),XE(),tC(e.externalMetadataJsonControl.invalid&&e.externalMetadataJsonControl.touched?55:-1),XE(4),Tg("disabled",e.form.invalid||e.isSubmitting()),XE(),yl(" ",e.isEditMode()?"Save changes":"Create"," "),XE(),tC(e.isEditMode()?61:-1);}}var re=class i{route=g(V);router=g(G);destroyRef=g(we);promptState=g(m);agentConfigController=g(M);namespaceId=this.route.snapshot.params.namespaceId;isPlatformMode=!this.namespaceId;form=new z({name:new _t("",{nonNullable:true,validators:[_e$1.required,_e$1.minLength(1)]}),description:new _t(null),agentConfigId:new _t(null),externalMetadataJson:new _t("",{nonNullable:true,validators:[be]}),content:new ze([this.createContentControl()],{validators:[_e$1.required]}),parameters:new ze([])});get nameControl(){return this.form.controls.name}get descriptionControl(){return this.form.controls.description}get agentConfigIdControl(){return this.form.controls.agentConfigId}get externalMetadataJsonControl(){return this.form.controls.externalMetadataJson}get contentArray(){return this.form.controls.content}get parametersArray(){return this.form.controls.parameters}isEditMode=Hi(false);isSubmitting=Hi(false);isLoading=Hi(false);isExporting=Hi(false);errorMessage=Hi(null);paramPlaceholderSyntax="{{paramName}}";agentConfigs=Hi([]);availableAgentConfigs=this.agentConfigs.asReadonly();existingPrompt=null;ngOnInit(){let t=this.route.snapshot.paramMap.get("promptId");t&&(this.isEditMode.set(true),this.loadPrompt(t)),this.isPlatformMode?this.loadPlatformAgentConfigs():this.namespaceId&&this.loadAgentConfigs(this.namespaceId);}loadPrompt(t){this.isLoading.set(true),this.promptState.getById(t).pipe(U(this.destroyRef)).subscribe({next:e=>{this.existingPrompt=e,this.hydrateForm(e),this.isLoading.set(false);},error:()=>{this.isLoading.set(false),this.navigateBack();}});}loadAgentConfigs(t){this.agentConfigController.listByParentAgentConfig(t).pipe(U(this.destroyRef),ga(()=>ha([]))).subscribe(e=>this.agentConfigs.set(e));}loadPlatformAgentConfigs(){this.agentConfigController.listPlatformAgentsAgentConfig().pipe(U(this.destroyRef),ga(()=>ha([]))).subscribe(t=>this.agentConfigs.set(t));}hydrateForm(t){this.nameControl.setValue(t.name),this.descriptionControl.setValue(t.description??null),this.agentConfigIdControl.setValue(t.agentConfigId??null),this.contentArray.clear(),(t.content.length>0?t.content:[""]).forEach(l=>this.contentArray.push(this.createContentControl(l))),this.parametersArray.clear(),(t.parameters??[]).forEach(l=>this.parametersArray.push(this.createParameterGroup(l))),this.externalMetadataJsonControl.setValue(t.externalMetadata?JSON.stringify(t.externalMetadata,null,2):"");}resolveAgentConfigName(t){return this.agentConfigs().find(e=>e.id===t)?.name??t}createContentControl(t=""){return new _t(t,{nonNullable:true,validators:[_e$1.required,_e$1.pattern(/\S/)]})}addContentEntry(){this.contentArray.push(this.createContentControl());}removeContentEntry(t){this.contentArray.length>1&&this.contentArray.removeAt(t);}createParameterGroup(t){return new z({name:new _t(t?.name??"",{nonNullable:true,validators:[_e$1.required,_e$1.minLength(1)]}),description:new _t(t?.description??null),defaultValue:new _t(t?.defaultValue??"",{nonNullable:true,validators:[_e$1.required]})})}addParameter(){this.parametersArray.push(this.createParameterGroup());}removeParameter(t){this.parametersArray.removeAt(t);}submit(){if(this.form.invalid||this.isSubmitting())return;this.isSubmitting.set(true);let t=this.isEditMode()&&!!this.existingPrompt?.id,e=z$1(P({},this.existingPrompt??{}),{namespaceId:this.namespaceId,sourceLanguage:this.existingPrompt?.sourceLanguage??"en",name:this.nameControl.value.trim(),description:this.descriptionControl.value?.trim()||void 0,content:this.contentArray.controls.map(d=>d.value.trim()),parameters:this.parametersArray.controls.map(d=>({name:d.controls.name.value.trim(),description:d.controls.description.value?.trim()||void 0,defaultValue:d.controls.defaultValue.value.trim()}))});t||(e.agentConfigId=this.agentConfigIdControl.value||null);let l=this.externalMetadataJsonControl.value.trim();e.externalMetadata=l?JSON.parse(l):null;let m=t?this.promptState.update(this.existingPrompt.id,e):this.promptState.create(e);this.errorMessage.set(null),m.pipe(U(this.destroyRef)).subscribe({next:()=>this.navigateBack(),error:d=>{this.isSubmitting.set(false),d.status===409?this.errorMessage.set(`A prompt named "${e.name}" already exists in this scope.`):d.status===400?this.errorMessage.set(d.error?.message??"Invalid prompt data."):this.errorMessage.set("An unexpected error occurred. Please try again.");}});}exportYaml(){let t=this.existingPrompt?.id;!t||this.isExporting()||(this.isExporting.set(true),this.promptState.exportAsYaml(t).pipe(U(this.destroyRef)).subscribe({next:e=>{let l=new Blob([e],{type:"application/yaml"}),m=URL.createObjectURL(l),d=document.createElement("a");d.href=m,d.download=`${this.existingPrompt?.name??"prompt"}.yaml`,d.click(),URL.revokeObjectURL(m),this.isExporting.set(false);},error:()=>this.isExporting.set(false)}));}cancel(){this.navigateBack();}navigateBack(){this.isPlatformMode?this.router.navigate(["/agentos","admin","prompts"]):this.router.navigate(["/agentos",this.namespaceId,"prompts"]);}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=Aw({type:i,selectors:[["agentos-prompt-form"]],decls:10,vars:3,consts:[[1,"prompt-form"],[1,"prompt-form__header"],["type","button","title","Back to prompts",1,"prompt-form__back",3,"click"],[1,"prompt-form__back-icon"],[1,"prompt-form__title"],[1,"prompt-form__loading"],[1,"prompt-form__form",3,"formGroup"],[1,"prompt-form__form",3,"ngSubmit","formGroup"],[1,"prompt-form__field"],["for","prompt-name",1,"prompt-form__label"],["aria-hidden","true"],["id","prompt-name","type","text","placeholder","e.g. Summarise meeting notes","autocomplete","off",1,"prompt-form__input",3,"formControl"],[1,"prompt-form__field-error"],["for","prompt-description",1,"prompt-form__label"],["id","prompt-description","type","text","placeholder","Optional \u2014 short description of this prompt","autocomplete","off",1,"prompt-form__input",3,"formControl"],[1,"prompt-form__section",3,"formArrayName"],[1,"prompt-form__label"],[1,"prompt-form__label-hint"],[1,"prompt-form__section-hint"],[1,"prompt-form__empty-hint"],[1,"prompt-form__param-row",3,"formGroupName"],["type","button",1,"prompt-form__add-btn",3,"click"],[1,"prompt-form__content-row"],[1,"prompt-form__error"],["for","prompt-external-metadata",1,"prompt-form__label"],["id","prompt-external-metadata","rows","6","placeholder",'{ "key": "value" }',"spellcheck","false","autocomplete","off",1,"prompt-form__textarea","prompt-form__textarea--code",3,"formControl"],[1,"prompt-form__field-hint"],[1,"prompt-form__actions"],["type","submit",1,"prompt-form__btn","prompt-form__btn--primary",3,"disabled"],["type","button",1,"prompt-form__btn","prompt-form__btn--export",3,"disabled"],["type","button",1,"prompt-form__btn",3,"click"],["for","prompt-agent-config",1,"prompt-form__label"],[1,"prompt-form__readonly-value"],["id","prompt-agent-config",1,"prompt-form__select",3,"formControl"],[3,"ngValue"],[1,"prompt-form__param-fields"],[1,"prompt-form__field","prompt-form__field--inline"],[1,"prompt-form__label",3,"for"],["type","text","placeholder","e.g. language","formControlName","name","autocomplete","off",1,"prompt-form__input",3,"id"],["type","text","placeholder","Optional","formControlName","description","autocomplete","off",1,"prompt-form__input",3,"id"],["type","text","placeholder","e.g. English","formControlName","defaultValue","autocomplete","off",1,"prompt-form__input",3,"id"],["type","button","title","Remove this parameter",1,"prompt-form__remove-btn",3,"click"],[1,"prompt-form__content-index"],[1,"prompt-form__content-field"],["rows","4","placeholder","Enter a command\u2026",1,"prompt-form__textarea",3,"formControlName"],["type","button","title","Remove this entry",1,"prompt-form__remove-btn",3,"click","disabled"],["type","button",1,"prompt-form__btn","prompt-form__btn--export",3,"click","disabled"]],template:function(e,l){e&1&&(vs(0,"div",0)(1,"header",1)(2,"button",2),Ag("click",function(){return l.cancel()}),vs(3,"span",3),WC(4,"\u2190"),fl(),WC(5),fl(),vs(6,"h1",4),WC(7),fl()(),eC(8,ie,2,0,"p",5)(9,ve,64,18,"form",6),fl()),e&2&&(XE(5),yl(" ",l.isPlatformMode?"Platform prompts":"Prompts"," "),XE(2),Zg(l.isEditMode()?"Edit prompt":"New prompt"),XE(),tC(l.isLoading()?8:9));},dependencies:[ni,Jn,Qn,ei,Ye,At,Zn,Xn,Cn,En,An,Ct,Vt],styles:[".prompt-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:2rem;max-width:560px;margin:0 auto;padding:2rem 1rem}.prompt-form__header[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.prompt-form__back[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.375rem;background:none;border:none;padding:0;cursor:pointer;font-size:.875rem;color:var(--color-accent)}.prompt-form__back[_ngcontent-%COMP%]:hover{text-decoration:underline}.prompt-form__back-icon[_ngcontent-%COMP%]{font-size:1rem;line-height:1}.prompt-form__title[_ngcontent-%COMP%]{margin:0;font-size:1.5rem;font-weight:700;color:var(--color-text);letter-spacing:-.02em}.prompt-form__loading[_ngcontent-%COMP%]{color:var(--color-text-secondary);font-size:.9rem;margin:0}.prompt-form__form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.25rem}.prompt-form__field[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.375rem}.prompt-form__field--inline[_ngcontent-%COMP%]{flex:1}.prompt-form__label[_ngcontent-%COMP%]{font-size:.875rem;font-weight:500;color:var(--color-text)}.prompt-form__label-hint[_ngcontent-%COMP%]{font-weight:400;color:var(--color-text-secondary);margin-left:.375rem}.prompt-form__select[_ngcontent-%COMP%]{width:100%;padding:.625rem .875rem;border-radius:0;border:1px solid var(--color-divider);background:var(--color-surface);color:var(--color-text);font-size:.9375rem;font-family:inherit;outline:none;box-sizing:border-box;cursor:pointer;appearance:auto;transition:border-color .15s ease}.prompt-form__select[_ngcontent-%COMP%]:focus{border-color:var(--color-accent)}.prompt-form__field-hint[_ngcontent-%COMP%]{font-size:.8rem;color:var(--color-text-secondary);line-height:1.4}.prompt-form__readonly-value[_ngcontent-%COMP%]{margin:0;padding:.5rem .875rem;border-radius:0;background:var(--color-bg-hover);border:1px solid var(--color-divider);color:var(--color-text);font-size:.9375rem}.prompt-form__input[_ngcontent-%COMP%], .prompt-form__textarea[_ngcontent-%COMP%]{width:100%;padding:.625rem .875rem;border-radius:0;border:1px solid var(--color-divider);background:var(--color-surface);color:var(--color-text);font-size:.9375rem;font-family:inherit;outline:none;box-sizing:border-box;transition:border-color .15s ease}.prompt-form__input[_ngcontent-%COMP%]:focus, .prompt-form__textarea[_ngcontent-%COMP%]:focus{border-color:var(--color-accent)}.prompt-form__input[_ngcontent-%COMP%]::placeholder, .prompt-form__textarea[_ngcontent-%COMP%]::placeholder{color:var(--color-neutral-500)}.prompt-form__textarea[_ngcontent-%COMP%]{resize:vertical;min-height:100px;line-height:1.5}.prompt-form__textarea--code[_ngcontent-%COMP%]{font-family:monospace;font-size:.85rem;resize:vertical}.prompt-form__section[_ngcontent-%COMP%]{border:1px solid var(--color-divider);border-radius:0;padding:1rem;margin:0;display:flex;flex-direction:column;gap:.75rem}.prompt-form__section-hint[_ngcontent-%COMP%]{margin:0;font-size:.8rem;color:var(--color-text-secondary);line-height:1.4}.prompt-form__empty-hint[_ngcontent-%COMP%]{margin:0;font-size:.85rem;color:var(--color-text-secondary);font-style:italic}.prompt-form__content-row[_ngcontent-%COMP%]{display:flex;gap:.5rem;align-items:flex-start}.prompt-form__content-field[_ngcontent-%COMP%]{flex:1;display:flex;flex-direction:column;gap:.25rem}.prompt-form__content-index[_ngcontent-%COMP%]{flex-shrink:0;width:1.5rem;padding-top:.6rem;font-size:.8rem;font-weight:600;color:var(--color-text-secondary);text-align:right;-webkit-user-select:none;user-select:none}.prompt-form__param-row[_ngcontent-%COMP%]{display:flex;gap:.5rem;align-items:flex-end;padding:.75rem;border-radius:0;background:var(--color-bg-hover)}.prompt-form__param-fields[_ngcontent-%COMP%]{flex:1;display:flex;gap:.75rem;flex-wrap:wrap}.prompt-form__add-btn[_ngcontent-%COMP%]{align-self:flex-start;padding:.4rem .875rem;border-radius:0;border:1px solid var(--color-divider);background:transparent;color:var(--color-accent);font-size:.875rem;font-family:inherit;cursor:pointer;transition:background .15s ease,border-color .15s ease}.prompt-form__add-btn[_ngcontent-%COMP%]:hover{background:var(--color-bg-hover);border-color:var(--color-accent)}.prompt-form__remove-btn[_ngcontent-%COMP%]{flex-shrink:0;width:1.75rem;height:1.75rem;display:flex;align-items:center;justify-content:center;border-radius:0;border:1px solid transparent;background:transparent;color:var(--color-neutral-500);font-size:1rem;line-height:1;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.prompt-form__remove-btn[_ngcontent-%COMP%]:hover:not(:disabled){background:color-mix(in srgb,var(--red) 10%,transparent);color:var(--red);border-color:var(--red)}.prompt-form__remove-btn[_ngcontent-%COMP%]:disabled{opacity:.3;cursor:not-allowed}.prompt-form__error[_ngcontent-%COMP%]{margin:0;padding:.625rem .875rem;border-radius:0;background:color-mix(in srgb,var(--red) 10%,transparent);border:1px solid var(--red);color:var(--red);font-size:.875rem;line-height:1.4}.prompt-form__field-error[_ngcontent-%COMP%]{font-size:.8rem;color:var(--red);line-height:1.3}.prompt-form__input--invalid[_ngcontent-%COMP%], .prompt-form__textarea--invalid[_ngcontent-%COMP%]{border-color:var(--red)}.prompt-form__input--invalid[_ngcontent-%COMP%]:focus, .prompt-form__textarea--invalid[_ngcontent-%COMP%]:focus{border-color:var(--red)}.prompt-form__actions[_ngcontent-%COMP%]{display:flex;gap:.75rem;padding-top:.5rem}.prompt-form__btn[_ngcontent-%COMP%]{padding:.6rem 1.25rem;border-radius:0;border:1px solid var(--color-divider);background:transparent;color:var(--color-text);font-size:13px;font-family:var(--font-heading);font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.prompt-form__btn[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-neutral-500)}.prompt-form__btn[_ngcontent-%COMP%]:disabled{opacity:.45;cursor:not-allowed}.prompt-form__btn--primary[_ngcontent-%COMP%]{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.prompt-form__btn--primary[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--color-accent-700);border-color:var(--color-accent-700)}.prompt-form__btn--export[_ngcontent-%COMP%]{border-color:var(--color-divider);color:var(--color-text-secondary)}.prompt-form__btn--export[_ngcontent-%COMP%]:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}"]})};function be(i){let t=i.value?.trim();if(!t)return null;try{return JSON.parse(t),null}catch(e){return {invalidJson:true}}}export{re as PromptFormComponent};
@@ -1 +1 @@
1
- import {I}from'./chunk-B_SIbEE4.js';import {g,ao as V$1,G as G$1,w as we,de as B,dd as $,aI as Tr,bR as ma,Q as By,a7 as ga,S as ha,u as ue,b as U$1,A as Aw,aJ as Nb,v as vs,be as aT,l as Ag,k as fl,af as Dg,T as TC,r as Tg,bf as uT,ah as rT,n as eC,ac as mC,t as tC,a9 as dC,aa as If,ab as wf,ag as fT}from'./main-VYETRYCE.js';import {W as Wn,S as Se}from'./chunk-Djnp-vUI.js';import'./chunk-Dax4e1JZ.js';import'./chunk-BbLMzp9k.js';var V=()=>[];function K(n,t){if(n&1){let i=dC();vs(0,"agentos-ai-model-item",4),Ag("deleteRequested",function(a){If(i);let e=mC(2);return wf(e.deleteModel(a))})("editRequested",function(a){If(i);let e=mC(2);return wf(e.editModel(a))}),fl();}if(n&2){let i=mC().$implicit,o=mC();Tg("model",t)("namespaceId",o.namespaceId)("readOnly",o.isPlatformModel(i.id));}}function U(n,t){if(n&1&&eC(0,K,1,3,"agentos-ai-model-item",3),n&2){let i,o=t.$implicit,a=mC();tC((i=a.resolveModel(o.id))?0:-1,i);}}var j="__platform__",G="Platform (read-only)",F=class n{route=g(V$1);router=g(G$1);destroyRef=g(we);aiModelController=g(B);aiProviderController=g($);namespaceId=this.route.snapshot.params.namespaceId;refresh$=new Tr(void 0);data$=this.refresh$.pipe(ma(()=>By({namespace:this.aiModelController.listByNamespaceIdAiModel(this.namespaceId),platform:this.aiModelController.listPlatformLevelAiModel().pipe(ga(()=>ha([]))),providers:this.aiProviderController.listAiProvider(this.namespaceId)})));modelItems$=this.data$.pipe(ue(({namespace:t,platform:i,providers:o})=>{let a=new Map(o.map(e=>[e.id??"",e.name]));return [...i.map(e=>({id:e.id??"",name:e.alias??e.apiModelName,description:e.apiModelName,groupKey:j,groupLabel:G})),...t.map(e=>({id:e.id??"",name:e.alias??e.apiModelName,description:e.apiModelName,groupKey:e.aiProviderId,groupLabel:a.get(e.aiProviderId)??e.aiProviderId}))]}));namespaceModelsById=new Map;platformModelsById=new Map;constructor(){this.data$.pipe(U$1(this.destroyRef)).subscribe(({namespace:t,platform:i})=>{this.namespaceModelsById=new Map(t.map(o=>[o.id??"",o])),this.platformModelsById=new Map(i.map(o=>[o.id??"",o]));});}goBack(){this.router.navigate(["/agentos","namespaces"]);}openCreateForm(){this.router.navigate(["/agentos",this.namespaceId,"ai-models","new"]);}editModel(t){this.router.navigate(["/agentos",this.namespaceId,"ai-models",t.id,"edit"]);}deleteModel(t){this.aiModelController.deleteAiModel(t.id??"").pipe(U$1(this.destroyRef)).subscribe(()=>this.refresh$.next());}resolveModel(t){return this.namespaceModelsById.get(t)??this.platformModelsById.get(t)??null}isPlatformModel(t){return this.platformModelsById.has(t)}static \u0275fac=function(i){return new(i||n)};static \u0275cmp=Aw({type:n,selectors:[["agentos-namespace-ai-models"]],decls:5,vars:6,consts:[["aiModelItemTpl",""],["title","AI models","emptyMessage","No AI models configured yet. Add one above.","cardMinWidth","400px",3,"createRequested","items","showCreate","itemTemplate"],["toolbar-start","","icon","arrow_back","title","Back",3,"action"],[3,"model","namespaceId","readOnly"],[3,"deleteRequested","editRequested","model","namespaceId","readOnly"]],template:function(i,o){if(i&1&&(vs(0,"ds-entity-list",1),aT(1,"async"),Ag("createRequested",function(){return o.openCreateForm()}),vs(2,"ds-icon-button",2),Ag("action",function(){return o.goBack()}),fl()(),Dg(3,U,1,1,"ng-template",null,0,fT)),i&2){let a=TC(4);Tg("items",uT(1,3,o.modelItems$)??rT(5,V))("showCreate",true)("itemTemplate",a);}},dependencies:[Wn,I,Se,Nb],encapsulation:2})};export{F as NamespaceAiModelsComponent};
1
+ import {I}from'./chunk-y7hKHMfT.js';import {g,ao as V$1,G as G$1,w as we,de as B,dd as $,aI as Tr,bR as ma,Q as By,a7 as ga,S as ha,u as ue,b as U$1,A as Aw,aJ as Nb,v as vs,be as aT,l as Ag,k as fl,af as Dg,T as TC,r as Tg,bf as uT,ah as rT,n as eC,ac as mC,t as tC,a9 as dC,aa as If,ab as wf,ag as fT}from'./main-FZBZNLDT.js';import {W as Wn,S as Se}from'./chunk-DdIe-Q8z.js';import'./chunk-Bc7OrHjR.js';import'./chunk-MYEQTQOG.js';var V=()=>[];function K(n,t){if(n&1){let i=dC();vs(0,"agentos-ai-model-item",4),Ag("deleteRequested",function(a){If(i);let e=mC(2);return wf(e.deleteModel(a))})("editRequested",function(a){If(i);let e=mC(2);return wf(e.editModel(a))}),fl();}if(n&2){let i=mC().$implicit,o=mC();Tg("model",t)("namespaceId",o.namespaceId)("readOnly",o.isPlatformModel(i.id));}}function U(n,t){if(n&1&&eC(0,K,1,3,"agentos-ai-model-item",3),n&2){let i,o=t.$implicit,a=mC();tC((i=a.resolveModel(o.id))?0:-1,i);}}var j="__platform__",G="Platform (read-only)",F=class n{route=g(V$1);router=g(G$1);destroyRef=g(we);aiModelController=g(B);aiProviderController=g($);namespaceId=this.route.snapshot.params.namespaceId;refresh$=new Tr(void 0);data$=this.refresh$.pipe(ma(()=>By({namespace:this.aiModelController.listByNamespaceIdAiModel(this.namespaceId),platform:this.aiModelController.listPlatformLevelAiModel().pipe(ga(()=>ha([]))),providers:this.aiProviderController.listAiProvider(this.namespaceId)})));modelItems$=this.data$.pipe(ue(({namespace:t,platform:i,providers:o})=>{let a=new Map(o.map(e=>[e.id??"",e.name]));return [...i.map(e=>({id:e.id??"",name:e.alias??e.apiModelName,description:e.apiModelName,groupKey:j,groupLabel:G})),...t.map(e=>({id:e.id??"",name:e.alias??e.apiModelName,description:e.apiModelName,groupKey:e.aiProviderId,groupLabel:a.get(e.aiProviderId)??e.aiProviderId}))]}));namespaceModelsById=new Map;platformModelsById=new Map;constructor(){this.data$.pipe(U$1(this.destroyRef)).subscribe(({namespace:t,platform:i})=>{this.namespaceModelsById=new Map(t.map(o=>[o.id??"",o])),this.platformModelsById=new Map(i.map(o=>[o.id??"",o]));});}goBack(){this.router.navigate(["/agentos","namespaces"]);}openCreateForm(){this.router.navigate(["/agentos",this.namespaceId,"ai-models","new"]);}editModel(t){this.router.navigate(["/agentos",this.namespaceId,"ai-models",t.id,"edit"]);}deleteModel(t){this.aiModelController.deleteAiModel(t.id??"").pipe(U$1(this.destroyRef)).subscribe(()=>this.refresh$.next());}resolveModel(t){return this.namespaceModelsById.get(t)??this.platformModelsById.get(t)??null}isPlatformModel(t){return this.platformModelsById.has(t)}static \u0275fac=function(i){return new(i||n)};static \u0275cmp=Aw({type:n,selectors:[["agentos-namespace-ai-models"]],decls:5,vars:6,consts:[["aiModelItemTpl",""],["title","AI models","emptyMessage","No AI models configured yet. Add one above.","cardMinWidth","400px",3,"createRequested","items","showCreate","itemTemplate"],["toolbar-start","","icon","arrow_back","title","Back",3,"action"],[3,"model","namespaceId","readOnly"],[3,"deleteRequested","editRequested","model","namespaceId","readOnly"]],template:function(i,o){if(i&1&&(vs(0,"ds-entity-list",1),aT(1,"async"),Ag("createRequested",function(){return o.openCreateForm()}),vs(2,"ds-icon-button",2),Ag("action",function(){return o.goBack()}),fl()(),Dg(3,U,1,1,"ng-template",null,0,fT)),i&2){let a=TC(4);Tg("items",uT(1,3,o.modelItems$)??rT(5,V))("showCreate",true)("itemTemplate",a);}},dependencies:[Wn,I,Se,Nb],encapsulation:2})};export{F as NamespaceAiModelsComponent};
@@ -1 +1 @@
1
- import {n}from'./chunk-CfgXrte_.js';import {O}from'./chunk-BTaLhUa1.js';import {S}from'./chunk-DZo4BkAy.js';import {v}from'./chunk-CPtlVKZn.js';import {g,ao as V,G,w as we,H as Hi,u as ue,b as U$1,bR as ma,S as ha,A as Aw,aJ as Nb,v as vs,be as aT,l as Ag,k as fl,af as Dg,T as TC,r as Tg,bf as uT,ah as rT,n as eC,ac as mC,t as tC,W as WC,X as XE,a8 as Zg,a9 as dC,aa as If,ab as wf,ag as fT}from'./main-VYETRYCE.js';import'./chunk-CjOZDsNf.js';import {W as Wn,S as Se}from'./chunk-Djnp-vUI.js';import'./chunk-Dax4e1JZ.js';import'./chunk-BbLMzp9k.js';import'./chunk-BSTCpwsr.js';import'./chunk-C7O0lv-N.js';var z=()=>[];function W(r,e){if(r&1&&(vs(0,"p",3),WC(1),fl()),r&2){let t=mC().$implicit;XE(),Zg(t.name);}}function U(r,e){if(r&1){let t=dC();vs(0,"agentos-ai-provider-item",5),Ag("editRequested",function(){let o=If(t),a=mC(2);return wf(a.onEdit(o))})("deleteRequested",function(){let o=If(t),a=mC(2);return wf(a.onDelete(o))})("duplicateRequested",function(){let o=If(t),a=mC(2);return wf(a.onDuplicate(o))}),fl();}if(r&2){let t=e,i=mC(2);Tg("config",t.config)("scope",t.scope)("readOnly",t.scope==="platform"||t.scope==="namespace"&&!i.isAdmin());}}function X(r,e){if(r&1&&eC(0,W,2,1,"p",3)(1,U,1,3,"agentos-ai-provider-item",4),r&2){let t,i=e.$implicit,o=mC();tC(o.isEmptyPlaceholder(i.id)?0:(t=o.resolve(i.id))?1:-1,t);}}var k=Object.freeze({platform:"Platform (read-only)",namespace:"AI Providers du namespace",userOnNs:"Mes overrides sur ce namespace",userGlobal:"Mes overrides globaux"}),F="__empty__",j=class r{route=g(V);router=g(G);destroyRef=g(we);state=g(O);namespaceRole=g(v);namespaceId=this.route.snapshot.params.namespaceId;isAdmin=Hi(false);listItems$=this.state.vm$.pipe(ue(e=>this.toListItems(e)));resolved=new Map;ngOnInit(){this.route.paramMap.pipe(U$1(this.destroyRef)).subscribe(e=>{let t=e.get("namespaceId")??"";t&&t!==this.namespaceId&&(this.namespaceId=t),this.state.setNamespace(t);}),this.route.paramMap.pipe(ue(e=>e.get("namespaceId")??""),ma(e=>e?this.namespaceRole.isAdminOfNamespace$(e):ha(false)),U$1(this.destroyRef)).subscribe(e=>this.isAdmin.set(e)),this.state.vm$.pipe(U$1(this.destroyRef)).subscribe(e=>{let t=new Map;e.platform.forEach(i=>{i.id&&t.set(this.itemKey("platform",i.id),{config:i,scope:"platform"});}),e.namespace.forEach(i=>{i.id&&t.set(this.itemKey("namespace",i.id),{config:i,scope:"namespace"});}),e.userOnNs.forEach(i=>{i.id&&t.set(this.itemKey("userOnNs",i.id),{config:i,scope:"userOnNs"});}),e.userGlobal.forEach(i=>{i.id&&t.set(this.itemKey("userGlobal",i.id),{config:i,scope:"userGlobal"});}),this.resolved=t;});}isEmptyPlaceholder(e){return e.startsWith(F)}resolve(e){return this.resolved.get(e)??null}itemKey(e,t){return `${e}:${t}`}goBack(){this.router.navigate(["/agentos","namespaces"]);}openCreateForm(){this.router.navigate(["/agentos",this.namespaceId,"ai-providers","new"],{queryParams:{scope:n(this.isAdmin())}});}onEdit(e){let t=e.config.id;t&&this.router.navigate(["/agentos",this.namespaceId,"ai-providers",t,"edit"],{queryParams:{scope:e.scope}});}onDelete(e){let t=e.config.id;t&&this.state.delete(t,e.scope).pipe(U$1(this.destroyRef)).subscribe({error:i=>{console.error(`[AiProvidersAllScopes] Delete failed for ${e.scope}:${t}:`,i);}});}onDuplicate(e){if(!e.config.id)return;let t=e.scope==="namespace"&&!this.isAdmin()?"userOnNs":e.scope;this.router.navigate(["/agentos",this.namespaceId,"ai-providers","new"],{queryParams:{scope:t,template:e.config.id,templateScope:e.scope}});}toListItems(e){let t=[];return t.push(...this.sectionItems("platform",e.platform)),t.push(...this.sectionItems("namespace",e.namespace)),t.push(...this.sectionItems("userOnNs",e.userOnNs)),t.push(...this.sectionItems("userGlobal",e.userGlobal)),t}sectionItems(e,t){return t.length===0?[{id:`${F}${e}`,name:"Aucun AI Provider",groupKey:e,groupLabel:k[e]}]:t.filter(i=>!!i.id).map(i=>({id:this.itemKey(e,i.id),name:i.name,description:i.apiType,groupKey:e,groupLabel:k[e]}))}static \u0275fac=function(t){return new(t||r)};static \u0275cmp=Aw({type:r,selectors:[["agentos-ai-providers-all-scopes"]],decls:5,vars:6,consts:[["aiProviderItemTpl",""],["title","AI Providers","emptyMessage","No AI providers available.","cardMinWidth","400px",3,"createRequested","items","showCreate","itemTemplate"],["toolbar-start","","icon","arrow_back","title","Back",3,"action"],[1,"ai-providers-all-scopes__empty"],[3,"config","scope","readOnly"],[3,"editRequested","deleteRequested","duplicateRequested","config","scope","readOnly"]],template:function(t,i){if(t&1&&(vs(0,"ds-entity-list",1),aT(1,"async"),Ag("createRequested",function(){return i.openCreateForm()}),vs(2,"ds-icon-button",2),Ag("action",function(){return i.goBack()}),fl()(),Dg(3,X,2,1,"ng-template",null,0,fT)),t&2){let o=TC(4);Tg("items",uT(1,3,i.listItems$)??rT(5,z))("showCreate",true)("itemTemplate",o);}},dependencies:[Wn,S,Se,Nb],styles:[".ai-providers-all-scopes__empty[_ngcontent-%COMP%]{font-size:.85rem;color:var(--color-text-secondary);padding:.5rem .25rem;margin:0;font-style:italic}"]})};export{j as AiProvidersAllScopesComponent};
1
+ import {n}from'./chunk-CfgXrte_.js';import {O}from'./chunk-B5wj-AWl.js';import {S}from'./chunk-BQ15qZFz.js';import {v}from'./chunk-BkZgPVhu.js';import {g,ao as V,G,w as we,H as Hi,u as ue,b as U$1,bR as ma,S as ha,A as Aw,aJ as Nb,v as vs,be as aT,l as Ag,k as fl,af as Dg,T as TC,r as Tg,bf as uT,ah as rT,n as eC,ac as mC,t as tC,W as WC,X as XE,a8 as Zg,a9 as dC,aa as If,ab as wf,ag as fT}from'./main-FZBZNLDT.js';import'./chunk-CDiCP0cs.js';import {W as Wn,S as Se}from'./chunk-DdIe-Q8z.js';import'./chunk-Bc7OrHjR.js';import'./chunk-MYEQTQOG.js';import'./chunk-DXKXt8mt.js';import'./chunk-CFAzj-K1.js';var z=()=>[];function W(r,e){if(r&1&&(vs(0,"p",3),WC(1),fl()),r&2){let t=mC().$implicit;XE(),Zg(t.name);}}function U(r,e){if(r&1){let t=dC();vs(0,"agentos-ai-provider-item",5),Ag("editRequested",function(){let o=If(t),a=mC(2);return wf(a.onEdit(o))})("deleteRequested",function(){let o=If(t),a=mC(2);return wf(a.onDelete(o))})("duplicateRequested",function(){let o=If(t),a=mC(2);return wf(a.onDuplicate(o))}),fl();}if(r&2){let t=e,i=mC(2);Tg("config",t.config)("scope",t.scope)("readOnly",t.scope==="platform"||t.scope==="namespace"&&!i.isAdmin());}}function X(r,e){if(r&1&&eC(0,W,2,1,"p",3)(1,U,1,3,"agentos-ai-provider-item",4),r&2){let t,i=e.$implicit,o=mC();tC(o.isEmptyPlaceholder(i.id)?0:(t=o.resolve(i.id))?1:-1,t);}}var k=Object.freeze({platform:"Platform (read-only)",namespace:"AI Providers du namespace",userOnNs:"Mes overrides sur ce namespace",userGlobal:"Mes overrides globaux"}),F="__empty__",j=class r{route=g(V);router=g(G);destroyRef=g(we);state=g(O);namespaceRole=g(v);namespaceId=this.route.snapshot.params.namespaceId;isAdmin=Hi(false);listItems$=this.state.vm$.pipe(ue(e=>this.toListItems(e)));resolved=new Map;ngOnInit(){this.route.paramMap.pipe(U$1(this.destroyRef)).subscribe(e=>{let t=e.get("namespaceId")??"";t&&t!==this.namespaceId&&(this.namespaceId=t),this.state.setNamespace(t);}),this.route.paramMap.pipe(ue(e=>e.get("namespaceId")??""),ma(e=>e?this.namespaceRole.isAdminOfNamespace$(e):ha(false)),U$1(this.destroyRef)).subscribe(e=>this.isAdmin.set(e)),this.state.vm$.pipe(U$1(this.destroyRef)).subscribe(e=>{let t=new Map;e.platform.forEach(i=>{i.id&&t.set(this.itemKey("platform",i.id),{config:i,scope:"platform"});}),e.namespace.forEach(i=>{i.id&&t.set(this.itemKey("namespace",i.id),{config:i,scope:"namespace"});}),e.userOnNs.forEach(i=>{i.id&&t.set(this.itemKey("userOnNs",i.id),{config:i,scope:"userOnNs"});}),e.userGlobal.forEach(i=>{i.id&&t.set(this.itemKey("userGlobal",i.id),{config:i,scope:"userGlobal"});}),this.resolved=t;});}isEmptyPlaceholder(e){return e.startsWith(F)}resolve(e){return this.resolved.get(e)??null}itemKey(e,t){return `${e}:${t}`}goBack(){this.router.navigate(["/agentos","namespaces"]);}openCreateForm(){this.router.navigate(["/agentos",this.namespaceId,"ai-providers","new"],{queryParams:{scope:n(this.isAdmin())}});}onEdit(e){let t=e.config.id;t&&this.router.navigate(["/agentos",this.namespaceId,"ai-providers",t,"edit"],{queryParams:{scope:e.scope}});}onDelete(e){let t=e.config.id;t&&this.state.delete(t,e.scope).pipe(U$1(this.destroyRef)).subscribe({error:i=>{console.error(`[AiProvidersAllScopes] Delete failed for ${e.scope}:${t}:`,i);}});}onDuplicate(e){if(!e.config.id)return;let t=e.scope==="namespace"&&!this.isAdmin()?"userOnNs":e.scope;this.router.navigate(["/agentos",this.namespaceId,"ai-providers","new"],{queryParams:{scope:t,template:e.config.id,templateScope:e.scope}});}toListItems(e){let t=[];return t.push(...this.sectionItems("platform",e.platform)),t.push(...this.sectionItems("namespace",e.namespace)),t.push(...this.sectionItems("userOnNs",e.userOnNs)),t.push(...this.sectionItems("userGlobal",e.userGlobal)),t}sectionItems(e,t){return t.length===0?[{id:`${F}${e}`,name:"Aucun AI Provider",groupKey:e,groupLabel:k[e]}]:t.filter(i=>!!i.id).map(i=>({id:this.itemKey(e,i.id),name:i.name,description:i.apiType,groupKey:e,groupLabel:k[e]}))}static \u0275fac=function(t){return new(t||r)};static \u0275cmp=Aw({type:r,selectors:[["agentos-ai-providers-all-scopes"]],decls:5,vars:6,consts:[["aiProviderItemTpl",""],["title","AI Providers","emptyMessage","No AI providers available.","cardMinWidth","400px",3,"createRequested","items","showCreate","itemTemplate"],["toolbar-start","","icon","arrow_back","title","Back",3,"action"],[1,"ai-providers-all-scopes__empty"],[3,"config","scope","readOnly"],[3,"editRequested","deleteRequested","duplicateRequested","config","scope","readOnly"]],template:function(t,i){if(t&1&&(vs(0,"ds-entity-list",1),aT(1,"async"),Ag("createRequested",function(){return i.openCreateForm()}),vs(2,"ds-icon-button",2),Ag("action",function(){return i.goBack()}),fl()(),Dg(3,X,2,1,"ng-template",null,0,fT)),t&2){let o=TC(4);Tg("items",uT(1,3,i.listItems$)??rT(5,z))("showCreate",true)("itemTemplate",o);}},dependencies:[Wn,S,Se,Nb],styles:[".ai-providers-all-scopes__empty[_ngcontent-%COMP%]{font-size:.85rem;color:var(--color-text-secondary);padding:.5rem .25rem;margin:0;font-style:italic}"]})};export{j as AiProvidersAllScopesComponent};
@@ -1 +1 @@
1
- import {I}from'./chunk-ILoui0Go.js';import {m}from'./chunk-CjOZDsNf.js';import {g,G,w as we,aI as Tr,bR as ma,u as ue,b as U,A as Aw,aJ as Nb,v as vs,be as aT,l as Ag,k as fl,af as Dg,T as TC,r as Tg,bf as uT,ah as rT,n as eC,ac as mC,t as tC,a9 as dC,aa as If,ab as wf,ag as fT}from'./main-VYETRYCE.js';import {W as Wn,S as Se}from'./chunk-Djnp-vUI.js';import'./chunk-Dax4e1JZ.js';import'./chunk-BbLMzp9k.js';import'./chunk-C7O0lv-N.js';var F=()=>[];function L(o,e){if(o&1){let t=dC();vs(0,"agentos-prompt-item",4),Ag("deleteRequested",function(r){If(t);let E=mC(2);return wf(E.deletePrompt(r))}),fl();}o&2&&Tg("prompt",e)("platformMode",true);}function N(o,e){if(o&1&&eC(0,L,1,2,"agentos-prompt-item",3),o&2){let t,n=e.$implicit,r=mC();tC((t=r.resolvePrompt(n.id))?0:-1,t);}}var D=class o{router=g(G);destroyRef=g(we);promptState=g(m);refresh$=new Tr(void 0);prompts$=this.refresh$.pipe(ma(()=>this.promptState.listPlatform()));promptItems$=this.prompts$.pipe(ue(e=>e.map(t=>({id:t.id??"",name:t.name,description:t.description}))));promptsById=new Map;constructor(){this.prompts$.pipe(U(this.destroyRef)).subscribe(e=>{this.promptsById=new Map(e.map(t=>[t.id??"",t]));});}goBack(){this.router.navigate(["/agentos","admin"]);}openCreateForm(){this.router.navigate(["/agentos","admin","prompts","new"]);}deletePrompt(e){this.promptState.delete(e.id??"").pipe(U(this.destroyRef)).subscribe(()=>this.refresh$.next());}resolvePrompt(e){return this.promptsById.get(e)??null}static \u0275fac=function(t){return new(t||o)};static \u0275cmp=Aw({type:o,selectors:[["agentos-platform-prompts"]],decls:5,vars:6,consts:[["promptItemTpl",""],["title","Platform Prompts","emptyMessage","No platform prompts defined yet. Add one above.","cardMinWidth","400px",3,"createRequested","items","showCreate","itemTemplate"],["toolbar-start","","icon","arrow_back","title","Back",3,"action"],[3,"prompt","platformMode"],[3,"deleteRequested","prompt","platformMode"]],template:function(t,n){if(t&1&&(vs(0,"ds-entity-list",1),aT(1,"async"),Ag("createRequested",function(){return n.openCreateForm()}),vs(2,"ds-icon-button",2),Ag("action",function(){return n.goBack()}),fl()(),Dg(3,N,1,1,"ng-template",null,0,fT)),t&2){let r=TC(4);Tg("items",uT(1,3,n.promptItems$)??rT(5,F))("showCreate",true)("itemTemplate",r);}},dependencies:[Wn,I,Se,Nb],styles:[".platform-prompts__back[_ngcontent-%COMP%]{background:none;border:none;padding:0;cursor:pointer;font-size:.875rem;color:var(--color-primary, #007aff);font-family:inherit}.platform-prompts__back[_ngcontent-%COMP%]:hover{text-decoration:underline}"]})};export{D as PlatformPromptsComponent};
1
+ import {I}from'./chunk-D-Y7a6aq.js';import {m}from'./chunk-CDiCP0cs.js';import {g,G,w as we,aI as Tr,bR as ma,u as ue,b as U,A as Aw,aJ as Nb,v as vs,be as aT,l as Ag,k as fl,af as Dg,T as TC,r as Tg,bf as uT,ah as rT,n as eC,ac as mC,t as tC,a9 as dC,aa as If,ab as wf,ag as fT}from'./main-FZBZNLDT.js';import {W as Wn,S as Se}from'./chunk-DdIe-Q8z.js';import'./chunk-Bc7OrHjR.js';import'./chunk-MYEQTQOG.js';import'./chunk-CFAzj-K1.js';var F=()=>[];function L(o,e){if(o&1){let t=dC();vs(0,"agentos-prompt-item",4),Ag("deleteRequested",function(r){If(t);let E=mC(2);return wf(E.deletePrompt(r))}),fl();}o&2&&Tg("prompt",e)("platformMode",true);}function N(o,e){if(o&1&&eC(0,L,1,2,"agentos-prompt-item",3),o&2){let t,n=e.$implicit,r=mC();tC((t=r.resolvePrompt(n.id))?0:-1,t);}}var D=class o{router=g(G);destroyRef=g(we);promptState=g(m);refresh$=new Tr(void 0);prompts$=this.refresh$.pipe(ma(()=>this.promptState.listPlatform()));promptItems$=this.prompts$.pipe(ue(e=>e.map(t=>({id:t.id??"",name:t.name,description:t.description}))));promptsById=new Map;constructor(){this.prompts$.pipe(U(this.destroyRef)).subscribe(e=>{this.promptsById=new Map(e.map(t=>[t.id??"",t]));});}goBack(){this.router.navigate(["/agentos","admin"]);}openCreateForm(){this.router.navigate(["/agentos","admin","prompts","new"]);}deletePrompt(e){this.promptState.delete(e.id??"").pipe(U(this.destroyRef)).subscribe(()=>this.refresh$.next());}resolvePrompt(e){return this.promptsById.get(e)??null}static \u0275fac=function(t){return new(t||o)};static \u0275cmp=Aw({type:o,selectors:[["agentos-platform-prompts"]],decls:5,vars:6,consts:[["promptItemTpl",""],["title","Platform Prompts","emptyMessage","No platform prompts defined yet. Add one above.","cardMinWidth","400px",3,"createRequested","items","showCreate","itemTemplate"],["toolbar-start","","icon","arrow_back","title","Back",3,"action"],[3,"prompt","platformMode"],[3,"deleteRequested","prompt","platformMode"]],template:function(t,n){if(t&1&&(vs(0,"ds-entity-list",1),aT(1,"async"),Ag("createRequested",function(){return n.openCreateForm()}),vs(2,"ds-icon-button",2),Ag("action",function(){return n.goBack()}),fl()(),Dg(3,N,1,1,"ng-template",null,0,fT)),t&2){let r=TC(4);Tg("items",uT(1,3,n.promptItems$)??rT(5,F))("showCreate",true)("itemTemplate",r);}},dependencies:[Wn,I,Se,Nb],styles:[".platform-prompts__back[_ngcontent-%COMP%]{background:none;border:none;padding:0;cursor:pointer;font-size:.875rem;color:var(--color-primary, #007aff);font-family:inherit}.platform-prompts__back[_ngcontent-%COMP%]:hover{text-decoration:underline}"]})};export{D as PlatformPromptsComponent};
@@ -1 +1 @@
1
- import {ca as mB,cb as gB,g,G as G$1,P,m as mT,A as Aw,i as hr,j as Gn,v as vs,l as Ag,n as eC,W as WC,k as fl,b_ as FC,y as Hg,C as Cg,X as XE,t as tC,a8 as Zg,a5 as yl,r as Tg,a9 as dC,aa as If,ac as mC,ab as wf,o as bg}from'./main-VYETRYCE.js';import {v as ve,n as ne}from'./chunk-BQJyTdNB.js';import {V as Ve,n as ne$1}from'./chunk-Dax4e1JZ.js';import {y as yt,w as wt}from'./chunk-BbLMzp9k.js';function L(a,e){if(a&1){let n=dC();vs(0,"div",1)(1,"mat-checkbox",21),Ag("click",function(r){return r.stopPropagation()})("change",function(r){If(n);let i=mC();return wf(i.selectionChanged.emit({id:i.task().id,selected:r.checked}))}),fl()();}if(a&2){let n=mC();XE(),Tg("checked",n.selected()),Cg("aria-label","Select task: "+n.task().name);}}function Y(a,e){a&1&&(vs(0,"mat-icon",2),WC(1,"star"),fl());}function W(a,e){a&1&&bg(0,"span",6);}function U(a,e){if(a&1&&(vs(0,"div",7)(1,"mat-icon",22),WC(2,"folder"),fl(),vs(3,"span"),WC(4),fl()()),a&2){let n=mC();XE(4),Zg(n.projectName());}}function B(a,e){if(a&1&&(vs(0,"p",9),WC(1),fl()),a&2){let n=mC();XE(),Zg(n.task().summary);}}function $(a,e){a&1&&(vs(0,"p",10),WC(1,"No summary yet"),fl());}function H(a,e){if(a&1){let n=dC();vs(0,"button",23),Ag("click",function(r){If(n);let i=mC();return wf(i.onOpenDirect(r))}),vs(1,"mat-icon"),WC(2,"open_in_new"),fl()();}}function F(a,e){if(a&1){let n=dC();vs(0,"button",24),Ag("click",function(r){If(n);let i=mC();return wf(i.onStop(r))}),vs(1,"mat-icon"),WC(2,"stop_circle"),fl()();}}function G(a,e){if(a&1){let n=dC();vs(0,"button",25),Ag("click",function(r){If(n);let i=mC();return wf(i.onMarkDone(r))}),vs(1,"mat-icon"),WC(2,"check_circle_outline"),fl()();}}function K(a,e){if(a&1){let n=dC();vs(0,"button",26),Ag("click",function(r){If(n);let i=mC();return wf(i.onMarkActive(r))}),vs(1,"mat-icon"),WC(2,"replay"),fl()();}}function J(a,e){if(a&1){let n=dC();vs(0,"button",27),Ag("click",function(r){If(n);let i=mC();return wf(i.onCloseTask(r))}),vs(1,"mat-icon"),WC(2,"close_fullscreen"),fl()();}}var A=class a{task=mB.required();projectNameOverride=mB(null);showProject=mB(false);previewMode=mB(false);selectable=mB(false);selected=mB(false);stopRequested=gB();deleteRequested=gB();starToggled=gB();closeTaskRequested=gB();markDoneRequested=gB();markActiveRequested=gB();previewRequested=gB();selectionChanged=gB();router=g(G$1);projectState=g(P);projectName=mT(()=>this.projectNameOverride()??this.projectState.getSelectedProjectId());statusLabel=mT(()=>Q[this.task().status]);statusIcon=mT(()=>X[this.task().status]);isWorktree=mT(()=>!!this.task().worktreeProject);navigate(){if(this.previewMode()){this.previewRequested.emit(this.task().id);return}let e=this.projectName();e&&(this.projectState.selectProject(e),this.router.navigate(["project",e,"thread",this.task().id]));}onStop(e){e.stopPropagation(),this.stopRequested.emit(this.task().id);}onDelete(e){e.stopPropagation(),this.deleteRequested.emit(this.task().id);}onStarToggle(e){e.stopPropagation(),this.starToggled.emit(this.task().id);}onCloseTask(e){e.stopPropagation(),this.closeTaskRequested.emit(this.task().id);}onMarkDone(e){e.stopPropagation(),this.markDoneRequested.emit(this.task().id);}onMarkActive(e){e.stopPropagation(),this.markActiveRequested.emit(this.task().id);}onOpenDirect(e){e.stopPropagation();let n=this.projectName();n&&(this.projectState.selectProject(n),this.router.navigate(["project",n,"thread",this.task().id]));}formatRelativeTime(e){let n=Date.now()-new Date(e).getTime(),t=Math.floor(n/6e4);if(t<1)return "just now";if(t<60)return `${t} min ago`;let r=Math.floor(t/60);if(r<24)return `${r}h ago`;let i=Math.floor(r/24);return i===1?"yesterday":i<7?`${i} days ago`:new Date(e).toLocaleDateString("en",{day:"numeric",month:"short"})}static \u0275fac=function(n){return new(n||a)};static \u0275cmp=Aw({type:a,selectors:[["app-task-card"]],inputs:{task:[1,"task"],projectNameOverride:[1,"projectNameOverride"],showProject:[1,"showProject"],previewMode:[1,"previewMode"],selectable:[1,"selectable"],selected:[1,"selected"]},outputs:{stopRequested:"stopRequested",deleteRequested:"deleteRequested",starToggled:"starToggled",closeTaskRequested:"closeTaskRequested",markDoneRequested:"markDoneRequested",markActiveRequested:"markActiveRequested",previewRequested:"previewRequested",selectionChanged:"selectionChanged"},decls:29,vars:25,consts:[["role","button","tabindex","0",1,"task-card",3,"click","keydown.enter","keydown.space"],[1,"selection-checkbox"],["aria-label","Starred",1,"starred-indicator"],[1,"status-badge"],[1,"status-icon"],[1,"status-label"],["aria-hidden","true",1,"pulse-ring"],[1,"task-project"],[1,"task-name"],[1,"task-summary"],[1,"task-summary","empty"],[1,"task-footer"],[1,"task-time"],[1,"task-actions"],["mat-icon-button","","matTooltip","Open full view","aria-label","Open task in full view",1,"action-btn","open-btn"],["mat-icon-button","","matTooltip","Stop agent","aria-label","Stop agent",1,"action-btn","stop-btn"],["mat-icon-button","","matTooltip","Mark as done","aria-label","Mark as done",1,"action-btn","mark-done-btn"],["mat-icon-button","","matTooltip","Mark as active","aria-label","Mark as active",1,"action-btn","mark-active-btn"],["mat-icon-button","",1,"action-btn","star-btn",3,"click","matTooltip"],["mat-icon-button","","matTooltip","Close task (removes worktree)","aria-label","Close task",1,"action-btn","close-task-btn"],["mat-icon-button","","matTooltip","Delete task","aria-label","Delete task",1,"action-btn","delete-btn",3,"click"],[3,"click","change","checked"],[1,"project-icon"],["mat-icon-button","","matTooltip","Open full view","aria-label","Open task in full view",1,"action-btn","open-btn",3,"click"],["mat-icon-button","","matTooltip","Stop agent","aria-label","Stop agent",1,"action-btn","stop-btn",3,"click"],["mat-icon-button","","matTooltip","Mark as done","aria-label","Mark as done",1,"action-btn","mark-done-btn",3,"click"],["mat-icon-button","","matTooltip","Mark as active","aria-label","Mark as active",1,"action-btn","mark-active-btn",3,"click"],["mat-icon-button","","matTooltip","Close task (removes worktree)","aria-label","Close task",1,"action-btn","close-task-btn",3,"click"]],template:function(n,t){n&1&&(vs(0,"article",0),Ag("click",function(){return t.navigate()})("keydown.enter",function(){return t.navigate()})("keydown.space",function(i){return t.navigate(),i.preventDefault()}),eC(1,L,2,2,"div",1),eC(2,Y,2,0,"mat-icon",2),vs(3,"div",3)(4,"mat-icon",4),WC(5),fl(),vs(6,"span",5),WC(7),fl(),eC(8,W,1,0,"span",6),fl(),eC(9,U,5,1,"div",7),vs(10,"h3",8),WC(11),fl(),eC(12,B,2,1,"p",9)(13,$,2,0,"p",10),vs(14,"footer",11)(15,"span",12),WC(16),fl(),vs(17,"div",13),eC(18,H,3,0,"button",14),eC(19,F,3,0,"button",15),eC(20,G,3,0,"button",16)(21,K,3,0,"button",17),vs(22,"button",18),Ag("click",function(i){return t.onStarToggle(i)}),vs(23,"mat-icon"),WC(24),fl()(),eC(25,J,3,0,"button",19),vs(26,"button",20),Ag("click",function(i){return t.onDelete(i)}),vs(27,"mat-icon"),WC(28,"delete_outline"),fl()()()()()),n&2&&(FC("status-"+t.task().status),Hg("is-active",t.task().isActive)("is-selected",t.selected()),Cg("aria-label","Open task: "+t.task().name),XE(),tC(t.selectable()?1:-1),XE(),tC(t.task().starring.length>0?2:-1),XE(3),Zg(t.statusIcon()),XE(2),Zg(t.statusLabel()),XE(),tC(t.task().status==="waiting-you"?8:-1),XE(),tC(t.showProject()&&t.projectName()?9:-1),XE(2),yl(" ",t.task().name||"Unnamed task"," "),XE(),tC(t.task().summary?12:13),XE(4),Zg(t.formatRelativeTime(t.task().modifiedDate)),XE(2),tC(t.previewMode()?18:-1),XE(),tC(t.task().status==="in-progress"?19:-1),XE(),tC(t.task().status!=="done"?20:21),XE(2),Hg("starred",t.task().starring.length>0),Tg("matTooltip",t.task().starring.length>0?"Unstar":"Star"),Cg("aria-label",t.task().starring.length>0?"Unstar task":"Star task"),XE(2),Zg(t.task().starring.length>0?"star":"star_border"),XE(),tC(t.isWorktree()?25:-1));},dependencies:[ve,ne,yt,wt,hr,Gn,Ve,ne$1],styles:['.glass-panel[_ngcontent-%COMP%]{background:var(--glass-bg);backdrop-filter:var(--glass-backdrop-blur);-webkit-backdrop-filter:var(--glass-backdrop-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}.glass-interactive[_ngcontent-%COMP%]{background:var(--glass-bg);backdrop-filter:var(--glass-backdrop-blur);-webkit-backdrop-filter:var(--glass-backdrop-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);transition:all .3s cubic-bezier(.4,0,.2,1)}.glass-interactive[_ngcontent-%COMP%]:hover{transform:translateY(-2px);box-shadow:0 12px 40px #00000026}.glass-interactive[_ngcontent-%COMP%]:active{transform:translateY(0)}.glass-card[_ngcontent-%COMP%]{background:var(--glass-bg);backdrop-filter:var(--glass-backdrop-blur);-webkit-backdrop-filter:var(--glass-backdrop-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:20px;padding:1.5rem}.glass-button[_ngcontent-%COMP%]{background:var(--glass-bg);backdrop-filter:var(--glass-backdrop-blur);-webkit-backdrop-filter:var(--glass-backdrop-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);transition:all .3s cubic-bezier(.4,0,.2,1)}.glass-button[_ngcontent-%COMP%]:hover{transform:translateY(-2px);box-shadow:0 12px 40px #00000026}.glass-button[_ngcontent-%COMP%]:active{transform:translateY(0)}.glass-button[_ngcontent-%COMP%]{border-radius:12px;padding:.75rem 1.5rem;font-weight:600;cursor:pointer}.glass-button[_ngcontent-%COMP%]:disabled{opacity:.5;cursor:not-allowed;transform:none}.glass-button[_ngcontent-%COMP%]:disabled:hover{transform:none}.smooth-theme-transition[_ngcontent-%COMP%]{transition:background .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease}[_nghost-%COMP%]{display:block}.task-card[_ngcontent-%COMP%]{background:var(--glass-bg);backdrop-filter:var(--glass-backdrop-blur);-webkit-backdrop-filter:var(--glass-backdrop-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:16px;padding:1.25rem;cursor:pointer;position:relative;overflow:hidden;transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),border-color .2s ease;outline:none;display:flex;flex-direction:column;gap:.5rem;min-height:160px}.task-card[_ngcontent-%COMP%]:hover, .task-card[_ngcontent-%COMP%]:focus-visible{transform:translateY(-3px);box-shadow:0 16px 48px #00000026}.task-card[_ngcontent-%COMP%]:active{transform:translateY(-1px)}.task-card[_ngcontent-%COMP%]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:16px 0 0 16px;background:var(--status-color, var(--color-text-secondary))}.task-card.status-waiting-you[_ngcontent-%COMP%]{--status-color: var(--color-error);border-color:#ff3b3040}.task-card.status-in-progress[_ngcontent-%COMP%]{--status-color: var(--color-warning);border-color:#ff950033}.task-card.status-done[_ngcontent-%COMP%]{--status-color: var(--color-success)}.task-card.status-paused[_ngcontent-%COMP%]{--status-color: var(--color-text-secondary)}.task-card.status-error[_ngcontent-%COMP%]{--status-color: var(--color-error)}.task-card.is-active[_ngcontent-%COMP%]{box-shadow:var(--glass-shadow),0 0 0 2px rgba(var(--color-primary),.3)}.selection-checkbox[_ngcontent-%COMP%]{position:absolute;right:.875rem;top:1.125rem;z-index:2}.task-card.is-selected[_ngcontent-%COMP%]{border-color:var(--color-primary);box-shadow:var(--glass-shadow),0 0 0 2px var(--color-primary)}.task-card.is-selected[_ngcontent-%COMP%]:before{background:var(--color-primary)}.starred-indicator[_ngcontent-%COMP%]{position:absolute;top:.75rem;right:.75rem;font-size:1rem;width:1rem;height:1rem;color:#f5a623;pointer-events:none}.status-badge[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.375rem;position:relative}.status-badge[_ngcontent-%COMP%] .status-icon[_ngcontent-%COMP%]{font-size:1rem;width:1rem;height:1rem;color:var(--status-color, var(--color-text-secondary))}.status-in-progress[_ngcontent-%COMP%] .status-badge[_ngcontent-%COMP%] .status-icon[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_spin 2s linear infinite}.status-badge[_ngcontent-%COMP%] .status-label[_ngcontent-%COMP%]{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--status-color, var(--color-text-secondary))}.status-badge[_ngcontent-%COMP%] .pulse-ring[_ngcontent-%COMP%]{position:absolute;left:-2px;top:-2px;width:20px;height:20px;border-radius:50%;border:2px solid var(--color-error);animation:_ngcontent-%COMP%_pulse 1.5s ease-out infinite;pointer-events:none}.task-project[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem;font-size:.72rem;font-weight:600;color:var(--color-primary);opacity:.8;text-transform:uppercase;letter-spacing:.04em}.task-project[_ngcontent-%COMP%] .project-icon[_ngcontent-%COMP%]{font-size:.75rem;width:.75rem;height:.75rem}.task-name[_ngcontent-%COMP%]{margin:0;font-size:.95rem;font-weight:600;color:var(--color-text);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.task-summary[_ngcontent-%COMP%]{margin:0;font-size:.8rem;color:var(--color-text-secondary);line-height:1.4;flex:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.task-summary.empty[_ngcontent-%COMP%]{font-style:italic;opacity:.6}.task-footer[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:.25rem}.task-time[_ngcontent-%COMP%]{font-size:.72rem;color:var(--color-text-secondary);opacity:.8}.task-actions[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.125rem;opacity:0;transition:opacity .15s ease}.task-card[_ngcontent-%COMP%]:hover .task-actions[_ngcontent-%COMP%], .task-card[_ngcontent-%COMP%]:focus-within .task-actions[_ngcontent-%COMP%]{opacity:1}.task-actions[_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%]{width:28px;height:28px;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important}.task-actions[_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:1rem;width:1rem;height:1rem;display:flex;align-items:center;justify-content:center}.task-actions[_ngcontent-%COMP%] .stop-btn[_ngcontent-%COMP%]{color:var(--color-error)}.task-actions[_ngcontent-%COMP%] .mark-done-btn[_ngcontent-%COMP%]{color:var(--color-success)}.task-actions[_ngcontent-%COMP%] .star-btn[_ngcontent-%COMP%]{color:var(--color-text-secondary)}.task-actions[_ngcontent-%COMP%] .star-btn.starred[_ngcontent-%COMP%]{color:#f5a623}.task-actions[_ngcontent-%COMP%] .delete-btn[_ngcontent-%COMP%]{color:var(--color-text-secondary)}.task-actions[_ngcontent-%COMP%] .delete-btn[_ngcontent-%COMP%]:hover{color:var(--color-error)}.task-actions[_ngcontent-%COMP%] .open-btn[_ngcontent-%COMP%]{color:var(--color-primary)}.task-actions[_ngcontent-%COMP%] .open-btn[_ngcontent-%COMP%]:hover{color:var(--color-primary-hover)}@media(max-width:600px){.task-actions[_ngcontent-%COMP%]{opacity:1}.task-actions[_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%]{width:36px;height:36px}.task-actions[_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:1.25rem;width:1.25rem;height:1.25rem}}@keyframes _ngcontent-%COMP%_spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes _ngcontent-%COMP%_pulse{0%{transform:scale(.8);opacity:1}to{transform:scale(2.2);opacity:0}}']})},Q={"waiting-you":"Waiting for you","in-progress":"In progress\u2026",done:"Done",paused:"Paused",error:"Error"},X={"waiting-you":"mark_unread_chat_alt","in-progress":"pending",done:"check_circle",paused:"pause_circle",error:"error"};var bt=300*1e3,kt={"waiting-you":0,"in-progress":1,done:2,paused:3,error:4};export{A,bt as b,kt as k};
1
+ import {ca as mB,cb as gB,g,G as G$1,P,m as mT,A as Aw,i as hr,j as Gn,v as vs,l as Ag,n as eC,W as WC,k as fl,b_ as FC,y as Hg,C as Cg,X as XE,t as tC,a8 as Zg,a5 as yl,r as Tg,a9 as dC,aa as If,ac as mC,ab as wf,o as bg}from'./main-FZBZNLDT.js';import {v as ve,n as ne}from'./chunk-DZANBioo.js';import {V as Ve,n as ne$1}from'./chunk-Bc7OrHjR.js';import {y as yt,w as wt}from'./chunk-MYEQTQOG.js';function L(a,e){if(a&1){let n=dC();vs(0,"div",1)(1,"mat-checkbox",21),Ag("click",function(r){return r.stopPropagation()})("change",function(r){If(n);let i=mC();return wf(i.selectionChanged.emit({id:i.task().id,selected:r.checked}))}),fl()();}if(a&2){let n=mC();XE(),Tg("checked",n.selected()),Cg("aria-label","Select task: "+n.task().name);}}function Y(a,e){a&1&&(vs(0,"mat-icon",2),WC(1,"star"),fl());}function W(a,e){a&1&&bg(0,"span",6);}function U(a,e){if(a&1&&(vs(0,"div",7)(1,"mat-icon",22),WC(2,"folder"),fl(),vs(3,"span"),WC(4),fl()()),a&2){let n=mC();XE(4),Zg(n.projectName());}}function B(a,e){if(a&1&&(vs(0,"p",9),WC(1),fl()),a&2){let n=mC();XE(),Zg(n.task().summary);}}function $(a,e){a&1&&(vs(0,"p",10),WC(1,"No summary yet"),fl());}function H(a,e){if(a&1){let n=dC();vs(0,"button",23),Ag("click",function(r){If(n);let i=mC();return wf(i.onOpenDirect(r))}),vs(1,"mat-icon"),WC(2,"open_in_new"),fl()();}}function F(a,e){if(a&1){let n=dC();vs(0,"button",24),Ag("click",function(r){If(n);let i=mC();return wf(i.onStop(r))}),vs(1,"mat-icon"),WC(2,"stop_circle"),fl()();}}function G(a,e){if(a&1){let n=dC();vs(0,"button",25),Ag("click",function(r){If(n);let i=mC();return wf(i.onMarkDone(r))}),vs(1,"mat-icon"),WC(2,"check_circle_outline"),fl()();}}function K(a,e){if(a&1){let n=dC();vs(0,"button",26),Ag("click",function(r){If(n);let i=mC();return wf(i.onMarkActive(r))}),vs(1,"mat-icon"),WC(2,"replay"),fl()();}}function J(a,e){if(a&1){let n=dC();vs(0,"button",27),Ag("click",function(r){If(n);let i=mC();return wf(i.onCloseTask(r))}),vs(1,"mat-icon"),WC(2,"close_fullscreen"),fl()();}}var A=class a{task=mB.required();projectNameOverride=mB(null);showProject=mB(false);previewMode=mB(false);selectable=mB(false);selected=mB(false);stopRequested=gB();deleteRequested=gB();starToggled=gB();closeTaskRequested=gB();markDoneRequested=gB();markActiveRequested=gB();previewRequested=gB();selectionChanged=gB();router=g(G$1);projectState=g(P);projectName=mT(()=>this.projectNameOverride()??this.projectState.getSelectedProjectId());statusLabel=mT(()=>Q[this.task().status]);statusIcon=mT(()=>X[this.task().status]);isWorktree=mT(()=>!!this.task().worktreeProject);navigate(){if(this.previewMode()){this.previewRequested.emit(this.task().id);return}let e=this.projectName();e&&(this.projectState.selectProject(e),this.router.navigate(["project",e,"thread",this.task().id]));}onStop(e){e.stopPropagation(),this.stopRequested.emit(this.task().id);}onDelete(e){e.stopPropagation(),this.deleteRequested.emit(this.task().id);}onStarToggle(e){e.stopPropagation(),this.starToggled.emit(this.task().id);}onCloseTask(e){e.stopPropagation(),this.closeTaskRequested.emit(this.task().id);}onMarkDone(e){e.stopPropagation(),this.markDoneRequested.emit(this.task().id);}onMarkActive(e){e.stopPropagation(),this.markActiveRequested.emit(this.task().id);}onOpenDirect(e){e.stopPropagation();let n=this.projectName();n&&(this.projectState.selectProject(n),this.router.navigate(["project",n,"thread",this.task().id]));}formatRelativeTime(e){let n=Date.now()-new Date(e).getTime(),t=Math.floor(n/6e4);if(t<1)return "just now";if(t<60)return `${t} min ago`;let r=Math.floor(t/60);if(r<24)return `${r}h ago`;let i=Math.floor(r/24);return i===1?"yesterday":i<7?`${i} days ago`:new Date(e).toLocaleDateString("en",{day:"numeric",month:"short"})}static \u0275fac=function(n){return new(n||a)};static \u0275cmp=Aw({type:a,selectors:[["app-task-card"]],inputs:{task:[1,"task"],projectNameOverride:[1,"projectNameOverride"],showProject:[1,"showProject"],previewMode:[1,"previewMode"],selectable:[1,"selectable"],selected:[1,"selected"]},outputs:{stopRequested:"stopRequested",deleteRequested:"deleteRequested",starToggled:"starToggled",closeTaskRequested:"closeTaskRequested",markDoneRequested:"markDoneRequested",markActiveRequested:"markActiveRequested",previewRequested:"previewRequested",selectionChanged:"selectionChanged"},decls:29,vars:25,consts:[["role","button","tabindex","0",1,"task-card",3,"click","keydown.enter","keydown.space"],[1,"selection-checkbox"],["aria-label","Starred",1,"starred-indicator"],[1,"status-badge"],[1,"status-icon"],[1,"status-label"],["aria-hidden","true",1,"pulse-ring"],[1,"task-project"],[1,"task-name"],[1,"task-summary"],[1,"task-summary","empty"],[1,"task-footer"],[1,"task-time"],[1,"task-actions"],["mat-icon-button","","matTooltip","Open full view","aria-label","Open task in full view",1,"action-btn","open-btn"],["mat-icon-button","","matTooltip","Stop agent","aria-label","Stop agent",1,"action-btn","stop-btn"],["mat-icon-button","","matTooltip","Mark as done","aria-label","Mark as done",1,"action-btn","mark-done-btn"],["mat-icon-button","","matTooltip","Mark as active","aria-label","Mark as active",1,"action-btn","mark-active-btn"],["mat-icon-button","",1,"action-btn","star-btn",3,"click","matTooltip"],["mat-icon-button","","matTooltip","Close task (removes worktree)","aria-label","Close task",1,"action-btn","close-task-btn"],["mat-icon-button","","matTooltip","Delete task","aria-label","Delete task",1,"action-btn","delete-btn",3,"click"],[3,"click","change","checked"],[1,"project-icon"],["mat-icon-button","","matTooltip","Open full view","aria-label","Open task in full view",1,"action-btn","open-btn",3,"click"],["mat-icon-button","","matTooltip","Stop agent","aria-label","Stop agent",1,"action-btn","stop-btn",3,"click"],["mat-icon-button","","matTooltip","Mark as done","aria-label","Mark as done",1,"action-btn","mark-done-btn",3,"click"],["mat-icon-button","","matTooltip","Mark as active","aria-label","Mark as active",1,"action-btn","mark-active-btn",3,"click"],["mat-icon-button","","matTooltip","Close task (removes worktree)","aria-label","Close task",1,"action-btn","close-task-btn",3,"click"]],template:function(n,t){n&1&&(vs(0,"article",0),Ag("click",function(){return t.navigate()})("keydown.enter",function(){return t.navigate()})("keydown.space",function(i){return t.navigate(),i.preventDefault()}),eC(1,L,2,2,"div",1),eC(2,Y,2,0,"mat-icon",2),vs(3,"div",3)(4,"mat-icon",4),WC(5),fl(),vs(6,"span",5),WC(7),fl(),eC(8,W,1,0,"span",6),fl(),eC(9,U,5,1,"div",7),vs(10,"h3",8),WC(11),fl(),eC(12,B,2,1,"p",9)(13,$,2,0,"p",10),vs(14,"footer",11)(15,"span",12),WC(16),fl(),vs(17,"div",13),eC(18,H,3,0,"button",14),eC(19,F,3,0,"button",15),eC(20,G,3,0,"button",16)(21,K,3,0,"button",17),vs(22,"button",18),Ag("click",function(i){return t.onStarToggle(i)}),vs(23,"mat-icon"),WC(24),fl()(),eC(25,J,3,0,"button",19),vs(26,"button",20),Ag("click",function(i){return t.onDelete(i)}),vs(27,"mat-icon"),WC(28,"delete_outline"),fl()()()()()),n&2&&(FC("status-"+t.task().status),Hg("is-active",t.task().isActive)("is-selected",t.selected()),Cg("aria-label","Open task: "+t.task().name),XE(),tC(t.selectable()?1:-1),XE(),tC(t.task().starring.length>0?2:-1),XE(3),Zg(t.statusIcon()),XE(2),Zg(t.statusLabel()),XE(),tC(t.task().status==="waiting-you"?8:-1),XE(),tC(t.showProject()&&t.projectName()?9:-1),XE(2),yl(" ",t.task().name||"Unnamed task"," "),XE(),tC(t.task().summary?12:13),XE(4),Zg(t.formatRelativeTime(t.task().modifiedDate)),XE(2),tC(t.previewMode()?18:-1),XE(),tC(t.task().status==="in-progress"?19:-1),XE(),tC(t.task().status!=="done"?20:21),XE(2),Hg("starred",t.task().starring.length>0),Tg("matTooltip",t.task().starring.length>0?"Unstar":"Star"),Cg("aria-label",t.task().starring.length>0?"Unstar task":"Star task"),XE(2),Zg(t.task().starring.length>0?"star":"star_border"),XE(),tC(t.isWorktree()?25:-1));},dependencies:[ve,ne,yt,wt,hr,Gn,Ve,ne$1],styles:['.glass-panel[_ngcontent-%COMP%]{background:var(--glass-bg);backdrop-filter:var(--glass-backdrop-blur);-webkit-backdrop-filter:var(--glass-backdrop-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}.glass-interactive[_ngcontent-%COMP%]{background:var(--glass-bg);backdrop-filter:var(--glass-backdrop-blur);-webkit-backdrop-filter:var(--glass-backdrop-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);transition:all .3s cubic-bezier(.4,0,.2,1)}.glass-interactive[_ngcontent-%COMP%]:hover{transform:translateY(-2px);box-shadow:0 12px 40px #00000026}.glass-interactive[_ngcontent-%COMP%]:active{transform:translateY(0)}.glass-card[_ngcontent-%COMP%]{background:var(--glass-bg);backdrop-filter:var(--glass-backdrop-blur);-webkit-backdrop-filter:var(--glass-backdrop-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:20px;padding:1.5rem}.glass-button[_ngcontent-%COMP%]{background:var(--glass-bg);backdrop-filter:var(--glass-backdrop-blur);-webkit-backdrop-filter:var(--glass-backdrop-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);transition:all .3s cubic-bezier(.4,0,.2,1)}.glass-button[_ngcontent-%COMP%]:hover{transform:translateY(-2px);box-shadow:0 12px 40px #00000026}.glass-button[_ngcontent-%COMP%]:active{transform:translateY(0)}.glass-button[_ngcontent-%COMP%]{border-radius:12px;padding:.75rem 1.5rem;font-weight:600;cursor:pointer}.glass-button[_ngcontent-%COMP%]:disabled{opacity:.5;cursor:not-allowed;transform:none}.glass-button[_ngcontent-%COMP%]:disabled:hover{transform:none}.smooth-theme-transition[_ngcontent-%COMP%]{transition:background .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease}[_nghost-%COMP%]{display:block}.task-card[_ngcontent-%COMP%]{background:var(--glass-bg);backdrop-filter:var(--glass-backdrop-blur);-webkit-backdrop-filter:var(--glass-backdrop-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:16px;padding:1.25rem;cursor:pointer;position:relative;overflow:hidden;transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),border-color .2s ease;outline:none;display:flex;flex-direction:column;gap:.5rem;min-height:160px}.task-card[_ngcontent-%COMP%]:hover, .task-card[_ngcontent-%COMP%]:focus-visible{transform:translateY(-3px);box-shadow:0 16px 48px #00000026}.task-card[_ngcontent-%COMP%]:active{transform:translateY(-1px)}.task-card[_ngcontent-%COMP%]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:16px 0 0 16px;background:var(--status-color, var(--color-text-secondary))}.task-card.status-waiting-you[_ngcontent-%COMP%]{--status-color: var(--color-error);border-color:#ff3b3040}.task-card.status-in-progress[_ngcontent-%COMP%]{--status-color: var(--color-warning);border-color:#ff950033}.task-card.status-done[_ngcontent-%COMP%]{--status-color: var(--color-success)}.task-card.status-paused[_ngcontent-%COMP%]{--status-color: var(--color-text-secondary)}.task-card.status-error[_ngcontent-%COMP%]{--status-color: var(--color-error)}.task-card.is-active[_ngcontent-%COMP%]{box-shadow:var(--glass-shadow),0 0 0 2px rgba(var(--color-primary),.3)}.selection-checkbox[_ngcontent-%COMP%]{position:absolute;right:.875rem;top:1.125rem;z-index:2}.task-card.is-selected[_ngcontent-%COMP%]{border-color:var(--color-primary);box-shadow:var(--glass-shadow),0 0 0 2px var(--color-primary)}.task-card.is-selected[_ngcontent-%COMP%]:before{background:var(--color-primary)}.starred-indicator[_ngcontent-%COMP%]{position:absolute;top:.75rem;right:.75rem;font-size:1rem;width:1rem;height:1rem;color:#f5a623;pointer-events:none}.status-badge[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.375rem;position:relative}.status-badge[_ngcontent-%COMP%] .status-icon[_ngcontent-%COMP%]{font-size:1rem;width:1rem;height:1rem;color:var(--status-color, var(--color-text-secondary))}.status-in-progress[_ngcontent-%COMP%] .status-badge[_ngcontent-%COMP%] .status-icon[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_spin 2s linear infinite}.status-badge[_ngcontent-%COMP%] .status-label[_ngcontent-%COMP%]{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--status-color, var(--color-text-secondary))}.status-badge[_ngcontent-%COMP%] .pulse-ring[_ngcontent-%COMP%]{position:absolute;left:-2px;top:-2px;width:20px;height:20px;border-radius:50%;border:2px solid var(--color-error);animation:_ngcontent-%COMP%_pulse 1.5s ease-out infinite;pointer-events:none}.task-project[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem;font-size:.72rem;font-weight:600;color:var(--color-primary);opacity:.8;text-transform:uppercase;letter-spacing:.04em}.task-project[_ngcontent-%COMP%] .project-icon[_ngcontent-%COMP%]{font-size:.75rem;width:.75rem;height:.75rem}.task-name[_ngcontent-%COMP%]{margin:0;font-size:.95rem;font-weight:600;color:var(--color-text);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.task-summary[_ngcontent-%COMP%]{margin:0;font-size:.8rem;color:var(--color-text-secondary);line-height:1.4;flex:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.task-summary.empty[_ngcontent-%COMP%]{font-style:italic;opacity:.6}.task-footer[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:.25rem}.task-time[_ngcontent-%COMP%]{font-size:.72rem;color:var(--color-text-secondary);opacity:.8}.task-actions[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.125rem;opacity:0;transition:opacity .15s ease}.task-card[_ngcontent-%COMP%]:hover .task-actions[_ngcontent-%COMP%], .task-card[_ngcontent-%COMP%]:focus-within .task-actions[_ngcontent-%COMP%]{opacity:1}.task-actions[_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%]{width:28px;height:28px;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important}.task-actions[_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:1rem;width:1rem;height:1rem;display:flex;align-items:center;justify-content:center}.task-actions[_ngcontent-%COMP%] .stop-btn[_ngcontent-%COMP%]{color:var(--color-error)}.task-actions[_ngcontent-%COMP%] .mark-done-btn[_ngcontent-%COMP%]{color:var(--color-success)}.task-actions[_ngcontent-%COMP%] .star-btn[_ngcontent-%COMP%]{color:var(--color-text-secondary)}.task-actions[_ngcontent-%COMP%] .star-btn.starred[_ngcontent-%COMP%]{color:#f5a623}.task-actions[_ngcontent-%COMP%] .delete-btn[_ngcontent-%COMP%]{color:var(--color-text-secondary)}.task-actions[_ngcontent-%COMP%] .delete-btn[_ngcontent-%COMP%]:hover{color:var(--color-error)}.task-actions[_ngcontent-%COMP%] .open-btn[_ngcontent-%COMP%]{color:var(--color-primary)}.task-actions[_ngcontent-%COMP%] .open-btn[_ngcontent-%COMP%]:hover{color:var(--color-primary-hover)}@media(max-width:600px){.task-actions[_ngcontent-%COMP%]{opacity:1}.task-actions[_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%]{width:36px;height:36px}.task-actions[_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:1.25rem;width:1.25rem;height:1.25rem}}@keyframes _ngcontent-%COMP%_spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes _ngcontent-%COMP%_pulse{0%{transform:scale(.8);opacity:1}to{transform:scale(2.2);opacity:0}}']})},Q={"waiting-you":"Waiting for you","in-progress":"In progress\u2026",done:"Done",paused:"Paused",error:"Error"},X={"waiting-you":"mark_unread_chat_alt","in-progress":"pending",done:"check_circle",paused:"pause_circle",error:"error"};var bt=300*1e3,kt={"waiting-you":0,"in-progress":1,done:2,paused:3,error:4};export{A,bt as b,kt as k};
@@ -1 +1 @@
1
- import {i}from'./chunk-BSTCpwsr.js';import {u}from'./chunk-CjOZDsNf.js';import {g,d7 as F,df as se,aI as Tr,aD as Ly,bR as ma,a7 as ga,S as ha,u as ue,cD as Rd,bT as Od,Y as x}from'./main-VYETRYCE.js';var N="none",O="me",y=class f{nsController=g(F);exportService=g(se);userState=g(u);refresh$=new Tr(void 0);namespaceId$=new Tr(null);vm$=Ly([this.namespaceId$,this.refresh$]).pipe(ma(([e])=>{let n=this.loadPlatformConfigs().pipe(ga(()=>ha([]))),t=this.loadUserConfigs("global").pipe(ga(()=>ha([])));return e?Ly([n,this.loadNamespaceConfigs(e).pipe(ga(()=>ha([]))),this.loadUserConfigs(e).pipe(ga(()=>ha([]))),t]).pipe(ue(([i,r,c,s])=>({platform:i,namespace:r,userOnNs:c,userGlobal:s}))):Ly([n,t]).pipe(ue(([i,r])=>({platform:i,namespace:[],userOnNs:[],userGlobal:r})))}),Rd({bufferSize:1,refCount:true}));setNamespace(e){this.namespaceId$.value!==e&&this.namespaceId$.next(e);}refresh(){this.refresh$.next();}loadPlatformConfigs(){return this.nsController.listIntegrationConfig()}loadUserConfigs(e){let n=e==="global"?N:e;return this.nsController.listIntegrationConfig(n,O)}userGlobal$=i(this.refresh$,()=>this.loadUserConfigs("global"),[]);loadNamespaceConfigs(e){return e?this.nsController.listIntegrationConfig(e):ha([])}getById(e,n){return this.nsController.getByIdIntegrationConfig(e)}create(e,n,t){let r=this.userState.currentUser()?.id;if((n==="userOnNs"||n==="userGlobal")&&!r)throw new Error(`Cannot create ${n} config before UserStateService.loadMe() resolves \u2014 call loadMe() at app init`);if(n==="platform"){let s={name:e.name,integrationType:e.integrationType,description:e.description,parameters:e.parameters,authSettingName:e.authSettingName??void 0};return this.nsController.createIntegrationConfig(s).pipe(Od(()=>this.refresh()))}if(n==="namespace"){if(!t)throw new Error("Cannot create namespace-scoped config without a namespaceId");let s={name:e.name,integrationType:e.integrationType,description:e.description,namespaceId:t,parameters:e.parameters,authSettingName:e.authSettingName??void 0};return this.nsController.createIntegrationConfig(s).pipe(Od(()=>this.refresh()))}if(n==="userOnNs"&&!t)throw new Error("Cannot create userOnNs config without a namespaceId");let c={name:e.name,integrationType:e.integrationType,description:e.description,userId:r,namespaceId:n==="userOnNs"?t:void 0,parameters:e.parameters,authSettingName:e.authSettingName??void 0};return this.nsController.createIntegrationConfig(c).pipe(Od(()=>this.refresh()))}update(e,n,t,i){let r={name:n.name,integrationType:n.integrationType,description:n.description,userId:i.userId,namespaceId:i.namespaceId,parameters:n.parameters,authSettingName:n.authSettingName??void 0};return this.nsController.updateIntegrationConfig(e,r).pipe(Od(()=>this.refresh()))}delete(e,n){return this.nsController.deleteIntegrationConfig(e).pipe(Od(()=>this.refresh()))}exportAsYaml(e){return this.exportService.exportAsYaml(e)}static \u0275fac=function(n){return new(n||f)};static \u0275prov=x({token:f,factory:f.\u0275fac,providedIn:"root"})};export{y};
1
+ import {i}from'./chunk-DXKXt8mt.js';import {u}from'./chunk-CDiCP0cs.js';import {g,d7 as F,df as se,aI as Tr,aD as Ly,bR as ma,a7 as ga,S as ha,u as ue,cD as Rd,bT as Od,Y as x}from'./main-FZBZNLDT.js';var N="none",O="me",y=class f{nsController=g(F);exportService=g(se);userState=g(u);refresh$=new Tr(void 0);namespaceId$=new Tr(null);vm$=Ly([this.namespaceId$,this.refresh$]).pipe(ma(([e])=>{let n=this.loadPlatformConfigs().pipe(ga(()=>ha([]))),t=this.loadUserConfigs("global").pipe(ga(()=>ha([])));return e?Ly([n,this.loadNamespaceConfigs(e).pipe(ga(()=>ha([]))),this.loadUserConfigs(e).pipe(ga(()=>ha([]))),t]).pipe(ue(([i,r,c,s])=>({platform:i,namespace:r,userOnNs:c,userGlobal:s}))):Ly([n,t]).pipe(ue(([i,r])=>({platform:i,namespace:[],userOnNs:[],userGlobal:r})))}),Rd({bufferSize:1,refCount:true}));setNamespace(e){this.namespaceId$.value!==e&&this.namespaceId$.next(e);}refresh(){this.refresh$.next();}loadPlatformConfigs(){return this.nsController.listIntegrationConfig()}loadUserConfigs(e){let n=e==="global"?N:e;return this.nsController.listIntegrationConfig(n,O)}userGlobal$=i(this.refresh$,()=>this.loadUserConfigs("global"),[]);loadNamespaceConfigs(e){return e?this.nsController.listIntegrationConfig(e):ha([])}getById(e,n){return this.nsController.getByIdIntegrationConfig(e)}create(e,n,t){let r=this.userState.currentUser()?.id;if((n==="userOnNs"||n==="userGlobal")&&!r)throw new Error(`Cannot create ${n} config before UserStateService.loadMe() resolves \u2014 call loadMe() at app init`);if(n==="platform"){let s={name:e.name,integrationType:e.integrationType,description:e.description,parameters:e.parameters,authSettingName:e.authSettingName??void 0};return this.nsController.createIntegrationConfig(s).pipe(Od(()=>this.refresh()))}if(n==="namespace"){if(!t)throw new Error("Cannot create namespace-scoped config without a namespaceId");let s={name:e.name,integrationType:e.integrationType,description:e.description,namespaceId:t,parameters:e.parameters,authSettingName:e.authSettingName??void 0};return this.nsController.createIntegrationConfig(s).pipe(Od(()=>this.refresh()))}if(n==="userOnNs"&&!t)throw new Error("Cannot create userOnNs config without a namespaceId");let c={name:e.name,integrationType:e.integrationType,description:e.description,userId:r,namespaceId:n==="userOnNs"?t:void 0,parameters:e.parameters,authSettingName:e.authSettingName??void 0};return this.nsController.createIntegrationConfig(c).pipe(Od(()=>this.refresh()))}update(e,n,t,i){let r={name:n.name,integrationType:n.integrationType,description:n.description,userId:i.userId,namespaceId:i.namespaceId,parameters:n.parameters,authSettingName:n.authSettingName??void 0};return this.nsController.updateIntegrationConfig(e,r).pipe(Od(()=>this.refresh()))}delete(e,n){return this.nsController.deleteIntegrationConfig(e).pipe(Od(()=>this.refresh()))}exportAsYaml(e){return this.exportService.exportAsYaml(e)}static \u0275fac=function(n){return new(n||f)};static \u0275prov=x({token:f,factory:f.\u0275fac,providedIn:"root"})};export{y};
@@ -1 +1 @@
1
- import {O}from'./chunk-BTaLhUa1.js';import {v}from'./chunk-CPtlVKZn.js';import {g,ao as V,G,w as we,H as Hi,F as F$1,dc as ue$1,cc as Hf,b as U,A as Aw,v as vs,l as Ag,W as WC,k as fl,n as eC,X as XE,a8 as Zg,t as tC,a9 as dC,q as oC,a4 as rC,a3 as HI,o as bg,bn as nC,ac as mC,r as Tg,a6 as $I,x as iC,a5 as yl,cG as Xw,aa as If,ab as wf}from'./main-VYETRYCE.js';import'./chunk-CjOZDsNf.js';import {o as z,z as ze,k as _t,b as _e$1,n as ni,J as Jn,Q as Qn,e as ei,Y as Ye,A as At,m as mn,Z as Zn,l as Xn,C as Cn,E as En,p as An,q as Ct,V as Vt}from'./chunk-BbLMzp9k.js';import'./chunk-BSTCpwsr.js';import'./chunk-C7O0lv-N.js';import'./chunk-Djnp-vUI.js';import'./chunk-Dax4e1JZ.js';function ce(a,r){a&1&&(vs(0,"p",5),WC(1,"Loading\u2026"),fl());}function me(a,r){if(a&1&&(vs(0,"label",30),bg(1,"input",31),HI(),vs(2,"span"),WC(3),fl()()),a&2){let e=r.$implicit,l=mC(3);XE(),Tg("formControl",l.scopeControl)("value",e.value)("disabled",e.value==="namespace"&&!l.isAdmin()),$I(),XE(2),Zg(e.label);}}function ue(a,r){if(a&1&&(vs(0,"fieldset",8)(1,"legend",24),WC(2,"Port\xE9e de la configuration"),fl(),oC(3,me,4,4,"label",30,Xw().trackByScope,true),fl()),a&2){let e=mC(2);Tg("disabled",e.isEditMode()),XE(3),iC(e.scopeOptions);}}function ve(a,r){if(a&1&&(vs(0,"option",13),WC(1),fl()),a&2){let e=r.$implicit;Tg("value",e),XE(),Zg(e);}}function fe(a,r){if(a&1){let e=dC();vs(0,"div",26),bg(1,"input",32),HI(),bg(2,"input",33),HI(),vs(3,"button",34),Ag("click",function(){let s=If(e).$index,f=mC(2);return wf(f.removeHeader(s))}),WC(4," \xD7 "),fl()();}if(a&2){let e=r.$index;Tg("formGroupName",e),XE(),$I(),XE(),$I();}}function _e(a,r){if(a&1){let e=dC();vs(0,"form",7),Ag("ngSubmit",function(){If(e);let s=mC();return wf(s.submit())}),eC(1,ue,5,1,"fieldset",8),vs(2,"div",9)(3,"label",10),WC(4,"API type "),vs(5,"span",11),WC(6,"*"),fl()(),vs(7,"select",12),oC(8,ve,2,2,"option",13,rC),fl(),HI(),fl(),vs(10,"div",9)(11,"label",14),WC(12,"Name "),vs(13,"span",11),WC(14,"*"),fl()(),bg(15,"input",15),HI(),fl(),vs(16,"div",9)(17,"label",16),WC(18,"Description"),fl(),bg(19,"input",17),HI(),fl(),vs(20,"div",9)(21,"label",18),WC(22,"Base URL"),fl(),bg(23,"input",19),HI(),fl(),vs(24,"div",9)(25,"label",20),WC(26,"API key"),fl(),bg(27,"input",21),HI(),fl(),vs(28,"div",22)(29,"div",23)(30,"span",24),WC(31,"Custom headers"),fl(),vs(32,"button",25),Ag("click",function(){If(e);let s=mC();return wf(s.addHeader())}),WC(33,"+ Add header"),fl()(),oC(34,fe,5,1,"div",26,nC),fl(),vs(36,"div",27)(37,"button",28),WC(38),fl(),vs(39,"button",29),Ag("click",function(){If(e);let s=mC();return wf(s.cancel())}),WC(40,"Cancel"),fl()()();}if(a&2){let e=mC();Tg("formGroup",e.form),XE(),tC(e.isPlatformMode?-1:1),XE(6),Tg("formControl",e.apiTypeControl),$I(),XE(),iC(e.apiTypeOptions),XE(7),Tg("formControl",e.nameControl),$I(),XE(4),Tg("formControl",e.descriptionControl),$I(),XE(4),Tg("formControl",e.baseUrlControl),$I(),XE(4),Tg("formControl",e.apiKeyControl),$I(),XE(),Tg("formArrayName","headers"),XE(6),iC(e.headersArray.controls),XE(3),Tg("disabled",e.form.invalid||e.isSubmitting()),XE(),yl(" ",e.isEditMode()?"Save changes":"Create"," ");}}var ge=new Set(["namespace","userOnNs","userGlobal"]),F=Object.freeze({platform:"Configuration de niveau plateforme",namespace:"Configuration du namespace",userOnNs:"Pour moi sur ce namespace",userGlobal:"Pour moi globalement"}),se=class a{route=g(V);router=g(G);destroyRef=g(we);state=g(O);namespaceRole=g(v);namespaceId=this.route.snapshot.params.namespaceId;isPlatformMode=this.namespaceId===void 0;isAdmin=this.isPlatformMode?Hi(true):F$1(this.namespaceRole.isAdminOfNamespace$(this.namespaceId),{initialValue:false});apiTypeOptions=Object.values(ue$1);scopeOptions=[{value:"namespace",label:F.namespace},{value:"userOnNs",label:F.userOnNs},{value:"userGlobal",label:F.userGlobal}];form=new z({name:new _t("",{nonNullable:true,validators:[_e$1.required,_e$1.minLength(1)]}),description:new _t(null),apiType:new _t("OpenAI",{nonNullable:true,validators:[_e$1.required]}),baseUrl:new _t("",{nonNullable:true}),apiKey:new _t("",{nonNullable:true}),scope:new _t("namespace",{nonNullable:true}),headers:new ze([],{validators:[]})});get nameControl(){return this.form.controls.name}get descriptionControl(){return this.form.controls.description}get apiTypeControl(){return this.form.controls.apiType}get baseUrlControl(){return this.form.controls.baseUrl}get apiKeyControl(){return this.form.controls.apiKey}get scopeControl(){return this.form.controls.scope}get headersArray(){return this.form.controls.headers}addHeader(){this.headersArray.push(new z({key:new _t("",{nonNullable:true,validators:[_e$1.required]}),value:new _t("",{nonNullable:true})}));}removeHeader(r){this.headersArray.removeAt(r);}isEditMode=Hi(false);isSubmitting=Hi(false);isLoading=Hi(false);existingConfig=null;initialApiKey="";constructor(){this.isPlatformMode||Hf(()=>{this.isAdmin()||this.isEditMode()||this.scopeControl.value==="namespace"&&this.scopeControl.setValue("userOnNs");});}ngOnInit(){this.namespaceId&&this.state.setNamespace(this.namespaceId);let r=this.route.snapshot.paramMap,e=this.route.snapshot.queryParamMap,l=r.get("aiProviderId"),s=this.isPlatformMode?"namespace":this.parseScope(e.get("scope"));if(l){this.isEditMode.set(true),this.scopeControl.disable(),this.apiTypeControl.disable(),this.loadConfig(l);return}this.scopeControl.setValue(s);let f=e.get("template");f&&this.hydrateFromTemplate(f);}parseScope(r){return r&&ge.has(r)?r:"namespace"}deriveScopeFromConfig(r){return !r.userId?"namespace":r.namespaceId?"userOnNs":"userGlobal"}loadConfig(r){this.isLoading.set(true),this.state.getById(r).pipe(U(this.destroyRef)).subscribe({next:e=>{this.existingConfig=e,this.scopeControl.setValue(this.deriveScopeFromConfig(e)),this.applyConfigToForm(e),this.isLoading.set(false);},error:()=>{this.isLoading.set(false),console.warn(`[AiProviderForm] Could not load provider '${r}' \u2014 navigating back`),this.navigateBack();}});}hydrateFromTemplate(r){this.isLoading.set(true),this.state.getById(r).pipe(U(this.destroyRef)).subscribe({next:e=>{this.nameControl.setValue(e.name),this.descriptionControl.setValue(e.description??null),this.apiTypeControl.setValue(e.apiType),this.baseUrlControl.setValue(e.baseUrl??""),this.apiKeyControl.setValue(""),this.initialApiKey="",this.apiKeyControl.markAsTouched(),this.isLoading.set(false),this.router.navigate([],{relativeTo:this.route,queryParams:{template:null,templateScope:null},queryParamsHandling:"merge",replaceUrl:true});},error:e=>{console.warn(`[AiProviderForm] Could not hydrate from template ${r}:`,e),this.isLoading.set(false),this.router.navigate([],{relativeTo:this.route,queryParams:{template:null,templateScope:null},queryParamsHandling:"merge",replaceUrl:true});}});}applyConfigToForm(r){this.nameControl.setValue(r.name),this.descriptionControl.setValue(r.description??null),this.apiTypeControl.setValue(r.apiType),this.baseUrlControl.setValue(r.baseUrl??"");let e=r.apiKey??"";this.apiKeyControl.setValue(e),this.initialApiKey=e,this.headersArray.clear();for(let[l,s]of Object.entries(r.headers??{}))this.headersArray.push(new z({key:new _t(l,{nonNullable:true,validators:[_e$1.required]}),value:new _t(s,{nonNullable:true})}));}submit(){if(this.form.invalid||this.isSubmitting())return;if(this.isEditMode()&&!this.existingConfig?.id){this.navigateBack();return}this.isSubmitting.set(true);let r=this.descriptionControl.value?.trim(),e=this.baseUrlControl.value.trim(),l=this.apiKeyControl.value,s=this.isEditMode()&&l===this.initialApiKey?null:l,f=this.headersArray.controls.filter(x=>x.controls.key.value.trim()).map(x=>[x.controls.key.value.trim(),x.controls.value.value]),de=f.length>0?Object.fromEntries(f):null,N={name:this.nameControl.value.trim(),apiType:this.apiTypeControl.value,description:r||null,baseUrl:e||null,apiKey:s,headers:de},T=this.form.getRawValue().scope,pe=this.isPlatformMode?null:this.namespaceId??null;(this.isEditMode()&&this.existingConfig?.id?this.state.update(this.existingConfig.id,N,T,this.existingConfig):this.state.create(N,T,pe)).pipe(U(this.destroyRef)).subscribe({next:()=>this.navigateBack(),error:()=>this.isSubmitting.set(false)});}cancel(){this.navigateBack();}navigateBack(){this.isPlatformMode?this.router.navigate(["/agentos","admin","ai-providers"]):this.router.navigate(["/agentos",this.namespaceId,"ai-providers"]);}trackByScope(r,e){return e.value}static \u0275fac=function(e){return new(e||a)};static \u0275cmp=Aw({type:a,selectors:[["agentos-ai-provider-form"]],decls:10,vars:2,consts:[[1,"ai-provider-form"],[1,"ai-provider-form__header"],["type","button","title","Back to AI providers",1,"ai-provider-form__back",3,"click"],[1,"ai-provider-form__back-icon"],[1,"ai-provider-form__title"],[1,"ai-provider-form__loading"],[1,"ai-provider-form__form",3,"formGroup"],[1,"ai-provider-form__form",3,"ngSubmit","formGroup"],[1,"ai-provider-form__scope",3,"disabled"],[1,"ai-provider-form__field"],["for","llm-api-type",1,"ai-provider-form__label"],["aria-hidden","true"],["id","llm-api-type",1,"ai-provider-form__select",3,"formControl"],[3,"value"],["for","llm-name",1,"ai-provider-form__label"],["id","llm-name","type","text","placeholder","e.g. OpenAI prod","autocomplete","off",1,"ai-provider-form__input",3,"formControl"],["for","llm-description",1,"ai-provider-form__label"],["id","llm-description","type","text","placeholder","Optional \u2014 short description of this provider","autocomplete","off",1,"ai-provider-form__input",3,"formControl"],["for","llm-base-url",1,"ai-provider-form__label"],["id","llm-base-url","type","url","placeholder","Optional \u2014 leave empty for default endpoint","autocomplete","off",1,"ai-provider-form__input",3,"formControl"],["for","llm-api-key",1,"ai-provider-form__label"],["id","llm-api-key","type","password","placeholder","sk-\u2026","autocomplete","new-password",1,"ai-provider-form__input","ai-provider-form__input--secret",3,"formControl"],[1,"ai-provider-form__headers",3,"formArrayName"],[1,"ai-provider-form__headers-title"],[1,"ai-provider-form__label"],["type","button",1,"ai-provider-form__headers-add",3,"click"],[1,"ai-provider-form__header-row",3,"formGroupName"],[1,"ai-provider-form__actions"],["type","submit",1,"ai-provider-form__btn","ai-provider-form__btn--primary",3,"disabled"],["type","button",1,"ai-provider-form__btn",3,"click"],[1,"ai-provider-form__scope-option"],["type","radio",3,"formControl","value","disabled"],["type","text","placeholder","Header name","formControlName","key","autocomplete","off",1,"ai-provider-form__input"],["type","text","placeholder","Value","formControlName","value","autocomplete","off",1,"ai-provider-form__input"],["type","button","title","Remove header","aria-label","Remove header",1,"ai-provider-form__header-remove",3,"click"]],template:function(e,l){e&1&&(vs(0,"div",0)(1,"header",1)(2,"button",2),Ag("click",function(){return l.cancel()}),vs(3,"span",3),WC(4,"\u2190"),fl(),WC(5," AI Providers "),fl(),vs(6,"h1",4),WC(7),fl()(),eC(8,ce,2,0,"p",5)(9,_e,41,10,"form",6),fl()),e&2&&(XE(7),Zg(l.isEditMode()?"Edit AI provider":"New AI provider"),XE(),tC(l.isLoading()?8:9));},dependencies:[ni,Jn,Qn,ei,Ye,At,mn,Zn,Xn,Cn,En,An,Ct,Vt],styles:[".ai-provider-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:2rem;max-width:480px;margin:0 auto;padding:2rem 1rem}.ai-provider-form__scope[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.4rem;border:1px solid var(--color-divider);border-radius:0;padding:.75rem 1rem;margin:0}.ai-provider-form__scope[disabled][_ngcontent-%COMP%]{opacity:.6}.ai-provider-form__scope-option[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--color-text);cursor:pointer}.ai-provider-form__header[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.ai-provider-form__back[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.375rem;background:none;border:none;padding:0;cursor:pointer;font-size:.875rem;color:var(--color-accent)}.ai-provider-form__back[_ngcontent-%COMP%]:hover{text-decoration:underline}.ai-provider-form__back-icon[_ngcontent-%COMP%]{font-size:1rem;line-height:1}.ai-provider-form__title[_ngcontent-%COMP%]{margin:0;font-size:1.5rem;font-weight:700;color:var(--color-text);letter-spacing:-.02em}.ai-provider-form__loading[_ngcontent-%COMP%]{color:var(--color-text-secondary);font-size:.9rem;margin:0}.ai-provider-form__form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.25rem}.ai-provider-form__field[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.375rem}.ai-provider-form__label[_ngcontent-%COMP%]{font-size:.875rem;font-weight:500;color:var(--color-text)}.ai-provider-form__input[_ngcontent-%COMP%], .ai-provider-form__select[_ngcontent-%COMP%]{width:100%;padding:.625rem .875rem;border-radius:0;border:1px solid var(--color-divider);background:var(--color-surface);color:var(--color-text);font-size:.9375rem;font-family:inherit;outline:none;box-sizing:border-box;transition:border-color .15s ease}.ai-provider-form__input[_ngcontent-%COMP%]:focus, .ai-provider-form__select[_ngcontent-%COMP%]:focus{border-color:var(--color-accent)}.ai-provider-form__input[_ngcontent-%COMP%]::placeholder, .ai-provider-form__select[_ngcontent-%COMP%]::placeholder{color:var(--color-neutral-500)}.ai-provider-form__input--secret[_ngcontent-%COMP%]{font-family:monospace;letter-spacing:.05em}.ai-provider-form__headers[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.ai-provider-form__headers-title[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between}.ai-provider-form__headers-add[_ngcontent-%COMP%]{background:none;border:none;padding:0;cursor:pointer;font-size:.8125rem;color:var(--color-accent)}.ai-provider-form__headers-add[_ngcontent-%COMP%]:hover{text-decoration:underline}.ai-provider-form__header-row[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr auto;gap:.5rem;align-items:center}.ai-provider-form__header-remove[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:none;border:1px solid transparent;border-radius:0;cursor:pointer;font-size:1rem;color:var(--color-neutral-500);transition:background .15s ease,color .15s ease,border-color .15s ease;flex-shrink:0}.ai-provider-form__header-remove[_ngcontent-%COMP%]:hover{color:var(--red);background:color-mix(in srgb,var(--red) 10%,transparent);border-color:var(--red)}.ai-provider-form__actions[_ngcontent-%COMP%]{display:flex;gap:.75rem;padding-top:.5rem}.ai-provider-form__btn[_ngcontent-%COMP%]{padding:.6rem 1.25rem;border-radius:0;border:1px solid var(--color-divider);background:transparent;color:var(--color-text);font-size:13px;font-family:var(--font-heading);font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.ai-provider-form__btn[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-neutral-500)}.ai-provider-form__btn[_ngcontent-%COMP%]:disabled{opacity:.45;cursor:not-allowed}.ai-provider-form__btn--primary[_ngcontent-%COMP%]{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.ai-provider-form__btn--primary[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--color-accent-700);border-color:var(--color-accent-700)}"]})};export{se as AiProviderFormComponent};
1
+ import {O}from'./chunk-B5wj-AWl.js';import {v}from'./chunk-BkZgPVhu.js';import {g,ao as V,G,w as we,H as Hi,F as F$1,dc as ue$1,cc as Hf,b as U,A as Aw,v as vs,l as Ag,W as WC,k as fl,n as eC,X as XE,a8 as Zg,t as tC,a9 as dC,q as oC,a4 as rC,a3 as HI,o as bg,bn as nC,ac as mC,r as Tg,a6 as $I,x as iC,a5 as yl,cG as Xw,aa as If,ab as wf}from'./main-FZBZNLDT.js';import'./chunk-CDiCP0cs.js';import {o as z,z as ze,k as _t,b as _e$1,n as ni,J as Jn,Q as Qn,e as ei,Y as Ye,A as At,m as mn,Z as Zn,l as Xn,C as Cn,E as En,p as An,q as Ct,V as Vt}from'./chunk-MYEQTQOG.js';import'./chunk-DXKXt8mt.js';import'./chunk-CFAzj-K1.js';import'./chunk-DdIe-Q8z.js';import'./chunk-Bc7OrHjR.js';function ce(a,r){a&1&&(vs(0,"p",5),WC(1,"Loading\u2026"),fl());}function me(a,r){if(a&1&&(vs(0,"label",30),bg(1,"input",31),HI(),vs(2,"span"),WC(3),fl()()),a&2){let e=r.$implicit,l=mC(3);XE(),Tg("formControl",l.scopeControl)("value",e.value)("disabled",e.value==="namespace"&&!l.isAdmin()),$I(),XE(2),Zg(e.label);}}function ue(a,r){if(a&1&&(vs(0,"fieldset",8)(1,"legend",24),WC(2,"Port\xE9e de la configuration"),fl(),oC(3,me,4,4,"label",30,Xw().trackByScope,true),fl()),a&2){let e=mC(2);Tg("disabled",e.isEditMode()),XE(3),iC(e.scopeOptions);}}function ve(a,r){if(a&1&&(vs(0,"option",13),WC(1),fl()),a&2){let e=r.$implicit;Tg("value",e),XE(),Zg(e);}}function fe(a,r){if(a&1){let e=dC();vs(0,"div",26),bg(1,"input",32),HI(),bg(2,"input",33),HI(),vs(3,"button",34),Ag("click",function(){let s=If(e).$index,f=mC(2);return wf(f.removeHeader(s))}),WC(4," \xD7 "),fl()();}if(a&2){let e=r.$index;Tg("formGroupName",e),XE(),$I(),XE(),$I();}}function _e(a,r){if(a&1){let e=dC();vs(0,"form",7),Ag("ngSubmit",function(){If(e);let s=mC();return wf(s.submit())}),eC(1,ue,5,1,"fieldset",8),vs(2,"div",9)(3,"label",10),WC(4,"API type "),vs(5,"span",11),WC(6,"*"),fl()(),vs(7,"select",12),oC(8,ve,2,2,"option",13,rC),fl(),HI(),fl(),vs(10,"div",9)(11,"label",14),WC(12,"Name "),vs(13,"span",11),WC(14,"*"),fl()(),bg(15,"input",15),HI(),fl(),vs(16,"div",9)(17,"label",16),WC(18,"Description"),fl(),bg(19,"input",17),HI(),fl(),vs(20,"div",9)(21,"label",18),WC(22,"Base URL"),fl(),bg(23,"input",19),HI(),fl(),vs(24,"div",9)(25,"label",20),WC(26,"API key"),fl(),bg(27,"input",21),HI(),fl(),vs(28,"div",22)(29,"div",23)(30,"span",24),WC(31,"Custom headers"),fl(),vs(32,"button",25),Ag("click",function(){If(e);let s=mC();return wf(s.addHeader())}),WC(33,"+ Add header"),fl()(),oC(34,fe,5,1,"div",26,nC),fl(),vs(36,"div",27)(37,"button",28),WC(38),fl(),vs(39,"button",29),Ag("click",function(){If(e);let s=mC();return wf(s.cancel())}),WC(40,"Cancel"),fl()()();}if(a&2){let e=mC();Tg("formGroup",e.form),XE(),tC(e.isPlatformMode?-1:1),XE(6),Tg("formControl",e.apiTypeControl),$I(),XE(),iC(e.apiTypeOptions),XE(7),Tg("formControl",e.nameControl),$I(),XE(4),Tg("formControl",e.descriptionControl),$I(),XE(4),Tg("formControl",e.baseUrlControl),$I(),XE(4),Tg("formControl",e.apiKeyControl),$I(),XE(),Tg("formArrayName","headers"),XE(6),iC(e.headersArray.controls),XE(3),Tg("disabled",e.form.invalid||e.isSubmitting()),XE(),yl(" ",e.isEditMode()?"Save changes":"Create"," ");}}var ge=new Set(["namespace","userOnNs","userGlobal"]),F=Object.freeze({platform:"Configuration de niveau plateforme",namespace:"Configuration du namespace",userOnNs:"Pour moi sur ce namespace",userGlobal:"Pour moi globalement"}),se=class a{route=g(V);router=g(G);destroyRef=g(we);state=g(O);namespaceRole=g(v);namespaceId=this.route.snapshot.params.namespaceId;isPlatformMode=this.namespaceId===void 0;isAdmin=this.isPlatformMode?Hi(true):F$1(this.namespaceRole.isAdminOfNamespace$(this.namespaceId),{initialValue:false});apiTypeOptions=Object.values(ue$1);scopeOptions=[{value:"namespace",label:F.namespace},{value:"userOnNs",label:F.userOnNs},{value:"userGlobal",label:F.userGlobal}];form=new z({name:new _t("",{nonNullable:true,validators:[_e$1.required,_e$1.minLength(1)]}),description:new _t(null),apiType:new _t("OpenAI",{nonNullable:true,validators:[_e$1.required]}),baseUrl:new _t("",{nonNullable:true}),apiKey:new _t("",{nonNullable:true}),scope:new _t("namespace",{nonNullable:true}),headers:new ze([],{validators:[]})});get nameControl(){return this.form.controls.name}get descriptionControl(){return this.form.controls.description}get apiTypeControl(){return this.form.controls.apiType}get baseUrlControl(){return this.form.controls.baseUrl}get apiKeyControl(){return this.form.controls.apiKey}get scopeControl(){return this.form.controls.scope}get headersArray(){return this.form.controls.headers}addHeader(){this.headersArray.push(new z({key:new _t("",{nonNullable:true,validators:[_e$1.required]}),value:new _t("",{nonNullable:true})}));}removeHeader(r){this.headersArray.removeAt(r);}isEditMode=Hi(false);isSubmitting=Hi(false);isLoading=Hi(false);existingConfig=null;initialApiKey="";constructor(){this.isPlatformMode||Hf(()=>{this.isAdmin()||this.isEditMode()||this.scopeControl.value==="namespace"&&this.scopeControl.setValue("userOnNs");});}ngOnInit(){this.namespaceId&&this.state.setNamespace(this.namespaceId);let r=this.route.snapshot.paramMap,e=this.route.snapshot.queryParamMap,l=r.get("aiProviderId"),s=this.isPlatformMode?"namespace":this.parseScope(e.get("scope"));if(l){this.isEditMode.set(true),this.scopeControl.disable(),this.apiTypeControl.disable(),this.loadConfig(l);return}this.scopeControl.setValue(s);let f=e.get("template");f&&this.hydrateFromTemplate(f);}parseScope(r){return r&&ge.has(r)?r:"namespace"}deriveScopeFromConfig(r){return !r.userId?"namespace":r.namespaceId?"userOnNs":"userGlobal"}loadConfig(r){this.isLoading.set(true),this.state.getById(r).pipe(U(this.destroyRef)).subscribe({next:e=>{this.existingConfig=e,this.scopeControl.setValue(this.deriveScopeFromConfig(e)),this.applyConfigToForm(e),this.isLoading.set(false);},error:()=>{this.isLoading.set(false),console.warn(`[AiProviderForm] Could not load provider '${r}' \u2014 navigating back`),this.navigateBack();}});}hydrateFromTemplate(r){this.isLoading.set(true),this.state.getById(r).pipe(U(this.destroyRef)).subscribe({next:e=>{this.nameControl.setValue(e.name),this.descriptionControl.setValue(e.description??null),this.apiTypeControl.setValue(e.apiType),this.baseUrlControl.setValue(e.baseUrl??""),this.apiKeyControl.setValue(""),this.initialApiKey="",this.apiKeyControl.markAsTouched(),this.isLoading.set(false),this.router.navigate([],{relativeTo:this.route,queryParams:{template:null,templateScope:null},queryParamsHandling:"merge",replaceUrl:true});},error:e=>{console.warn(`[AiProviderForm] Could not hydrate from template ${r}:`,e),this.isLoading.set(false),this.router.navigate([],{relativeTo:this.route,queryParams:{template:null,templateScope:null},queryParamsHandling:"merge",replaceUrl:true});}});}applyConfigToForm(r){this.nameControl.setValue(r.name),this.descriptionControl.setValue(r.description??null),this.apiTypeControl.setValue(r.apiType),this.baseUrlControl.setValue(r.baseUrl??"");let e=r.apiKey??"";this.apiKeyControl.setValue(e),this.initialApiKey=e,this.headersArray.clear();for(let[l,s]of Object.entries(r.headers??{}))this.headersArray.push(new z({key:new _t(l,{nonNullable:true,validators:[_e$1.required]}),value:new _t(s,{nonNullable:true})}));}submit(){if(this.form.invalid||this.isSubmitting())return;if(this.isEditMode()&&!this.existingConfig?.id){this.navigateBack();return}this.isSubmitting.set(true);let r=this.descriptionControl.value?.trim(),e=this.baseUrlControl.value.trim(),l=this.apiKeyControl.value,s=this.isEditMode()&&l===this.initialApiKey?null:l,f=this.headersArray.controls.filter(x=>x.controls.key.value.trim()).map(x=>[x.controls.key.value.trim(),x.controls.value.value]),de=f.length>0?Object.fromEntries(f):null,N={name:this.nameControl.value.trim(),apiType:this.apiTypeControl.value,description:r||null,baseUrl:e||null,apiKey:s,headers:de},T=this.form.getRawValue().scope,pe=this.isPlatformMode?null:this.namespaceId??null;(this.isEditMode()&&this.existingConfig?.id?this.state.update(this.existingConfig.id,N,T,this.existingConfig):this.state.create(N,T,pe)).pipe(U(this.destroyRef)).subscribe({next:()=>this.navigateBack(),error:()=>this.isSubmitting.set(false)});}cancel(){this.navigateBack();}navigateBack(){this.isPlatformMode?this.router.navigate(["/agentos","admin","ai-providers"]):this.router.navigate(["/agentos",this.namespaceId,"ai-providers"]);}trackByScope(r,e){return e.value}static \u0275fac=function(e){return new(e||a)};static \u0275cmp=Aw({type:a,selectors:[["agentos-ai-provider-form"]],decls:10,vars:2,consts:[[1,"ai-provider-form"],[1,"ai-provider-form__header"],["type","button","title","Back to AI providers",1,"ai-provider-form__back",3,"click"],[1,"ai-provider-form__back-icon"],[1,"ai-provider-form__title"],[1,"ai-provider-form__loading"],[1,"ai-provider-form__form",3,"formGroup"],[1,"ai-provider-form__form",3,"ngSubmit","formGroup"],[1,"ai-provider-form__scope",3,"disabled"],[1,"ai-provider-form__field"],["for","llm-api-type",1,"ai-provider-form__label"],["aria-hidden","true"],["id","llm-api-type",1,"ai-provider-form__select",3,"formControl"],[3,"value"],["for","llm-name",1,"ai-provider-form__label"],["id","llm-name","type","text","placeholder","e.g. OpenAI prod","autocomplete","off",1,"ai-provider-form__input",3,"formControl"],["for","llm-description",1,"ai-provider-form__label"],["id","llm-description","type","text","placeholder","Optional \u2014 short description of this provider","autocomplete","off",1,"ai-provider-form__input",3,"formControl"],["for","llm-base-url",1,"ai-provider-form__label"],["id","llm-base-url","type","url","placeholder","Optional \u2014 leave empty for default endpoint","autocomplete","off",1,"ai-provider-form__input",3,"formControl"],["for","llm-api-key",1,"ai-provider-form__label"],["id","llm-api-key","type","password","placeholder","sk-\u2026","autocomplete","new-password",1,"ai-provider-form__input","ai-provider-form__input--secret",3,"formControl"],[1,"ai-provider-form__headers",3,"formArrayName"],[1,"ai-provider-form__headers-title"],[1,"ai-provider-form__label"],["type","button",1,"ai-provider-form__headers-add",3,"click"],[1,"ai-provider-form__header-row",3,"formGroupName"],[1,"ai-provider-form__actions"],["type","submit",1,"ai-provider-form__btn","ai-provider-form__btn--primary",3,"disabled"],["type","button",1,"ai-provider-form__btn",3,"click"],[1,"ai-provider-form__scope-option"],["type","radio",3,"formControl","value","disabled"],["type","text","placeholder","Header name","formControlName","key","autocomplete","off",1,"ai-provider-form__input"],["type","text","placeholder","Value","formControlName","value","autocomplete","off",1,"ai-provider-form__input"],["type","button","title","Remove header","aria-label","Remove header",1,"ai-provider-form__header-remove",3,"click"]],template:function(e,l){e&1&&(vs(0,"div",0)(1,"header",1)(2,"button",2),Ag("click",function(){return l.cancel()}),vs(3,"span",3),WC(4,"\u2190"),fl(),WC(5," AI Providers "),fl(),vs(6,"h1",4),WC(7),fl()(),eC(8,ce,2,0,"p",5)(9,_e,41,10,"form",6),fl()),e&2&&(XE(7),Zg(l.isEditMode()?"Edit AI provider":"New AI provider"),XE(),tC(l.isLoading()?8:9));},dependencies:[ni,Jn,Qn,ei,Ye,At,mn,Zn,Xn,Cn,En,An,Ct,Vt],styles:[".ai-provider-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:2rem;max-width:480px;margin:0 auto;padding:2rem 1rem}.ai-provider-form__scope[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.4rem;border:1px solid var(--color-divider);border-radius:0;padding:.75rem 1rem;margin:0}.ai-provider-form__scope[disabled][_ngcontent-%COMP%]{opacity:.6}.ai-provider-form__scope-option[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--color-text);cursor:pointer}.ai-provider-form__header[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.ai-provider-form__back[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.375rem;background:none;border:none;padding:0;cursor:pointer;font-size:.875rem;color:var(--color-accent)}.ai-provider-form__back[_ngcontent-%COMP%]:hover{text-decoration:underline}.ai-provider-form__back-icon[_ngcontent-%COMP%]{font-size:1rem;line-height:1}.ai-provider-form__title[_ngcontent-%COMP%]{margin:0;font-size:1.5rem;font-weight:700;color:var(--color-text);letter-spacing:-.02em}.ai-provider-form__loading[_ngcontent-%COMP%]{color:var(--color-text-secondary);font-size:.9rem;margin:0}.ai-provider-form__form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.25rem}.ai-provider-form__field[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.375rem}.ai-provider-form__label[_ngcontent-%COMP%]{font-size:.875rem;font-weight:500;color:var(--color-text)}.ai-provider-form__input[_ngcontent-%COMP%], .ai-provider-form__select[_ngcontent-%COMP%]{width:100%;padding:.625rem .875rem;border-radius:0;border:1px solid var(--color-divider);background:var(--color-surface);color:var(--color-text);font-size:.9375rem;font-family:inherit;outline:none;box-sizing:border-box;transition:border-color .15s ease}.ai-provider-form__input[_ngcontent-%COMP%]:focus, .ai-provider-form__select[_ngcontent-%COMP%]:focus{border-color:var(--color-accent)}.ai-provider-form__input[_ngcontent-%COMP%]::placeholder, .ai-provider-form__select[_ngcontent-%COMP%]::placeholder{color:var(--color-neutral-500)}.ai-provider-form__input--secret[_ngcontent-%COMP%]{font-family:monospace;letter-spacing:.05em}.ai-provider-form__headers[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.ai-provider-form__headers-title[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between}.ai-provider-form__headers-add[_ngcontent-%COMP%]{background:none;border:none;padding:0;cursor:pointer;font-size:.8125rem;color:var(--color-accent)}.ai-provider-form__headers-add[_ngcontent-%COMP%]:hover{text-decoration:underline}.ai-provider-form__header-row[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr auto;gap:.5rem;align-items:center}.ai-provider-form__header-remove[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:none;border:1px solid transparent;border-radius:0;cursor:pointer;font-size:1rem;color:var(--color-neutral-500);transition:background .15s ease,color .15s ease,border-color .15s ease;flex-shrink:0}.ai-provider-form__header-remove[_ngcontent-%COMP%]:hover{color:var(--red);background:color-mix(in srgb,var(--red) 10%,transparent);border-color:var(--red)}.ai-provider-form__actions[_ngcontent-%COMP%]{display:flex;gap:.75rem;padding-top:.5rem}.ai-provider-form__btn[_ngcontent-%COMP%]{padding:.6rem 1.25rem;border-radius:0;border:1px solid var(--color-divider);background:transparent;color:var(--color-text);font-size:13px;font-family:var(--font-heading);font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.ai-provider-form__btn[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-neutral-500)}.ai-provider-form__btn[_ngcontent-%COMP%]:disabled{opacity:.45;cursor:not-allowed}.ai-provider-form__btn--primary[_ngcontent-%COMP%]{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.ai-provider-form__btn--primary[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--color-accent-700);border-color:var(--color-accent-700)}"]})};export{se as AiProviderFormComponent};