circuschief 0.7.0 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/packages/server/src/agents/adapters/CodexAdapter.js +5 -4
- package/packages/server/src/api/canvas.js +22 -57
- package/packages/server/src/api/commandButtons.js +16 -15
- package/packages/server/src/api/index.js +2 -0
- package/packages/server/src/api/kanban.js +4 -2
- package/packages/server/src/api/projects-commandButtons.js +6 -6
- package/packages/server/src/api/projects-helpers.js +20 -3
- package/packages/server/src/api/projects-session-create.js +109 -0
- package/packages/server/src/api/projects-session-defaults.js +51 -0
- package/packages/server/src/api/projects-session-helpers.js +57 -5
- package/packages/server/src/api/projects-templates.js +38 -0
- package/packages/server/src/api/projects.js +28 -170
- package/packages/server/src/api/providers.js +11 -1
- package/packages/server/src/api/sessions-commands.js +46 -25
- package/packages/server/src/api/sessions-lifecycle.js +10 -10
- package/packages/server/src/api/sessions-patch.js +45 -1
- package/packages/server/src/api/sessions.js +6 -5
- package/packages/server/src/database.js +0 -2
- package/packages/server/src/db/DatabaseManager.js +5 -1
- package/packages/server/src/db/ProjectDefaultsRepository.js +3 -3
- package/packages/server/src/db/ProviderRepository.js +87 -32
- package/packages/server/src/db/SessionRepository.js +2 -1
- package/packages/server/src/db/SessionTemplateRepository.js +23 -2
- package/packages/server/src/db/index.js +0 -3
- package/packages/server/src/db/migrations/index.js +60 -7
- package/packages/server/src/db/migrations/kanbanMigrations.js +1 -1
- package/packages/server/src/db/migrations/miscMigrations.js +59 -184
- package/packages/server/src/db/migrations/projectsMigrations.js +31 -0
- package/packages/server/src/db/migrations/providerCommitAttributionMigrations.js +30 -0
- package/packages/server/src/db/migrations/providerMigrations.js +165 -0
- package/packages/server/src/db/migrations/sessionTableRecreate.js +136 -0
- package/packages/server/src/db/migrations/sessionsMigrations.js +18 -5
- package/packages/server/src/db/seedBaselineData.js +137 -0
- package/packages/server/src/db/session-helpers.js +32 -4
- package/packages/server/src/middleware/sessionLookup.js +81 -8
- package/packages/server/src/schema.sql +153 -132
- package/packages/server/src/scripts/backupDatabase.js +21 -0
- package/packages/server/src/scripts/dbUtils.js +81 -0
- package/packages/server/src/scripts/inspectDatabaseSchema.js +81 -0
- package/packages/server/src/scripts/validateDatabaseBaseline.js +212 -0
- package/packages/server/src/services/codexSpawnHelper.js +9 -0
- package/packages/server/src/services/commandButtonPrompts.js +14 -12
- package/packages/server/src/services/commandRunner.js +7 -1
- package/packages/server/src/services/e2eSpawnCapture.js +147 -0
- package/packages/server/src/services/gitCommitAttribution.js +150 -0
- package/packages/server/src/services/gitDiff.js +132 -0
- package/packages/server/src/services/gitRepoUrl.js +174 -0
- package/packages/server/src/services/gitService.js +48 -311
- package/packages/server/src/services/gitSessionSetup.js +11 -1
- package/packages/server/src/services/gitWorktree.js +127 -0
- package/packages/server/src/services/kanbanTriggers.js +6 -3
- package/packages/server/src/services/nodeSpawnHelper.js +9 -0
- package/packages/server/src/services/prUrlService.js +3 -3
- package/packages/server/src/services/queryParamBuilder.js +90 -0
- package/packages/server/src/services/sessionDuplicator.js +1 -5
- package/packages/server/src/services/sessionExecution.js +56 -108
- package/packages/server/src/services/sessionPrompts.js +12 -47
- package/packages/server/src/services/sessionProvider.js +10 -0
- package/packages/server/src/services/summaryService.js +5 -3
- package/packages/server/src/services/summaryStaleCheck.js +23 -4
- package/packages/server/src/services/templateTriggerService.js +3 -1
- package/packages/shared/src/constants.js +3 -0
- package/packages/shared/src/contracts/commandButtons.js +16 -2
- package/packages/shared/src/contracts/projects.js +2 -2
- package/packages/shared/src/contracts/providers.js +60 -0
- package/packages/shared/src/contracts/sessions.js +29 -2
- package/packages/shared/src/contracts/templates.js +12 -2
- package/packages/shared/src/types.js +1 -9
- package/packages/shared/src/utils.js +2 -2
- package/packages/web/dist/assets/{ActiveSessionsView-UJsCILDL.js → ActiveSessionsView-Cxh8mHmB.js} +1 -1
- package/packages/web/dist/assets/{AgentLogsView-BGFPLjLa.js → AgentLogsView-xdfI2bR6.js} +2 -2
- package/packages/web/dist/assets/ApiClient-DfbJwzpz.js +1 -0
- package/packages/web/dist/assets/ArchiveConfirmModal-DXZYdzHR.js +1 -0
- package/packages/web/dist/assets/ArchiveConfirmModal-DeoCVGXt.css +1 -0
- package/packages/web/dist/assets/CommandButtonDetailView-D8xfqLAp.js +1 -0
- package/packages/web/dist/assets/CommandButtonDetailView-D9zjx9ME.css +1 -0
- package/packages/web/dist/assets/EffortLevelSelector-D2Hdzc_8.js +1 -0
- package/packages/web/dist/assets/{GeneralSettingsView-DsHChEhv.js → GeneralSettingsView-sPXkLlLy.js} +1 -1
- package/packages/web/dist/assets/InputWithButton-B-o0DgMH.js +1 -0
- package/packages/web/dist/assets/{InputWithButton-cYdrEmTs.css → InputWithButton-D9HMvfR5.css} +1 -1
- package/packages/web/dist/assets/{InterpolationHelp-CIkOSkWX.js → InterpolationHelp-Dxn1li4l.js} +1 -1
- package/packages/web/dist/assets/MarkdownEditor-D4Kbb-9l.js +2 -0
- package/packages/web/dist/assets/ModelSelector-72C7MUH4.js +1 -0
- package/packages/web/dist/assets/{ModelSelector-D8hbTRIt.css → ModelSelector-BNYKujL-.css} +1 -1
- package/packages/web/dist/assets/NewSessionView-BR_COfgW.js +3 -0
- package/packages/web/dist/assets/NewSessionView-DBl7T2Xp.css +1 -0
- package/packages/web/dist/assets/ProjectEditView-DbqTbA0q.css +1 -0
- package/packages/web/dist/assets/ProjectEditView-WImU7sNd.js +1 -0
- package/packages/web/dist/assets/{ProjectListView-B9FuWESY.js → ProjectListView-CYmmAcBD.js} +1 -1
- package/packages/web/dist/assets/{ProjectNewView-D62jYlBL.js → ProjectNewView-DEhqw3Jv.js} +1 -1
- package/packages/web/dist/assets/ProvidersView-XZh3jkmH.js +1 -0
- package/packages/web/dist/assets/ProvidersView-bZemq_Rv.css +1 -0
- package/packages/web/dist/assets/QuickResponsesPanel-BqmnTd-D.js +1 -0
- package/packages/web/dist/assets/QuickResponsesPanel-dk-Rj8xx.css +1 -0
- package/packages/web/dist/assets/ResizableTextarea-BQNw5e0C.css +1 -0
- package/packages/web/dist/assets/ResizableTextarea-DpWdIAP6.js +1 -0
- package/packages/web/dist/assets/SessionCard-Bw77-KwD.js +1 -0
- package/packages/web/dist/assets/SessionDetailView-B59TEkr-.js +36 -0
- package/packages/web/dist/assets/SessionDetailView-CKVBnR4T.css +1 -0
- package/packages/web/dist/assets/{SessionFormOptions-DYUISplS.js → SessionFormOptions-hqijxc0S.js} +1 -1
- package/packages/web/dist/assets/SessionListView-3-xx6EVs.css +1 -0
- package/packages/web/dist/assets/SessionListView-DYXHM9I-.js +1 -0
- package/packages/web/dist/assets/{SessionLogStream-DpUE6Xsh.js → SessionLogStream-5NfVr9pF.js} +6 -6
- package/packages/web/dist/assets/{SettingsView-BC055tIA.js → SettingsView-DI8ncOAV.js} +1 -1
- package/packages/web/dist/assets/{SlashCommandWizard-DmTyNG9O.js → SlashCommandWizard-BQ_rMzn-.js} +1 -1
- package/packages/web/dist/assets/{SlashCommandWizard-Dn7sNaBd.css → SlashCommandWizard-DJzw3LP5.css} +1 -1
- package/packages/web/dist/assets/{SummarySettingsView-BgnRCwlq.js → SummarySettingsView-C2Qs35mm.js} +1 -1
- package/packages/web/dist/assets/TemplateDetailView-B5NI2oTR.css +1 -0
- package/packages/web/dist/assets/TemplateDetailView-zVkIvgtu.js +1 -0
- package/packages/web/dist/assets/{commandButtons-D4RPpLiu.js → commandButtons-CoU3G4zK.js} +1 -1
- package/packages/web/dist/assets/index-9yF1uCCA.js +1 -0
- package/packages/web/dist/assets/index-BKstCaYU.js +1 -0
- package/packages/web/dist/assets/index-BhbH7eOk.js +1 -0
- package/packages/web/dist/assets/{index-BGwH4Cfn.js → index-BjuRttEY.js} +3 -3
- package/packages/web/dist/assets/index-Bo7PdwM5.js +1 -0
- package/packages/web/dist/assets/index-C2QFVD7d.js +83 -0
- package/packages/web/dist/assets/index-C7Ww2auW.js +1 -0
- package/packages/web/dist/assets/index-CAGdsDh7.js +1 -0
- package/packages/web/dist/assets/index-CLRsVASf.js +3 -0
- package/packages/web/dist/assets/{index-Bn5xdGFM.js → index-CP-SxOlV.js} +1 -1
- package/packages/web/dist/assets/index-CslU0psO.js +1 -0
- package/packages/web/dist/assets/index-DI4NxaWD.js +1 -0
- package/packages/web/dist/assets/index-DOzONENy.js +1 -0
- package/packages/web/dist/assets/index-DUa7adFh.js +1 -0
- package/packages/web/dist/assets/index-DZBpETI5.js +1 -0
- package/packages/web/dist/assets/index-DsjWqc6R.js +7 -0
- package/packages/web/dist/assets/index-c99Bo3JV.js +1 -0
- package/packages/web/dist/assets/index-mT1JpxDc.js +1 -0
- package/packages/web/dist/assets/index-rkQx2tso.js +1 -0
- package/packages/web/dist/assets/{index-Cs2nxhrT.css → index-uySCcnA_.css} +1 -1
- package/packages/web/dist/assets/projectDefaults-B8esIcYq.js +1 -0
- package/packages/web/dist/assets/{projects-BUiOGmmb.js → projects-C-8PSxKi.js} +1 -1
- package/packages/web/dist/assets/{providers-Bh1ZiiJi.js → providers-oXifvvqN.js} +1 -1
- package/packages/web/dist/assets/sessions-Nq5VafSf.js +1 -0
- package/packages/web/dist/assets/{settings-Z4AVVmkJ.js → settings-DtpuiyT6.js} +1 -1
- package/packages/web/dist/index.html +2 -2
- package/packages/server/src/api/sessions-notes.js +0 -51
- package/packages/server/src/db/SessionNoteRepository.js +0 -60
- package/packages/web/dist/assets/ApiClient-B4YTtyY4.js +0 -1
- package/packages/web/dist/assets/ArchiveConfirmModal-BQ-4gI0R.css +0 -1
- package/packages/web/dist/assets/ArchiveConfirmModal-OFaj_uX5.js +0 -1
- package/packages/web/dist/assets/CommandButtonDetailView-D8S258uP.js +0 -1
- package/packages/web/dist/assets/CommandButtonDetailView-DBm3rzhw.css +0 -1
- package/packages/web/dist/assets/EffortLevelSelector-C2378L8e.js +0 -1
- package/packages/web/dist/assets/InputWithButton-Ci15ox0a.js +0 -1
- package/packages/web/dist/assets/MarkdownEditor-5-bexzUT.js +0 -2
- package/packages/web/dist/assets/ModelSelector-BMpR0DPr.js +0 -1
- package/packages/web/dist/assets/NewSessionView-BCqtIgWH.js +0 -3
- package/packages/web/dist/assets/NewSessionView-CUUdHkfv.css +0 -1
- package/packages/web/dist/assets/ProjectEditView-D9sK0fdH.css +0 -1
- package/packages/web/dist/assets/ProjectEditView-RFaxHhAX.js +0 -1
- package/packages/web/dist/assets/ProvidersView-DDKMIQWZ.js +0 -1
- package/packages/web/dist/assets/ProvidersView-DE82G_5W.css +0 -1
- package/packages/web/dist/assets/QuickResponseSettings-B8188A1D.css +0 -1
- package/packages/web/dist/assets/QuickResponseSettings-CDm5vwP7.js +0 -1
- package/packages/web/dist/assets/QuickResponsesPanel-BlFDvnZ2.css +0 -1
- package/packages/web/dist/assets/QuickResponsesPanel-DZ_Lre_l.js +0 -1
- package/packages/web/dist/assets/ResizableTextarea-DiIOEGjN.js +0 -1
- package/packages/web/dist/assets/ResizableTextarea-DsU3TVwF.css +0 -1
- package/packages/web/dist/assets/SessionCard-DmjnVYWn.js +0 -1
- package/packages/web/dist/assets/SessionDetailView-CL7nmfiB.js +0 -36
- package/packages/web/dist/assets/SessionDetailView-CupIkI7u.css +0 -1
- package/packages/web/dist/assets/SessionListView-BcxGz4aC.js +0 -1
- package/packages/web/dist/assets/SessionListView-fHlQyecX.css +0 -1
- package/packages/web/dist/assets/TemplateDetailView-BlhOmLUX.js +0 -1
- package/packages/web/dist/assets/TemplateDetailView-DT2m06W7.css +0 -1
- package/packages/web/dist/assets/index-4rhEeO0B.js +0 -1
- package/packages/web/dist/assets/index-9vb2KaAd.js +0 -1
- package/packages/web/dist/assets/index-B0CvZXuN.js +0 -7
- package/packages/web/dist/assets/index-B6G18FqB.js +0 -82
- package/packages/web/dist/assets/index-BUhvkAdF.js +0 -1
- package/packages/web/dist/assets/index-BcnkUk2o.js +0 -1
- package/packages/web/dist/assets/index-CNwkdB0T.js +0 -1
- package/packages/web/dist/assets/index-CfL84oGW.js +0 -1
- package/packages/web/dist/assets/index-CkmxO8Mm.js +0 -1
- package/packages/web/dist/assets/index-Cpy4-yv3.js +0 -1
- package/packages/web/dist/assets/index-CrAQJmoZ.js +0 -1
- package/packages/web/dist/assets/index-D6Ky9vJe.js +0 -3
- package/packages/web/dist/assets/index-DfrE0gAC.js +0 -1
- package/packages/web/dist/assets/index-KwEyz0F3.js +0 -1
- package/packages/web/dist/assets/index-OfCywayk.js +0 -1
- package/packages/web/dist/assets/index-PDesaJc6.js +0 -1
- package/packages/web/dist/assets/index-uB6nhSvz.js +0 -1
- package/packages/web/dist/assets/sessions-DH1R-NhV.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as f,a as u,c,b as t,d as n,w as i,f as r,
|
|
1
|
+
import{_ as f,a as u,c,b as t,d as n,w as i,f as r,J as d,F as S,r as y,z as h,g,h as k,B as w,t as x}from"./index-C2QFVD7d.js";const V={class:"container"},B={class:"tabs"},C={class:"tabs-desktop"},T={class:"tabs-mobile"},L=["value"],N=["value"],z={class:"tab-content"},F={__name:"SettingsView",setup(M){const v=w(),p=k(),m=[{id:"providers",label:"Model Providers",path:"/settings/providers"},{id:"summary",label:"Summary Settings",path:"/settings/summary"},{id:"general",label:"Settings",path:"/settings/general"},{id:"logs",label:"Logs",path:"/settings/logs"}],e=h(()=>{const a=v.path.split("/");return a[a.length-1]||"providers"});function _(a){p.push(`/settings/${a}`)}return(a,s)=>{const l=g("router-link"),b=g("router-view");return u(),c("div",V,[s[5]||(s[5]=t("h1",null,"Settings",-1)),t("div",B,[t("div",C,[n(l,{to:"/settings/providers",class:d(["tab",{active:e.value==="providers"}])},{default:i(()=>[...s[1]||(s[1]=[r(" Model Providers ",-1)])]),_:1},8,["class"]),n(l,{to:"/settings/summary",class:d(["tab",{active:e.value==="summary"}])},{default:i(()=>[...s[2]||(s[2]=[r(" Summary Settings ",-1)])]),_:1},8,["class"]),n(l,{to:"/settings/general",class:d(["tab",{active:e.value==="general"}])},{default:i(()=>[...s[3]||(s[3]=[r(" Settings ",-1)])]),_:1},8,["class"]),n(l,{to:"/settings/logs",class:d(["tab",{active:e.value==="logs"}])},{default:i(()=>[...s[4]||(s[4]=[r(" Logs ",-1)])]),_:1},8,["class"])]),t("div",T,[t("select",{value:e.value,class:"tab-select",onChange:s[0]||(s[0]=o=>_(o.target.value))},[(u(),c(S,null,y(m,o=>t("option",{key:o.id,value:o.id},x(o.label),9,N)),64))],40,L)])]),t("div",z,[n(b)])])}}},R=f(F,[["__scopeId","data-v-c1d27cca"]]);export{R as default};
|
package/packages/web/dist/assets/{SlashCommandWizard-DmTyNG9O.js → SlashCommandWizard-BQ_rMzn-.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as ae,C as Z,D as oe,O as le}from"./EffortLevelSelector-C2378L8e.js";import{_ as T,k as X,n as D,l as K,a as o,c as i,b as l,F as B,r as N,t as m,x as _,Z as ie,L as re,o as ee,I as ce,m as z,v as A,J as G,i as k,f as q,j as W,p as de,G as E,d as ue,w as me,u as R,T as fe,U as pe}from"./index-B6G18FqB.js";import{u as te}from"./providers-Bh1ZiiJi.js";import{a as F}from"./ApiClient-B4YTtyY4.js";const he={class:"mode-selector"},ge=["value","disabled"],ve=["value"],ye={__name:"ModeSelector",props:{sessionId:{type:String,default:null},modelValue:{type:String,default:null},disabled:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,c=t,a=ae(),u=X(),d=D(!1),h=[{value:"plan",label:"Plan",description:"Agent plans before implementing"},{value:"standard",label:"Standard",description:"Balanced approach"},{value:"yolo",label:"YOLO",description:"Auto-approve mode"}],b=_(()=>{var p;return n.sessionId?(p=a.currentSession)==null?void 0:p.mode:n.modelValue}),C=D(b.value),g=ie(n,"modelValue");K([b,g],([p])=>{C.value=p},{flush:"sync"});async function r(p){if(!d.value&&C.value!==p)if(C.value=p,n.sessionId){d.value=!0;try{await a.updateSessionMode(n.sessionId,p)}catch(S){C.value=b.value,u.error(S.message)}finally{d.value=!1}}else c("update:modelValue",p)}return(p,S)=>(o(),i("div",he,[l("select",{id:"mode-select",value:C.value,disabled:e.disabled||d.value,class:"mode-select",onChange:S[0]||(S[0]=w=>r(w.target.value))},[(o(),i(B,null,N(h,w=>l("option",{key:w.value,value:w.value},m(w.label),9,ve)),64))],40,ge)]))}},Gt=T(ye,[["__scopeId","data-v-224ea1e6"]]),se=Object.freeze({streaming:!1,thinking:!1,reasoningEffort:!1,toolUse:!1,resume:!1}),I={byAgentType:new Map,fetchPromise:null,fetched:!1};async function J(){return I.fetched?I.byAgentType:(I.fetchPromise||(I.fetchPromise=(async()=>{try{const e=await F.getAgents();for(const t of e||[])t&&t.agentType&&I.byAgentType.set(t.agentType,t.capabilities||se)}catch{}finally{I.fetched=!0,I.fetchPromise=null}return I.byAgentType})()),I.fetchPromise)}function _e(e){return I.byAgentType.get(e)||{...se}}function ne(e){return(e==null?void 0:e.kind)==="openai"?"codex":"claude-code"}function Q(e,t){return(t==null?void 0:t.kind)==="openai"?le.find(n=>n.id===e)||null:(!t||ne(t)==="claude-code")&&Z.find(n=>n.id===e)||null}function H(e){try{const n=te().allModels.filter(c=>c.modelId===e);return n.length<=1?n[0]||null:n.sort((c,a)=>{const u=O(c.providerId),d=O(a.providerId);return(u==null?void 0:u.isBuiltIn)!==(d==null?void 0:d.isBuiltIn)?u!=null&&u.isBuiltIn?1:-1:((u==null?void 0:u.name)||"").localeCompare((d==null?void 0:d.name)||"")})[0]||null}catch{return null}}function O(e){try{return te().getById(e)||null}catch{return null}}function Y(e){if(!e)return"Unknown";let t=e.replace(/^(.*\/)?models\//,"");return t=t.replace(/^accounts\/[^/]+\/models\//,""),t=t.replace(/-\d{8}$/,""),t=t.replace(/[-_]/g," "),t=t.split(" ").map(n=>n.charAt(0).toUpperCase()+n.slice(1).toLowerCase()).join(" "),t||"Unknown"}function Rt(){function e(c){if(!c)return"Default";const a=H(c),u=a?O(a.providerId):null,d=Q(c,u);return d?d.name:a!=null&&a.displayName?a.displayName:Y(c)}function t(c){if(!c){const h=Z.find(b=>b.id===oe);return h?h.description:""}const a=H(c),u=a?O(a.providerId):null,d=Q(c,u);return d?d.description:a!=null&&a.description?a.description:c}function n(c){J();const a=H(c),u=a?O(a.providerId):null,d=u?ne(u):"claude-code";return{name:e(c),description:t(c),providerId:(a==null?void 0:a.providerId)||null,providerName:(a==null?void 0:a.providerName)||(u==null?void 0:u.name)||null,agentType:d,capabilities:_e(d)}}return{getModelDisplayName:e,getModelDescription:t,getModelInfo:n,formatModelId:Y,fetchAgentCapabilities:J}}const ke={__name:"SlashCommandButton",emits:["open"],setup(e,{emit:t}){const n=t;return(c,a)=>(o(),i("button",{type:"button",class:"slash-command-btn",title:"Slash Commands","data-testid":"slash-command-button",onClick:a[0]||(a[0]=u=>n("open"))},[...a[1]||(a[1]=[l("span",{class:"slash-icon"},"/",-1),l("span",{class:"slash-text"},"Commands",-1)])]))}},Jt=T(ke,[["__scopeId","data-v-63f59216"]]),Ce=re("slashCommands",{state:()=>({commands:[],loading:!1,error:null,lastFetchedDirectory:null,executing:!1}),getters:{builtinCommands:e=>e.commands.filter(t=>t.source==="builtin"),projectCommands:e=>e.commands.filter(t=>t.source==="project"),userCommands:e=>e.commands.filter(t=>t.source==="user"),pluginCommands:e=>e.commands.filter(t=>t.source==="plugin"),customCommands:e=>e.commands.filter(t=>t.source!=="builtin"),projectSkills:e=>e.commands.filter(t=>t.source==="project-skill"),userSkills:e=>e.commands.filter(t=>t.source==="user-skill"),pluginSkills:e=>e.commands.filter(t=>t.source==="plugin-skill"),allSkills:e=>e.commands.filter(t=>t.isSkill===!0),hasSkills:e=>e.commands.some(t=>t.isSkill===!0),allProjectItems:e=>e.commands.filter(t=>t.source==="project"||t.source==="project-skill"),allUserItems:e=>e.commands.filter(t=>t.source==="user"||t.source==="user-skill"),hasCommands:e=>e.commands.length>0,hasCustomCommands:e=>e.commands.some(t=>t.source==="project"||t.source==="user")},actions:{async fetchCommandsFromSession(e){this.loading=!0,this.error=null;try{const t=await F.getSession(e),n=t.slashCommands?JSON.parse(t.slashCommands):[];return this.commands=n,n}catch(t){throw this.error=t.message,t}finally{this.loading=!1}},async fetchCommands(e,t=!1){if(!t&&this.lastFetchedDirectory===e&&this.commands.length>0)return this.commands;this.loading=!0,this.error=null;try{const n=await F.getSlashCommands(e);return this.commands=n,this.lastFetchedDirectory=e,n}catch(n){throw this.error=n.message,n}finally{this.loading=!1}},async executeCommand(e,t,n={}){this.executing=!0,this.error=null;try{return await F.executeSlashCommand(e,t,n)}catch(c){throw this.error=c.message,c}finally{this.executing=!1}},getCommandByName(e){return this.commands.find(t=>t.name===e)||null},searchCommands(e){if(!e||!e.trim())return this.commands;const t=e.toLowerCase();return this.commands.filter(n=>n.name.toLowerCase().includes(t)||n.description&&n.description.toLowerCase().includes(t))},clearCommands(){this.commands=[],this.lastFetchedDirectory=null,this.error=null}}}),be={class:"command-grid"},Se={class:"search-box"},$e={key:0,class:"loading-state"},we={key:1,class:"error-state"},xe={key:2,class:"empty-state"},Ie={key:0},Be={key:1},Ne={key:3,class:"command-sections"},De={key:0,class:"command-section"},je={class:"command-cards"},Pe=["data-testid","onClick"],Ue={class:"command-name"},Le={class:"command-description"},Me={key:1,class:"command-section"},Ve={class:"command-cards"},ze=["data-testid","onClick"],Oe={class:"command-name"},Te={class:"command-description"},Ae={key:0,class:"command-args-badge"},Fe={key:2,class:"command-section"},qe={class:"command-cards"},Ee=["data-testid","onClick"],He={class:"command-name"},We={class:"command-description"},Ke={key:0,class:"command-args-badge"},Ge={key:3,class:"command-section"},Re={class:"command-cards"},Je=["data-testid","onClick"],Qe={class:"command-name"},Ye={class:"command-description"},Ze={key:0,class:"command-args-badge"},Xe={key:4,class:"command-section"},et={class:"command-cards"},tt=["data-testid","onClick"],st={class:"command-name"},nt={class:"command-description"},at={key:0,class:"command-args-badge"},ot={key:5,class:"command-section"},lt={class:"command-cards"},it=["data-testid","onClick"],rt={class:"command-name"},ct={class:"command-description"},dt={key:0,class:"command-args-badge"},ut={key:6,class:"command-section"},mt={class:"command-cards"},ft=["data-testid","onClick"],pt={class:"command-name"},ht={class:"command-description"},gt={key:0,class:"command-args-badge"},vt={__name:"CommandGrid",props:{commands:{type:Array,required:!0},loading:{type:Boolean,default:!1},error:{type:String,default:null},hideBuiltin:{type:Boolean,default:!1}},emits:["select","close"],setup(e,{emit:t}){const n=e,c=t,a=D(""),u=D(null),d=_(()=>n.commands.filter(v=>v.source==="builtin")),h=_(()=>n.commands.filter(v=>v.source==="project")),b=_(()=>n.commands.filter(v=>v.source==="user")),C=_(()=>n.commands.filter(v=>v.source==="plugin")),g=_(()=>n.commands.filter(v=>v.source==="project-skill")),r=_(()=>n.commands.filter(v=>v.source==="user-skill")),p=_(()=>n.commands.filter(v=>v.source==="plugin-skill"));function S(v){if(!a.value.trim())return v;const f=a.value.toLowerCase();return v.filter(s=>s.name.toLowerCase().includes(f)||s.description&&s.description.toLowerCase().includes(f))}const w=_(()=>S(d.value)),V=_(()=>S(h.value)),y=_(()=>S(b.value)),$=_(()=>S(C.value)),x=_(()=>S(g.value)),j=_(()=>S(r.value)),P=_(()=>S(p.value)),U=_(()=>[...w.value,...V.value,...y.value,...$.value,...x.value,...j.value,...P.value]);function L(v){c("select",v)}return ee(()=>{ce(()=>{var v;(v=u.value)==null||v.focus()})}),(v,f)=>(o(),i("div",be,[l("div",Se,[z(l("input",{ref_key:"searchInput",ref:u,"onUpdate:modelValue":f[0]||(f[0]=s=>a.value=s),type:"text",placeholder:"Search commands...",class:"search-input","data-testid":"command-search",onKeydown:f[1]||(f[1]=G(s=>c("close"),["escape"]))},null,544),[[A,a.value]])]),e.loading?(o(),i("div",$e,[...f[2]||(f[2]=[l("span",{class:"loading-spinner"},null,-1),l("span",null,"Loading commands...",-1)])])):e.error?(o(),i("div",we,[f[3]||(f[3]=l("span",{class:"error-icon"},"⚠️",-1)),l("span",null,m(e.error),1)])):U.value.length===0?(o(),i("div",xe,[a.value?(o(),i("span",Ie,'No commands match "'+m(a.value)+'"',1)):(o(),i("span",Be,"No slash commands available"))])):(o(),i("div",Ne,[w.value.length>0&&!e.hideBuiltin?(o(),i("div",De,[f[4]||(f[4]=l("h3",{class:"section-title"}," Built-in Commands ",-1)),l("div",je,[(o(!0),i(B,null,N(w.value,s=>(o(),i("button",{key:s.name,type:"button",class:"command-card","data-testid":`command-${s.name}`,onClick:M=>L(s)},[l("span",Ue,"/"+m(s.name),1),l("span",Le,m(s.description||"No description"),1)],8,Pe))),128))])])):k("",!0),V.value.length>0?(o(),i("div",Me,[f[5]||(f[5]=l("h3",{class:"section-title"}," Project Commands ",-1)),l("div",Ve,[(o(!0),i(B,null,N(V.value,s=>(o(),i("button",{key:s.name,type:"button",class:"command-card","data-testid":`command-${s.name}`,onClick:M=>L(s)},[l("span",Oe,"/"+m(s.name),1),l("span",Te,m(s.description||"No description"),1),s.arguments.length>0?(o(),i("span",Ae,m(s.arguments.length)+" arg"+m(s.arguments.length>1?"s":""),1)):k("",!0)],8,ze))),128))])])):k("",!0),y.value.length>0?(o(),i("div",Fe,[f[6]||(f[6]=l("h3",{class:"section-title"}," User Commands ",-1)),l("div",qe,[(o(!0),i(B,null,N(y.value,s=>(o(),i("button",{key:s.name,type:"button",class:"command-card","data-testid":`command-${s.name}`,onClick:M=>L(s)},[l("span",He,"/"+m(s.name),1),l("span",We,m(s.description||"No description"),1),s.arguments.length>0?(o(),i("span",Ke,m(s.arguments.length)+" arg"+m(s.arguments.length>1?"s":""),1)):k("",!0)],8,Ee))),128))])])):k("",!0),$.value.length>0?(o(),i("div",Ge,[f[7]||(f[7]=l("h3",{class:"section-title"}," Plugin Commands ",-1)),l("div",Re,[(o(!0),i(B,null,N($.value,s=>(o(),i("button",{key:s.name,type:"button",class:"command-card","data-testid":`command-${s.name}`,onClick:M=>L(s)},[l("span",Qe,"/"+m(s.name),1),l("span",Ye,m(s.description||"No description"),1),s.arguments.length>0?(o(),i("span",Ze,m(s.arguments.length)+" arg"+m(s.arguments.length>1?"s":""),1)):k("",!0)],8,Je))),128))])])):k("",!0),x.value.length>0?(o(),i("div",Xe,[f[8]||(f[8]=l("h3",{class:"section-title"}," Project Skills ",-1)),l("div",et,[(o(!0),i(B,null,N(x.value,s=>(o(),i("button",{key:s.name,type:"button",class:"command-card","data-testid":`skill-${s.name}`,onClick:M=>L(s)},[l("span",st,"/"+m(s.name),1),l("span",nt,m(s.description||"No description"),1),s.argumentHint?(o(),i("span",at,m(s.argumentHint),1)):k("",!0)],8,tt))),128))])])):k("",!0),j.value.length>0?(o(),i("div",ot,[f[9]||(f[9]=l("h3",{class:"section-title"}," User Skills ",-1)),l("div",lt,[(o(!0),i(B,null,N(j.value,s=>(o(),i("button",{key:s.name,type:"button",class:"command-card","data-testid":`skill-${s.name}`,onClick:M=>L(s)},[l("span",rt,"/"+m(s.name),1),l("span",ct,m(s.description||"No description"),1),s.argumentHint?(o(),i("span",dt,m(s.argumentHint),1)):k("",!0)],8,it))),128))])])):k("",!0),P.value.length>0?(o(),i("div",ut,[f[10]||(f[10]=l("h3",{class:"section-title"}," Plugin Skills ",-1)),l("div",mt,[(o(!0),i(B,null,N(P.value,s=>(o(),i("button",{key:s.name,type:"button",class:"command-card","data-testid":`skill-${s.name}`,onClick:M=>L(s)},[l("span",pt,"/"+m(s.name),1),l("span",ht,m(s.description||"No description"),1),s.argumentHint?(o(),i("span",gt,m(s.argumentHint),1)):k("",!0)],8,ft))),128))])])):k("",!0)]))]))}},yt=T(vt,[["__scopeId","data-v-8ec2a6ee"]]),_t={class:"arguments-form"},kt={class:"form-header"},Ct={class:"command-title"},bt={key:0,class:"command-description"},St={key:0,class:"form-field"},$t={for:"skill-args",class:"field-label"},wt={key:0,class:"hint"},xt=["placeholder","onKeydown"],It=["for"],Bt={key:0,class:"required-indicator"},Nt=["id","onUpdate:modelValue","required","data-testid"],Dt=["value"],jt=["id","onUpdate:modelValue","required","placeholder","data-testid"],Pt=["id","onUpdate:modelValue","required","placeholder","data-testid"],Ut={class:"form-actions"},Lt=["disabled"],Mt={key:0,class:"loading-spinner"},Vt={__name:"ArgumentsForm",props:{command:{type:Object,required:!0},executing:{type:Boolean,default:!1},executeLabel:{type:String,default:"Execute Command"}},emits:["back","submit"],setup(e,{emit:t}){const n=e,c=t,a=D({}),u=D("");function d(){const C={};for(const g of n.command.arguments||[])C[g.name]=g.default!==void 0?g.default:"";a.value=C}ee(()=>{d()}),K(()=>n.command,()=>{d()});const h=_(()=>{if(n.command.isSkill)return!0;for(const C of n.command.arguments||[])if(C.required){const g=a.value[C.name];if(g==null||g==="")return!1}return!0});function b(){if(!(!h.value||n.executing)){if(n.command.isSkill){c("submit",{_raw:u.value});return}c("submit",a.value)}}return(C,g)=>(o(),i("div",_t,[l("div",kt,[l("h3",Ct," /"+m(e.command.name),1),e.command.description?(o(),i("p",bt,m(e.command.description),1)):k("",!0)]),l("form",{class:"form-fields",onSubmit:W(b,["prevent"])},[e.command.isSkill?(o(),i("div",St,[l("label",$t,[g[2]||(g[2]=q(" Arguments ",-1)),e.command.argumentHint?(o(),i("span",wt,m(e.command.argumentHint),1)):k("",!0)]),z(l("input",{id:"skill-args","onUpdate:modelValue":g[0]||(g[0]=r=>u.value=r),type:"text",placeholder:e.command.argumentHint||"Enter arguments...",class:"field-input","data-testid":"skill-args-input",onKeydown:G(W(b,["prevent"]),["enter"])},null,40,xt),[[A,u.value]])])):(o(!0),i(B,{key:1},N(e.command.arguments,r=>(o(),i("div",{key:r.name,class:"form-field"},[l("label",{for:`arg-${r.name}`,class:"field-label"},[q(m(r.label)+" ",1),r.required?(o(),i("span",Bt,"*")):k("",!0)],8,It),r.type==="select"?z((o(),i("select",{key:0,id:`arg-${r.name}`,"onUpdate:modelValue":p=>a.value[r.name]=p,required:r.required,class:"field-select","data-testid":`arg-${r.name}`},[g[3]||(g[3]=l("option",{value:"",disabled:""}," Select an option... ",-1)),(o(!0),i(B,null,N(r.options||[],p=>(o(),i("option",{key:p.value,value:p.value},m(p.label),9,Dt))),128))],8,Nt)),[[de,a.value[r.name]]]):r.type==="multiline"?z((o(),i("textarea",{key:1,id:`arg-${r.name}`,"onUpdate:modelValue":p=>a.value[r.name]=p,required:r.required,placeholder:r.placeholder||"",class:"field-textarea",rows:"4","data-testid":`arg-${r.name}`},null,8,jt)),[[A,a.value[r.name]]]):z((o(),i("input",{key:2,id:`arg-${r.name}`,"onUpdate:modelValue":p=>a.value[r.name]=p,type:"text",required:r.required,placeholder:r.placeholder||"",class:"field-input","data-testid":`arg-${r.name}`},null,8,Pt)),[[A,a.value[r.name]]])]))),128)),l("div",Ut,[l("button",{type:"button",class:"btn btn-secondary",onClick:g[1]||(g[1]=r=>c("back"))}," Back "),l("button",{type:"submit",class:"btn btn-primary",disabled:!h.value||e.executing,"data-testid":"execute-command-btn"},[e.executing?(o(),i("span",Mt)):k("",!0),q(" "+m(e.executeLabel),1)],8,Lt)])],32)]))}},zt=T(Vt,[["__scopeId","data-v-aaa3cc39"]]),Ot={class:"wizard-modal",role:"dialog","aria-labelledby":"wizard-title"},Tt={class:"wizard-header"},At={id:"wizard-title",class:"wizard-title"},Ft={class:"wizard-content"},qt={__name:"SlashCommandWizard",props:{isOpen:{type:Boolean,required:!0},sessionId:{type:String,default:null},workingDirectory:{type:String,default:null},hideBuiltin:{type:Boolean,default:!1},mode:{type:String,default:"execute",validator:e=>["execute","insert"].includes(e)}},emits:["update:isOpen","executed","insert"],setup(e,{emit:t}){const n=e,c=t,a=Ce(),u=X(),d=D(1),h=D(null),b=D(!1),C=_(()=>n.hideBuiltin?a.customCommands:a.commands),g=_(()=>n.mode==="insert"?"Insert Command":"Execute Command");K(()=>n.isOpen,async y=>{if(y){d.value=1,h.value=null,console.log("[SlashCommandWizard] Opening wizard, workingDirectory:",n.workingDirectory);try{n.workingDirectory?(await a.fetchCommands(n.workingDirectory),console.log("[SlashCommandWizard] Fetched commands:",a.commands.length,"commands")):console.warn("[SlashCommandWizard] No workingDirectory provided, skipping command fetch")}catch($){console.error("[SlashCommandWizard] Failed to fetch commands:",$)}}});function r(){c("update:isOpen",!1),d.value=1,h.value=null}function p(y){if(h.value=y,y.isSkill){d.value=2;return}!y.arguments||y.arguments.length===0?w({}):d.value=2}function S(){d.value=1,h.value=null}async function w(y){if(h.value){if(n.mode==="insert"){const $=V(h.value,y);c("insert",{command:h.value,args:y,text:$}),r();return}if(!n.sessionId){u.error("No session available to execute command");return}b.value=!0;try{await a.executeCommand(n.sessionId,h.value.name,y),c("executed",{command:h.value,args:y}),u.success(`Command /${h.value.name} executed`),r()}catch($){u.error(`Failed to execute command: ${$.message}`)}finally{b.value=!1}}}function V(y,$){let x=`/${y.name}`;if(y.isSkill){const P=$._raw||"";return P&&(x+=` ${P}`),x}const j=[];for(const P of y.arguments||[]){const U=$[P.name];U!==void 0&&U!==""&&(typeof U=="string"&&U.includes(" ")?j.push(`"${U}"`):j.push(String(U)))}return j.length>0&&(x+=` ${j.join(" ")}`),x}return(y,$)=>(o(),E(pe,{to:"body"},[ue(fe,{name:"modal"},{default:me(()=>{var x;return[e.isOpen?(o(),i("div",{key:0,class:"wizard-overlay","data-testid":"slash-command-wizard",onClick:W(r,["self"]),onKeydown:G(r,["escape"])},[l("div",Ot,[l("header",Tt,[l("h2",At,m(d.value===1?"Slash Commands":`Configure /${(x=h.value)==null?void 0:x.name}`),1),l("button",{type:"button",class:"close-btn","aria-label":"Close wizard",onClick:r}," × ")]),l("div",Ft,[d.value===1?(o(),E(yt,{key:0,commands:C.value,loading:R(a).loading,error:R(a).error,"hide-builtin":e.hideBuiltin,onSelect:p,onClose:r},null,8,["commands","loading","error","hide-builtin"])):d.value===2&&h.value?(o(),E(zt,{key:1,command:h.value,executing:b.value,"execute-label":g.value,onBack:S,onSubmit:w},null,8,["command","executing","execute-label"])):k("",!0)])])],32)):k("",!0)]}),_:1})]))}},Qt=T(qt,[["__scopeId","data-v-138fa079"]]);export{Gt as M,Jt as S,Qt as a,Rt as u};
|
|
1
|
+
import{b as ae,C as X,D as oe,O as le}from"./EffortLevelSelector-D2Hdzc_8.js";import{_ as A,k as Z,n as D,l as K,a as o,c as i,b as l,F as B,r as N,t as m,z as _,U as ie,p as re,o as ee,A as ce,m as z,v as T,L as R,i as k,f as q,j as W,q as de,x as E,d as ue,w as me,u as G,O as fe,T as pe}from"./index-C2QFVD7d.js";import{u as te}from"./providers-oXifvvqN.js";import{a as F}from"./ApiClient-DfbJwzpz.js";const he={class:"mode-selector"},ge=["value","disabled"],ve=["value"],ye={__name:"ModeSelector",props:{sessionId:{type:String,default:null},modelValue:{type:String,default:null},disabled:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,c=t,a=ae(),u=Z(),d=D(!1),h=[{value:"plan",label:"Plan",description:"Agent plans before implementing"},{value:"standard",label:"Standard",description:"Balanced approach"},{value:"yolo",label:"YOLO",description:"Auto-approve mode"}],b=_(()=>{var p;return n.sessionId?(p=a.currentSession)==null?void 0:p.mode:n.modelValue}),C=D(b.value),g=ie(n,"modelValue");K([b,g],([p])=>{C.value=p},{flush:"sync"});async function r(p){if(!d.value&&C.value!==p)if(C.value=p,n.sessionId){d.value=!0;try{await a.updateSessionMode(n.sessionId,p)}catch(S){C.value=b.value,u.error(S.message)}finally{d.value=!1}}else c("update:modelValue",p)}return(p,S)=>(o(),i("div",he,[l("select",{id:"mode-select",value:C.value,disabled:e.disabled||d.value,class:"mode-select",onChange:S[0]||(S[0]=w=>r(w.target.value))},[(o(),i(B,null,N(h,w=>l("option",{key:w.value,value:w.value},m(w.label),9,ve)),64))],40,ge)]))}},Rt=A(ye,[["__scopeId","data-v-224ea1e6"]]),se=Object.freeze({streaming:!1,thinking:!1,reasoningEffort:!1,toolUse:!1,resume:!1}),I={byAgentType:new Map,fetchPromise:null,fetched:!1};async function Q(){return I.fetched?I.byAgentType:(I.fetchPromise||(I.fetchPromise=(async()=>{try{const e=await F.getAgents();for(const t of e||[])t&&t.agentType&&I.byAgentType.set(t.agentType,t.capabilities||se)}catch{}finally{I.fetched=!0,I.fetchPromise=null}return I.byAgentType})()),I.fetchPromise)}function _e(e){return I.byAgentType.get(e)||{...se}}function ne(e){return(e==null?void 0:e.kind)==="openai"?"codex":"claude-code"}function J(e,t){return(t==null?void 0:t.kind)==="openai"?le.find(n=>n.id===e)||null:(!t||ne(t)==="claude-code")&&X.find(n=>n.id===e)||null}function H(e){try{const n=te().allModels.filter(c=>c.modelId===e);return n.length<=1?n[0]||null:n.sort((c,a)=>{const u=O(c.providerId),d=O(a.providerId);return(u==null?void 0:u.isBuiltIn)!==(d==null?void 0:d.isBuiltIn)?u!=null&&u.isBuiltIn?1:-1:((u==null?void 0:u.name)||"").localeCompare((d==null?void 0:d.name)||"")})[0]||null}catch{return null}}function O(e){try{return te().getById(e)||null}catch{return null}}function Y(e){if(!e)return"Unknown";let t=e.replace(/^(.*\/)?models\//,"");return t=t.replace(/^accounts\/[^/]+\/models\//,""),t=t.replace(/-\d{8}$/,""),t=t.replace(/[-_]/g," "),t=t.split(" ").map(n=>n.charAt(0).toUpperCase()+n.slice(1).toLowerCase()).join(" "),t||"Unknown"}function Gt(){function e(c){if(!c)return"Default";const a=H(c),u=a?O(a.providerId):null,d=J(c,u);return d?d.name:a!=null&&a.displayName?a.displayName:Y(c)}function t(c){if(!c){const h=X.find(b=>b.id===oe);return h?h.description:""}const a=H(c),u=a?O(a.providerId):null,d=J(c,u);return d?d.description:a!=null&&a.description?a.description:c}function n(c){Q();const a=H(c),u=a?O(a.providerId):null,d=u?ne(u):"claude-code";return{name:e(c),description:t(c),providerId:(a==null?void 0:a.providerId)||null,providerName:(a==null?void 0:a.providerName)||(u==null?void 0:u.name)||null,agentType:d,capabilities:_e(d)}}return{getModelDisplayName:e,getModelDescription:t,getModelInfo:n,formatModelId:Y,fetchAgentCapabilities:Q}}const ke={__name:"SlashCommandButton",emits:["open"],setup(e,{emit:t}){const n=t;return(c,a)=>(o(),i("button",{type:"button",class:"slash-command-btn",title:"Slash Commands","data-testid":"slash-command-button",onClick:a[0]||(a[0]=u=>n("open"))},[...a[1]||(a[1]=[l("span",{class:"slash-icon"},"/",-1),l("span",{class:"slash-text"},"Commands",-1)])]))}},Qt=A(ke,[["__scopeId","data-v-63f59216"]]),Ce=re("slashCommands",{state:()=>({commands:[],loading:!1,error:null,lastFetchedDirectory:null,executing:!1}),getters:{builtinCommands:e=>e.commands.filter(t=>t.source==="builtin"),projectCommands:e=>e.commands.filter(t=>t.source==="project"),userCommands:e=>e.commands.filter(t=>t.source==="user"),pluginCommands:e=>e.commands.filter(t=>t.source==="plugin"),customCommands:e=>e.commands.filter(t=>t.source!=="builtin"),projectSkills:e=>e.commands.filter(t=>t.source==="project-skill"),userSkills:e=>e.commands.filter(t=>t.source==="user-skill"),pluginSkills:e=>e.commands.filter(t=>t.source==="plugin-skill"),allSkills:e=>e.commands.filter(t=>t.isSkill===!0),hasSkills:e=>e.commands.some(t=>t.isSkill===!0),allProjectItems:e=>e.commands.filter(t=>t.source==="project"||t.source==="project-skill"),allUserItems:e=>e.commands.filter(t=>t.source==="user"||t.source==="user-skill"),hasCommands:e=>e.commands.length>0,hasCustomCommands:e=>e.commands.some(t=>t.source==="project"||t.source==="user")},actions:{async fetchCommandsFromSession(e){this.loading=!0,this.error=null;try{const t=await F.getSession(e),n=t.slashCommands?JSON.parse(t.slashCommands):[];return this.commands=n,n}catch(t){throw this.error=t.message,t}finally{this.loading=!1}},async fetchCommands(e,t=!1){if(!t&&this.lastFetchedDirectory===e&&this.commands.length>0)return this.commands;this.loading=!0,this.error=null;try{const n=await F.getSlashCommands(e);return this.commands=n,this.lastFetchedDirectory=e,n}catch(n){throw this.error=n.message,n}finally{this.loading=!1}},async executeCommand(e,t,n={}){this.executing=!0,this.error=null;try{return await F.executeSlashCommand(e,t,n)}catch(c){throw this.error=c.message,c}finally{this.executing=!1}},getCommandByName(e){return this.commands.find(t=>t.name===e)||null},searchCommands(e){if(!e||!e.trim())return this.commands;const t=e.toLowerCase();return this.commands.filter(n=>n.name.toLowerCase().includes(t)||n.description&&n.description.toLowerCase().includes(t))},clearCommands(){this.commands=[],this.lastFetchedDirectory=null,this.error=null}}}),be={class:"command-grid"},Se={class:"search-box"},$e={key:0,class:"loading-state"},we={key:1,class:"error-state"},xe={key:2,class:"empty-state"},Ie={key:0},Be={key:1},Ne={key:3,class:"command-sections"},De={key:0,class:"command-section"},je={class:"command-cards"},Pe=["data-testid","onClick"],Ue={class:"command-name"},Le={class:"command-description"},Me={key:1,class:"command-section"},Ve={class:"command-cards"},ze=["data-testid","onClick"],Oe={class:"command-name"},Ae={class:"command-description"},Te={key:0,class:"command-args-badge"},Fe={key:2,class:"command-section"},qe={class:"command-cards"},Ee=["data-testid","onClick"],He={class:"command-name"},We={class:"command-description"},Ke={key:0,class:"command-args-badge"},Re={key:3,class:"command-section"},Ge={class:"command-cards"},Qe=["data-testid","onClick"],Je={class:"command-name"},Ye={class:"command-description"},Xe={key:0,class:"command-args-badge"},Ze={key:4,class:"command-section"},et={class:"command-cards"},tt=["data-testid","onClick"],st={class:"command-name"},nt={class:"command-description"},at={key:0,class:"command-args-badge"},ot={key:5,class:"command-section"},lt={class:"command-cards"},it=["data-testid","onClick"],rt={class:"command-name"},ct={class:"command-description"},dt={key:0,class:"command-args-badge"},ut={key:6,class:"command-section"},mt={class:"command-cards"},ft=["data-testid","onClick"],pt={class:"command-name"},ht={class:"command-description"},gt={key:0,class:"command-args-badge"},vt={__name:"CommandGrid",props:{commands:{type:Array,required:!0},loading:{type:Boolean,default:!1},error:{type:String,default:null},hideBuiltin:{type:Boolean,default:!1}},emits:["select","close"],setup(e,{emit:t}){const n=e,c=t,a=D(""),u=D(null),d=_(()=>n.commands.filter(v=>v.source==="builtin")),h=_(()=>n.commands.filter(v=>v.source==="project")),b=_(()=>n.commands.filter(v=>v.source==="user")),C=_(()=>n.commands.filter(v=>v.source==="plugin")),g=_(()=>n.commands.filter(v=>v.source==="project-skill")),r=_(()=>n.commands.filter(v=>v.source==="user-skill")),p=_(()=>n.commands.filter(v=>v.source==="plugin-skill"));function S(v){if(!a.value.trim())return v;const f=a.value.toLowerCase();return v.filter(s=>s.name.toLowerCase().includes(f)||s.description&&s.description.toLowerCase().includes(f))}const w=_(()=>S(d.value)),V=_(()=>S(h.value)),y=_(()=>S(b.value)),$=_(()=>S(C.value)),x=_(()=>S(g.value)),j=_(()=>S(r.value)),P=_(()=>S(p.value)),U=_(()=>[...w.value,...V.value,...y.value,...$.value,...x.value,...j.value,...P.value]);function L(v){c("select",v)}return ee(()=>{ce(()=>{var v;(v=u.value)==null||v.focus()})}),(v,f)=>(o(),i("div",be,[l("div",Se,[z(l("input",{ref_key:"searchInput",ref:u,"onUpdate:modelValue":f[0]||(f[0]=s=>a.value=s),type:"text",placeholder:"Search commands...",class:"search-input","data-testid":"command-search",onKeydown:f[1]||(f[1]=R(s=>c("close"),["escape"]))},null,544),[[T,a.value]])]),e.loading?(o(),i("div",$e,[...f[2]||(f[2]=[l("span",{class:"loading-spinner"},null,-1),l("span",null,"Loading commands...",-1)])])):e.error?(o(),i("div",we,[f[3]||(f[3]=l("span",{class:"error-icon"},"⚠️",-1)),l("span",null,m(e.error),1)])):U.value.length===0?(o(),i("div",xe,[a.value?(o(),i("span",Ie,'No commands match "'+m(a.value)+'"',1)):(o(),i("span",Be,"No slash commands available"))])):(o(),i("div",Ne,[w.value.length>0&&!e.hideBuiltin?(o(),i("div",De,[f[4]||(f[4]=l("h3",{class:"section-title"}," Built-in Commands ",-1)),l("div",je,[(o(!0),i(B,null,N(w.value,s=>(o(),i("button",{key:s.name,type:"button",class:"command-card","data-testid":`command-${s.name}`,onClick:M=>L(s)},[l("span",Ue,"/"+m(s.name),1),l("span",Le,m(s.description||"No description"),1)],8,Pe))),128))])])):k("",!0),V.value.length>0?(o(),i("div",Me,[f[5]||(f[5]=l("h3",{class:"section-title"}," Project Commands ",-1)),l("div",Ve,[(o(!0),i(B,null,N(V.value,s=>(o(),i("button",{key:s.name,type:"button",class:"command-card","data-testid":`command-${s.name}`,onClick:M=>L(s)},[l("span",Oe,"/"+m(s.name),1),l("span",Ae,m(s.description||"No description"),1),s.arguments.length>0?(o(),i("span",Te,m(s.arguments.length)+" arg"+m(s.arguments.length>1?"s":""),1)):k("",!0)],8,ze))),128))])])):k("",!0),y.value.length>0?(o(),i("div",Fe,[f[6]||(f[6]=l("h3",{class:"section-title"}," User Commands ",-1)),l("div",qe,[(o(!0),i(B,null,N(y.value,s=>(o(),i("button",{key:s.name,type:"button",class:"command-card","data-testid":`command-${s.name}`,onClick:M=>L(s)},[l("span",He,"/"+m(s.name),1),l("span",We,m(s.description||"No description"),1),s.arguments.length>0?(o(),i("span",Ke,m(s.arguments.length)+" arg"+m(s.arguments.length>1?"s":""),1)):k("",!0)],8,Ee))),128))])])):k("",!0),$.value.length>0?(o(),i("div",Re,[f[7]||(f[7]=l("h3",{class:"section-title"}," Plugin Commands ",-1)),l("div",Ge,[(o(!0),i(B,null,N($.value,s=>(o(),i("button",{key:s.name,type:"button",class:"command-card","data-testid":`command-${s.name}`,onClick:M=>L(s)},[l("span",Je,"/"+m(s.name),1),l("span",Ye,m(s.description||"No description"),1),s.arguments.length>0?(o(),i("span",Xe,m(s.arguments.length)+" arg"+m(s.arguments.length>1?"s":""),1)):k("",!0)],8,Qe))),128))])])):k("",!0),x.value.length>0?(o(),i("div",Ze,[f[8]||(f[8]=l("h3",{class:"section-title"}," Project Skills ",-1)),l("div",et,[(o(!0),i(B,null,N(x.value,s=>(o(),i("button",{key:s.name,type:"button",class:"command-card","data-testid":`skill-${s.name}`,onClick:M=>L(s)},[l("span",st,"/"+m(s.name),1),l("span",nt,m(s.description||"No description"),1),s.argumentHint?(o(),i("span",at,m(s.argumentHint),1)):k("",!0)],8,tt))),128))])])):k("",!0),j.value.length>0?(o(),i("div",ot,[f[9]||(f[9]=l("h3",{class:"section-title"}," User Skills ",-1)),l("div",lt,[(o(!0),i(B,null,N(j.value,s=>(o(),i("button",{key:s.name,type:"button",class:"command-card","data-testid":`skill-${s.name}`,onClick:M=>L(s)},[l("span",rt,"/"+m(s.name),1),l("span",ct,m(s.description||"No description"),1),s.argumentHint?(o(),i("span",dt,m(s.argumentHint),1)):k("",!0)],8,it))),128))])])):k("",!0),P.value.length>0?(o(),i("div",ut,[f[10]||(f[10]=l("h3",{class:"section-title"}," Plugin Skills ",-1)),l("div",mt,[(o(!0),i(B,null,N(P.value,s=>(o(),i("button",{key:s.name,type:"button",class:"command-card","data-testid":`skill-${s.name}`,onClick:M=>L(s)},[l("span",pt,"/"+m(s.name),1),l("span",ht,m(s.description||"No description"),1),s.argumentHint?(o(),i("span",gt,m(s.argumentHint),1)):k("",!0)],8,ft))),128))])])):k("",!0)]))]))}},yt=A(vt,[["__scopeId","data-v-8ec2a6ee"]]),_t={class:"arguments-form"},kt={class:"form-header"},Ct={class:"command-title"},bt={key:0,class:"command-description"},St={key:0,class:"form-field"},$t={for:"skill-args",class:"field-label"},wt={key:0,class:"hint"},xt=["placeholder","onKeydown"],It=["for"],Bt={key:0,class:"required-indicator"},Nt=["id","onUpdate:modelValue","required","data-testid"],Dt=["value"],jt=["id","onUpdate:modelValue","required","placeholder","data-testid"],Pt=["id","onUpdate:modelValue","required","placeholder","data-testid"],Ut={class:"form-actions"},Lt=["disabled"],Mt={key:0,class:"loading-spinner"},Vt={__name:"ArgumentsForm",props:{command:{type:Object,required:!0},executing:{type:Boolean,default:!1},executeLabel:{type:String,default:"Execute Command"}},emits:["back","submit"],setup(e,{emit:t}){const n=e,c=t,a=D({}),u=D("");function d(){const C={};for(const g of n.command.arguments||[])C[g.name]=g.default!==void 0?g.default:"";a.value=C}ee(()=>{d()}),K(()=>n.command,()=>{d()});const h=_(()=>{if(n.command.isSkill)return!0;for(const C of n.command.arguments||[])if(C.required){const g=a.value[C.name];if(g==null||g==="")return!1}return!0});function b(){if(!(!h.value||n.executing)){if(n.command.isSkill){c("submit",{_raw:u.value});return}c("submit",a.value)}}return(C,g)=>(o(),i("div",_t,[l("div",kt,[l("h3",Ct," /"+m(e.command.name),1),e.command.description?(o(),i("p",bt,m(e.command.description),1)):k("",!0)]),l("form",{class:"form-fields",onSubmit:W(b,["prevent"])},[e.command.isSkill?(o(),i("div",St,[l("label",$t,[g[2]||(g[2]=q(" Arguments ",-1)),e.command.argumentHint?(o(),i("span",wt,m(e.command.argumentHint),1)):k("",!0)]),z(l("input",{id:"skill-args","onUpdate:modelValue":g[0]||(g[0]=r=>u.value=r),type:"text",placeholder:e.command.argumentHint||"Enter arguments...",class:"field-input","data-testid":"skill-args-input",onKeydown:R(W(b,["prevent"]),["enter"])},null,40,xt),[[T,u.value]])])):(o(!0),i(B,{key:1},N(e.command.arguments,r=>(o(),i("div",{key:r.name,class:"form-field"},[l("label",{for:`arg-${r.name}`,class:"field-label"},[q(m(r.label)+" ",1),r.required?(o(),i("span",Bt,"*")):k("",!0)],8,It),r.type==="select"?z((o(),i("select",{key:0,id:`arg-${r.name}`,"onUpdate:modelValue":p=>a.value[r.name]=p,required:r.required,class:"field-select","data-testid":`arg-${r.name}`},[g[3]||(g[3]=l("option",{value:"",disabled:""}," Select an option... ",-1)),(o(!0),i(B,null,N(r.options||[],p=>(o(),i("option",{key:p.value,value:p.value},m(p.label),9,Dt))),128))],8,Nt)),[[de,a.value[r.name]]]):r.type==="multiline"?z((o(),i("textarea",{key:1,id:`arg-${r.name}`,"onUpdate:modelValue":p=>a.value[r.name]=p,required:r.required,placeholder:r.placeholder||"",class:"field-textarea",rows:"4","data-testid":`arg-${r.name}`},null,8,jt)),[[T,a.value[r.name]]]):z((o(),i("input",{key:2,id:`arg-${r.name}`,"onUpdate:modelValue":p=>a.value[r.name]=p,type:"text",required:r.required,placeholder:r.placeholder||"",class:"field-input","data-testid":`arg-${r.name}`},null,8,Pt)),[[T,a.value[r.name]]])]))),128)),l("div",Ut,[l("button",{type:"button",class:"btn btn-secondary",onClick:g[1]||(g[1]=r=>c("back"))}," Back "),l("button",{type:"submit",class:"btn btn-primary",disabled:!h.value||e.executing,"data-testid":"execute-command-btn"},[e.executing?(o(),i("span",Mt)):k("",!0),q(" "+m(e.executeLabel),1)],8,Lt)])],32)]))}},zt=A(Vt,[["__scopeId","data-v-aaa3cc39"]]),Ot={class:"wizard-modal",role:"dialog","aria-labelledby":"wizard-title"},At={class:"wizard-header"},Tt={id:"wizard-title",class:"wizard-title"},Ft={class:"wizard-content"},qt={__name:"SlashCommandWizard",props:{isOpen:{type:Boolean,required:!0},sessionId:{type:String,default:null},workingDirectory:{type:String,default:null},hideBuiltin:{type:Boolean,default:!1},mode:{type:String,default:"execute",validator:e=>["execute","insert"].includes(e)}},emits:["update:isOpen","executed","insert"],setup(e,{emit:t}){const n=e,c=t,a=Ce(),u=Z(),d=D(1),h=D(null),b=D(!1),C=_(()=>n.hideBuiltin?a.customCommands:a.commands),g=_(()=>n.mode==="insert"?"Insert Command":"Execute Command");K(()=>n.isOpen,async y=>{if(y){d.value=1,h.value=null,console.log("[SlashCommandWizard] Opening wizard, workingDirectory:",n.workingDirectory);try{n.workingDirectory?(await a.fetchCommands(n.workingDirectory),console.log("[SlashCommandWizard] Fetched commands:",a.commands.length,"commands")):console.warn("[SlashCommandWizard] No workingDirectory provided, skipping command fetch")}catch($){console.error("[SlashCommandWizard] Failed to fetch commands:",$)}}});function r(){c("update:isOpen",!1),d.value=1,h.value=null}function p(y){if(h.value=y,y.isSkill){d.value=2;return}!y.arguments||y.arguments.length===0?w({}):d.value=2}function S(){d.value=1,h.value=null}async function w(y){if(h.value){if(n.mode==="insert"){const $=V(h.value,y);c("insert",{command:h.value,args:y,text:$}),r();return}if(!n.sessionId){u.error("No session available to execute command");return}b.value=!0;try{await a.executeCommand(n.sessionId,h.value.name,y),c("executed",{command:h.value,args:y}),u.success(`Command /${h.value.name} executed`),r()}catch($){u.error(`Failed to execute command: ${$.message}`)}finally{b.value=!1}}}function V(y,$){let x=`/${y.name}`;if(y.isSkill){const P=$._raw||"";return P&&(x+=` ${P}`),x}const j=[];for(const P of y.arguments||[]){const U=$[P.name];U!==void 0&&U!==""&&(typeof U=="string"&&U.includes(" ")?j.push(`"${U}"`):j.push(String(U)))}return j.length>0&&(x+=` ${j.join(" ")}`),x}return(y,$)=>(o(),E(pe,{to:"body"},[ue(fe,{name:"modal"},{default:me(()=>{var x;return[e.isOpen?(o(),i("div",{key:0,class:"wizard-overlay","data-testid":"slash-command-wizard",onClick:W(r,["self"]),onKeydown:R(r,["escape"])},[l("div",Ot,[l("header",At,[l("h2",Tt,m(d.value===1?"Slash Commands":`Configure /${(x=h.value)==null?void 0:x.name}`),1),l("button",{type:"button",class:"close-btn","aria-label":"Close wizard",onClick:r}," × ")]),l("div",Ft,[d.value===1?(o(),E(yt,{key:0,commands:C.value,loading:G(a).loading,error:G(a).error,"hide-builtin":e.hideBuiltin,onSelect:p,onClose:r},null,8,["commands","loading","error","hide-builtin"])):d.value===2&&h.value?(o(),E(zt,{key:1,command:h.value,executing:b.value,"execute-label":g.value,onBack:S,onSubmit:w},null,8,["command","executing","execute-label"])):k("",!0)])])],32)):k("",!0)]}),_:1})]))}},Jt=A(qt,[["__scopeId","data-v-0f2f2245"]]);export{Rt as M,Qt as S,Jt as a,Gt as u};
|
package/packages/web/dist/assets/{SlashCommandWizard-Dn7sNaBd.css → SlashCommandWizard-DJzw3LP5.css}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
.mode-selector[data-v-224ea1e6]{display:flex;align-items:center;gap:.5rem}.mode-select[data-v-224ea1e6]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:.375rem 2rem .375rem .5rem;font-size:.75rem;font-weight:500;background-color:var(--color-background);border:1px solid var(--color-border);border-radius:.375rem;color:var(--color-text-soft);cursor:pointer;transition:all .15s;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%239ca3af' d='M1.5 4.5l4.5 4 4.5-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;background-size:12px}.mode-select[data-v-224ea1e6]:hover:not(:disabled){border-color:var(--color-border-hover);background-color:var(--color-bg-hover)}.mode-select[data-v-224ea1e6]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #06b6d41a}.mode-select[data-v-224ea1e6]:disabled{opacity:.5;cursor:not-allowed}.mode-select option[data-v-224ea1e6]{background-color:var(--color-background);color:var(--color-text)}.slash-command-btn[data-v-63f59216]{display:flex;align-items:center;gap:.25rem;padding:.375rem .625rem;font-size:.875rem;background:var(--color-background);border:1px solid var(--color-border);border-radius:.375rem;color:var(--color-text-soft);cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}.slash-command-btn[data-v-63f59216]:hover{background:var(--color-bg-hover);border-color:var(--color-accent);color:var(--color-accent)}.slash-icon[data-v-63f59216]{font-size:1rem;font-weight:600;font-family:ui-monospace,monospace}.slash-text[data-v-63f59216]{font-size:.75rem}@media (max-width: 480px){.slash-text[data-v-63f59216]{display:none}.slash-command-btn[data-v-63f59216]{padding:.375rem}}.command-grid[data-v-8ec2a6ee]{display:flex;flex-direction:column;gap:1rem;max-height:60vh;overflow-y:auto}.search-box[data-v-8ec2a6ee]{position:sticky;top:0;z-index:1;background:var(--color-background);padding-bottom:.5rem}.search-input[data-v-8ec2a6ee]{width:100%;padding:.75rem 1rem;font-size:.875rem;background:var(--color-background-soft);border:1px solid var(--color-border);border-radius:.5rem;color:var(--color-text);outline:none;transition:border-color .15s}.search-input[data-v-8ec2a6ee]:focus{border-color:var(--color-primary)}.search-input[data-v-8ec2a6ee]::placeholder{color:var(--color-text-soft)}.loading-state[data-v-8ec2a6ee],.error-state[data-v-8ec2a6ee],.empty-state[data-v-8ec2a6ee]{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:2rem;color:var(--color-text-soft);text-align:center}.error-state[data-v-8ec2a6ee]{color:var(--color-danger, #ef4444)}.loading-spinner[data-v-8ec2a6ee]{width:1.25rem;height:1.25rem;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin-8ec2a6ee .6s linear infinite}@keyframes spin-8ec2a6ee{to{transform:rotate(360deg)}}.command-sections[data-v-8ec2a6ee]{display:flex;flex-direction:column;gap:1.5rem}.command-section[data-v-8ec2a6ee]{display:flex;flex-direction:column;gap:.5rem}.section-title[data-v-8ec2a6ee]{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-soft);margin:0;padding:0 .25rem}.command-cards[data-v-8ec2a6ee]{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.5rem}.command-card[data-v-8ec2a6ee]{display:flex;flex-direction:column;gap:.25rem;padding:.75rem 1rem;background:var(--color-background-soft);border:1px solid var(--color-border);border-radius:.5rem;text-align:left;cursor:pointer;transition:background-color .15s,border-color .15s,transform .1s}.command-card[data-v-8ec2a6ee]:hover{background:var(--color-background-mute);border-color:var(--color-primary)}.command-card[data-v-8ec2a6ee]:active{transform:scale(.98)}.command-name[data-v-8ec2a6ee]{font-size:.875rem;font-weight:600;color:var(--color-primary);font-family:ui-monospace,monospace}.command-description[data-v-8ec2a6ee]{font-size:.75rem;color:var(--color-text-soft);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.command-args-badge[data-v-8ec2a6ee]{display:inline-block;margin-top:.25rem;padding:.125rem .375rem;font-size:.625rem;font-weight:500;text-transform:uppercase;background:#58a6ff26;color:var(--color-primary);border-radius:.25rem;width:fit-content}@media (max-width: 480px){.command-cards[data-v-8ec2a6ee]{grid-template-columns:1fr}}.arguments-form[data-v-aaa3cc39]{display:flex;flex-direction:column;gap:1.5rem}.form-header[data-v-aaa3cc39]{display:flex;flex-direction:column;gap:.25rem}.command-title[data-v-aaa3cc39]{margin:0;font-size:1.25rem;font-weight:600;color:var(--color-primary);font-family:ui-monospace,monospace}.command-description[data-v-aaa3cc39]{margin:0;font-size:.875rem;color:var(--color-text-soft)}.form-fields[data-v-aaa3cc39]{display:flex;flex-direction:column;gap:1rem}.form-field[data-v-aaa3cc39]{display:flex;flex-direction:column;gap:.375rem}.field-label[data-v-aaa3cc39]{font-size:.875rem;font-weight:500;color:var(--color-text)}.required-indicator[data-v-aaa3cc39]{color:var(--color-danger, #ef4444);margin-left:.125rem}.hint[data-v-aaa3cc39]{margin-left:.5rem;font-size:.75rem;font-weight:400;color:var(--color-text-soft);font-family:ui-monospace,monospace}.field-input[data-v-aaa3cc39],.field-select[data-v-aaa3cc39],.field-textarea[data-v-aaa3cc39]{padding:.625rem .875rem;font-size:.875rem;background:var(--color-background-soft);border:1px solid var(--color-border);border-radius:.5rem;color:var(--color-text);outline:none;transition:border-color .15s}.field-input[data-v-aaa3cc39]:focus,.field-select[data-v-aaa3cc39]:focus,.field-textarea[data-v-aaa3cc39]:focus{border-color:var(--color-primary)}.field-input[data-v-aaa3cc39]::placeholder,.field-textarea[data-v-aaa3cc39]::placeholder{color:var(--color-text-soft)}.field-textarea[data-v-aaa3cc39]{resize:vertical;min-height:100px}.field-select[data-v-aaa3cc39]{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2.5rem}.form-actions[data-v-aaa3cc39]{display:flex;justify-content:flex-end;gap:.75rem;margin-top:.5rem;padding-top:1rem;border-top:1px solid var(--color-border)}.btn[data-v-aaa3cc39]{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;border-radius:.5rem;cursor:pointer;transition:background-color .15s,border-color .15s}.btn-primary[data-v-aaa3cc39]{background:var(--color-primary, #3b82f6);border:1px solid var(--color-primary, #3b82f6);color:#fff}.btn-primary[data-v-aaa3cc39]:hover:not(:disabled){background:var(--color-primary-soft);border-color:var(--color-primary-soft)}.btn-primary[data-v-aaa3cc39]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-aaa3cc39]{background:var(--color-background-soft);border:1px solid var(--color-border);color:var(--color-text-soft)}.btn-secondary[data-v-aaa3cc39]:hover{background:var(--color-background-mute);border-color:var(--color-border)}.loading-spinner[data-v-aaa3cc39]{width:1rem;height:1rem;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-aaa3cc39 .6s linear infinite}@keyframes spin-aaa3cc39{to{transform:rotate(360deg)}}@media (max-width: 480px){.form-actions[data-v-aaa3cc39]{flex-direction:column-reverse}.btn[data-v-aaa3cc39]{width:100%}}.wizard-overlay[data-v-
|
|
1
|
+
.mode-selector[data-v-224ea1e6]{display:flex;align-items:center;gap:.5rem}.mode-select[data-v-224ea1e6]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:.375rem 2rem .375rem .5rem;font-size:.75rem;font-weight:500;background-color:var(--color-background);border:1px solid var(--color-border);border-radius:.375rem;color:var(--color-text-soft);cursor:pointer;transition:all .15s;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%239ca3af' d='M1.5 4.5l4.5 4 4.5-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;background-size:12px}.mode-select[data-v-224ea1e6]:hover:not(:disabled){border-color:var(--color-border-hover);background-color:var(--color-bg-hover)}.mode-select[data-v-224ea1e6]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #06b6d41a}.mode-select[data-v-224ea1e6]:disabled{opacity:.5;cursor:not-allowed}.mode-select option[data-v-224ea1e6]{background-color:var(--color-background);color:var(--color-text)}.slash-command-btn[data-v-63f59216]{display:flex;align-items:center;gap:.25rem;padding:.375rem .625rem;font-size:.875rem;background:var(--color-background);border:1px solid var(--color-border);border-radius:.375rem;color:var(--color-text-soft);cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}.slash-command-btn[data-v-63f59216]:hover{background:var(--color-bg-hover);border-color:var(--color-accent);color:var(--color-accent)}.slash-icon[data-v-63f59216]{font-size:1rem;font-weight:600;font-family:ui-monospace,monospace}.slash-text[data-v-63f59216]{font-size:.75rem}@media (max-width: 480px){.slash-text[data-v-63f59216]{display:none}.slash-command-btn[data-v-63f59216]{padding:.375rem}}.command-grid[data-v-8ec2a6ee]{display:flex;flex-direction:column;gap:1rem;max-height:60vh;overflow-y:auto}.search-box[data-v-8ec2a6ee]{position:sticky;top:0;z-index:1;background:var(--color-background);padding-bottom:.5rem}.search-input[data-v-8ec2a6ee]{width:100%;padding:.75rem 1rem;font-size:.875rem;background:var(--color-background-soft);border:1px solid var(--color-border);border-radius:.5rem;color:var(--color-text);outline:none;transition:border-color .15s}.search-input[data-v-8ec2a6ee]:focus{border-color:var(--color-primary)}.search-input[data-v-8ec2a6ee]::placeholder{color:var(--color-text-soft)}.loading-state[data-v-8ec2a6ee],.error-state[data-v-8ec2a6ee],.empty-state[data-v-8ec2a6ee]{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:2rem;color:var(--color-text-soft);text-align:center}.error-state[data-v-8ec2a6ee]{color:var(--color-danger, #ef4444)}.loading-spinner[data-v-8ec2a6ee]{width:1.25rem;height:1.25rem;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin-8ec2a6ee .6s linear infinite}@keyframes spin-8ec2a6ee{to{transform:rotate(360deg)}}.command-sections[data-v-8ec2a6ee]{display:flex;flex-direction:column;gap:1.5rem}.command-section[data-v-8ec2a6ee]{display:flex;flex-direction:column;gap:.5rem}.section-title[data-v-8ec2a6ee]{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-soft);margin:0;padding:0 .25rem}.command-cards[data-v-8ec2a6ee]{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.5rem}.command-card[data-v-8ec2a6ee]{display:flex;flex-direction:column;gap:.25rem;padding:.75rem 1rem;background:var(--color-background-soft);border:1px solid var(--color-border);border-radius:.5rem;text-align:left;cursor:pointer;transition:background-color .15s,border-color .15s,transform .1s}.command-card[data-v-8ec2a6ee]:hover{background:var(--color-background-mute);border-color:var(--color-primary)}.command-card[data-v-8ec2a6ee]:active{transform:scale(.98)}.command-name[data-v-8ec2a6ee]{font-size:.875rem;font-weight:600;color:var(--color-primary);font-family:ui-monospace,monospace}.command-description[data-v-8ec2a6ee]{font-size:.75rem;color:var(--color-text-soft);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.command-args-badge[data-v-8ec2a6ee]{display:inline-block;margin-top:.25rem;padding:.125rem .375rem;font-size:.625rem;font-weight:500;text-transform:uppercase;background:#58a6ff26;color:var(--color-primary);border-radius:.25rem;width:fit-content}@media (max-width: 480px){.command-cards[data-v-8ec2a6ee]{grid-template-columns:1fr}}.arguments-form[data-v-aaa3cc39]{display:flex;flex-direction:column;gap:1.5rem}.form-header[data-v-aaa3cc39]{display:flex;flex-direction:column;gap:.25rem}.command-title[data-v-aaa3cc39]{margin:0;font-size:1.25rem;font-weight:600;color:var(--color-primary);font-family:ui-monospace,monospace}.command-description[data-v-aaa3cc39]{margin:0;font-size:.875rem;color:var(--color-text-soft)}.form-fields[data-v-aaa3cc39]{display:flex;flex-direction:column;gap:1rem}.form-field[data-v-aaa3cc39]{display:flex;flex-direction:column;gap:.375rem}.field-label[data-v-aaa3cc39]{font-size:.875rem;font-weight:500;color:var(--color-text)}.required-indicator[data-v-aaa3cc39]{color:var(--color-danger, #ef4444);margin-left:.125rem}.hint[data-v-aaa3cc39]{margin-left:.5rem;font-size:.75rem;font-weight:400;color:var(--color-text-soft);font-family:ui-monospace,monospace}.field-input[data-v-aaa3cc39],.field-select[data-v-aaa3cc39],.field-textarea[data-v-aaa3cc39]{padding:.625rem .875rem;font-size:.875rem;background:var(--color-background-soft);border:1px solid var(--color-border);border-radius:.5rem;color:var(--color-text);outline:none;transition:border-color .15s}.field-input[data-v-aaa3cc39]:focus,.field-select[data-v-aaa3cc39]:focus,.field-textarea[data-v-aaa3cc39]:focus{border-color:var(--color-primary)}.field-input[data-v-aaa3cc39]::placeholder,.field-textarea[data-v-aaa3cc39]::placeholder{color:var(--color-text-soft)}.field-textarea[data-v-aaa3cc39]{resize:vertical;min-height:100px}.field-select[data-v-aaa3cc39]{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2.5rem}.form-actions[data-v-aaa3cc39]{display:flex;justify-content:flex-end;gap:.75rem;margin-top:.5rem;padding-top:1rem;border-top:1px solid var(--color-border)}.btn[data-v-aaa3cc39]{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;border-radius:.5rem;cursor:pointer;transition:background-color .15s,border-color .15s}.btn-primary[data-v-aaa3cc39]{background:var(--color-primary, #3b82f6);border:1px solid var(--color-primary, #3b82f6);color:#fff}.btn-primary[data-v-aaa3cc39]:hover:not(:disabled){background:var(--color-primary-soft);border-color:var(--color-primary-soft)}.btn-primary[data-v-aaa3cc39]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-aaa3cc39]{background:var(--color-background-soft);border:1px solid var(--color-border);color:var(--color-text-soft)}.btn-secondary[data-v-aaa3cc39]:hover{background:var(--color-background-mute);border-color:var(--color-border)}.loading-spinner[data-v-aaa3cc39]{width:1rem;height:1rem;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-aaa3cc39 .6s linear infinite}@keyframes spin-aaa3cc39{to{transform:rotate(360deg)}}@media (max-width: 480px){.form-actions[data-v-aaa3cc39]{flex-direction:column-reverse}.btn[data-v-aaa3cc39]{width:100%}}.wizard-overlay[data-v-0f2f2245]{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:#0009;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1250}.wizard-modal[data-v-0f2f2245]{width:100%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;background:var(--color-background);border:1px solid var(--color-border);border-radius:.75rem;box-shadow:0 20px 50px #0006;overflow:hidden}.wizard-header[data-v-0f2f2245]{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--color-border);flex-shrink:0}.wizard-title[data-v-0f2f2245]{margin:0;font-size:1.125rem;font-weight:600;color:var(--color-text)}.close-btn[data-v-0f2f2245]{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;font-size:1.5rem;font-weight:400;background:transparent;border:none;border-radius:.375rem;color:var(--color-text-soft);cursor:pointer;transition:background-color .15s,color .15s}.close-btn[data-v-0f2f2245]:hover{background:var(--color-background-soft);color:var(--color-text)}.wizard-content[data-v-0f2f2245]{flex:1;padding:1.25rem;overflow-y:auto}.modal-enter-active[data-v-0f2f2245],.modal-leave-active[data-v-0f2f2245]{transition:opacity .2s ease}.modal-enter-active .wizard-modal[data-v-0f2f2245],.modal-leave-active .wizard-modal[data-v-0f2f2245]{transition:transform .2s ease}.modal-enter-from[data-v-0f2f2245],.modal-leave-to[data-v-0f2f2245]{opacity:0}.modal-enter-from .wizard-modal[data-v-0f2f2245]{transform:scale(.95) translateY(-10px)}.modal-leave-to .wizard-modal[data-v-0f2f2245]{transform:scale(.95) translateY(10px)}@media (max-width: 640px){.wizard-modal[data-v-0f2f2245]{margin:1rem;max-height:calc(100vh - 2rem)}}
|
package/packages/web/dist/assets/{SummarySettingsView-BgnRCwlq.js → SummarySettingsView-C2Qs35mm.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as V,k,o as M,l as _,u as x,a as v,c as p,b as a,f,m as P,
|
|
1
|
+
import{_ as V,k,o as M,l as _,u as x,a as v,c as p,b as a,f,m as P,s as T,d as S,t as y,i as b,j as I,n as i}from"./index-C2QFVD7d.js";import{u as C}from"./settings-DtpuiyT6.js";import{R as U}from"./ResizableTextarea-DpWdIAP6.js";import{M as R}from"./ModelSelector-72C7MUH4.js";import"./ApiClient-DfbJwzpz.js";import"./providers-oXifvvqN.js";const D={key:0,class:"loading-state"},N={class:"form-group"},B={class:"checkbox-label"},z={class:"form-group"},j={class:"form-group"},E={key:0,class:"error-message"},L={class:"form-actions"},W=["disabled"],q={key:0,class:"loading-spinner"},A=["disabled"],F={__name:"SummarySettingsView",setup(G){const u=C(),c=k(),m=i(!1),d=i(""),o=i(""),n=i(null),l=i(!1),r=i(null);M(()=>{u.fetchSummarySettings()}),_(()=>u.summarySettings,s=>{s&&(m.value=s.disableSessionSummaries,o.value=s.summaryModel||"",n.value=s.summaryProviderId||null,d.value=s.sessionTitlePrompt||s.defaultSessionTitlePrompt||"")},{immediate:!0});function g(s){o.value=s.modelId||"",n.value=s.providerId||null}async function h(){l.value=!0,r.value=null;try{await u.updateSummarySettings({disableSessionSummaries:m.value,sessionTitlePrompt:d.value,summaryModel:o.value||"",summaryProviderId:o.value?n.value:null}),c.success("Summary settings saved successfully")}catch(s){r.value=s.message}finally{l.value=!1}}async function w(){if(confirm("Reset all summary settings to defaults?")){l.value=!0,r.value=null;try{await u.resetSummarySettings(),c.success("Summary settings reset to defaults")}catch(s){r.value=s.message}finally{l.value=!1}}}return(s,e)=>x(u).loading?(v(),p("div",D,[...e[4]||(e[4]=[a("span",{class:"loading-spinner"},null,-1),f(" Loading... ",-1)])])):(v(),p("form",{key:1,class:"form card",onSubmit:I(h,["prevent"])},[a("div",N,[a("label",B,[P(a("input",{"onUpdate:modelValue":e[0]||(e[0]=t=>m.value=t),type:"checkbox"},null,512),[[T,m.value]]),e[5]||(e[5]=f(" Disable session summaries ",-1))]),e[6]||(e[6]=a("p",{class:"form-help"}," When enabled, automatic session summaries will not be generated. Session summaries provide an overview of what was accomplished. ",-1))]),a("div",z,[e[7]||(e[7]=a("label",{class:"form-label",for:"model-select"},"Summary Model",-1)),S(R,{modelValue:o.value,"onUpdate:modelValue":e[1]||(e[1]=t=>o.value=t),"provider-id":n.value,"onUpdate:providerId":e[2]||(e[2]=t=>n.value=t),"allow-empty":"","empty-label":"Use default summary model","hide-built-in-duplicates":!1,"select-class":"form-input",onModelSelected:g},null,8,["modelValue","provider-id"]),e[8]||(e[8]=a("p",{class:"form-help"}," Choose the model used when summaries are generated. ",-1))]),a("div",j,[e[9]||(e[9]=a("label",{class:"form-label",for:"sessionTitlePrompt"},"Custom Session Title Prompt",-1)),S(U,{id:"sessionTitlePrompt",modelValue:d.value,"onUpdate:modelValue":e[3]||(e[3]=t=>d.value=t),class:"form-input form-textarea-small","min-height":120,"max-height":400},null,8,["modelValue"]),e[10]||(e[10]=a("p",{class:"form-help"}," Customize how session titles are generated. ",-1))]),r.value?(v(),p("div",E,y(r.value),1)):b("",!0),a("div",L,[a("button",{type:"submit",class:"btn btn-primary",disabled:l.value},[l.value?(v(),p("span",q)):b("",!0),f(" "+y(l.value?"Saving...":"Save Settings"),1)],8,W),a("button",{type:"button",class:"btn btn-secondary",disabled:l.value,onClick:w}," Reset to Defaults ",8,A)])],32))}},Y=V(F,[["__scopeId","data-v-eba265f3"]]);export{Y as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.template-detail[data-v-b2a9a2fa]{max-width:700px;margin:0 auto;padding:2rem 0}.loading-state[data-v-b2a9a2fa]{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:3rem;color:var(--color-text-soft)}.form-container[data-v-b2a9a2fa]{display:flex;flex-direction:column;gap:2rem}.form-header[data-v-b2a9a2fa]{display:flex;align-items:center;gap:1rem}.form-header h2[data-v-b2a9a2fa]{margin:0;color:var(--color-text);flex:1}.template-form[data-v-b2a9a2fa]{display:flex;flex-direction:column;gap:1.5rem;background-color:var(--color-background-soft);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:2rem}.form-group[data-v-b2a9a2fa]{display:flex;flex-direction:column;gap:.5rem}.form-group label[data-v-b2a9a2fa]{font-weight:500;color:var(--color-text);font-size:.95rem}.form-input[data-v-b2a9a2fa]{padding:.75rem;background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text);font-family:inherit;font-size:.95rem;transition:border-color .2s}.form-input[data-v-b2a9a2fa]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #58a6ff1a}.form-input[data-v-b2a9a2fa]:disabled{opacity:.6;cursor:not-allowed;background-color:var(--color-bg-soft)}.form-input[data-v-b2a9a2fa]::placeholder{color:var(--color-text-soft)}[data-v-b2a9a2fa] textarea.form-textarea{font-family:var(--font-mono);font-size:.85rem;min-height:120px;line-height:1.5}.form-help[data-v-b2a9a2fa]{font-size:.85rem;color:var(--color-text-soft);margin:0}.form-help code[data-v-b2a9a2fa]{background:var(--color-bg-soft);padding:.1rem .3rem;border-radius:3px;font-size:.8rem}.form-group-checkbox[data-v-b2a9a2fa]{gap:.25rem}.checkbox-label[data-v-b2a9a2fa]{display:flex;align-items:center;gap:.5rem;font-weight:500;color:var(--color-text);font-size:.95rem;cursor:pointer;-webkit-user-select:none;user-select:none}.form-checkbox[data-v-b2a9a2fa]{width:18px;height:18px;cursor:pointer;accent-color:var(--color-primary)}.form-check[data-v-b2a9a2fa]{display:flex;align-items:center;gap:.5rem;font-weight:500;color:var(--color-text);cursor:pointer}.form-check input[data-v-b2a9a2fa]{cursor:pointer}.form-error-message[data-v-b2a9a2fa]{padding:.75rem;background-color:#f851491a;border:1px solid var(--color-error);border-radius:var(--border-radius);color:var(--color-error);font-size:.9rem}.form-actions[data-v-b2a9a2fa]{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1rem}.form-actions button[data-v-b2a9a2fa]:disabled{opacity:.6;cursor:not-allowed}.modal-overlay[data-v-b2a9a2fa]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-dialog[data-v-b2a9a2fa]{background-color:var(--color-background-soft);border:1px solid var(--color-border);border-radius:var(--border-radius);max-width:400px;width:90%;overflow:hidden}.modal-header[data-v-b2a9a2fa]{padding:1rem;border-bottom:1px solid var(--color-border)}.modal-header h4[data-v-b2a9a2fa]{margin:0;color:var(--color-text)}.modal-body[data-v-b2a9a2fa]{padding:1.5rem 1rem;color:var(--color-text-soft)}.modal-body p[data-v-b2a9a2fa]{margin:.5rem 0}.modal-footer[data-v-b2a9a2fa]{padding:1rem;border-top:1px solid var(--color-border);display:flex;gap:.5rem;justify-content:flex-end}@media (max-width: 640px){.template-detail[data-v-b2a9a2fa]{padding:1rem}.form-header[data-v-b2a9a2fa]{flex-direction:column;align-items:flex-start}.template-form[data-v-b2a9a2fa]{padding:1.5rem 1rem}.form-actions[data-v-b2a9a2fa]{flex-direction:column-reverse}.form-actions button[data-v-b2a9a2fa]{width:100%}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{_ as M,k as N,o as Q,a as n,c as r,b as l,f as k,d as f,w as $,m as u,v as h,q as x,F,r as G,s as O,t as d,i as S,j as E,z as w,n as m,g as P,h as q,B as z}from"./index-C2QFVD7d.js";import{u as A,E as H}from"./EffortLevelSelector-D2Hdzc_8.js";import{a as Y}from"./ApiClient-DfbJwzpz.js";import{M as J}from"./ModelSelector-72C7MUH4.js";import{I as K}from"./InterpolationHelp-Dxn1li4l.js";import{R as W}from"./ResizableTextarea-DpWdIAP6.js";import"./sessions-Nq5VafSf.js";import"./providers-oXifvvqN.js";const X={class:"container template-detail"},Z={key:0,class:"loading-state"},_={key:1,class:"form-container"},ee={class:"form-header"},le={class:"form-group"},te={class:"form-group"},oe={class:"form-group"},ae=["value"],se={class:"form-group"},ne={class:"form-group"},re={class:"form-group"},ie={class:"form-group"},ue={class:"form-group"},de={class:"form-group"},me={class:"form-check"},pe={class:"form-actions"},ve=["disabled"],fe={key:0,class:"form-error-message"},be={class:"modal-body"},ge={class:"modal-footer"},ce=["disabled"],ke={__name:"TemplateDetailView",setup(ye){const V=z(),y=q(),p=A(),i=N(),T=m(!1),b=m(!1),g=m(!1),v=m(!1),s=m(null),t=m({name:"",prompt:"",isGlobal:!1,nextTemplateId:null,thinkingEnabled:null,gitBranch:"",model:null,mode:null,effortLevel:null,showInQuickResponses:!1}),c=w(()=>V.params.projectId),I=w(()=>V.params.templateId),B=w(()=>[...p.projectTemplates,...p.globalTemplates]),C=async()=>{T.value=!0,s.value=null;try{const o=await Y.getTemplate(I.value);o&&(t.value={name:o.name,prompt:o.prompt,isGlobal:!o.projectId,nextTemplateId:o.nextTemplateId??null,thinkingEnabled:o.thinkingEnabled,gitBranch:o.gitBranch||"",model:o.model,mode:o.mode,effortLevel:o.effortLevel??null,showInQuickResponses:o.showInQuickResponses})}catch(o){s.value=`Failed to load template: ${o.message}`,i.error(o.message)}finally{T.value=!1}},D=async()=>{s.value=null,b.value=!0;try{const o={name:t.value.name,prompt:t.value.prompt,nextTemplateId:t.value.nextTemplateId??null,thinkingEnabled:t.value.thinkingEnabled,gitBranch:t.value.gitBranch||void 0,model:t.value.model,mode:t.value.mode,effortLevel:t.value.effortLevel,showInQuickResponses:t.value.showInQuickResponses};await p.updateTemplate(I.value,o),i.success("Template updated"),y.push(`/projects/${c.value}/templates`)}catch(o){s.value=o.message,i.error(o.message)}finally{b.value=!1}},L=()=>{y.back()},R=()=>{v.value=!0},U=async()=>{g.value=!0,s.value=null;try{await p.deleteTemplate(I.value),i.success("Template deleted"),v.value=!1,y.push(`/projects/${c.value}/templates`)}catch(o){s.value=o.message,i.error(o.message)}finally{g.value=!1}};return Q(async()=>{await Promise.all([C(),p.fetchProjectTemplates(c.value).catch(o=>{s.value=`Failed to load available templates: ${o.message}`,i.error(o.message)})])}),(o,e)=>{const j=P("router-link");return n(),r("div",X,[T.value?(n(),r("div",Z,[...e[12]||(e[12]=[l("span",{class:"loading-spinner"},null,-1),k(" Loading... ",-1)])])):(n(),r("div",_,[l("div",ee,[f(j,{to:`/projects/${c.value}/templates`,class:"btn btn-outline-secondary"},{default:$(()=>[...e[13]||(e[13]=[k(" ← Back ",-1)])]),_:1},8,["to"]),e[14]||(e[14]=l("h2",null,"Edit Template",-1))]),l("form",{class:"template-form",onSubmit:E(D,["prevent"])},[l("div",le,[e[15]||(e[15]=l("label",{for:"name"},"Name",-1)),u(l("input",{id:"name","onUpdate:modelValue":e[0]||(e[0]=a=>t.value.name=a),type:"text",class:"form-input",placeholder:"Template name",required:""},null,512),[[h,t.value.name]])]),l("div",te,[e[16]||(e[16]=l("label",{for:"prompt"},"Prompt",-1)),f(W,{id:"prompt",modelValue:t.value.prompt,"onUpdate:modelValue":e[1]||(e[1]=a=>t.value.prompt=a),class:"form-input form-textarea",placeholder:"Session prompt. Use {{rootSession.summary}} to reference root session data.","min-height":120,required:""},null,8,["modelValue"]),f(K)]),l("div",oe,[e[18]||(e[18]=l("label",{for:"nextTemplate"},"Next Template (Optional)",-1)),u(l("select",{id:"nextTemplate","onUpdate:modelValue":e[2]||(e[2]=a=>t.value.nextTemplateId=a),class:"form-input"},[e[17]||(e[17]=l("option",{value:null}," None ",-1)),(n(!0),r(F,null,G(B.value,a=>(n(),r("option",{key:a.id,value:a.id},d(a.name)+" "+d(a.projectId?"":"(Global)"),9,ae))),128))],512),[[x,t.value.nextTemplateId]]),e[19]||(e[19]=l("p",{class:"form-help"}," Chain another template to run after this one completes. ",-1))]),l("div",se,[e[21]||(e[21]=l("label",{for:"thinkingEnabled"},"Extended Thinking",-1)),u(l("select",{id:"thinkingEnabled","onUpdate:modelValue":e[3]||(e[3]=a=>t.value.thinkingEnabled=a),class:"form-input"},[...e[20]||(e[20]=[l("option",{value:null}," Inherit from root session ",-1),l("option",{value:!0}," Enabled ",-1),l("option",{value:!1}," Disabled ",-1)])],512),[[x,t.value.thinkingEnabled]])]),l("div",ne,[e[22]||(e[22]=l("label",{for:"model"},"Model",-1)),f(J,{modelValue:t.value.model,"onUpdate:modelValue":e[4]||(e[4]=a=>t.value.model=a),"allow-empty":!0,"empty-label":"Inherit from root session"},null,8,["modelValue"])]),l("div",re,[e[24]||(e[24]=l("label",{for:"mode"},"Mode",-1)),u(l("select",{id:"mode","onUpdate:modelValue":e[5]||(e[5]=a=>t.value.mode=a),class:"form-input"},[...e[23]||(e[23]=[l("option",{value:null}," Inherit from root session ",-1),l("option",{value:"plan"}," Plan ",-1),l("option",{value:"standard"}," Standard ",-1),l("option",{value:"yolo"}," YOLO ",-1)])],512),[[x,t.value.mode]])]),l("div",ie,[e[25]||(e[25]=l("label",{for:"effort-level"},"Effort Level",-1)),f(H,{modelValue:t.value.effortLevel,"onUpdate:modelValue":e[6]||(e[6]=a=>t.value.effortLevel=a)},null,8,["modelValue"])]),l("div",ue,[e[26]||(e[26]=l("label",{for:"gitBranch"},"Git Branch (Optional)",-1)),u(l("input",{id:"gitBranch","onUpdate:modelValue":e[7]||(e[7]=a=>t.value.gitBranch=a),type:"text",class:"form-input",placeholder:"Leave empty to inherit from root session"},null,512),[[h,t.value.gitBranch]])]),l("div",de,[l("label",me,[u(l("input",{"onUpdate:modelValue":e[8]||(e[8]=a=>t.value.showInQuickResponses=a),type:"checkbox"},null,512),[[O,t.value.showInQuickResponses]]),e[27]||(e[27]=l("span",null,"Show in Quick Responses",-1))])]),l("div",pe,[l("button",{type:"button",class:"btn btn-outline-secondary",onClick:L}," Cancel "),l("button",{type:"button",class:"btn btn-outline-danger",onClick:R}," Delete "),l("button",{type:"submit",class:"btn btn-primary",disabled:b.value},d(b.value?"Saving...":"Save"),9,ve)]),s.value?(n(),r("div",fe,d(s.value),1)):S("",!0)],32)])),v.value?(n(),r("div",{key:2,class:"modal-overlay",onClick:e[11]||(e[11]=a=>v.value=!1)},[l("div",{class:"modal-dialog",onClick:e[10]||(e[10]=E(()=>{},["stop"]))},[e[31]||(e[31]=l("div",{class:"modal-header"},[l("h4",null,"Delete Template")],-1)),l("div",be,[l("p",null,[e[28]||(e[28]=k('Are you sure you want to delete "',-1)),l("strong",null,d(t.value.name),1),e[29]||(e[29]=k('"?',-1))]),e[30]||(e[30]=l("p",null,"This action cannot be undone.",-1))]),l("div",ge,[l("button",{class:"btn btn-outline-secondary",onClick:e[9]||(e[9]=a=>v.value=!1)}," Cancel "),l("button",{class:"btn btn-danger",disabled:g.value,onClick:U},d(g.value?"Deleting...":"Delete"),9,ce)])])])):S("",!0)])}}},Be=M(ke,[["__scopeId","data-v-b2a9a2fa"]]);export{Be as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{p as h}from"./index-C2QFVD7d.js";import{a as o}from"./ApiClient-DfbJwzpz.js";const i=2e3,p=300;function a(t){const e=t.split(`
|
|
2
2
|
`);return e.length<=i?{output:t,truncated:!1}:{output:e.slice(-i).join(`
|
|
3
3
|
`),truncated:!0}}function f(t,e,u){const{output:s,truncated:n}=a(t.output||""),r=!s&&(u==null?void 0:u.output);return{runId:e,buttonId:t.buttonId,sessionId:t.sessionId,status:t.status||"running",output:r?u.output:s,exitCode:t.exitCode??null,startedAt:t.startedAt,completedAt:t.completedAt,outputTruncated:r?u.outputTruncated:n}}function l(t,e){const u=t._outputBuffers[e];if(!u||!t.runs[e]){delete t._outputBuffers[e],delete t._flushTimers[e];return}if(t.runs[e].status!=="running"){delete t._outputBuffers[e],delete t._flushTimers[e];return}const s=t.runs[e].output+u,{output:n,truncated:r}=a(s);t.$patch({runs:{[e]:{...t.runs[e],output:n,outputTruncated:t.runs[e].outputTruncated||r}}}),delete t._outputBuffers[e],delete t._flushTimers[e]}function d(t,e,u){if(!t.runs[e]||t.runs[e].status!=="running")return;const s=Date.now(),n=t._lastAppendedText[e];n&&n.text===u&&s-n.timestamp<100||(t._lastAppendedText[e]={text:u,timestamp:s},t._outputBuffers[e]=(t._outputBuffers[e]||"")+u,t._flushTimers[e]||(t._flushTimers[e]=setTimeout(()=>{l(t,e)},p)))}function m(t,e){t._flushTimers[e]&&(clearTimeout(t._flushTimers[e]),delete t._flushTimers[e]),t._outputBuffers[e]&&l(t,e)}function T(t,e,u){const{output:s,truncated:n}=a(t.output||""),r=!s&&(u!=null&&u.output)?u.output:s,c=!s&&(u!=null&&u.output)?u.outputTruncated:n;return{runId:t.runId,buttonId:t.buttonId,sessionId:e,status:t.status||"running",output:r,exitCode:t.exitCode!==void 0?t.exitCode:null,startedAt:t.startedAt,completedAt:t.completedAt,outputTruncated:c}}function _(t,e,u){let s=t.output,n=t.outputTruncated;if(u&&u.length>t.output.length){const r=a(u);s=r.output,n=r.truncated}return{...t,exitCode:e,completedAt:Date.now(),output:s,outputTruncated:n,status:e===0?"success":"error"}}function B(t,e){const u=`${t.output}
|
|
4
4
|
[Error] ${e}`,{output:s,truncated:n}=a(u);return{...t,status:"error",output:s,outputTruncated:t.outputTruncated||n}}const b=h("commandButtons",{state:()=>({buttons:[],runs:{},collapsedStates:{},loading:!1,error:null,_outputBuffers:{},_flushTimers:{},_lastAppendedText:{}}),getters:{getButtonById:t=>e=>t.buttons.find(u=>u.id===e),getRun:t=>e=>t.runs[e],activeRuns:t=>Object.values(t.runs).filter(e=>e.status==="running"),getButtonsByProjectId:t=>e=>t.buttons.filter(u=>u.projectId===e),getLatestRunForButton:t=>(e,u)=>{const s=Object.values(t.runs).filter(n=>n.buttonId===e&&n.sessionId===u).sort((n,r)=>(r.startedAt||0)-(n.startedAt||0));return s.length>0?s[0]:null},isOutputCollapsed:t=>e=>t.collapsedStates[e]!==void 0?t.collapsedStates[e]:!0},actions:{async fetchButtons(t){this.loading=!0,this.error=null;try{const e=await o.getCommandButtons(t);this.buttons=this.buttons.filter(u=>u.projectId!==t),this.buttons.push(...e)}catch(e){this.error=e.message}finally{this.loading=!1}},async createButton(t,e){this.error=null;try{const u=await o.createCommandButton(t,e);return this.buttons.push(u),u}catch(u){throw this.error=u.message,u}},async updateButton(t,e,u){this.error=null;try{const s=await o.updateCommandButton(t,e,u),n=this.buttons.findIndex(r=>r.id===e);return n>=0&&(this.buttons[n]=s),s}catch(s){throw this.error=s.message,s}},async deleteButton(t,e){this.error=null;try{await o.deleteCommandButton(t,e),this.buttons=this.buttons.filter(u=>u.id!==e)}catch(u){throw this.error=u.message,u}},async runButton(t,e){this.error=null;try{const u=await o.runCommandButton(t,e),s=u.runId;return this.runs[s]={runId:s,buttonId:e,sessionId:t,status:"running",output:u.output||"",exitCode:null,startedAt:Date.now(),outputTruncated:!1},s}catch(u){throw this.error=u.message,u}},async killRun(t,e){try{await o.killCommandRun(t,e)}catch(u){if(this.runs[e]&&this.runs[e].status==="running"){this.runs[e]={...this.runs[e],status:"error",exitCode:-1,completedAt:Date.now()},console.log(`[killRun] Process ${e} not found on server, updated UI state to error`);return}throw u}},async fetchActiveRuns(t){this.error=null;try{const e=await o.getActiveRuns(t);for(const u of e)this.runs[u.runId]=T(u,t,this.runs[u.runId]);return e}catch(e){return this.error=`Failed to fetch active runs: ${e.message}`,console.error(this.error,e),[]}},async fetchLatestRunsForProject(t){var e;this.error=null;try{const u=await o.getLatestRunsForProject(t);for(const s of u){const n=s.id||s.runId;((e=this.runs[n])==null?void 0:e.status)!=="running"&&(this.runs[n]=f(s,n,this.runs[n]))}return u}catch(u){return this.error=`Failed to fetch latest runs: ${u.message}`,console.error(this.error,u),[]}},appendOutput(t,e){d(this,t,e)},flushPendingOutput(t){m(this,t)},completeRun(t,e,u){this.runs[t]&&(this.flushPendingOutput(t),delete this._lastAppendedText[t],this.$patch({runs:{[t]:_(this.runs[t],e,u)}}))},errorRun(t,e){this.runs[t]&&(this.flushPendingOutput(t),this.$patch({runs:{[t]:B(this.runs[t],e)}}))},async fetchRunOutput(t,e){const u=this.runs[e];if(!(!u||u.status==="running")&&!(u.output&&u.output.length>0))try{const s=await o.getCommandRun(t,e);if(s.output&&this.runs[e]){const{output:n,truncated:r}=a(s.output);this.runs[e]={...this.runs[e],output:n,outputTruncated:r}}}catch(s){console.warn(`[commandButtons] Failed to fetch output for run ${e}:`,s.message)}},setOutputCollapsed(t,e){this.collapsedStates[t]=e},async deleteRun(t,e){await o.deleteCommandRun(t,e),this.clearRun(e)},async deleteAllRunsForButton(t,e){await o.deleteAllRunsForButton(t,e);for(const u of Object.keys(this.runs))this.runs[u].buttonId===e&&this.runs[u].sessionId===t&&this.clearRun(u)},clearRun(t){this._flushTimers[t]&&(clearTimeout(this._flushTimers[t]),delete this._flushTimers[t]),delete this._outputBuffers[t],delete this._lastAppendedText[t],delete this.runs[t],delete this.collapsedStates[t]},clearAllRuns(){for(const t of Object.keys(this._flushTimers))clearTimeout(this._flushTimers[t]);this._flushTimers={},this._outputBuffers={},this._lastAppendedText={},this.runs={},this.collapsedStates={}}}});export{b as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{e as W,E as S,C as B,s as U,t as n,a as m,q as E,L as C,i as u,k as v,f as M,l as N}from"./index-BjuRttEY.js";import"./index-C2QFVD7d.js";import"./SessionDetailView-B59TEkr-.js";import"./sessions-Nq5VafSf.js";import"./ApiClient-DfbJwzpz.js";import"./projects-C-8PSxKi.js";import"./EffortLevelSelector-D2Hdzc_8.js";import"./SessionLogStream-5NfVr9pF.js";import"./commandButtons-CoU3G4zK.js";import"./SlashCommandWizard-BQ_rMzn-.js";import"./providers-oXifvvqN.js";import"./useSummaryHelpers-GVg7sMWF.js";import"./ModelSelector-72C7MUH4.js";import"./ArchiveConfirmModal-DXZYdzHR.js";import"./projectDefaults-B8esIcYq.js";import"./QuickResponsesPanel-BqmnTd-D.js";import"./ResizableTextarea-DpWdIAP6.js";const c=63,D=64,j=1,A=2,y=3,H=4,Z=5,F=6,I=7,z=65,K=66,J=8,OO=9,eO=10,aO=11,rO=12,V=13,tO=19,nO=20,oO=29,PO=33,QO=34,sO=47,lO=0,$=1,b=2,d=3,g=4;class s{constructor(e,a,r){this.parent=e,this.depth=a,this.type=r,this.hash=(e?e.hash+e.hash<<8:0)+a+(a<<4)+r}}s.top=new s(null,-1,lO);function X(O,e){for(let a=0,r=e-O.pos-1;;r--,a++){let o=O.peek(r);if(P(o)||o==-1)return a}}function x(O){return O==32||O==9}function P(O){return O==10||O==13}function _(O){return x(O)||P(O)}function l(O){return O<0||_(O)}const cO=new B({start:s.top,reduce(O,e){return O.type==d&&(e==nO||e==QO)?O.parent:O},shift(O,e,a,r){if(e==y)return new s(O,X(r,r.pos),$);if(e==z||e==Z)return new s(O,X(r,r.pos),b);if(e==c)return O.parent;if(e==tO||e==PO)return new s(O,0,d);if(e==V&&O.type==g)return O.parent;if(e==sO){let o=/[1-9]/.exec(r.read(r.pos,a.pos));if(o)return new s(O,O.depth+ +o[0],g)}return O},hash(O){return O.hash}});function f(O,e,a=0){return O.peek(a)==e&&O.peek(a+1)==e&&O.peek(a+2)==e&&l(O.peek(a+3))}const fO=new S((O,e)=>{if(O.next==-1&&e.canShift(D))return O.acceptToken(D);let a=O.peek(-1);if((P(a)||a<0)&&e.context.type!=d){if(f(O,45))if(e.canShift(c))O.acceptToken(c);else return O.acceptToken(j,3);if(f(O,46))if(e.canShift(c))O.acceptToken(c);else return O.acceptToken(A,3);let r=0;for(;O.next==32;)r++,O.advance();(r<e.context.depth||r==e.context.depth&&e.context.type==$&&(O.next!=45||!l(O.peek(1))))&&O.next!=-1&&!P(O.next)&&O.next!=35&&O.acceptToken(c,-r)}},{contextual:!0}),XO=new S((O,e)=>{if(e.context.type==d){O.next==63&&(O.advance(),l(O.next)&&O.acceptToken(I));return}if(O.next==45)O.advance(),l(O.next)&&O.acceptToken(e.context.type==$&&e.context.depth==X(O,O.pos-1)?H:y);else if(O.next==63)O.advance(),l(O.next)&&O.acceptToken(e.context.type==b&&e.context.depth==X(O,O.pos-1)?F:Z);else{let a=O.pos;for(;;)if(x(O.next)){if(O.pos==a)return;O.advance()}else if(O.next==33)G(O);else if(O.next==38)p(O);else if(O.next==42){p(O);break}else if(O.next==39||O.next==34){if(T(O,!0))break;return}else if(O.next==91||O.next==123){if(!RO(O))return;break}else{w(O,!0,!1,0);break}for(;x(O.next);)O.advance();if(O.next==58){if(O.pos==a&&e.canShift(oO))return;let r=O.peek(1);l(r)&&O.acceptTokenTo(e.context.type==b&&e.context.depth==X(O,a)?K:z,a)}}},{contextual:!0});function dO(O){return O>32&&O<127&&O!=34&&O!=37&&O!=44&&O!=60&&O!=62&&O!=92&&O!=94&&O!=96&&O!=123&&O!=124&&O!=125}function q(O){return O>=48&&O<=57||O>=97&&O<=102||O>=65&&O<=70}function Y(O,e){return O.next==37?(O.advance(),q(O.next)&&O.advance(),q(O.next)&&O.advance(),!0):dO(O.next)||e&&O.next==44?(O.advance(),!0):!1}function G(O){if(O.advance(),O.next==60){for(O.advance();;)if(!Y(O,!0)){O.next==62&&O.advance();break}}else for(;Y(O,!1););}function p(O){for(O.advance();!l(O.next)&&i(O.next)!="f";)O.advance()}function T(O,e){let a=O.next,r=!1,o=O.pos;for(O.advance();;){let t=O.next;if(t<0)break;if(O.advance(),t==a)if(t==39)if(O.next==39)O.advance();else break;else break;else if(t==92&&a==34)O.next>=0&&O.advance();else if(P(t)){if(e)return!1;r=!0}else if(e&&O.pos>=o+1024)return!1}return!r}function RO(O){for(let e=[],a=O.pos+1024;;)if(O.next==91||O.next==123)e.push(O.next),O.advance();else if(O.next==39||O.next==34){if(!T(O,!0))return!1}else if(O.next==93||O.next==125){if(e[e.length-1]!=O.next-2)return!1;if(e.pop(),O.advance(),!e.length)return!0}else{if(O.next<0||O.pos>a||P(O.next))return!1;O.advance()}}const iO="iiisiiissisfissssssssssssisssiiissssssssssssssssssssssssssfsfssissssssssssssssssssssssssssfif";function i(O){return O<33?"u":O>125?"s":iO[O-33]}function k(O,e){let a=i(O);return a!="u"&&!(e&&a=="f")}function w(O,e,a,r){if(i(O.next)=="s"||(O.next==63||O.next==58||O.next==45)&&k(O.peek(1),a))O.advance();else return!1;let o=O.pos;for(;;){let t=O.next,Q=0,R=r+1;for(;_(t);){if(P(t)){if(e)return!1;R=0}else R++;t=O.peek(++Q)}if(!(t>=0&&(t==58?k(O.peek(Q+1),a):t==35?O.peek(Q-1)!=32:k(t,a)))||!a&&R<=r||R==0&&!a&&(f(O,45,Q)||f(O,46,Q)))break;if(e&&i(t)=="f")return!1;for(let h=Q;h>=0;h--)O.advance();if(e&&O.pos>o+1024)return!1}return!0}const SO=new S((O,e)=>{if(O.next==33)G(O),O.acceptToken(rO);else if(O.next==38||O.next==42){let a=O.next==38?eO:aO;p(O),O.acceptToken(a)}else O.next==39||O.next==34?(T(O,!1),O.acceptToken(OO)):w(O,!1,e.context.type==d,e.context.depth)&&O.acceptToken(J)}),kO=new S((O,e)=>{let a=e.context.type==g?e.context.depth:-1,r=O.pos;O:for(;;){let o=0,t=O.next;for(;t==32;)t=O.peek(++o);if(!o&&(f(O,45,o)||f(O,46,o))||!P(t)&&(a<0&&(a=Math.max(e.context.depth+1,o)),o<a))break;for(;;){if(O.next<0)break O;let Q=P(O.next);if(O.advance(),Q)continue O;r=O.pos}}O.acceptTokenTo(V,r)}),mO=U({DirectiveName:n.keyword,DirectiveContent:n.attributeValue,"DirectiveEnd DocEnd":n.meta,QuotedLiteral:n.string,BlockLiteralHeader:n.special(n.string),BlockLiteralContent:n.content,Literal:n.content,"Key/Literal Key/QuotedLiteral":n.definition(n.propertyName),"Anchor Alias":n.labelName,Tag:n.typeName,Comment:n.lineComment,": , -":n.separator,"?":n.punctuation,"[ ]":n.squareBracket,"{ }":n.brace}),bO=W.deserialize({version:14,states:"5lQ!ZQgOOO#PQfO'#CpO#uQfO'#DOOOQR'#Dv'#DvO$qQgO'#DRO%gQdO'#DUO%nQgO'#DUO&ROaO'#D[OOQR'#Du'#DuO&{QgO'#D^O'rQgO'#D`OOQR'#Dt'#DtO(iOqO'#DbOOQP'#Dj'#DjO(zQaO'#CmO)YQgO'#CmOOQP'#Cm'#CmQ)jQaOOQ)uQgOOQ]QgOOO*PQdO'#CrO*nQdO'#CtOOQO'#Dw'#DwO+]Q`O'#CxO+hQdO'#CwO+rQ`O'#CwOOQO'#Cv'#CvO+wQdO'#CvOOQO'#Cq'#CqO,UQ`O,59[O,^QfO,59[OOQR,59[,59[OOQO'#Cx'#CxO,eQ`O'#DPO,pQdO'#DPOOQO'#Dx'#DxO,zQdO'#DxO-XQ`O,59jO-aQfO,59jOOQR,59j,59jOOQR'#DS'#DSO-hQcO,59mO-sQgO'#DVO.TQ`O'#DVO.YQcO,59pOOQR'#DX'#DXO#|QfO'#DWO.hQcO'#DWOOQR,59v,59vO.yOWO,59vO/OOaO,59vO/WOaO,59vO/cQgO'#D_OOQR,59x,59xO0VQgO'#DaOOQR,59z,59zOOQP,59|,59|O0yOaO,59|O1ROaO,59|O1aOqO,59|OOQP-E7h-E7hO1oQgO,59XOOQP,59X,59XO2PQaO'#DeO2_QgO'#DeO2oQgO'#DkOOQP'#Dk'#DkQ)jQaOOO3PQdO'#CsOOQO,59^,59^O3kQdO'#CuOOQO,59`,59`OOQO,59c,59cO4VQdO,59cO4aQdO'#CzO4kQ`O'#CzOOQO,59b,59bOOQU,5:Q,5:QOOQR1G.v1G.vO4pQ`O1G.vOOQU-E7d-E7dO4xQdO,59kOOQO,59k,59kO5SQdO'#DQO5^Q`O'#DQOOQO,5:d,5:dOOQU,5:R,5:ROOQR1G/U1G/UO5cQ`O1G/UOOQU-E7e-E7eO5kQgO'#DhO5xQcO1G/XOOQR1G/X1G/XOOQR,59q,59qO6TQgO,59qO6eQdO'#DiO6lQgO'#DiO7PQcO1G/[OOQR1G/[1G/[OOQR,59r,59rO#|QfO,59rOOQR1G/b1G/bO7_OWO1G/bO7dOaO1G/bOOQR,59y,59yOOQR,59{,59{OOQP1G/h1G/hO7lOaO1G/hO7tOaO1G/hO8POaO1G/hOOQP1G.s1G.sO8_QgO,5:POOQP,5:P,5:POOQP,5:V,5:VOOQP-E7i-E7iOOQO,59_,59_OOQO,59a,59aOOQO1G.}1G.}OOQO,59f,59fO8oQdO,59fOOQR7+$b7+$bP,XQ`O'#DfOOQO1G/V1G/VOOQO,59l,59lO8yQdO,59lOOQR7+$p7+$pP9TQ`O'#DgOOQR'#DT'#DTOOQR,5:S,5:SOOQR-E7f-E7fOOQR7+$s7+$sOOQR1G/]1G/]O9YQgO'#DYO9jQ`O'#DYOOQR,5:T,5:TO#|QfO'#DZO9oQcO'#DZOOQR-E7g-E7gOOQR7+$v7+$vOOQR1G/^1G/^OOQR7+$|7+$|O:QOWO7+$|OOQP7+%S7+%SO:VOaO7+%SO:_OaO7+%SOOQP1G/k1G/kOOQO1G/Q1G/QOOQO1G/W1G/WOOQR,59t,59tO:jQgO,59tOOQR,59u,59uO#|QfO,59uOOQR<<Hh<<HhOOQP<<Hn<<HnO:zOaO<<HnOOQR1G/`1G/`OOQR1G/a1G/aOOQPAN>YAN>Y",stateData:";S~O!fOS!gOS^OS~OP_OQbORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!V[O!cTO~O`cO~P]OVkOWROXROYeOZfO[dOcPOmhOqQO~OboO~P!bOVtOWROXROYeOZfO[dOcPOmrOqQO~OpwO~P#WORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!cTO~OSvP!avP!bvP~P#|OWROXROYeOZfO[dOcPOqQO~OmzO~P%OOm!OOUzP!azP!bzP!dzP~P#|O^!SO!b!QO!f!TO!g!RO~ORSOTUOWROXROcPOqQO!PVO!cTO~OY!UOP!QXQ!QX!V!QX!`!QXS!QX!a!QX!b!QXU!QXm!QX!d!QX~P&aO[!WOP!SXQ!SX!V!SX!`!SXS!SX!a!SX!b!SXU!SXm!SX!d!SX~P&aO^!ZO!W![O!b!YO!f!]O!g!YO~OP!_O!V[OQaX!`aX~OPaXQaX!VaX!`aX~P#|OP!bOQ!cO!V[O~OP_O!V[O~P#|OWROXROY!fOcPOqQObfXmfXofXpfX~OWROXRO[!hOcPOqQObhXmhXohXphX~ObeXmlXoeX~ObkXokX~P%OOm!kO~Om!lObnPonP~P%OOb!pOo!oO~Ob!pO~P!bOm!sOosXpsX~OosXpsX~P%OOm!uOotPptP~P%OOo!xOp!yO~Op!yO~P#WOS!|O!a#OO!b#OO~OUyX!ayX!byX!dyX~P#|Om#QO~OU#SO!a#UO!b#UO!d#RO~Om#WOUzX!azX!bzX!dzX~O]#XO~O!b#XO!g#YO~O^#ZO!b#XO!g#YO~OP!RXQ!RX!V!RX!`!RXS!RX!a!RX!b!RXU!RXm!RX!d!RX~P&aOP!TXQ!TX!V!TX!`!TXS!TX!a!TX!b!TXU!TXm!TX!d!TX~P&aO!b#^O!g#^O~O^#_O!b#^O!f#`O!g#^O~O^#_O!W#aO!b#^O!g#^O~OPaaQaa!Vaa!`aa~P#|OP#cO!V[OQ!XX!`!XX~OP!XXQ!XX!V!XX!`!XX~P#|OP_O!V[OQ!_X!`!_X~P#|OWROXROcPOqQObgXmgXogXpgX~OWROXROcPOqQObiXmiXoiXpiX~Obkaoka~P%OObnXonX~P%OOm#kO~Ob#lOo!oO~Oosapsa~P%OOotXptX~P%OOm#pO~Oo!xOp#qO~OSwP!awP!bwP~P#|OS!|O!a#vO!b#vO~OUya!aya!bya!dya~P#|Om#xO~P%OOm#{OU}P!a}P!b}P!d}P~P#|OU#SO!a$OO!b$OO!d#RO~O]$QO~O!b$QO!g$RO~O!b$SO!g$SO~O^$TO!b$SO!g$SO~O^$TO!b$SO!f$UO!g$SO~OP!XaQ!Xa!V!Xa!`!Xa~P#|Obnaona~P%OOotapta~P%OOo!xO~OU|X!a|X!b|X!d|X~P#|Om$ZO~Om$]OU}X!a}X!b}X!d}X~O]$^O~O!b$_O!g$_O~O^$`O!b$_O!g$_O~OU|a!a|a!b|a!d|a~P#|O!b$cO!g$cO~O",goto:",]!mPPPPPPPPPPPPPPPPP!nPP!v#v#|$`#|$c$f$j$nP%VPPP!v%Y%^%a%{&O%a&R&U&X&_&b%aP&e&{&e'O'RPP']'a'g'm's'y(XPPPPPPPP(_)e*X+c,VUaObcR#e!c!{ROPQSTUXY_bcdehknrtvz!O!U!W!_!b!c!f!h!k!l!s!u!|#Q#R#S#W#c#k#p#x#{$Z$]QmPR!qnqfPQThknrtv!k!l!s!u#R#k#pR!gdR!ieTlPnTjPnSiPnSqQvQ{TQ!mkQ!trQ!vtR#y#RR!nkTsQvR!wt!RWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]RySR#t!|R|TR|UQ!PUR#|#SR#z#RR#z#SyZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]R!VXR!XYa]O^abc!a!c!eT!da!eQnPR!rnQvQR!{vQ!}yR#u!}Q#T|R#}#TW^Obc!cS!^^!aT!aa!eQ!eaR#f!eW`Obc!cQxSS}U#SQ!`_Q#PzQ#V!OQ#b!_Q#d!bQ#s!|Q#w#QQ$P#WQ$V#cQ$Y#xQ$[#{Q$a$ZR$b$]xZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]Q!VXQ!XYQ#[!UR#]!W!QWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]pfPQThknrtv!k!l!s!u#R#k#pQ!gdQ!ieQ#g!fR#h!hSgPn^pQTkrtv#RQ!jhQ#i!kQ#j!lQ#n!sQ#o!uQ$W#kR$X#pQuQR!zv",nodeNames:"⚠ DirectiveEnd DocEnd - - ? ? ? Literal QuotedLiteral Anchor Alias Tag BlockLiteralContent Comment Stream BOM Document ] [ FlowSequence Item Tagged Anchored Anchored Tagged FlowMapping Pair Key : Pair , } { FlowMapping Pair Pair BlockSequence Item Item BlockMapping Pair Pair Key Pair Pair BlockLiteral BlockLiteralHeader Tagged Anchored Anchored Tagged Directive DirectiveName DirectiveContent Document",maxTerm:74,context:cO,nodeProps:[["isolate",-3,8,9,14,""],["openedBy",18,"[",32,"{"],["closedBy",19,"]",33,"}"]],propSources:[mO],skippedNodes:[0],repeatNodeCount:6,tokenData:"-Y~RnOX#PXY$QYZ$]Z]#P]^$]^p#Ppq$Qqs#Pst$btu#Puv$yv|#P|}&e}![#P![!]'O!]!`#P!`!a'i!a!}#P!}#O*g#O#P#P#P#Q+Q#Q#o#P#o#p+k#p#q'i#q#r,U#r;'S#P;'S;=`#z<%l?HT#P?HT?HU,o?HUO#PQ#UU!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PQ#kTOY#PZs#Pt;'S#P;'S;=`#z<%lO#PQ#}P;=`<%l#P~$VQ!f~XY$Qpq$Q~$bO!g~~$gS^~OY$bZ;'S$b;'S;=`$s<%lO$b~$vP;=`<%l$bR%OX!WQOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR%rX!WQ!VPOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR&bP;=`<%l%kR&lUoP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'VUmP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'p[!PP!WQOY#PZp#Ppq#hq{#P{|(f|}#P}!O(f!O!R#P!R![)p![;'S#P;'S;=`#z<%lO#PR(mW!PP!WQOY#PZp#Ppq#hq!R#P!R![)V![;'S#P;'S;=`#z<%lO#PR)^U!PP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR)wY!PP!WQOY#PZp#Ppq#hq{#P{|)V|}#P}!O)V!O;'S#P;'S;=`#z<%lO#PR*nUcP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+XUbP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+rUqP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,]UpP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,vU`P!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#P",tokenizers:[fO,XO,SO,kO,0,1],topRules:{Stream:[0,15]},tokenPrec:0}),gO=W.deserialize({version:14,states:"!vOQOPOOO]OPO'#C_OhOPO'#C^OOOO'#Cc'#CcOpOPO'#CaQOOOOOO{OPOOOOOO'#Cb'#CbO!WOPO'#C`O!`OPO,58xOOOO-E6a-E6aOOOO-E6`-E6`OOOO'#C_'#C_OOOO1G.d1G.d",stateData:"!h~OXPOYROWTP~OWVXXRXYRX~OYVOXSP~OXROYROWTX~OXROYROWTP~OYVOXSX~OX[O~OXY~",goto:"vWPPX[beioRUOQQOR]XRXQTTOUQWQRZWSSOURYS",nodeNames:"⚠ Document Frontmatter DashLine FrontmatterContent Body",maxTerm:10,skippedNodes:[0],repeatNodeCount:2,tokenData:"$z~RXOYnYZ!^Z]n]^!^^}n}!O!i!O;'Sn;'S;=`!c<%lOn~qXOYnYZ!^Z]n]^!^^;'Sn;'S;=`!c<%l~n~On~~!^~!cOY~~!fP;=`<%ln~!lZOYnYZ!^Z]n]^!^^}n}!O#_!O;'Sn;'S;=`!c<%l~n~On~~!^~#bZOYnYZ!^Z]n]^!^^}n}!O$T!O;'Sn;'S;=`!c<%l~n~On~~!^~$WXOYnYZ$sZ]n]^$s^;'Sn;'S;=`!c<%l~n~On~~$s~$zOX~Y~",tokenizers:[0],topRules:{Document:[0,1]},tokenPrec:67}),L=C.define({name:"yaml",parser:bO.configure({props:[u.add({Stream:O=>{for(let e=O.node.resolve(O.pos,-1);e&&e.to>=O.pos;e=e.parent){if(e.name=="BlockLiteralContent"&&e.from<e.to)return O.baseIndentFor(e);if(e.name=="BlockLiteral")return O.baseIndentFor(e)+O.unit;if(e.name=="BlockSequence"||e.name=="BlockMapping")return O.column(e.from,1);if(e.name=="QuotedLiteral")return null;if(e.name=="Literal"){let a=O.column(e.from,1);if(a==O.lineIndent(e.from,1))return a;if(e.to>O.pos)return null}}return null},FlowMapping:v({closing:"}"}),FlowSequence:v({closing:"]"})}),M.add({"FlowMapping FlowSequence":N,"Item Pair BlockLiteral":(O,e)=>({from:e.doc.lineAt(O.from).to,to:O.to})})]}),languageData:{commentTokens:{line:"#"},indentOnInput:/^\s*[\]\}]$/}});function LO(){return new m(L)}const xO=C.define({name:"yaml-frontmatter",parser:gO.configure({props:[U({DashLine:n.meta})]})});function BO(O){let{language:e,support:a}=O.content instanceof m?O.content:{language:O.content,support:[]};return new m(xO.configure({wrap:E(r=>r.name=="FrontmatterContent"?{parser:L.parser}:r.name=="Body"?{parser:e.parser}:null)}),a)}export{LO as yaml,BO as yamlFrontmatter,L as yamlLanguage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{e as a,s,t as r,a as n,L as i,i as P,c as o,f as Q,l as p}from"./index-BjuRttEY.js";import"./index-C2QFVD7d.js";import"./SessionDetailView-B59TEkr-.js";import"./sessions-Nq5VafSf.js";import"./ApiClient-DfbJwzpz.js";import"./projects-C-8PSxKi.js";import"./EffortLevelSelector-D2Hdzc_8.js";import"./SessionLogStream-5NfVr9pF.js";import"./commandButtons-CoU3G4zK.js";import"./SlashCommandWizard-BQ_rMzn-.js";import"./providers-oXifvvqN.js";import"./useSummaryHelpers-GVg7sMWF.js";import"./ModelSelector-72C7MUH4.js";import"./ArchiveConfirmModal-DXZYdzHR.js";import"./projectDefaults-B8esIcYq.js";import"./QuickResponsesPanel-BqmnTd-D.js";import"./ResizableTextarea-DpWdIAP6.js";const c=s({String:r.string,Number:r.number,"True False":r.bool,PropertyName:r.propertyName,Null:r.null,", :":r.separator,"[ ]":r.squareBracket,"{ }":r.brace}),m=a.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#ClOOQO'#Cr'#CrQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CtOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59W,59WO!iQPO,59WOVQPO,59QOqQPO'#CmO!nQPO,59`OOQO1G.k1G.kOVQPO'#CnO!vQPO,59aOOQO1G.r1G.rOOQO1G.l1G.lOOQO,59X,59XOOQO-E6k-E6kOOQO,59Y,59YOOQO-E6l-E6l",stateData:"#O~OeOS~OQSORSOSSOTSOWQO_ROgPO~OVXOgUO~O^[O~PVO[^O~O]_OVhX~OVaO~O]bO^iX~O^dO~O]_OVha~O]bO^ia~O",goto:"!kjPPPPPPkPPkqwPPPPk{!RPPP!XP!e!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"⚠ JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",14,"["],["closedBy",8,"}",15,"]"]],propSources:[c],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oe~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Og~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zO]~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yO[~~'OO_~~'TO^~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0}),Y=()=>t=>{try{JSON.parse(t.state.doc.toString())}catch(O){if(!(O instanceof SyntaxError))throw O;const e=g(O,t.state.doc);return[{from:e,message:O.message,severity:"error",to:e}]}return[]};function g(t,O){let e;return(e=t.message.match(/at position (\d+)/))?Math.min(+e[1],O.length):(e=t.message.match(/at line (\d+) column (\d+)/))?Math.min(O.line(+e[1]).from+ +e[2]-1,O.length):0}const l=i.define({name:"json",parser:m.configure({props:[P.add({Object:o({except:/^\s*\}/}),Array:o({except:/^\s*\]/})}),Q.add({"Object Array":p})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function N(){return new n(l)}export{N as json,l as jsonLanguage,Y as jsonParseLinter};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{L as g,a as q,p as P,q as s,v as l,s as c,t as r,e as m,E as p}from"./index-BjuRttEY.js";import"./index-C2QFVD7d.js";import"./SessionDetailView-B59TEkr-.js";import"./sessions-Nq5VafSf.js";import"./ApiClient-DfbJwzpz.js";import"./projects-C-8PSxKi.js";import"./EffortLevelSelector-D2Hdzc_8.js";import"./SessionLogStream-5NfVr9pF.js";import"./commandButtons-CoU3G4zK.js";import"./SlashCommandWizard-BQ_rMzn-.js";import"./providers-oXifvvqN.js";import"./useSummaryHelpers-GVg7sMWF.js";import"./ModelSelector-72C7MUH4.js";import"./ArchiveConfirmModal-DXZYdzHR.js";import"./projectDefaults-B8esIcYq.js";import"./QuickResponsesPanel-BqmnTd-D.js";import"./ResizableTextarea-DpWdIAP6.js";const R=1,b=33,$=34,v=35,x=36,W=new p(O=>{let t=O.pos;for(;;){if(O.next==10){O.advance();break}else if(O.next==123&&O.peek(1)==123||O.next<0)break;O.advance()}O.pos>t&&O.acceptToken(R)});function n(O,t,a){return new p(e=>{let u=e.pos;for(;e.next!=O&&e.next>=0&&(a||e.next!=38&&(e.next!=123||e.peek(1)!=123));)e.advance();e.pos>u&&e.acceptToken(t)})}const d=n(39,b,!1),C=n(34,$,!1),T=n(39,v,!0),f=n(34,x,!0),A=m.deserialize({version:14,states:"(jOVOqOOOeQpOOOvO!bO'#CaOOOP'#Cx'#CxQVOqOOO!OQpO'#CfO!WQpO'#ClO!]QpO'#CrO!bQpO'#CsOOQO'#Cv'#CvQ!gQpOOQ!lQpOOQ!qQpOOOOOV,58{,58{O!vOpO,58{OOOP-E6v-E6vO!{QpO,59QO#TQpO,59QOOQO,59W,59WO#YQpO,59^OOQO,59_,59_O#_QpOOO#_QpOOO#gQpOOOOOV1G.g1G.gO#oQpO'#CyO#tQpO1G.lOOQO1G.l1G.lO#|QpO1G.lOOQO1G.x1G.xO$UO`O'#DUO$ZOWO'#DUOOQO'#Co'#CoQOQpOOOOQO'#Cu'#CuO$`OtO'#CwO$qOrO'#CwOOQO,59e,59eOOQO-E6w-E6wOOQO7+$W7+$WO%SQpO7+$WO%[QpO7+$WOOOO'#Cp'#CpO%aOpO,59pOOOO'#Cq'#CqO%fOpO,59pOOOS'#Cz'#CzO%kOtO,59cOOQO,59c,59cOOOQ'#C{'#C{O%|OrO,59cO&_QpO<<GrOOQO<<Gr<<GrOOQO1G/[1G/[OOOS-E6x-E6xOOQO1G.}1G.}OOOQ-E6y-E6yOOQOAN=^AN=^",stateData:"&d~OvOS~OPROSQOVROWRO~OZTO[XO^VOaUOhWO~OR]OU^O~O[`O^aO~O[bO~O[cO~O[dO~ObeO~ObfO~ObgO~ORhO~O]kOwiO~O[lO~O_mO~OynOzoO~OysOztO~O[uO~O]wOwiO~O_yOwiO~OtzO~Os|O~OSQOV!OOW!OOr!OOy!QO~OSQOV!ROW!ROq!ROz!QO~O_!TOwiO~O]!UO~Oy!VO~Oz!VO~OSQOV!OOW!OOr!OOy!XO~OSQOV!ROW!ROq!ROz!XO~O]!ZO~O",goto:"#dyPPPPPzPPPP!WPPPPP!WPP!Z!^!a!d!dP!g!j!m!p!v#Q#WPPPPPPPP#^SROSS!Os!PT!Rt!SRYPRqeR{nR}oRZPRqfR[PRqgQSOR_SQj`SvjxRxlQ!PsR!W!PQ!StR!Y!SQpeRrf",nodeNames:"⚠ Text Content }} {{ Interpolation InterpolationContent Entity InvalidEntity Attribute BoundAttributeName [ Identifier ] ( ) ReferenceName # Is ExpressionAttributeValue AttributeInterpolation AttributeInterpolation EventName DirectiveName * StatementAttributeValue AttributeName AttributeValue",maxTerm:42,nodeProps:[["openedBy",3,"{{",15,"("],["closedBy",4,"}}",14,")"],["isolate",-4,5,19,25,27,""]],skippedNodes:[0],repeatNodeCount:4,tokenData:"0r~RyOX#rXY$mYZ$mZ]#r]^$m^p#rpq$mqr#rrs%jst&Qtv#rvw&hwx)zxy*byz*xz{+`{}#r}!O+v!O!P-]!P!Q#r!Q![+v![!]+v!]!_#r!_!`-s!`!c#r!c!}+v!}#O.Z#O#P#r#P#Q.q#Q#R#r#R#S+v#S#T#r#T#o+v#o#p/X#p#q#r#q#r0Z#r%W#r%W;'S+v;'S;:j-V;:j;=`$g<%lO+vQ#wTUQO#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#rQ$ZSO#q#r#r;'S#r;'S;=`$g<%lO#rQ$jP;=`<%l#rR$t[UQvPOX#rXY$mYZ$mZ]#r]^$m^p#rpq$mq#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#rR%qTyPUQO#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#rR&XTaPUQO#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#rR&oXUQWPOp'[pq#rq!]'[!]!^#r!^#q'[#q#r(d#r;'S'[;'S;=`)t<%lO'[R'aXUQOp'[pq#rq!]'[!]!^'|!^#q'[#q#r(d#r;'S'[;'S;=`)t<%lO'[R(TTVPUQO#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#rR(gXOp'[pq#rq!]'[!]!^'|!^#q'[#q#r)S#r;'S'[;'S;=`)t<%lO'[P)VUOp)Sq!])S!]!^)i!^;'S)S;'S;=`)n<%lO)SP)nOVPP)qP;=`<%l)SR)wP;=`<%l'[R*RTzPUQO#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#rR*iT^PUQO#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#rR+PT_PUQO#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#rR+gThPUQO#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#rR+}b[PUQO}#r}!O+v!O!Q#r!Q![+v![!]+v!]!c#r!c!}+v!}#R#r#R#S+v#S#T#r#T#o+v#o#q#r#q#r$W#r%W#r%W;'S+v;'S;:j-V;:j;=`$g<%lO+vR-YP;=`<%l+vR-dTwPUQO#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#rR-zTUQbPO#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#rR.bTZPUQO#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#rR.xT]PUQO#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#rR/^VUQO#o#r#o#p/s#p#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#rR/zTSPUQO#q#r#q#r$W#r;'S#r;'S;=`$g<%lO#r~0^TO#q#r#q#r0m#r;'S#r;'S;=`$g<%lO#r~0rOR~",tokenizers:[W,d,C,T,f,0,1],topRules:{Content:[0,2],Attribute:[1,9]},tokenPrec:0}),V=l.parser.configure({top:"SingleExpression"}),Q=A.configure({props:[c({Text:r.content,Is:r.definitionOperator,AttributeName:r.attributeName,"AttributeValue ExpressionAttributeValue StatementAttributeValue":r.attributeValue,Entity:r.character,InvalidEntity:r.invalid,"BoundAttributeName/Identifier":r.attributeName,"EventName/Identifier":r.special(r.attributeName),"ReferenceName/Identifier":r.variableName,"DirectiveName/Identifier":r.keyword,"{{ }}":r.brace,"( )":r.paren,"[ ]":r.bracket,"# '*'":r.punctuation})]}),o={parser:V},w={parser:l.parser},U=Q.configure({wrap:s((O,t)=>O.name=="InterpolationContent"?o:null)}),y=Q.configure({wrap:s((O,t)=>{var a;return O.name=="InterpolationContent"?o:O.name!="AttributeInterpolation"?null:((a=O.node.parent)===null||a===void 0?void 0:a.name)=="StatementAttributeValue"?w:o}),top:"Attribute"}),E={parser:U},N={parser:y},i=P({selfClosingTags:!0});function S(O){return O.configure({wrap:s(z)},"angular")}const k=S(i.language);function z(O,t){switch(O.name){case"Attribute":return/^[*#(\[]|\{\{/.test(t.read(O.from,O.to))?N:null;case"Text":return E}return null}function rO(O={}){let t=i;if(O.base){if(O.base.language.name!="html"||!(O.base.language instanceof g))throw new RangeError("The base option must be the result of calling html(...)");t=O.base}return new q(t.language==i.language?k:S(t.language),[t.support,t.language.data.of({closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/})])}export{rO as angular,k as angularLanguage};
|