studiograph 1.3.48-next.97 → 1.3.48-next.98
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent/prompts/system.md +21 -0
- package/dist/agent/skills/interview/skill.md +2 -0
- package/dist/web/_app/immutable/chunks/{-IdkDR0B.js → -fuesURH.js} +3 -3
- package/dist/web/_app/immutable/chunks/{ADO_NnxJ.js → 98l1RC1O.js} +1 -1
- package/dist/web/_app/immutable/chunks/{BeJbM3CY.js → 9XgWq5jJ.js} +1 -1
- package/dist/web/_app/immutable/chunks/{BWFr2eCw.js → AIGIGEX4.js} +1 -1
- package/dist/web/_app/immutable/chunks/{B0buTZtM.js → BXmZlohI.js} +1 -1
- package/dist/web/_app/immutable/chunks/{ClcMiCmG.js → CBLJnBaf.js} +1 -1
- package/dist/web/_app/immutable/chunks/{N9l3OpY6.js → COCcJTvs.js} +1 -1
- package/dist/web/_app/immutable/chunks/CSZXHzRn.js +1 -0
- package/dist/web/_app/immutable/chunks/{C3Sc3UII2.js → C_f9LdTw2.js} +2 -2
- package/dist/web/_app/immutable/chunks/{CYwTnPem.js → ChyK-w8P.js} +1 -1
- package/dist/web/_app/immutable/chunks/{Dz10re012.js → Cm0Lho_42.js} +1 -1
- package/dist/web/_app/immutable/chunks/{Bc8zuuvS.js → CorRYyB6.js} +1 -1
- package/dist/web/_app/immutable/chunks/{C300SIfl.js → Cqcmh7BC.js} +1 -1
- package/dist/web/_app/immutable/chunks/{DSEfvg3s2.js → DB3_ahjc2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{ahPS4xNu2.js → DGT_yj8I2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{B0BTf24a.js → DN-jX3Mb.js} +1 -1
- package/dist/web/_app/immutable/chunks/{CoOqf7mC.js → DPtylZwv.js} +1 -1
- package/dist/web/_app/immutable/chunks/{CIqPiPZR2.js → DPxQZ5tG2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{cUb09o9a.js → DXVAjYoo.js} +1 -1
- package/dist/web/_app/immutable/chunks/{BACSj3Tb.js → EUtZxiZP.js} +1 -1
- package/dist/web/_app/immutable/chunks/{BGnJdmWx.js → SgQBZE5C.js} +1 -1
- package/dist/web/_app/immutable/chunks/ZnvbwwGp.js +1 -0
- package/dist/web/_app/immutable/chunks/{DZFC9Z2w2.js → rxA-NBrz2.js} +1 -1
- package/dist/web/_app/immutable/entry/{app.j0Wt3fv5.js → app.H0tI2H-u.js} +2 -2
- package/dist/web/_app/immutable/entry/start.z75qqDrz.js +1 -0
- package/dist/web/_app/immutable/nodes/{0.DW6Bl90u.js → 0.BjIXtyJj.js} +2 -2
- package/dist/web/_app/immutable/nodes/{1.DUb20HgX.js → 1.76FpK_Cz.js} +1 -1
- package/dist/web/_app/immutable/nodes/{10.CL8wlhbP.js → 10.CPYnIyDX.js} +1 -1
- package/dist/web/_app/immutable/nodes/{11.EyZHTef5.js → 11.3hppiYBm.js} +1 -1
- package/dist/web/_app/immutable/nodes/{12.BVFt8knu.js → 12.BVw3fLfL.js} +1 -1
- package/dist/web/_app/immutable/nodes/{13.DiUnMrx8.js → 13.dMH3LRVT.js} +1 -1
- package/dist/web/_app/immutable/nodes/{2.wzTPMMN9.js → 2.CUmqq0QR.js} +4 -4
- package/dist/web/_app/immutable/nodes/{3.lSASOkUX.js → 3.Clvr6JPT.js} +1 -1
- package/dist/web/_app/immutable/nodes/{4.BMFL54oh.js → 4.COSIxuMb.js} +3 -3
- package/dist/web/_app/immutable/nodes/{5.Dc_hqm-Z.js → 5.DMtkQAsE.js} +1 -1
- package/dist/web/_app/immutable/nodes/{6.BaDyPjmE.js → 6.Cdw5T8rn.js} +1 -1
- package/dist/web/_app/immutable/nodes/{7.h8x2ToLG.js → 7.COTEpWnU.js} +1 -1
- package/dist/web/_app/immutable/nodes/{8.DNXXeUUv.js → 8.Dpz8LIyd.js} +1 -1
- package/dist/web/_app/immutable/nodes/{9.9wlVf5qC.js → 9.B4u7ZErc.js} +1 -1
- package/dist/web/_app/version.json +1 -1
- package/dist/web/index.html +12 -12
- package/package.json +1 -1
- package/dist/web/_app/immutable/chunks/CxfiKkQs.js +0 -1
- package/dist/web/_app/immutable/chunks/Kb8_Mfjz.js +0 -1
- package/dist/web/_app/immutable/entry/start.CrOWkOaN.js +0 -1
|
@@ -148,6 +148,27 @@ Repos can hold nested subfolders that organise entries Drive/Finder-style. The F
|
|
|
148
148
|
- `create_folder` is fine without confirmation when it's clearly the right structural move (e.g. user said "set up a folder for the Acme work"). Otherwise propose first.
|
|
149
149
|
- `list_folders(repo)` is read-only — call it freely when you need to verify what exists in a repo before placing new entries or proposing a folder change.
|
|
150
150
|
|
|
151
|
+
## User-Facing Input Surfaces
|
|
152
|
+
|
|
153
|
+
The user can give you new information through several routes. When asked
|
|
154
|
+
*"how do I add content?"*, *"how can I give you more information?"*, or
|
|
155
|
+
similar discovery questions, mention these explicitly by their visible UI
|
|
156
|
+
labels — not by internal names — so the user can find them on screen:
|
|
157
|
+
|
|
158
|
+
- **The chat panel** (where you're talking now) — they can type, paste
|
|
159
|
+
text, or paste URLs. You'll extract entries from what they send.
|
|
160
|
+
- **The "Add to your workspace" input** — a prominent input box on the
|
|
161
|
+
home screen, labeled exactly **"Add to your workspace"**. It accepts
|
|
162
|
+
pasted URLs, pasted text, or dropped files (PDFs, documents, notes).
|
|
163
|
+
Anything dropped there is captured into the graph the same way as chat
|
|
164
|
+
input. Refer to it by that exact label so a user who hasn't found it
|
|
165
|
+
yet can locate it on screen.
|
|
166
|
+
- **Meeting capture** (when enabled) — for live or recorded meetings.
|
|
167
|
+
|
|
168
|
+
Do not invent surfaces that don't exist (no "Quick Capture" branding,
|
|
169
|
+
no "Import" menu, no "Upload" button on the chat panel). Stick to the
|
|
170
|
+
three above.
|
|
171
|
+
|
|
151
172
|
## Interaction Patterns
|
|
152
173
|
|
|
153
174
|
**When creating entries:**
|
|
@@ -47,6 +47,8 @@ The default `studiograph init` creates a bare workspace with no scaffolded conte
|
|
|
47
47
|
|
|
48
48
|
The only time you don't ask a follow-up question is if the user explicitly says "stop", "that's enough", or "no more questions."
|
|
49
49
|
|
|
50
|
+
**If the user says "skip", "skip this", "skip this question", "next", or otherwise asks to move past the current question:** Acknowledge briefly ("Sure, we can come back to that.") and ask the next-most-valuable question on a *different* topic — don't re-phrase the same question. Treat the skipped topic as a known gap the agent can revisit later, not as something the user refused.
|
|
51
|
+
|
|
50
52
|
## Language
|
|
51
53
|
|
|
52
54
|
Always say "entries" when talking to the user, never "entities". "Entities" is an internal term — users see "entries".
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./0YfY4WC7.js","./BNTlsKDJ.js","./1swuWs29.js","./DPHJu-Bj.js","./Ttel-lK0.js","./
|
|
2
|
-
import{X as e,_t as t,bt as n,yt as r}from"./1swuWs29.js";import{i,r as a}from"./
|
|
3
|
-
`):e.textContent||``}let t=document.querySelector(`.entity-editor textarea`);return t?t.value:``}async function se(){try{let e=await s(`/api/preferences/settings`);if(e.default_meeting_folder)return e.default_meeting_folder}catch{}return null}function M(e){return u.repos.find(t=>t.name===e)?.displayName??d(e)}var N=null,P=null,F=null,I=null,L=null,R=null,z=null,B=null,V=null,H=null,U=null,W=[],G=[],K=null,q=1e3,J=r(!1),Y=r(null),X=new Map,Z={},Q={};function ce(e,t){X.delete(e);let n=t.entities.length;h(n===1?`${e} updated ${t.entities[0]}`:`${e} updated ${n} entities`)}function le(e){for(let[t,n]of X)n.repo===e&&(clearTimeout(n.timer),X.delete(t))}function ue(e){let n=p.user?.displayName;if(e.type===`sync_progress`){let t=Z[e.repo];if(t){let n=e.message.trim(),r=n.match(/^Syncing from source:\s*(.+)$/i);r&&(Q[e.repo]=`Syncing ${r[1].trim()}…`);let i=Q[e.repo]??`Syncing ${e.repo}…`;h.loading(i,{id:t,description:n,duration:36e5})}return}if(e.type===`entity_change`){for(let t of G)try{t(e)}catch{}if(n&&e.actor===n&&e.source===`api`){u.refreshEntities(e.repo);return}if(u.refreshEntities(e.repo),O.handleEntityUpdated(e.repo,e.entityType,e.entityId),f.selectedRepo===e.repo&&f.selectedType===e.entityType&&f.selectedId===e.entityId){g.hasPending?h(`${e.actor} also saved changes to this entity`):i();return}let t=X.get(e.actor);if(t)clearTimeout(t.timer),t.entities.includes(e.entityId)||t.entities.push(e.entityId),t.timer=setTimeout(()=>ce(e.actor,t),1e4);else{let t={entities:[e.entityId],repo:e.repo,timer:setTimeout(()=>ce(e.actor,t),1e4)};X.set(e.actor,t)}return}if(e.type===`session_commit`){if(n&&e.actor===n){t(Y,e.timestamp,!0);return}let r=e.entities.length;h(r===1?`${e.actor} saved changes to ${e.entities[0]}`:`${e.actor} saved ${r} changes in ${e.repo}`),u.refreshEntities(e.repo);return}if(e.type===`sync_complete`){if(le(e.repo),!Z[e.repo]){let t=e.created+e.updated+e.deleted,n=t===0?`Sync complete · no changes in ${e.repo}`:`Sync complete · ${t} ${t===1?`entity`:`entities`} from ${e.source}`;h.success(n)}u.refreshEntities(e.repo);return}if(e.type===`folder_created`){h(`${e.actor} created folder ${M(e.repo)}`),u.ensureFolderInSidebar(e.repo);return}if(e.type===`folder_deleted`){h(`${e.actor} deleted folder ${M(e.repo)}`);return}if(e.type===`repo_sync`){n&&e.actor===n&&e.source===`api`||h(`${e.actor} pushed to ${e.repo}`),u.refreshRepoAfterFolderMutation(e.repo);return}if(e.type===`folder_message`){L?.(e);return}if(e.type===`message_update`){R?.(e);return}if(e.type===`folder_agent_thinking`){z?.(e);return}if(e.type===`workspace_message`){V?.(e);return}if(e.type===`workspace_message_update`){H?.(e);return}if(e.type===`workspace_agent_thinking`){U?.(e);return}if(e.type===`user_mention`){B?.(e);return}if(e.type===`presence`){P?.(e);return}if(e.type===`agent_activity`){F?.(e);return}if(e.type===`online`){I?.(e);return}if(e.type===`insights_updated`||e.type===`briefing_updated`){o(()=>import(`./0YfY4WC7.js`).then(e=>e.n).then(e=>e.insightsStore.load()),__vite__mapDeps([0,1,2,3,4]),import.meta.url);return}if(e.type===`state_cleared`){Promise.all([o(()=>import(`./
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./0YfY4WC7.js","./BNTlsKDJ.js","./1swuWs29.js","./DPHJu-Bj.js","./Ttel-lK0.js","./9XgWq5jJ.js","./ChyK-w8P.js","./ZnvbwwGp.js","./D4PsTUl1.js","./AIGIGEX4.js","./D-S790ZE.js","./uqxmB78b.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{X as e,_t as t,bt as n,yt as r}from"./1swuWs29.js";import{i,r as a}from"./ChyK-w8P.js";import{t as o}from"./C-OaypFN.js";import"./ZnvbwwGp.js";import{t as s}from"./Ttel-lK0.js";import{i as c,k as l}from"./DPHJu-Bj.js";import{i as u,r as d}from"./D-S790ZE.js";import{t as f}from"./AIGIGEX4.js";import{t as p}from"./D4PsTUl1.js";import{t as m}from"./uqxmB78b.js";import{r as h}from"./DREqAq0K.js";var ee=800;function te(){let n=r(!1),i=r(null),a=r(null),o=null,s=null,c=!1;function d(e,t,n,r){o&&o.repo===e&&o.type===t&&o.id===n?(r.data!==void 0&&(o.payload.data=r.data),r.content!==void 0&&(o.payload.content=r.content)):o={repo:e,type:t,id:n,payload:{...r}},f()}function f(){s&&clearTimeout(s),s=setTimeout(p,ee)}async function p(){if(s=null,!c&&o){let{repo:e,type:r,id:s,payload:d}=o;o=null,c=!0,t(n,!0),t(a,null);try{if(await l(e,r,s,d),t(i,new Date,!0),d.data?.name){let t=u.repos.find(t=>t.name===e)?.entities.find(e=>e.id===s);t&&(t.title=d.data.name)}}catch(n){t(a,n.message??`Save failed`,!0);let i=n.status??n.statusCode;(!i||i>=500)&&(o={repo:e,type:r,id:s,payload:d})}finally{t(n,!1),c=!1,o&&p()}}}function m(){return s&&=(clearTimeout(s),null),o?p():Promise.resolve()}async function h(e,r,o,s){t(n,!0),t(a,null);try{let n=await l(e,r,o,s);return t(i,new Date,!0),n}catch(e){return t(a,e.message??`Save failed`,!0),null}finally{t(n,!1)}}function te(){t(a,null),t(i,null),o=null,s&&=(clearTimeout(s),null)}return{get saving(){return e(n)},get lastSaved(){return e(i)},get error(){return e(a)},get hasPending(){return!!(o||c)},scheduleAutoSave:d,flush:m,saveEntity:h,reset:te}}var g=te(),_=r(`idle`),v=r(!1),y=r(null),b=r(null),x=r(null),S=r(``),C=r(null),w=r(0),T=null,E=r(19877),D=null,O={get state(){return e(_)},get isElectron(){return e(v)},get activeEntityId(){return e(y)},get activeRepo(){return e(b)},get meetingTitle(){return e(S)},get platform(){return e(C)},get elapsedSeconds(){return e(w)},get recordingStartTime(){return e(x)},handleElectronReady(e){t(v,!0),e?.port&&t(E,e.port,!0)},async handleRecordingStarted(r){if(t(v,!0),e(_)===`processing`&&this.reset(),e(_)!==`idle`)return;let i=r.repo||await se()||u.repos[0]?.name||null;if(!i){h.error(`No folder configured. Set one in Connectors → Meeting Capture.`);return}t(S,r.meetingTitle||``,!0),t(C,r.platform||null,!0),t(b,i,!0),t(x,new Date,!0),t(_,`recording`),t(w,0),T=setInterval(()=>{n(w)},1e3);let o=re(e(S)||`Meeting`,e(x));try{let n=e(x).toISOString();await c(i,`meeting`,o,{entity_type:`meeting`,entity_id:o,name:e(S)||`Meeting ${ie(e(x))}`,date:m(e(x)),created_at:n,updated_at:n,created_by:`desktop`,updated_by:`desktop`,attendees:(r.attendees||[]).filter(e=>!e.isSelf).map(e=>`[[${j(e.name)}]]`),tags:[`auto-transcribed`,r.platform].filter(Boolean)},``),t(y,o,!0),a(`/${i}/meeting/${o}`),ne({type:`sg:entity-created`,repo:i,entityType:`meeting`,entityId:o},`*`)}catch(e){console.error(`[Meeting] Failed to create entity:`,e),t(_,`idle`),A()}},handleRecordingStopped(t){e(_)!==`recording`&&e(_)!==`stopping`||k()},startRecording(){e(v)&&ne({type:`sg:start-recording`},`*`)},stopRecording(){e(_)===`recording`&&k()},reset(){t(_,`idle`),t(y,null),t(b,null),t(x,null),t(S,``),t(C,null),t(w,0),A()},handleEntityUpdated(t,n,r){e(_)===`processing`&&n===`meeting`&&(t!==e(b)||r!==e(y)||this.reset())},registerEditorContentProvider(t,n,r){t!==e(b)||n!==e(y)||(D=r)},unregisterEditorContentProvider(){D=null}};function k(){let n=ae();t(_,`processing`),A(),fetch(`http://127.0.0.1:${e(E)}/stop`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({entityId:e(y),memo:n})}).catch(()=>{}),h(`Processing meeting notes…`,{description:`Your notes will be ready in a moment.`,duration:5e3})}function ne(e,t){let{type:n,...r}=e;window.sgBridge?.send(n,r)}function A(){T&&=(clearInterval(T),null)}function j(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-|-$/g,``)}function re(e,t){let n=m(t),r=t.toTimeString().slice(0,8).replace(/:/g,``);return`${n}-${j(e||`meeting`)}-${r}`}function ie(e){return e.toLocaleTimeString([],{hour:`numeric`,minute:`2-digit`})}function ae(){if(D)try{let e=D();if(typeof e==`string`)return e}catch{}return oe()}function oe(){let e=document.querySelector(`.cm-content`);if(e){let t=e.querySelectorAll(`.cm-line`);return t.length>0?Array.from(t).map(e=>e.textContent||``).join(`
|
|
3
|
+
`):e.textContent||``}let t=document.querySelector(`.entity-editor textarea`);return t?t.value:``}async function se(){try{let e=await s(`/api/preferences/settings`);if(e.default_meeting_folder)return e.default_meeting_folder}catch{}return null}function M(e){return u.repos.find(t=>t.name===e)?.displayName??d(e)}var N=null,P=null,F=null,I=null,L=null,R=null,z=null,B=null,V=null,H=null,U=null,W=[],G=[],K=null,q=1e3,J=r(!1),Y=r(null),X=new Map,Z={},Q={};function ce(e,t){X.delete(e);let n=t.entities.length;h(n===1?`${e} updated ${t.entities[0]}`:`${e} updated ${n} entities`)}function le(e){for(let[t,n]of X)n.repo===e&&(clearTimeout(n.timer),X.delete(t))}function ue(e){let n=p.user?.displayName;if(e.type===`sync_progress`){let t=Z[e.repo];if(t){let n=e.message.trim(),r=n.match(/^Syncing from source:\s*(.+)$/i);r&&(Q[e.repo]=`Syncing ${r[1].trim()}…`);let i=Q[e.repo]??`Syncing ${e.repo}…`;h.loading(i,{id:t,description:n,duration:36e5})}return}if(e.type===`entity_change`){for(let t of G)try{t(e)}catch{}if(n&&e.actor===n&&e.source===`api`){u.refreshEntities(e.repo);return}if(u.refreshEntities(e.repo),O.handleEntityUpdated(e.repo,e.entityType,e.entityId),f.selectedRepo===e.repo&&f.selectedType===e.entityType&&f.selectedId===e.entityId){g.hasPending?h(`${e.actor} also saved changes to this entity`):i();return}let t=X.get(e.actor);if(t)clearTimeout(t.timer),t.entities.includes(e.entityId)||t.entities.push(e.entityId),t.timer=setTimeout(()=>ce(e.actor,t),1e4);else{let t={entities:[e.entityId],repo:e.repo,timer:setTimeout(()=>ce(e.actor,t),1e4)};X.set(e.actor,t)}return}if(e.type===`session_commit`){if(n&&e.actor===n){t(Y,e.timestamp,!0);return}let r=e.entities.length;h(r===1?`${e.actor} saved changes to ${e.entities[0]}`:`${e.actor} saved ${r} changes in ${e.repo}`),u.refreshEntities(e.repo);return}if(e.type===`sync_complete`){if(le(e.repo),!Z[e.repo]){let t=e.created+e.updated+e.deleted,n=t===0?`Sync complete · no changes in ${e.repo}`:`Sync complete · ${t} ${t===1?`entity`:`entities`} from ${e.source}`;h.success(n)}u.refreshEntities(e.repo);return}if(e.type===`folder_created`){h(`${e.actor} created folder ${M(e.repo)}`),u.ensureFolderInSidebar(e.repo);return}if(e.type===`folder_deleted`){h(`${e.actor} deleted folder ${M(e.repo)}`);return}if(e.type===`repo_sync`){n&&e.actor===n&&e.source===`api`||h(`${e.actor} pushed to ${e.repo}`),u.refreshRepoAfterFolderMutation(e.repo);return}if(e.type===`folder_message`){L?.(e);return}if(e.type===`message_update`){R?.(e);return}if(e.type===`folder_agent_thinking`){z?.(e);return}if(e.type===`workspace_message`){V?.(e);return}if(e.type===`workspace_message_update`){H?.(e);return}if(e.type===`workspace_agent_thinking`){U?.(e);return}if(e.type===`user_mention`){B?.(e);return}if(e.type===`presence`){P?.(e);return}if(e.type===`agent_activity`){F?.(e);return}if(e.type===`online`){I?.(e);return}if(e.type===`insights_updated`||e.type===`briefing_updated`){o(()=>import(`./0YfY4WC7.js`).then(e=>e.n).then(e=>e.insightsStore.load()),__vite__mapDeps([0,1,2,3,4]),import.meta.url);return}if(e.type===`state_cleared`){Promise.all([o(()=>import(`./9XgWq5jJ.js`).then(e=>e.n),__vite__mapDeps([5,1,6,2,7,8,4,9,3,10,11]),import.meta.url),o(()=>import(`./0YfY4WC7.js`).then(e=>e.n),__vite__mapDeps([0,1,2,3,4]),import.meta.url)]).then(([t,n])=>{t.chatStore.wipeLocal(),e.target===`all`&&n.insightsStore.load()});return}if(e.type===`access_granted`){u.ensureFolderInSidebar(e.repo);return}if(e.type===`access_revoked`){f.selectedRepo===e.repo&&f.deselect(),u.onFolderAccessRevoked(e.repo);return}}function de(){if(typeof window>`u`||N&&(N.readyState===WebSocket.OPEN||N.readyState===WebSocket.CONNECTING))return;let e=window.location.protocol===`https:`?`wss:`:`ws:`,n=(()=>{try{return Intl.DateTimeFormat().resolvedOptions().timeZone||`UTC`}catch{return`UTC`}})(),r=`${e}//${window.location.host}/ws?tz=${encodeURIComponent(n)}`;N=new WebSocket(r),N.binaryType=`arraybuffer`,N.onopen=()=>{t(J,!0),q=1e3,u.refreshAll();for(let e of W)e()},N.onmessage=e=>{if(!(e.data instanceof ArrayBuffer))try{let t=JSON.parse(e.data);if(t?.type===`ping`){N?.send(JSON.stringify({type:`pong`}));return}if(t?.type===`server_version`&&typeof t.version==`string`){he(t.version);return}let n=t;n.type&&n.type!==`toast`&&ue(n)}catch{}},N.onclose=()=>{t(J,!1),N=null,K=setTimeout(()=>{q=Math.min(q*2,1e4),de()},q)},N.onerror=()=>{}}function fe(){K&&=(clearTimeout(K),null),N&&=(N.close(),null),t(J,!1);for(let[,e]of X)clearTimeout(e.timer);X.clear()}function pe(e,t=4e3){h(e,{duration:t})}var $=r(!1),me={get value(){return e($)}};function he(n){!n||n===`1.3.48-next.98`||e($)||t($,!0)}function ge(e,t){let n=crypto.randomUUID();return t?.loading?h.loading(e,{id:n,duration:36e5}):h(e,{id:n}),n}function _e(e,t,n){if(n?.loading){h.loading(t,{id:e});return}/failed|error/i.test(t)?h.error(t,{id:e,duration:n?.duration??6e3}):h.success(t,{id:e,duration:n?.duration??4e3})}function ve(e){let t=crypto.randomUUID();Z[e]=t,h.loading(`Syncing ${e}…`,{id:t,duration:36e5})}function ye(e,t,n){let r=Z[e];r&&(delete Z[e],delete Q[e],n?h.error(t,{id:r,duration:6e3}):h.success(t,{id:r,duration:4e3}))}function be(e){P=e}function xe(e){F=e}function Se(e){I=e}function Ce(e){L=e}function we(e){R=e}function Te(e){z=e}function Ee(e){B=e}function De(e){V=e}function Oe(e){H=e}function ke(e){U=e}function Ae(e){W.push(e)}function je(e){G.push(e)}function Me(e){N?.readyState===WebSocket.OPEN&&N.send(JSON.stringify(e))}var Ne={get connected(){return e(J)},get lastAutoSaved(){return e(Y)},get ws(){return N},connect:de,disconnect:fe,showToast:pe,showPersistentToast:ge,updateToast:_e,startSyncToast:ve,finishSyncToast:ye,send:Me,setPresenceHandler:be,setAgentActivityHandler:xe,setOnlineHandler:Se,setMessagesHandler:Ce,setMessageUpdateHandler:we,setAgentThinkingHandler:Te,setUserMentionHandler:Ee,setWorkspaceMessagesHandler:De,setWorkspaceMessageUpdateHandler:Oe,setWorkspaceAgentThinkingHandler:ke,addConnectHandler:Ae,addEntityChangeHandler:je};export{g as i,me as n,O as r,Ne as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{A as e,Bt as t,D as n,Dt as r,F as i,G as a,L as o,Mt as s,N as c,Nt as l,O as u,R as d,St as f,Tt as p,U as m,W as ee,X as h,_t as g,at as _,b as te,d as ne,dt as v,ft as y,j as re,mt as b,n as ie,o as x,ot as S,pt as C,q as ae,v as oe,w as se,wt as ce,yt as w,z as T,zt as le}from"./1swuWs29.js";import{n as ue,r as E}from"./
|
|
1
|
+
import{A as e,Bt as t,D as n,Dt as r,F as i,G as a,L as o,Mt as s,N as c,Nt as l,O as u,R as d,St as f,Tt as p,U as m,W as ee,X as h,_t as g,at as _,b as te,d as ne,dt as v,ft as y,j as re,mt as b,n as ie,o as x,ot as S,pt as C,q as ae,v as oe,w as se,wt as ce,yt as w,z as T,zt as le}from"./1swuWs29.js";import{n as ue,r as E}from"./ChyK-w8P.js";import"./t62M88qj.js";import"./ZnvbwwGp.js";import{i as de,r as fe}from"./D-S790ZE.js";import{n as pe,o as me,r as he,s as ge,t as _e}from"./BzwhhnBr2.js";import{n as ve}from"./COtNXLuY2.js";import{t as ye}from"./C8LGXx0D.js";import{n as be,t as xe}from"./k8Pka4vk.js";import{t as Se}from"./BfwYWmwF.js";import{i as D}from"./IgGpTJTG.js";import{t as Ce}from"./Cxg5RqVG.js";import{r as we}from"./Dx0Uwf5m.js";import{t as Te}from"./DZ9mA0KH.js";import{t as Ee}from"./DPtylZwv.js";import{n as De,t as Oe}from"./EUtZxiZP.js";import{t as ke}from"./Ca06pNL42.js";var Ae=new Map,je=new Set,O=null;function k(e){O=e}var Me=T(`<span class="sort-menu-spacer svelte-1v0e2we"></span>`),Ne=T(`<span class="sort-menu-dir svelte-1v0e2we"><!></span>`),Pe=T(`<!> <span class="sort-menu-label svelte-1v0e2we"> </span> <!>`,1),Fe=T(`<!> <!>`,1),Ie=T(`<div class="gallery-spacer svelte-1v0e2we" aria-hidden="true"></div>`),Le=T(`<button class="gallery-cell gallery-cell-folder svelte-1v0e2we"><div class="cell-headline svelte-1v0e2we"><span class="svelte-1v0e2we"> </span></div> <div></div> <div class="cell-tags svelte-1v0e2we"></div> <span class="folder-icon svelte-1v0e2we" aria-hidden="true"><!></span></button>`),Re=T(`<div class="cell-image svelte-1v0e2we"><img loading="lazy" class="svelte-1v0e2we"/></div> <span class="cell-title svelte-1v0e2we"> </span>`,1),ze=T(`<div class="cell-headline svelte-1v0e2we"><span class="svelte-1v0e2we"> </span></div> <div></div>`,1),Be=T(`<span class="cell-tag svelte-1v0e2we"> </span>`),Ve=T(`<button class="gallery-cell svelte-1v0e2we"><!> <div class="cell-tags svelte-1v0e2we"></div></button>`),He=T(`<div class="gallery-spacer svelte-1v0e2we" aria-hidden="true"></div>`),Ue=T(`<div class="gallery-view svelte-1v0e2we"><div class="gallery-toolbar svelte-1v0e2we"><div class="toolbar-left svelte-1v0e2we"><!> <!> <!></div> <div class="toolbar-right svelte-1v0e2we"><!></div></div> <div class="gallery-grid svelte-1v0e2we"><!> <!> <!></div></div>`);function We(m,T){l(T,!0);let We=()=>p(ft,`$virtualizer`,Ge),[Ge,Ke]=ce(),A=x(T,`lockedType`,3,null),j=x(T,`lockedFolder`,3,null),qe=x(T,`lockedFolderPath`,3,null),M=x(T,`storageId`,3,null),N=x(T,`defaultSortKey`,3,`name`),P=x(T,`defaultSortAsc`,3,!0),Je=x(T,`entities`,3,null),Ye=x(T,`folders`,19,()=>[]),Xe=[{key:`name`,label:`Name`},{key:`created_at`,label:`Date created`},{key:`updated_at`,label:`Date updated`}],F=f(()=>M()?`sg-galleryview-${M()}`:null);function Ze(){if(!h(F))return null;try{let e=localStorage.getItem(h(F));if(e)return JSON.parse(e)}catch{}return null}function Qe(){if(!h(F))return;let e={selectedType:A()?null:h(L),sortKey:h(R),sortAsc:h(z)};localStorage.setItem(h(F),JSON.stringify(e))}let $e=M()?`sg-galleryview-${M()}`:null,I=(()=>{if(!$e||typeof localStorage>`u`)return null;try{let e=localStorage.getItem($e);return e?JSON.parse(e):null}catch{return null}})(),L=w(b(A()??I?.selectedType??null)),R=w(b(I?.sortKey??N())),z=w(b(I?.sortAsc??P())),B=w(null);S(()=>{if(T.view&&T.view.id!==h(B)){g(B,T.view.id,!0);let e=Ze();e?(g(L,A()??e.selectedType??null,!0),g(R,e.sortKey??N(),!0),g(z,e.sortAsc??P(),!0)):(g(L,A()??T.view.config.selectedType??null,!0),g(R,N()),g(z,P()))}}),S(()=>{A()&&g(L,A())}),S(()=>{h(L),h(R),h(z),h(B)!==null&&Qe()});function et(e){h(R)===e?g(z,!h(z)):(g(R,e,!0),g(z,e===`name`))}function tt(e,t){return t===`name`?(e.title??e.id??``).toLowerCase():t===`created_at`?e.createdAt??``:t===`updated_at`?e.updatedAt??``:``}let nt=f(()=>{let e=[];if(Je())for(let t of Je())(!h(L)||t.entityType===h(L))&&e.push(t);else for(let t of de.repos)if(!(j()&&t.name!==j()))for(let n of t.entities)h(L)&&n.entityType!==h(L)||e.push(n);let t=h(z)?1:-1;return e.sort((e,n)=>{let r=tt(e,h(R)),i=tt(n,h(R));return r===i?0:r?i?r<i?-t:t:-1:1}),e}),V=w(b(new Map)),rt=w(!1),H=new AbortController;ue(()=>{O&&(H.abort(),H=new AbortController,k(null))});let it=f(()=>{let e=new Set;for(let t of h(nt))e.add(t.repo);return e});function at(e){let t=new Map;for(let n of e){let e=Ae.get(n);if(e)for(let[n,r]of e)t.set(n,r)}return t}S(()=>{let e=h(it);if(g(V,at(e),!0),![...e].some(e=>!je.has(e))||O)return;g(rt,!0);let t=H.signal;k(we(t).then(n=>{if(!t.aborted){for(let[e,t]of Object.entries(n)){let n=new Map;for(let e of t)e.mediaType===`image`&&(n.has(e.entityId)||n.set(e.entityId,e.url));Ae.set(e,n),je.add(e)}g(V,at(e),!0)}}).catch(e=>{e?.name!==`AbortError`&&console.error(`Failed to load workspace assets:`,e)}).finally(()=>{k(null),g(rt,!1)}))});let ot=f(()=>Ye().map(e=>({kind:`folder`,folder:e}))),U=f(()=>h(nt).map(e=>{let t=e.fields.thumbnail,n=h(V).get(e.id);return{kind:`entity`,entity:e,thumbnailUrl:t||n||null}})),W=f(()=>[...h(ot),...h(U)]);S(()=>{Ce.count=h(U).length}),ie(()=>{Ce.count=null});function st(e){E(`/${e.repo}/${e.entityType}/${e.id}`)}function ct(){if(typeof window>`u`)return{cols:2,rowH:200};let e=window.innerWidth;return e>=1600?{cols:6,rowH:e*.2}:e>=1200?{cols:5,rowH:e*.24}:e>=900?{cols:4,rowH:e*.3}:e>=600?{cols:3,rowH:e*.4}:{cols:2,rowH:e*.55}}let G=ct(),K=w(null),q=w(b(G.cols)),lt=f(()=>`gallery:${M()??`default`}`),J=w(b(G.rowH));function ut(){if(!h(K))return;let e=getComputedStyle(h(K)),t=e.gridTemplateColumns.split(` `).filter(Boolean).length,n=parseFloat(e.gridAutoRows);t>0&&t!==h(q)&&g(q,t,!0),n>0&&Math.abs(n-h(J))>=.5&&g(J,n,!0)}S(()=>{if(!h(K))return;ut();let e=new ResizeObserver(()=>ut());return e.observe(h(K)),()=>e.disconnect()});let dt=f(()=>Math.ceil(h(W).length/h(q))),ft=Oe({count:0,getScrollElement:()=>null,estimateSize:()=>h(J),overscan:2});S(()=>{let e=h(dt),t=h(J);r(ft).setOptions({count:e,getScrollElement:()=>h(K),estimateSize:()=>t,overscan:2})});let Y=f(()=>We().getVirtualItems()),pt=f(()=>h(Y).length>0?h(Y)[0].index:0),mt=f(()=>h(Y).length>0?Math.max(0,h(dt)-h(Y)[h(Y).length-1].index-1):0),ht=f(()=>{if(h(Y).length===0)return[];let e=h(Y)[0].index*h(q),t=Math.min(h(W).length,(h(Y)[h(Y).length-1].index+1)*h(q));return h(W).slice(e,t)});var X=Ue(),Z=v(X),Q=v(Z),gt=v(Q),_t=e=>{Ee(e,{get repoName(){return j()},get currentPath(){return qe()}})};c(gt,e=>{j()&&qe()&&e(_t)});var vt=C(gt,2),yt=r=>{var a=d();n(y(a),()=>pe,(r,a)=>{a(r,{children:(r,a)=>{var s=Fe(),l=y(s);{let e=f(()=>Xe.find(e=>e.key===h(R))?.label),t=f(()=>h(z)?` (ascending)`:` (descending)`);n(l,()=>he,(n,r)=>{r(n,{class:`toolbar-icon-btn`,get title(){return`Sort by ${h(e)??``}${h(t)??``}`},"aria-label":`Sort entries`,children:(e,t)=>{var n=d(),r=y(n),i=e=>{be(e,{size:16})},a=e=>{xe(e,{size:16})};c(r,e=>{h(z)?e(i):e(a,-1)}),o(e,n)},$$slots:{default:!0}})})}n(C(l,2),()=>_e,(r,a)=>{a(r,{children:(r,a)=>{var s=d();n(y(s),()=>ge,(r,a)=>{a(r,{align:`start`,children:(r,a)=>{var s=d();e(y(s),17,()=>Xe,e=>e.key,(e,r)=>{var a=d();n(y(a),()=>me,(e,n)=>{n(e,{onSelect:()=>et(h(r).key),children:(e,n)=>{var a=Pe(),s=y(a),l=e=>{ye(e,{size:14})},u=e=>{o(e,Me())};c(s,e=>{h(R)===h(r).key?e(l):e(u,-1)});var d=C(s,2),f=v(d,!0);t(d);var p=C(d,2),m=e=>{var n=Ne(),r=v(n),i=e=>{Te(e,{size:12})},a=e=>{ke(e,{size:12})};c(r,e=>{h(z)?e(i):e(a,-1)}),t(n),o(e,n)};c(p,e=>{h(R)===h(r).key&&e(m)}),_(()=>i(f,h(r).label)),o(e,a)},$$slots:{default:!0}})}),o(e,a)}),o(r,s)},$$slots:{default:!0}})}),o(r,s)},$$slots:{default:!0}})}),o(r,s)},$$slots:{default:!0}})}),o(r,a)};c(vt,e=>{h(U).length>1&&e(yt)});var bt=C(vt,2),xt=e=>{var t=d();u(y(t),()=>T.toolbarLeft),o(e,t)};c(bt,e=>{T.toolbarLeft&&e(xt)}),t(Q);var St=C(Q,2),Ct=v(St),wt=e=>{var t=d();u(y(t),()=>T.toolbarRight),o(e,t)};c(Ct,e=>{T.toolbarRight&&e(wt)}),t(St),t(Z);var $=C(Z,2),Tt=v($),Et=e=>{var t=Ie();let n;_(()=>n=te(t,``,n,{"grid-column":`1 / -1`,"grid-row":`span ${h(pt)??``}`})),o(e,t)};c(Tt,e=>{h(pt)>0&&e(Et)});var Dt=C(Tt,2);e(Dt,17,()=>h(ht),e=>e.kind===`folder`?`f:${e.folder.path}`:e.entity.repo+`/`+e.entity.entityType+`/`+e.entity.id,(n,r)=>{var s=d(),l=y(s),u=e=>{let n=f(()=>j()??``);var a=Le(),s=v(a),c=v(s),l=v(c,!0);t(c),t(s);var u=C(s,6);Se(v(u),{}),t(u),t(a),_(e=>i(l,e),[()=>fe(h(r).folder.name,h(r).folder.displayName)]),ee(`click`,a,()=>h(n)&&E(ve(h(n),h(r).folder.path))),o(e,a)},p=n=>{let s=f(()=>Array.isArray(h(r).entity.fields.tags)?h(r).entity.fields.tags:[]);var l=Ve(),u=v(l),d=e=>{var n=Re(),s=y(n),c=v(s);t(s);var l=C(s,2),u=v(l,!0);t(l),_(e=>{oe(c,`src`,h(r).thumbnailUrl),oe(c,`alt`,h(r).entity.title),i(u,e)},[()=>D(h(r).entity.title)]),a(`error`,c,e=>{e.currentTarget.style.display=`none`}),ae(c),o(e,n)},p=e=>{var n=ze(),a=y(n),s=v(a),c=v(s,!0);t(s),t(a),le(2),_(e=>i(c,e),[()=>D(h(r).entity.title)]),o(e,n)};c(u,e=>{h(r).thumbnailUrl?e(d):e(p,-1)});var m=C(u,2);e(m,21,()=>h(s).slice(0,3),re,(e,n)=>{var r=Be(),a=v(r,!0);t(r),_(e=>i(a,e),[()=>h(n).replace(/[-_]/g,` `)]),o(e,r)}),t(m),t(l),ee(`click`,l,()=>st(h(r).entity)),o(n,l)};c(l,e=>{h(r).kind===`folder`?e(u):e(p,-1)}),o(n,s)});var Ot=C(Dt,2),kt=e=>{var t=He();let n;_(()=>n=te(t,``,n,{"grid-column":`1 / -1`,"grid-row":`span ${h(mt)??``}`})),o(e,t)};c(Ot,e=>{h(mt)>0&&e(kt)}),t($),ne($,e=>g(K,e),()=>h(K)),se($,(e,t)=>De?.(e,t),()=>h(lt)),t(X),o(m,X),s(),Ke()}m([`click`]);export{We as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{n as e}from"./BNTlsKDJ.js";import{St as t,X as n,_t as r,bt as i,mt as a,yt as o}from"./1swuWs29.js";import{i as s}from"./
|
|
1
|
+
import{n as e}from"./BNTlsKDJ.js";import{St as t,X as n,_t as r,bt as i,mt as a,yt as o}from"./1swuWs29.js";import{i as s}from"./ChyK-w8P.js";import"./ZnvbwwGp.js";import{i as c}from"./D-S790ZE.js";import{t as l}from"./AIGIGEX4.js";import{t as u}from"./D4PsTUl1.js";import{t as d}from"./uqxmB78b.js";function f(e,t,n){fetch(`/api/chat/stream`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e),signal:n}).then(async e=>{if(!e.ok){t({type:`error`,message:`HTTP ${e.status}`});return}let n=e.body?.getReader();if(!n){t({type:`error`,message:`No response body`});return}let r=new TextDecoder,i=``;for(;;){let{done:e,value:a}=await n.read();if(e)break;i+=r.decode(a,{stream:!0});let o=i.split(`
|
|
2
2
|
`);i=o.pop()??``;for(let e of o)if(e.startsWith(`data: `))try{t(JSON.parse(e.slice(6)))}catch{}}}).catch(e=>{e.name!==`AbortError`&&t({type:`error`,message:e.message})})}var p=e({chatStore:()=>w});function m(){let e=c.name;return e&&e.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``)||`default`}function h(){let e=u.user?.id;return e?`sg-chat-sessions-${m()}-${e}`:`sg-chat-sessions`}function g(){let e=u.user?.id;return e?`sg-chat-version-${m()}-${e}`:`sg-chat-version`}var _=14;function v(){try{if(u.user?.id){localStorage.getItem(`sg-chat-sessions`)&&(localStorage.removeItem(`sg-chat-sessions`),localStorage.removeItem(`sg-chat-version`));let e=`sg-chat-sessions-${u.user.id}`;localStorage.getItem(e)&&(localStorage.removeItem(e),localStorage.removeItem(`sg-chat-version-${u.user.id}`))}}catch{}}function y(){v();try{let e=localStorage.getItem(h());if(!e)return[];if(localStorage.getItem(g())===`2`)return JSON.parse(e);let t=JSON.parse(e).map(e=>({id:crypto.randomUUID(),createdAt:e.date+`T00:00:00.000Z`,updatedAt:e.date+`T00:00:00.000Z`,title:e.messages.find(e=>e.role===`user`)?.content.slice(0,50)||`New chat`,messages:e.messages}));return localStorage.setItem(h(),JSON.stringify(t)),localStorage.setItem(g(),`2`),t}catch{return[]}}function b(e){let t=[...e].sort((e,t)=>t.updatedAt.localeCompare(e.updatedAt)).slice(0,_);try{localStorage.setItem(h(),JSON.stringify(t)),localStorage.setItem(g(),`2`)}catch{}}function x(e,t){let n=y(),r=t.map(({streaming:e,...t})=>t),i=n.findIndex(t=>t.id===e);i>=0&&(n[i].messages=r,n[i].updatedAt=new Date().toISOString()),b(n)}function S(e){return d(new Date(e.updatedAt))===d()}function C(){let e=y().sort((e,t)=>t.updatedAt.localeCompare(e.updatedAt)).find(S)??null,u=o(a(e?e.messages.map(e=>({...e,streaming:!1})):[])),d=o(a(e?.id??null)),p=o(!1),m=o(0),_=o(0),v=o(0),C=o(null),w=null,T=o(``),E=o(a(!!e)),D=o(!1),O=o(0),k=o(0),A=t(()=>n(D)&&n(O)>n(k)),j=new Set([`create_entity`,`update_entity`,`delete_entity`,`move_entity`,`transfer_entity`,`create_folder`,`create_subfolder`,`rename_folder`,`delete_folder`]);function M(){I(),r(d,crypto.randomUUID(),!0),r(u,[],!0),r(E,!1)}function N(){I();try{localStorage.removeItem(h()),localStorage.removeItem(g())}catch{}r(u,[],!0),r(d,null),r(E,!1),r(m,0),r(C,null),r(k,n(O),!0)}function P(){if(n(d)&&n(E))return n(d);let e=n(d)||crypto.randomUUID();r(d,e,!0);let t=new Date().toISOString(),i=y();return i.push({id:e,createdAt:t,updatedAt:t,title:`New chat`,messages:[]}),b(i),r(E,!0),e}function F(e,t){if(!e.trim()||n(p))return;r(C,null);let a=P(),o=!!t?.silent;o||n(u).push({role:`user`,content:e}),n(u).push({role:`agent`,content:``,segments:[],streaming:!0}),i(O),r(p,!0);let h=y(),g=h.find(e=>e.id===a);g&&g.title===`New chat`&&(g.title=e.slice(0,50),b(h)),x(a,n(u));let v=!1,S=null;w=new AbortController;let T=l.selectedSubPath?`${l.selectedRepo}/${l.selectedType}/${l.selectedId}/${l.selectedSubPath}`:l.selectedId?`${l.selectedRepo}/${l.selectedType}/${l.selectedId}`:l.selectedRepo?`folder:${l.selectedRepo}`:null,D=n(u).slice(0,-2).map(e=>({role:e.role===`agent`?`assistant`:e.role,content:e.content}));f({message:e,context:T??void 0,sessionId:a,history:D.length>0?D:void 0},e=>{if(!n(p))return;let t=n(u)[n(u).length-1];if(!t||t.role!==`agent`)return;let l=t.segments;switch(e.type){case`token`:{t.content+=e.text??``;let n=l[l.length-1];n&&n.type===`text`?n.content+=e.text??``:l.push({type:`text`,content:e.text??``}),t.segments=l,i(_);break}case`tool_start`:if(e.name){j.has(e.name)&&(v=!0);let n=l[l.length-1];n&&n.type===`tools`?n.names=[...n.names,e.name]:l.push({type:`tools`,names:[e.name]}),t.segments=l,i(_)}break;case`mutation`:v=!0,e.action===`created`&&e.repo&&e.entityType&&e.entityId&&(S={repo:e.repo,entityType:e.entityType,entityId:e.entityId}),e.repo===`_conversation`&&setTimeout(()=>{r(u,[],!0),n(d)&&n(E)&&x(n(d),n(u))},100),e.repo===`_workspace`&&c.load(),window.StudioChrome?.emitMutation?.({action:e.action,repo:e.repo,entityType:e.entityType,entityId:e.entityId});break;case`highlight`:r(C,e.entityIds&&e.entityIds.length>0?new Set(e.entityIds):null,!0);break;case`done`:{let l=/<!--\s*followups:\s*\[.*?\]\s*-->\s*$/s;t.content&&=t.content.replace(l,``).trimEnd();let f=t.segments??[],h=f[f.length-1];if(h?.type===`text`&&(h.content=h.content.replace(l,``).trimEnd()),o&&e.fallback&&!t.content){r(u,n(u).slice(0,-1),!0),r(p,!1),n(d)&&n(E)&&x(a,n(u));break}if(e.message&&!t.content&&(t.content=e.message,t.segments=[{type:`text`,content:e.message}]),e.suggestions?.length&&(t.suggestions=e.suggestions),t.streaming=!1,r(p,!1),x(a,n(u)),v){s().then(()=>{i(m)});let e=new Set(c.repos.map(e=>e.name));S&&!e.has(S.repo)?c.load():c.refreshAll()}break}case`error`:t.content+=`\n\nError: ${e.message}`,t.streaming=!1,r(p,!1),x(a,n(u));break}},w.signal)}function I(){if(!n(p))return;fetch(`/api/chat/abort`,{method:`POST`,credentials:`include`}).catch(()=>{}),w?.abort(),w=null,r(p,!1);let e=n(u)[n(u).length-1];e?.streaming&&(e.streaming=!1,n(d)&&x(n(d),n(u)))}function L(e){let t=y().find(t=>t.id===e);t&&(I(),r(d,t.id,!0),r(u,t.messages.map(e=>({...e,streaming:!1})),!0),r(E,!0))}function R(){return y().sort((e,t)=>t.updatedAt.localeCompare(e.updatedAt)).map(e=>({id:e.id,title:e.title,createdAt:e.createdAt,updatedAt:e.updatedAt,preview:e.messages.find(e=>e.role===`user`)?.content.slice(0,80)||``,count:e.messages.length,active:e.id===n(d)}))}return{get messages(){return n(u)},get streaming(){return n(p)},get mutationCount(){return n(m)},get scrollTick(){return n(_)},get forceScroll(){return n(v)},triggerScroll(){i(v)},get highlightedIds(){return n(C)},get activeSessionId(){return n(d)},get draftInput(){return n(T)},set draftInput(e){r(T,e,!0)},send:F,stop:I,newSession:M,wipeLocal:N,loadSession:L,getSessions:R,reinitialize(){I();let e=y().sort((e,t)=>t.updatedAt.localeCompare(e.updatedAt)).find(S)??null;r(d,e?.id??null,!0),r(u,e?.messages.map(e=>({...e,streaming:!1}))??[],!0),r(E,!!e),r(k,n(O),!0),r(D,!0)},get hydrated(){return n(D)},get hasUnread(){return n(A)},markSeen(){r(k,n(O),!0)}}}var w=C();export{p as n,w as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{X as e,_t as t,yt as n}from"./1swuWs29.js";import{r}from"./
|
|
1
|
+
import{X as e,_t as t,yt as n}from"./1swuWs29.js";import{r}from"./ChyK-w8P.js";import"./ZnvbwwGp.js";import{b as i}from"./DPHJu-Bj.js";function a(){let a=n(null),o=n(null),s=n(null),c=n(null),l=n(null),u=n(`entity`),d=n(null),f=n(null),p=n(null),m=n(`team`),h=n(`studiograph`),g=n(!1),_=n(!1);function v(t,n){e(a)&&(e(a)!==t||e(s)!==n)&&i(e(a)).catch(()=>{})}function y(e,n,r,i){v(e,r),t(a,e,!0),t(o,n,!0),t(s,r,!0),t(c,i??null,!0),t(l,null)}function b(n,r=``){e(a)&&e(a)!==n&&i(e(a)).catch(()=>{}),t(a,n,!0),t(o,null),t(s,null),t(c,null),t(l,r,!0)}function x(){t(u,`entity`)}function S(){t(u,`graph`)}function C(e){t(u,`view`),t(d,e,!0)}function w(e,n,r){t(p,e??`profile`,!0),n&&t(m,n,!0),r&&t(h,r,!0)}function T(){t(p,null),typeof window<`u`&&window.location.pathname.startsWith(`/settings`)&&r(`/`)}function E(n,r,i){e(s)===i&&e(a)===n?(t(a,null),t(o,null),t(s,null)):(t(a,n,!0),t(o,r,!0),t(s,i,!0)),t(c,null),t(l,null)}function D(){e(a)&&i(e(a)).catch(()=>{}),t(a,null),t(o,null),t(s,null),t(c,null),t(l,null)}return{get selectedRepo(){return e(a)},get selectedType(){return e(o)},get selectedId(){return e(s)},get selectedSubPath(){return e(c)},get selectedFolderPath(){return e(l)},get activeView(){return e(u)},get entityPath(){return e(a)&&e(o)&&e(s)?`/${e(a)}/${e(o)}/${e(s)}`:null},get hoveredEntityId(){return e(f)},set hoveredEntityId(e){t(f,e,!0)},get settingsPanel(){return e(p)},set settingsPanel(e){t(p,e,!0)},get workspaceTab(){return e(m)},set workspaceTab(e){t(m,e,!0)},get integrationsTab(){return e(h)},set integrationsTab(e){t(h,e,!0)},get hideSidebar(){return e(g)},set hideSidebar(e){t(g,e,!0)},get mobileSidebarOpen(){return e(_)},set mobileSidebarOpen(e){t(_,e,!0)},select:y,selectRepo:b,deselect:D,selectOnGraph:E,showEntity:x,showGraph:S,get activeViewId(){return e(d)},showView:C,showSettings:w,closeSettings:T}}var o=a();export{o as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{A as e,B as t,Bt as n,D as r,F as i,G as a,H as o,L as s,Mt as c,N as l,Nt as u,O as d,R as f,St as p,U as m,W as h,X as g,Y as _,_t as v,a as y,at as b,b as x,bt as S,dt as C,ft as w,g as ee,gt as T,it as E,j as D,mt as O,n as te,o as k,ot as A,pt as j,rt as ne,u as M,v as re,w as ie,x as N,yt as P,z as F,zt as I}from"./1swuWs29.js";import{r as ae}from"./CYwTnPem.js";import"./t62M88qj.js";import"./CxfiKkQs.js";import{k as oe}from"./DPHJu-Bj.js";import{i as se}from"./D-S790ZE.js";import"./BTVpmOVM.js";import{i as ce,n as le,r as ue,t as de}from"./ZNTdtOVo.js";import{a as fe,i as pe,n as me,o as he,r as ge,s as _e,t as ve}from"./D8UWA8pA2.js";import{t as ye}from"./IygN8LXl2.js";import{t as L}from"./Cz9lz73i2.js";import{a as be,r as xe}from"./MarJFAAy.js";import{t as Se}from"./PjBdNa5U.js";import{t as Ce}from"./C8LGXx0D.js";import{i as we}from"./IgGpTJTG.js";import{t as Te}from"./D-fOfpFk.js";import{t as Ee}from"./Cxg5RqVG.js";import{a as De,t as R}from"./DUoaAlBS.js";import{t as Oe}from"./oTtTtXgi.js";import{t as ke}from"./BYILrLJK.js";import{t as Ae}from"./CoOqf7mC.js";function je(e,t){let n=[],r=new Set;if(e&&R[e])for(let t of R[e])t.format===`date`&&!r.has(t.key)&&(n.push({key:t.key,label:t.label}),r.add(t.key));if(t){for(let e of t)if(!r.has(e)&&(e.endsWith(`_date`)||e===`date`||e===`expected_close`)){let t=e.replace(/_/g,` `).replace(/\b\w/g,e=>e.toUpperCase());n.push({key:e,label:t}),r.add(e)}}return r.has(`created_at`)||n.push({key:`created_at`,label:`Created`}),n}function Me(e,t){let n;if(n=t===`created_at`?e.createdAt:t===`updated_at`?e.updatedAt:e.fields[t],!n)return null;let r=String(n);return/^\d{4}-\d{2}-\d{2}/.test(r)?r.slice(0,10):null}function Ne(e,t,n,r){let i=new Date,a=`${i.getFullYear()}-${String(i.getMonth()+1).padStart(2,`0`)}-${String(i.getDate()).padStart(2,`0`)}`,o=new Date(e,t-1,1).getDay(),s=new Date(e,t-1,1-o),c=new Map;for(let e of n){let t=Me(e,r);t&&(c.has(t)||c.set(t,[]),c.get(t).push(e))}let l=[];for(let n=0;n<42;n++){let r=new Date(s);r.setDate(r.getDate()+n);let i=r.getFullYear(),o=r.getMonth()+1,u=r.getDate(),d=`${i}-${String(o).padStart(2,`0`)}-${String(u).padStart(2,`0`)}`;l.push({dateStr:d,day:u,isCurrentMonth:o===t&&i===e,isToday:d===a,entities:c.get(d)??[]})}return l}function Pe(e,t,n,r,i){let a=new Date,o=`${a.getFullYear()}-${String(a.getMonth()+1).padStart(2,`0`)}-${String(a.getDate()).padStart(2,`0`)}`,s=new Date(e,t-1,n),c=s.getDay(),l=new Date(s);l.setDate(s.getDate()-c);let u=new Map;for(let e of r){let t=Me(e,i);t&&(u.has(t)||u.set(t,[]),u.get(t).push(e))}let d=[];for(let n=0;n<7;n++){let r=new Date(l);r.setDate(r.getDate()+n);let i=r.getFullYear(),a=r.getMonth()+1,s=r.getDate(),c=`${i}-${String(a).padStart(2,`0`)}-${String(s).padStart(2,`0`)}`;d.push({dateStr:c,day:s,isCurrentMonth:a===t&&i===e,isToday:c===o,entities:u.get(c)??[]})}return d}function Fe(e){if(e.length===0)return``;let t=new Date(e[0].dateStr+`T00:00:00`),n=new Date(e[e.length-1].dateStr+`T00:00:00`),r=t.getMonth()===n.getMonth()&&t.getFullYear()===n.getFullYear(),i=t.getFullYear()===n.getFullYear(),a=e=>e.toLocaleDateString(`en-US`,{month:`short`});return r?`${a(t)} ${t.getDate()} – ${n.getDate()}, ${n.getFullYear()}`:i?`${a(t)} ${t.getDate()} – ${a(n)} ${n.getDate()}, ${n.getFullYear()}`:`${a(t)} ${t.getDate()}, ${t.getFullYear()} – ${a(n)} ${n.getDate()}, ${n.getFullYear()}`}var Ie=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],Le=[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],z=t(`<title> </title>`),Re=t(`<svg><!><path d="M30,23V21H27.91a5.9592,5.9592,0,0,0-1.0244-2.4707L28.364,17.05,26.95,15.6362l-1.4788,1.4785A5.9584,5.9584,0,0,0,23,16.09V14H21v2.09a5.9584,5.9584,0,0,0-2.4709,1.0244L17.05,15.6362,15.636,17.05l1.4787,1.479A5.9618,5.9618,0,0,0,16.09,21H14v2h2.09a5.9618,5.9618,0,0,0,1.0244,2.4707L15.636,26.95,17.05,28.3638l1.4788-1.4785A5.9584,5.9584,0,0,0,21,27.91V30h2V27.91a5.9584,5.9584,0,0,0,2.4709-1.0244L26.95,28.3638,28.364,26.95l-1.4787-1.479A5.9592,5.9592,0,0,0,27.91,23Zm-8,3a4,4,0,1,1,4-4A4.0045,4.0045,0,0,1,22,26Z"></path><path d="M28,6a2,2,0,0,0-2-2H22V2H20V4H12V2H10V4H6A2,2,0,0,0,4,6V26a2,2,0,0,0,2,2h4V26H6V6h4V8h2V6h8V8h2V6h4v6h2Z"></path></svg>`);function ze(e,t){let r=y(t,[`children`,`$$slots`,`$$events`,`$$legacy`]),a=y(r,[`size`,`title`]);u(t,!1);let o=T(),d=T(),f=k(t,`size`,8,16),p=k(t,`title`,8,void 0);ne(()=>(_(r),_(p())),()=>{v(o,r[`aria-label`]||r[`aria-labelledby`]||p())}),ne(()=>(g(o),_(r)),()=>{v(d,{"aria-hidden":g(o)?void 0:!0,role:g(o)?`img`:void 0,focusable:Number(r.tabindex)===0?!0:void 0})}),E(),M();var m=Re();ee(m,()=>({xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 32 32`,fill:`currentColor`,preserveAspectRatio:`xMidYMid meet`,width:f(),height:f(),...g(d),...a}));var h=C(m),x=e=>{var t=z(),r=C(t,!0);n(t),b(()=>i(r,p())),s(e,t)};l(h,e=>{p()&&e(x)}),I(2),n(m),s(e,m),c()}var Be=F(`<button class="toolbar-icon-btn" aria-label="Back"><!></button>`),Ve=F(`<!> <!> <!>`,1),He=F(`<button class="sg-sheet-row"><span class="sg-sheet-row-label"> </span> <span class="sg-sheet-row-trail"><!></span></button>`),Ue=F(`<button class="sg-sheet-row"><span class="sg-sheet-row-label"> </span> <span class="sg-sheet-row-trail"><!></span></button>`),We=F(`<button class="sg-sheet-row"><span class="sg-sheet-row-label"> </span> <span class="sg-sheet-row-trail"><!></span></button> <!> <!>`,1),Ge=F(`<button><span class="sg-sheet-row-lead"><!></span> <span class="sg-sheet-row-label">Month</span></button> <button><span class="sg-sheet-row-lead"><!></span> <span class="sg-sheet-row-label">Week</span></button>`,1),Ke=F(`<button><span class="sg-sheet-row-lead"><!></span> <span class="sg-sheet-row-label"> </span></button>`),qe=F(`<div class="sg-sheet-body"><!></div>`),Je=F(`<!> <!>`,1),Ye=F(`<!> <!>`,1),Xe=F(`<!> <!>`,1),Ze=F(`<div class="empty svelte-dnwsps"><p>No date fields available for the selected type.</p> <p class="empty-hint svelte-dnwsps">Try selecting a type with date fields like Task, Project, or Meeting.</p></div>`),Qe=F(`<div class="dow-header svelte-dnwsps"> </div>`),$e=F(`<button class="entity-chip svelte-dnwsps" draggable="true"><span class="chip-label svelte-dnwsps"> </span></button>`),et=F(`<button class="day-view-all svelte-dnwsps">View all</button>`),tt=F(`<div><span> </span> <div class="day-entities svelte-dnwsps"></div> <!></div>`),nt=F(`<div class="calendar-grid svelte-dnwsps"><!> <!></div>`),rt=F(`<div class="tooltip-row svelte-dnwsps"><span class="tooltip-meta svelte-dnwsps"> </span></div>`),it=F(`<span class="tooltip-dot svelte-dnwsps"></span>`),at=F(`<div class="tooltip-row svelte-dnwsps"><!> <span class="tooltip-meta svelte-dnwsps"> </span></div>`),ot=F(`<div class="floating-tooltip svelte-dnwsps"><strong class="tooltip-title svelte-dnwsps"> </strong> <div class="tooltip-row svelte-dnwsps"><span class="tooltip-dot svelte-dnwsps"></span> <span class="tooltip-meta svelte-dnwsps"> </span></div> <!> <!></div>`),st=F(`<button class="overflow-item svelte-dnwsps"><span class="chip-dot"></span> <span class="overflow-item-title svelte-dnwsps"> </span> <span class="overflow-item-type svelte-dnwsps"> </span></button>`),ct=F(`<div class="overflow-backdrop svelte-dnwsps"></div> <div class="overflow-popover svelte-dnwsps"><div class="overflow-list svelte-dnwsps"></div></div>`,1),lt=F(`<div class="calendar-view svelte-dnwsps"><div class="calendar-toolbar svelte-dnwsps"><!> <button><!></button> <!> <div class="toolbar-left svelte-dnwsps"><!> <!></div> <div class="month-nav svelte-dnwsps"><button class="nav-btn svelte-dnwsps"><!></button> <button class="month-label svelte-dnwsps"><span class="month-label-full svelte-dnwsps"> </span> <span class="month-label-short svelte-dnwsps"> </span></button> <button class="nav-btn svelte-dnwsps"><!></button></div> <div class="toolbar-right svelte-dnwsps"><!></div></div> <!></div> <!> <!>`,1);function ut(t,m){u(m,!0);let _=k(m,`lockedType`,3,null),y=k(m,`lockedFolder`,3,null),ee=k(m,`lockedFolderPath`,3,null),T=k(m,`storageId`,3,null),E=k(m,`entities`,3,null),ne=k(m,`tagSource`,3,null),M=k(m,`selectedTags`,19,()=>[]),F=p(()=>{let e=ne()??E()??[],t=new Map;for(let n of e){let e=n.fields.tags;if(Array.isArray(e))for(let n of e){let e=String(n);t.set(e,(t.get(e)??0)+1)}}return[...t.entries()].sort((e,t)=>e[0].localeCompare(t[0])).map(([e,t])=>({tag:e,count:t}))}),R=P(!1),z=P(`root`),Re=p(()=>g(z)===`mode`?`View`:g(z)===`sort`?`Sort by`:g(z)===`filter`?`Filter by tag`:`Options`);A(()=>{g(R)||v(z,`root`)});function ut(){v(z,`root`)}function dt(e){m.onTagsChange&&m.onTagsChange(e),v(R,!1)}let ft=p(()=>T()?`sg-calendarview-${T()}`:null);function pt(){if(!g(ft))return null;try{let e=localStorage.getItem(g(ft));if(e)return JSON.parse(e)}catch{}return null}function mt(){if(!g(ft))return;let e={selectedType:_()?null:g(V),dateField:g(H),year:g(U),month:g(W),day:g(G),mode:g(K)};localStorage.setItem(g(ft),JSON.stringify(e))}let ht=T()?`sg-calendarview-${T()}`:null,B=(()=>{if(!ht||typeof localStorage>`u`)return null;try{let e=localStorage.getItem(ht);return e?JSON.parse(e):null}catch{return null}})(),gt=new Date,V=P(O(_()??B?.selectedType??null)),H=P(O(B?.dateField??`due_date`)),U=P(O(B?.year??gt.getFullYear())),W=P(O(B?.month??gt.getMonth()+1)),G=P(O(B?.day??gt.getDate())),K=P(O(B?.mode??`month`)),_t=P(null);A(()=>{if(m.view&&m.view.id!==g(_t)){v(_t,m.view.id,!0);let e=pt();if(e)v(V,_()??e.selectedType??null,!0),v(H,e.dateField??`due_date`,!0),v(U,e.year??new Date().getFullYear(),!0),v(W,e.month??new Date().getMonth()+1,!0),v(G,e.day??new Date().getDate(),!0),v(K,e.mode??`month`,!0);else{let e=m.view.config;v(V,_()??e.selectedType??null,!0),v(H,e.calendar?.dateField??`due_date`,!0),v(U,e.calendar?.year??new Date().getFullYear(),!0),v(W,e.calendar?.month??new Date().getMonth()+1,!0),v(G,new Date().getDate(),!0),v(K,`month`)}}}),A(()=>{_()&&v(V,_())}),A(()=>{g(V),g(H),g(U),g(W),g(G),g(K),g(_t)!==null&&mt()});let vt=p(()=>{if(E())return E().filter(e=>!g(V)||e.entityType===g(V));let e=[];for(let t of se.repos)if(!(y()&&t.name!==y()))for(let n of t.entities)(!g(V)||n.entityType===g(V))&&e.push(n);return e}),yt=p(()=>{let e=new Set;for(let t of g(vt))for(let n of Object.keys(t.fields))e.add(n);return e}),q=p(()=>je(g(V),g(yt))),bt=p(()=>g(q).find(e=>e.key===g(H))?.label??g(H));function xt(e){jt(e),v(R,!1)}function St(e){v(K,e,!0),v(R,!1)}A(()=>{g(q).length>0&&!g(q).some(e=>e.key===g(H))&&v(H,g(q)[0].key,!0)});let Ct=p(()=>g(K)===`week`?Pe(g(U),g(W),g(G),g(vt),g(H)):Ne(g(U),g(W),g(vt),g(H))),wt=p(()=>g(K)===`week`?Fe(g(Ct)):`${Ie[g(W)-1]} ${g(U)}`),Tt=p(()=>g(K)===`week`?Fe(g(Ct)):`${Ie[g(W)-1].slice(0,3)} ${g(U)}`);A(()=>{Ee.count=g(vt).length}),te(()=>{Ee.count=null});function Et(e){let t=new Date(g(U),g(W)-1,g(G));t.setDate(t.getDate()+e),v(U,t.getFullYear(),!0),v(W,t.getMonth()+1),v(G,t.getDate(),!0)}function Dt(){g(K)===`week`?Et(-7):g(W)===1?(v(W,12),S(U,-1)):S(W,-1)}function Ot(){g(K)===`week`?Et(7):g(W)===12?(v(W,1),S(U)):S(W)}function kt(){let e=new Date;v(U,e.getFullYear(),!0),v(W,e.getMonth()+1),v(G,e.getDate(),!0)}function At(){v(K,g(K)===`month`?`week`:`month`,!0)}function jt(e){e&&v(H,e,!0)}function Mt(e){ae(`/${e.repo}/${e.entityType}/${e.id}`)}let J=P(null),Nt=P(O({x:0,y:0})),Pt=P(!1),Ft=P(!1);function It(e,t){v(Pt,e+10+200>window.innerWidth),v(Ft,t+10+80>window.innerHeight),v(Nt,{x:g(Pt)?e-10:e+10,y:g(Ft)?t-10:t+10},!0)}function Lt(e,t){v(J,t,!0),It(e.clientX,e.clientY)}function Rt(e){It(e.clientX,e.clientY)}function zt(){v(J,null)}let Bt=P(O([])),Vt=P(O({x:0,y:0})),Ht=P(``);function Ut(e,t,n){e.stopPropagation(),v(Bt,t,!0),v(Ht,new Date(n+`T00:00:00`).toLocaleDateString(`en-US`,{weekday:`short`,month:`short`,day:`numeric`}),!0);let r=e.currentTarget.getBoundingClientRect(),i=Math.min(320,t.length*36+40),a=r.left,o=r.bottom+4;a+260>window.innerWidth&&(a=window.innerWidth-260-8),a<8&&(a=8),o+i>window.innerHeight&&(o=r.top-i-4),o<8&&(o=8),v(Vt,{x:a,y:o},!0)}function Wt(){v(Bt,[],!0)}let Gt=new Set([`created_at`,`updated_at`]),Kt=p(()=>!Gt.has(g(H))),Y=P(null),X=P(null);function qt(e,t){v(Y,t,!0),e.dataTransfer.effectAllowed=`move`,e.dataTransfer.setData(`text/plain`,t.id),zt()}function Jt(e,t){!g(Y)||!g(Kt)||(e.preventDefault(),e.dataTransfer.dropEffect=`move`,v(X,t,!0))}function Yt(){v(X,null)}function Xt(){v(Y,null),v(X,null)}async function Zt(e,t){if(e.preventDefault(),!g(Y))return;let n=g(Y);v(Y,null),v(X,null);try{await oe(n.repo,n.entityType,n.id,{data:{[g(H)]:t}}),await se.refreshEntities(n.repo)}catch(e){console.error(`Failed to update entity date:`,e)}}var Qt=lt(),$t=w(Qt),en=C($t),tn=C(en),nn=e=>{Ae(e,{get repoName(){return y()},get currentPath(){return ee()}})};l(tn,e=>{y()&&ee()&&e(nn)});var Z=j(tn,2);let rn;ze(C(Z),{size:16}),n(Z);var an=j(Z,2);r(an,()=>_e,(t,a)=>{a(t,{get open(){return g(R)},set open(e){v(R,e,!0)},children:(t,a)=>{var c=Ye(),u=w(c);r(u,()=>he,(e,t)=>{t(e,{class:`toolbar-icon-btn mobile-overflow`,title:`More options`,"aria-label":`More options`,children:(e,t)=>{Se(e,{})},$$slots:{default:!0}})}),r(j(u,2),()=>pe,(t,a)=>{a(t,{side:`bottom`,class:`sg-mobile-sheet`,children:(t,a)=>{var c=Je(),u=w(c);r(u,()=>ge,(e,t)=>{t(e,{class:`sg-sheet-header`,children:(e,t)=>{var a=Ve(),c=w(a),u=e=>{var t=Be();ke(C(t),{size:16}),n(t),h(`click`,t,ut),s(e,t)};l(c,e=>{g(z)!==`root`&&e(u)});var d=j(c,2);r(d,()=>me,(e,t)=>{t(e,{class:`sg-sheet-title`,children:(e,t)=>{I();var n=o();b(()=>i(n,g(Re))),s(e,n)},$$slots:{default:!0}})}),r(j(d,2),()=>fe,(e,t)=>{t(e,{class:`dialog-close-btn`,"aria-label":`Close`,children:(e,t)=>{ye(e,{size:16})},$$slots:{default:!0}})}),s(e,a)},$$slots:{default:!0}})});var d=j(u,2),_=e=>{{let t=p(()=>g(R)&&g(z)===`filter`);ve(e,{get visible(){return g(t)},get availableTags(){return g(F)},get selectedTags(){return M()},onApply:dt})}},y=t=>{var r=qe(),a=C(r),o=e=>{var t=We(),r=w(t),a=C(r),o=C(a);n(a);var c=j(a,2);L(C(c),{size:16}),n(c),n(r);var u=j(r,2),d=e=>{var t=He(),r=C(t),a=C(r);n(r);var o=j(r,2);L(C(o),{size:16}),n(o),n(t),b(()=>i(a,`Sort by ${g(bt)??``}`)),h(`click`,t,()=>v(z,`sort`)),s(e,t)};l(u,e=>{g(q).length>1&&e(d)});var f=j(u,2),p=e=>{var t=Ue(),r=C(t),a=C(r);n(r);var o=j(r,2);L(C(o),{size:16}),n(o),n(t),b(()=>i(a,`Filter by ${(M().length===0?`None`:M().length===1?M()[0]:`${M().length} tags`)??``}`)),h(`click`,t,()=>v(z,`filter`)),s(e,t)};l(f,e=>{m.onTagsChange&&g(F).length>0&&e(p)}),b(()=>i(o,`View ${g(K)===`week`?`Week`:`Month`}`)),h(`click`,r,()=>v(z,`mode`)),s(e,t)},c=e=>{var t=Ge(),r=w(t);let i;var a=C(r),o=C(a),c=e=>{Ce(e,{size:16})};l(o,e=>{g(K)===`month`&&e(c)}),n(a),I(2),n(r);var u=j(r,2);let d;var f=C(u),p=C(f),m=e=>{Ce(e,{size:16})};l(p,e=>{g(K)===`week`&&e(m)}),n(f),I(2),n(u),b(()=>{i=N(r,1,`sg-sheet-row`,null,i,{selected:g(K)===`month`}),d=N(u,1,`sg-sheet-row`,null,d,{selected:g(K)===`week`})}),h(`click`,r,()=>St(`month`)),h(`click`,u,()=>St(`week`)),s(e,t)},u=t=>{var r=f();e(w(r),17,()=>g(q),D,(e,t)=>{var r=Ke();let a;var o=C(r),c=C(o),u=e=>{Ce(e,{size:16})};l(c,e=>{g(H)===g(t).key&&e(u)}),n(o);var d=j(o,2),f=C(d,!0);n(d),n(r),b(()=>{a=N(r,1,`sg-sheet-row`,null,a,{selected:g(H)===g(t).key}),i(f,g(t).label)}),h(`click`,r,()=>xt(g(t).key)),s(e,r)}),s(t,r)};l(a,e=>{g(z)===`root`?e(o):g(z)===`mode`?e(c,1):g(z)===`sort`&&e(u,2)}),n(r),s(t,r)};l(d,e=>{g(z)===`filter`?e(_):e(y,-1)}),s(t,c)},$$slots:{default:!0}})}),s(t,c)},$$slots:{default:!0}})});var on=j(an,2),sn=C(on),cn=t=>{var n=f();r(w(n),()=>de,(t,n)=>{n(t,{type:`single`,get value(){return g(H)},onValueChange:jt,children:(t,n)=>{var i=Xe(),a=w(i);{let e=p(()=>g(q).find(e=>e.key===g(H))?.label??g(H));r(a,()=>ce,(t,n)=>{n(t,{size:`sm`,get value(){return g(e)}})})}r(j(a,2),()=>ue,(t,n)=>{n(t,{align:`start`,children:(t,n)=>{var i=f();e(w(i),17,()=>g(q),D,(e,t)=>{var n=f();r(w(n),()=>le,(e,n)=>{n(e,{get value(){return g(t).key},get label(){return g(t).label}})}),s(e,n)}),s(t,i)},$$slots:{default:!0}})}),s(t,i)},$$slots:{default:!0}})}),s(t,n)};l(sn,e=>{g(q).length>1&&e(cn)});var ln=j(sn,2),un=e=>{var t=f();d(w(t),()=>m.toolbarLeft),s(e,t)};l(ln,e=>{m.toolbarLeft&&e(un)}),n(on);var dn=j(on,2),Q=C(dn);Oe(C(Q),{size:16}),n(Q);var fn=j(Q,2),pn=C(fn),mn=C(pn,!0);n(pn);var hn=j(pn,2),gn=C(hn,!0);n(hn),n(fn);var $=j(fn,2);L(C($),{size:16}),n($),n(dn);var _n=j(dn,2),vn=C(_n),yn=e=>{var t=f();d(w(t),()=>m.toolbarRight),s(e,t)};l(vn,e=>{m.toolbarRight&&e(yn)}),n(_n),n(en);var bn=j(en,2),xn=e=>{s(e,Ze())},Sn=t=>{var r=nt(),o=C(r);e(o,17,()=>Le,D,(e,t)=>{var r=Qe(),a=C(r,!0);n(r),b(()=>i(a,g(t))),s(e,r)}),e(j(o,2),17,()=>g(Ct),D,(t,r,o,c)=>{let u=p(()=>g(r).entities.length>2);var d=tt();let f;var m=C(d);let _;var v=C(m,!0);n(m);var y=j(m,2);e(y,21,()=>g(r).entities,D,(e,t)=>{let r=p(()=>xe(g(t).entityType));var o=$e();let c;var l=C(o),u=C(l,!0);n(l),n(o),b(e=>{c=x(o,``,c,{"border-left-color":g(r)}),i(u,e)},[()=>we(g(t).title)]),a(`dragstart`,o,e=>qt(e,g(t))),a(`dragend`,o,Xt),h(`click`,o,()=>Mt(g(t))),a(`mouseenter`,o,e=>Lt(e,g(t))),h(`mousemove`,o,Rt),a(`mouseleave`,o,zt),s(e,o)}),n(y);var S=j(y,2),w=e=>{var t=et();b(()=>re(t,`title`,`View all ${g(r).entities.length??``}`)),h(`click`,t,e=>Ut(e,g(r).entities,g(r).dateStr)),s(e,t)};l(S,e=>{g(u)&&e(w)}),n(d),b(()=>{f=N(d,1,`calendar-day svelte-dnwsps`,null,f,{"outside-month":!g(r).isCurrentMonth,today:g(r).isToday,"week-mode":g(K)===`week`,"has-overflow":g(u),"drop-target":g(Kt)&&g(X)===g(r).dateStr}),_=N(m,1,`day-number svelte-dnwsps`,null,_,{"today-number":g(r).isToday}),i(v,g(r).day)}),a(`dragover`,d,e=>Jt(e,g(r).dateStr)),a(`dragleave`,d,Yt),a(`drop`,d,e=>Zt(e,g(r).dateStr)),s(t,d)}),n(r),s(t,r)};l(bn,e=>{g(q).length===0?e(xn):e(Sn,-1)}),n($t);var Cn=j($t,2),wn=e=>{let t=p(()=>xe(g(J).entityType)),r=p(()=>Me(g(J),g(H)));var a=ot();let o;var c=C(a),u=C(c,!0);n(c);var d=j(c,2),f=C(d);let m;var h=j(f,2),_=C(h,!0);n(h),n(d);var v=j(d,2),y=e=>{var t=rt(),a=C(t),o=C(a,!0);n(a),n(t),b(e=>i(o,e),[()=>new Date(g(r)+`T00:00:00`).toLocaleDateString(`en-US`,{month:`short`,day:`numeric`,year:`numeric`})]),s(e,t)};l(v,e=>{g(r)&&e(y)});var S=j(v,2),w=e=>{let t=p(()=>De(g(J).entityType,`status`,String(g(J).fields.status)));var r=at(),a=C(r),o=e=>{var n=it();let r;b(()=>r=x(n,``,r,{background:g(t)})),s(e,n)};l(a,e=>{g(t)&&e(o)});var c=j(a,2),u=C(c,!0);n(c),n(r),b(e=>i(u,e),[()=>be(String(g(J).fields.status))]),s(e,r)};l(S,e=>{g(J).fields.status&&e(w)}),n(a),b((e,n)=>{o=x(a,``,o,{left:`${g(Nt).x??``}px`,top:`${g(Nt).y??``}px`,transform:`translate(${g(Pt)?`-100%`:`0`}, ${g(Ft)?`-100%`:`0`})`}),i(u,e),m=x(f,``,m,{background:g(t)}),i(_,n)},[()=>we(g(J).title),()=>be(g(J).entityType)]),s(e,a)};l(Cn,e=>{g(J)&&e(wn)});var Tn=j(Cn,2),En=t=>{var r=ct(),a=w(r),o=j(a,2);let c;var l=C(o);e(l,21,()=>g(Bt),D,(e,t)=>{let r=p(()=>xe(g(t).entityType));var a=st(),o=C(a);let c;var l=j(o,2),u=C(l,!0);n(l),ie(l,e=>Te?.(e));var d=j(l,2),f=C(d,!0);n(d),n(a),b((e,t)=>{c=x(o,``,c,{background:g(r)}),i(u,e),i(f,t)},[()=>we(g(t).title),()=>be(g(t).entityType)]),h(`click`,a,()=>{Wt(),Mt(g(t))}),s(e,a)}),n(l),n(o),b(()=>c=x(o,``,c,{left:`${g(Vt).x??``}px`,top:`${g(Vt).y??``}px`})),h(`click`,a,Wt),s(t,r)};l(Tn,e=>{g(Bt).length>0&&e(En)}),b(()=>{rn=N(Z,1,`toolbar-icon-btn mode-toggle svelte-dnwsps`,null,rn,{active:g(K)===`week`}),re(Z,`title`,g(K)===`week`?`Switch to month view`:`Switch to week view`),re(Q,`title`,g(K)===`week`?`Previous week`:`Previous month`),i(mn,g(wt)),i(gn,g(Tt)),re($,`title`,g(K)===`week`?`Next week`:`Next month`)}),h(`click`,Z,At),h(`click`,Q,Dt),h(`click`,fn,kt),h(`click`,$,Ot),s(t,Qt),c()}m([`click`,`mousemove`]);export{ut as default};
|
|
1
|
+
import{A as e,B as t,Bt as n,D as r,F as i,G as a,H as o,L as s,Mt as c,N as l,Nt as u,O as d,R as f,St as p,U as m,W as h,X as g,Y as _,_t as v,a as y,at as b,b as x,bt as S,dt as C,ft as w,g as ee,gt as T,it as E,j as D,mt as O,n as te,o as k,ot as A,pt as j,rt as ne,u as M,v as re,w as ie,x as N,yt as P,z as F,zt as I}from"./1swuWs29.js";import{r as ae}from"./ChyK-w8P.js";import"./t62M88qj.js";import"./ZnvbwwGp.js";import{k as oe}from"./DPHJu-Bj.js";import{i as se}from"./D-S790ZE.js";import"./BTVpmOVM.js";import{i as ce,n as le,r as ue,t as de}from"./ZNTdtOVo.js";import{a as fe,i as pe,n as me,o as he,r as ge,s as _e,t as ve}from"./D8UWA8pA2.js";import{t as ye}from"./IygN8LXl2.js";import{t as L}from"./Cz9lz73i2.js";import{a as be,r as xe}from"./MarJFAAy.js";import{t as Se}from"./PjBdNa5U.js";import{t as Ce}from"./C8LGXx0D.js";import{i as we}from"./IgGpTJTG.js";import{t as Te}from"./D-fOfpFk.js";import{t as Ee}from"./Cxg5RqVG.js";import{a as De,t as R}from"./DUoaAlBS.js";import{t as Oe}from"./oTtTtXgi.js";import{t as ke}from"./BYILrLJK.js";import{t as Ae}from"./DPtylZwv.js";function je(e,t){let n=[],r=new Set;if(e&&R[e])for(let t of R[e])t.format===`date`&&!r.has(t.key)&&(n.push({key:t.key,label:t.label}),r.add(t.key));if(t){for(let e of t)if(!r.has(e)&&(e.endsWith(`_date`)||e===`date`||e===`expected_close`)){let t=e.replace(/_/g,` `).replace(/\b\w/g,e=>e.toUpperCase());n.push({key:e,label:t}),r.add(e)}}return r.has(`created_at`)||n.push({key:`created_at`,label:`Created`}),n}function Me(e,t){let n;if(n=t===`created_at`?e.createdAt:t===`updated_at`?e.updatedAt:e.fields[t],!n)return null;let r=String(n);return/^\d{4}-\d{2}-\d{2}/.test(r)?r.slice(0,10):null}function Ne(e,t,n,r){let i=new Date,a=`${i.getFullYear()}-${String(i.getMonth()+1).padStart(2,`0`)}-${String(i.getDate()).padStart(2,`0`)}`,o=new Date(e,t-1,1).getDay(),s=new Date(e,t-1,1-o),c=new Map;for(let e of n){let t=Me(e,r);t&&(c.has(t)||c.set(t,[]),c.get(t).push(e))}let l=[];for(let n=0;n<42;n++){let r=new Date(s);r.setDate(r.getDate()+n);let i=r.getFullYear(),o=r.getMonth()+1,u=r.getDate(),d=`${i}-${String(o).padStart(2,`0`)}-${String(u).padStart(2,`0`)}`;l.push({dateStr:d,day:u,isCurrentMonth:o===t&&i===e,isToday:d===a,entities:c.get(d)??[]})}return l}function Pe(e,t,n,r,i){let a=new Date,o=`${a.getFullYear()}-${String(a.getMonth()+1).padStart(2,`0`)}-${String(a.getDate()).padStart(2,`0`)}`,s=new Date(e,t-1,n),c=s.getDay(),l=new Date(s);l.setDate(s.getDate()-c);let u=new Map;for(let e of r){let t=Me(e,i);t&&(u.has(t)||u.set(t,[]),u.get(t).push(e))}let d=[];for(let n=0;n<7;n++){let r=new Date(l);r.setDate(r.getDate()+n);let i=r.getFullYear(),a=r.getMonth()+1,s=r.getDate(),c=`${i}-${String(a).padStart(2,`0`)}-${String(s).padStart(2,`0`)}`;d.push({dateStr:c,day:s,isCurrentMonth:a===t&&i===e,isToday:c===o,entities:u.get(c)??[]})}return d}function Fe(e){if(e.length===0)return``;let t=new Date(e[0].dateStr+`T00:00:00`),n=new Date(e[e.length-1].dateStr+`T00:00:00`),r=t.getMonth()===n.getMonth()&&t.getFullYear()===n.getFullYear(),i=t.getFullYear()===n.getFullYear(),a=e=>e.toLocaleDateString(`en-US`,{month:`short`});return r?`${a(t)} ${t.getDate()} – ${n.getDate()}, ${n.getFullYear()}`:i?`${a(t)} ${t.getDate()} – ${a(n)} ${n.getDate()}, ${n.getFullYear()}`:`${a(t)} ${t.getDate()}, ${t.getFullYear()} – ${a(n)} ${n.getDate()}, ${n.getFullYear()}`}var Ie=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],Le=[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],z=t(`<title> </title>`),Re=t(`<svg><!><path d="M30,23V21H27.91a5.9592,5.9592,0,0,0-1.0244-2.4707L28.364,17.05,26.95,15.6362l-1.4788,1.4785A5.9584,5.9584,0,0,0,23,16.09V14H21v2.09a5.9584,5.9584,0,0,0-2.4709,1.0244L17.05,15.6362,15.636,17.05l1.4787,1.479A5.9618,5.9618,0,0,0,16.09,21H14v2h2.09a5.9618,5.9618,0,0,0,1.0244,2.4707L15.636,26.95,17.05,28.3638l1.4788-1.4785A5.9584,5.9584,0,0,0,21,27.91V30h2V27.91a5.9584,5.9584,0,0,0,2.4709-1.0244L26.95,28.3638,28.364,26.95l-1.4787-1.479A5.9592,5.9592,0,0,0,27.91,23Zm-8,3a4,4,0,1,1,4-4A4.0045,4.0045,0,0,1,22,26Z"></path><path d="M28,6a2,2,0,0,0-2-2H22V2H20V4H12V2H10V4H6A2,2,0,0,0,4,6V26a2,2,0,0,0,2,2h4V26H6V6h4V8h2V6h8V8h2V6h4v6h2Z"></path></svg>`);function ze(e,t){let r=y(t,[`children`,`$$slots`,`$$events`,`$$legacy`]),a=y(r,[`size`,`title`]);u(t,!1);let o=T(),d=T(),f=k(t,`size`,8,16),p=k(t,`title`,8,void 0);ne(()=>(_(r),_(p())),()=>{v(o,r[`aria-label`]||r[`aria-labelledby`]||p())}),ne(()=>(g(o),_(r)),()=>{v(d,{"aria-hidden":g(o)?void 0:!0,role:g(o)?`img`:void 0,focusable:Number(r.tabindex)===0?!0:void 0})}),E(),M();var m=Re();ee(m,()=>({xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 32 32`,fill:`currentColor`,preserveAspectRatio:`xMidYMid meet`,width:f(),height:f(),...g(d),...a}));var h=C(m),x=e=>{var t=z(),r=C(t,!0);n(t),b(()=>i(r,p())),s(e,t)};l(h,e=>{p()&&e(x)}),I(2),n(m),s(e,m),c()}var Be=F(`<button class="toolbar-icon-btn" aria-label="Back"><!></button>`),Ve=F(`<!> <!> <!>`,1),He=F(`<button class="sg-sheet-row"><span class="sg-sheet-row-label"> </span> <span class="sg-sheet-row-trail"><!></span></button>`),Ue=F(`<button class="sg-sheet-row"><span class="sg-sheet-row-label"> </span> <span class="sg-sheet-row-trail"><!></span></button>`),We=F(`<button class="sg-sheet-row"><span class="sg-sheet-row-label"> </span> <span class="sg-sheet-row-trail"><!></span></button> <!> <!>`,1),Ge=F(`<button><span class="sg-sheet-row-lead"><!></span> <span class="sg-sheet-row-label">Month</span></button> <button><span class="sg-sheet-row-lead"><!></span> <span class="sg-sheet-row-label">Week</span></button>`,1),Ke=F(`<button><span class="sg-sheet-row-lead"><!></span> <span class="sg-sheet-row-label"> </span></button>`),qe=F(`<div class="sg-sheet-body"><!></div>`),Je=F(`<!> <!>`,1),Ye=F(`<!> <!>`,1),Xe=F(`<!> <!>`,1),Ze=F(`<div class="empty svelte-dnwsps"><p>No date fields available for the selected type.</p> <p class="empty-hint svelte-dnwsps">Try selecting a type with date fields like Task, Project, or Meeting.</p></div>`),Qe=F(`<div class="dow-header svelte-dnwsps"> </div>`),$e=F(`<button class="entity-chip svelte-dnwsps" draggable="true"><span class="chip-label svelte-dnwsps"> </span></button>`),et=F(`<button class="day-view-all svelte-dnwsps">View all</button>`),tt=F(`<div><span> </span> <div class="day-entities svelte-dnwsps"></div> <!></div>`),nt=F(`<div class="calendar-grid svelte-dnwsps"><!> <!></div>`),rt=F(`<div class="tooltip-row svelte-dnwsps"><span class="tooltip-meta svelte-dnwsps"> </span></div>`),it=F(`<span class="tooltip-dot svelte-dnwsps"></span>`),at=F(`<div class="tooltip-row svelte-dnwsps"><!> <span class="tooltip-meta svelte-dnwsps"> </span></div>`),ot=F(`<div class="floating-tooltip svelte-dnwsps"><strong class="tooltip-title svelte-dnwsps"> </strong> <div class="tooltip-row svelte-dnwsps"><span class="tooltip-dot svelte-dnwsps"></span> <span class="tooltip-meta svelte-dnwsps"> </span></div> <!> <!></div>`),st=F(`<button class="overflow-item svelte-dnwsps"><span class="chip-dot"></span> <span class="overflow-item-title svelte-dnwsps"> </span> <span class="overflow-item-type svelte-dnwsps"> </span></button>`),ct=F(`<div class="overflow-backdrop svelte-dnwsps"></div> <div class="overflow-popover svelte-dnwsps"><div class="overflow-list svelte-dnwsps"></div></div>`,1),lt=F(`<div class="calendar-view svelte-dnwsps"><div class="calendar-toolbar svelte-dnwsps"><!> <button><!></button> <!> <div class="toolbar-left svelte-dnwsps"><!> <!></div> <div class="month-nav svelte-dnwsps"><button class="nav-btn svelte-dnwsps"><!></button> <button class="month-label svelte-dnwsps"><span class="month-label-full svelte-dnwsps"> </span> <span class="month-label-short svelte-dnwsps"> </span></button> <button class="nav-btn svelte-dnwsps"><!></button></div> <div class="toolbar-right svelte-dnwsps"><!></div></div> <!></div> <!> <!>`,1);function ut(t,m){u(m,!0);let _=k(m,`lockedType`,3,null),y=k(m,`lockedFolder`,3,null),ee=k(m,`lockedFolderPath`,3,null),T=k(m,`storageId`,3,null),E=k(m,`entities`,3,null),ne=k(m,`tagSource`,3,null),M=k(m,`selectedTags`,19,()=>[]),F=p(()=>{let e=ne()??E()??[],t=new Map;for(let n of e){let e=n.fields.tags;if(Array.isArray(e))for(let n of e){let e=String(n);t.set(e,(t.get(e)??0)+1)}}return[...t.entries()].sort((e,t)=>e[0].localeCompare(t[0])).map(([e,t])=>({tag:e,count:t}))}),R=P(!1),z=P(`root`),Re=p(()=>g(z)===`mode`?`View`:g(z)===`sort`?`Sort by`:g(z)===`filter`?`Filter by tag`:`Options`);A(()=>{g(R)||v(z,`root`)});function ut(){v(z,`root`)}function dt(e){m.onTagsChange&&m.onTagsChange(e),v(R,!1)}let ft=p(()=>T()?`sg-calendarview-${T()}`:null);function pt(){if(!g(ft))return null;try{let e=localStorage.getItem(g(ft));if(e)return JSON.parse(e)}catch{}return null}function mt(){if(!g(ft))return;let e={selectedType:_()?null:g(V),dateField:g(H),year:g(U),month:g(W),day:g(G),mode:g(K)};localStorage.setItem(g(ft),JSON.stringify(e))}let ht=T()?`sg-calendarview-${T()}`:null,B=(()=>{if(!ht||typeof localStorage>`u`)return null;try{let e=localStorage.getItem(ht);return e?JSON.parse(e):null}catch{return null}})(),gt=new Date,V=P(O(_()??B?.selectedType??null)),H=P(O(B?.dateField??`due_date`)),U=P(O(B?.year??gt.getFullYear())),W=P(O(B?.month??gt.getMonth()+1)),G=P(O(B?.day??gt.getDate())),K=P(O(B?.mode??`month`)),_t=P(null);A(()=>{if(m.view&&m.view.id!==g(_t)){v(_t,m.view.id,!0);let e=pt();if(e)v(V,_()??e.selectedType??null,!0),v(H,e.dateField??`due_date`,!0),v(U,e.year??new Date().getFullYear(),!0),v(W,e.month??new Date().getMonth()+1,!0),v(G,e.day??new Date().getDate(),!0),v(K,e.mode??`month`,!0);else{let e=m.view.config;v(V,_()??e.selectedType??null,!0),v(H,e.calendar?.dateField??`due_date`,!0),v(U,e.calendar?.year??new Date().getFullYear(),!0),v(W,e.calendar?.month??new Date().getMonth()+1,!0),v(G,new Date().getDate(),!0),v(K,`month`)}}}),A(()=>{_()&&v(V,_())}),A(()=>{g(V),g(H),g(U),g(W),g(G),g(K),g(_t)!==null&&mt()});let vt=p(()=>{if(E())return E().filter(e=>!g(V)||e.entityType===g(V));let e=[];for(let t of se.repos)if(!(y()&&t.name!==y()))for(let n of t.entities)(!g(V)||n.entityType===g(V))&&e.push(n);return e}),yt=p(()=>{let e=new Set;for(let t of g(vt))for(let n of Object.keys(t.fields))e.add(n);return e}),q=p(()=>je(g(V),g(yt))),bt=p(()=>g(q).find(e=>e.key===g(H))?.label??g(H));function xt(e){jt(e),v(R,!1)}function St(e){v(K,e,!0),v(R,!1)}A(()=>{g(q).length>0&&!g(q).some(e=>e.key===g(H))&&v(H,g(q)[0].key,!0)});let Ct=p(()=>g(K)===`week`?Pe(g(U),g(W),g(G),g(vt),g(H)):Ne(g(U),g(W),g(vt),g(H))),wt=p(()=>g(K)===`week`?Fe(g(Ct)):`${Ie[g(W)-1]} ${g(U)}`),Tt=p(()=>g(K)===`week`?Fe(g(Ct)):`${Ie[g(W)-1].slice(0,3)} ${g(U)}`);A(()=>{Ee.count=g(vt).length}),te(()=>{Ee.count=null});function Et(e){let t=new Date(g(U),g(W)-1,g(G));t.setDate(t.getDate()+e),v(U,t.getFullYear(),!0),v(W,t.getMonth()+1),v(G,t.getDate(),!0)}function Dt(){g(K)===`week`?Et(-7):g(W)===1?(v(W,12),S(U,-1)):S(W,-1)}function Ot(){g(K)===`week`?Et(7):g(W)===12?(v(W,1),S(U)):S(W)}function kt(){let e=new Date;v(U,e.getFullYear(),!0),v(W,e.getMonth()+1),v(G,e.getDate(),!0)}function At(){v(K,g(K)===`month`?`week`:`month`,!0)}function jt(e){e&&v(H,e,!0)}function Mt(e){ae(`/${e.repo}/${e.entityType}/${e.id}`)}let J=P(null),Nt=P(O({x:0,y:0})),Pt=P(!1),Ft=P(!1);function It(e,t){v(Pt,e+10+200>window.innerWidth),v(Ft,t+10+80>window.innerHeight),v(Nt,{x:g(Pt)?e-10:e+10,y:g(Ft)?t-10:t+10},!0)}function Lt(e,t){v(J,t,!0),It(e.clientX,e.clientY)}function Rt(e){It(e.clientX,e.clientY)}function zt(){v(J,null)}let Bt=P(O([])),Vt=P(O({x:0,y:0})),Ht=P(``);function Ut(e,t,n){e.stopPropagation(),v(Bt,t,!0),v(Ht,new Date(n+`T00:00:00`).toLocaleDateString(`en-US`,{weekday:`short`,month:`short`,day:`numeric`}),!0);let r=e.currentTarget.getBoundingClientRect(),i=Math.min(320,t.length*36+40),a=r.left,o=r.bottom+4;a+260>window.innerWidth&&(a=window.innerWidth-260-8),a<8&&(a=8),o+i>window.innerHeight&&(o=r.top-i-4),o<8&&(o=8),v(Vt,{x:a,y:o},!0)}function Wt(){v(Bt,[],!0)}let Gt=new Set([`created_at`,`updated_at`]),Kt=p(()=>!Gt.has(g(H))),Y=P(null),X=P(null);function qt(e,t){v(Y,t,!0),e.dataTransfer.effectAllowed=`move`,e.dataTransfer.setData(`text/plain`,t.id),zt()}function Jt(e,t){!g(Y)||!g(Kt)||(e.preventDefault(),e.dataTransfer.dropEffect=`move`,v(X,t,!0))}function Yt(){v(X,null)}function Xt(){v(Y,null),v(X,null)}async function Zt(e,t){if(e.preventDefault(),!g(Y))return;let n=g(Y);v(Y,null),v(X,null);try{await oe(n.repo,n.entityType,n.id,{data:{[g(H)]:t}}),await se.refreshEntities(n.repo)}catch(e){console.error(`Failed to update entity date:`,e)}}var Qt=lt(),$t=w(Qt),en=C($t),tn=C(en),nn=e=>{Ae(e,{get repoName(){return y()},get currentPath(){return ee()}})};l(tn,e=>{y()&&ee()&&e(nn)});var Z=j(tn,2);let rn;ze(C(Z),{size:16}),n(Z);var an=j(Z,2);r(an,()=>_e,(t,a)=>{a(t,{get open(){return g(R)},set open(e){v(R,e,!0)},children:(t,a)=>{var c=Ye(),u=w(c);r(u,()=>he,(e,t)=>{t(e,{class:`toolbar-icon-btn mobile-overflow`,title:`More options`,"aria-label":`More options`,children:(e,t)=>{Se(e,{})},$$slots:{default:!0}})}),r(j(u,2),()=>pe,(t,a)=>{a(t,{side:`bottom`,class:`sg-mobile-sheet`,children:(t,a)=>{var c=Je(),u=w(c);r(u,()=>ge,(e,t)=>{t(e,{class:`sg-sheet-header`,children:(e,t)=>{var a=Ve(),c=w(a),u=e=>{var t=Be();ke(C(t),{size:16}),n(t),h(`click`,t,ut),s(e,t)};l(c,e=>{g(z)!==`root`&&e(u)});var d=j(c,2);r(d,()=>me,(e,t)=>{t(e,{class:`sg-sheet-title`,children:(e,t)=>{I();var n=o();b(()=>i(n,g(Re))),s(e,n)},$$slots:{default:!0}})}),r(j(d,2),()=>fe,(e,t)=>{t(e,{class:`dialog-close-btn`,"aria-label":`Close`,children:(e,t)=>{ye(e,{size:16})},$$slots:{default:!0}})}),s(e,a)},$$slots:{default:!0}})});var d=j(u,2),_=e=>{{let t=p(()=>g(R)&&g(z)===`filter`);ve(e,{get visible(){return g(t)},get availableTags(){return g(F)},get selectedTags(){return M()},onApply:dt})}},y=t=>{var r=qe(),a=C(r),o=e=>{var t=We(),r=w(t),a=C(r),o=C(a);n(a);var c=j(a,2);L(C(c),{size:16}),n(c),n(r);var u=j(r,2),d=e=>{var t=He(),r=C(t),a=C(r);n(r);var o=j(r,2);L(C(o),{size:16}),n(o),n(t),b(()=>i(a,`Sort by ${g(bt)??``}`)),h(`click`,t,()=>v(z,`sort`)),s(e,t)};l(u,e=>{g(q).length>1&&e(d)});var f=j(u,2),p=e=>{var t=Ue(),r=C(t),a=C(r);n(r);var o=j(r,2);L(C(o),{size:16}),n(o),n(t),b(()=>i(a,`Filter by ${(M().length===0?`None`:M().length===1?M()[0]:`${M().length} tags`)??``}`)),h(`click`,t,()=>v(z,`filter`)),s(e,t)};l(f,e=>{m.onTagsChange&&g(F).length>0&&e(p)}),b(()=>i(o,`View ${g(K)===`week`?`Week`:`Month`}`)),h(`click`,r,()=>v(z,`mode`)),s(e,t)},c=e=>{var t=Ge(),r=w(t);let i;var a=C(r),o=C(a),c=e=>{Ce(e,{size:16})};l(o,e=>{g(K)===`month`&&e(c)}),n(a),I(2),n(r);var u=j(r,2);let d;var f=C(u),p=C(f),m=e=>{Ce(e,{size:16})};l(p,e=>{g(K)===`week`&&e(m)}),n(f),I(2),n(u),b(()=>{i=N(r,1,`sg-sheet-row`,null,i,{selected:g(K)===`month`}),d=N(u,1,`sg-sheet-row`,null,d,{selected:g(K)===`week`})}),h(`click`,r,()=>St(`month`)),h(`click`,u,()=>St(`week`)),s(e,t)},u=t=>{var r=f();e(w(r),17,()=>g(q),D,(e,t)=>{var r=Ke();let a;var o=C(r),c=C(o),u=e=>{Ce(e,{size:16})};l(c,e=>{g(H)===g(t).key&&e(u)}),n(o);var d=j(o,2),f=C(d,!0);n(d),n(r),b(()=>{a=N(r,1,`sg-sheet-row`,null,a,{selected:g(H)===g(t).key}),i(f,g(t).label)}),h(`click`,r,()=>xt(g(t).key)),s(e,r)}),s(t,r)};l(a,e=>{g(z)===`root`?e(o):g(z)===`mode`?e(c,1):g(z)===`sort`&&e(u,2)}),n(r),s(t,r)};l(d,e=>{g(z)===`filter`?e(_):e(y,-1)}),s(t,c)},$$slots:{default:!0}})}),s(t,c)},$$slots:{default:!0}})});var on=j(an,2),sn=C(on),cn=t=>{var n=f();r(w(n),()=>de,(t,n)=>{n(t,{type:`single`,get value(){return g(H)},onValueChange:jt,children:(t,n)=>{var i=Xe(),a=w(i);{let e=p(()=>g(q).find(e=>e.key===g(H))?.label??g(H));r(a,()=>ce,(t,n)=>{n(t,{size:`sm`,get value(){return g(e)}})})}r(j(a,2),()=>ue,(t,n)=>{n(t,{align:`start`,children:(t,n)=>{var i=f();e(w(i),17,()=>g(q),D,(e,t)=>{var n=f();r(w(n),()=>le,(e,n)=>{n(e,{get value(){return g(t).key},get label(){return g(t).label}})}),s(e,n)}),s(t,i)},$$slots:{default:!0}})}),s(t,i)},$$slots:{default:!0}})}),s(t,n)};l(sn,e=>{g(q).length>1&&e(cn)});var ln=j(sn,2),un=e=>{var t=f();d(w(t),()=>m.toolbarLeft),s(e,t)};l(ln,e=>{m.toolbarLeft&&e(un)}),n(on);var dn=j(on,2),Q=C(dn);Oe(C(Q),{size:16}),n(Q);var fn=j(Q,2),pn=C(fn),mn=C(pn,!0);n(pn);var hn=j(pn,2),gn=C(hn,!0);n(hn),n(fn);var $=j(fn,2);L(C($),{size:16}),n($),n(dn);var _n=j(dn,2),vn=C(_n),yn=e=>{var t=f();d(w(t),()=>m.toolbarRight),s(e,t)};l(vn,e=>{m.toolbarRight&&e(yn)}),n(_n),n(en);var bn=j(en,2),xn=e=>{s(e,Ze())},Sn=t=>{var r=nt(),o=C(r);e(o,17,()=>Le,D,(e,t)=>{var r=Qe(),a=C(r,!0);n(r),b(()=>i(a,g(t))),s(e,r)}),e(j(o,2),17,()=>g(Ct),D,(t,r,o,c)=>{let u=p(()=>g(r).entities.length>2);var d=tt();let f;var m=C(d);let _;var v=C(m,!0);n(m);var y=j(m,2);e(y,21,()=>g(r).entities,D,(e,t)=>{let r=p(()=>xe(g(t).entityType));var o=$e();let c;var l=C(o),u=C(l,!0);n(l),n(o),b(e=>{c=x(o,``,c,{"border-left-color":g(r)}),i(u,e)},[()=>we(g(t).title)]),a(`dragstart`,o,e=>qt(e,g(t))),a(`dragend`,o,Xt),h(`click`,o,()=>Mt(g(t))),a(`mouseenter`,o,e=>Lt(e,g(t))),h(`mousemove`,o,Rt),a(`mouseleave`,o,zt),s(e,o)}),n(y);var S=j(y,2),w=e=>{var t=et();b(()=>re(t,`title`,`View all ${g(r).entities.length??``}`)),h(`click`,t,e=>Ut(e,g(r).entities,g(r).dateStr)),s(e,t)};l(S,e=>{g(u)&&e(w)}),n(d),b(()=>{f=N(d,1,`calendar-day svelte-dnwsps`,null,f,{"outside-month":!g(r).isCurrentMonth,today:g(r).isToday,"week-mode":g(K)===`week`,"has-overflow":g(u),"drop-target":g(Kt)&&g(X)===g(r).dateStr}),_=N(m,1,`day-number svelte-dnwsps`,null,_,{"today-number":g(r).isToday}),i(v,g(r).day)}),a(`dragover`,d,e=>Jt(e,g(r).dateStr)),a(`dragleave`,d,Yt),a(`drop`,d,e=>Zt(e,g(r).dateStr)),s(t,d)}),n(r),s(t,r)};l(bn,e=>{g(q).length===0?e(xn):e(Sn,-1)}),n($t);var Cn=j($t,2),wn=e=>{let t=p(()=>xe(g(J).entityType)),r=p(()=>Me(g(J),g(H)));var a=ot();let o;var c=C(a),u=C(c,!0);n(c);var d=j(c,2),f=C(d);let m;var h=j(f,2),_=C(h,!0);n(h),n(d);var v=j(d,2),y=e=>{var t=rt(),a=C(t),o=C(a,!0);n(a),n(t),b(e=>i(o,e),[()=>new Date(g(r)+`T00:00:00`).toLocaleDateString(`en-US`,{month:`short`,day:`numeric`,year:`numeric`})]),s(e,t)};l(v,e=>{g(r)&&e(y)});var S=j(v,2),w=e=>{let t=p(()=>De(g(J).entityType,`status`,String(g(J).fields.status)));var r=at(),a=C(r),o=e=>{var n=it();let r;b(()=>r=x(n,``,r,{background:g(t)})),s(e,n)};l(a,e=>{g(t)&&e(o)});var c=j(a,2),u=C(c,!0);n(c),n(r),b(e=>i(u,e),[()=>be(String(g(J).fields.status))]),s(e,r)};l(S,e=>{g(J).fields.status&&e(w)}),n(a),b((e,n)=>{o=x(a,``,o,{left:`${g(Nt).x??``}px`,top:`${g(Nt).y??``}px`,transform:`translate(${g(Pt)?`-100%`:`0`}, ${g(Ft)?`-100%`:`0`})`}),i(u,e),m=x(f,``,m,{background:g(t)}),i(_,n)},[()=>we(g(J).title),()=>be(g(J).entityType)]),s(e,a)};l(Cn,e=>{g(J)&&e(wn)});var Tn=j(Cn,2),En=t=>{var r=ct(),a=w(r),o=j(a,2);let c;var l=C(o);e(l,21,()=>g(Bt),D,(e,t)=>{let r=p(()=>xe(g(t).entityType));var a=st(),o=C(a);let c;var l=j(o,2),u=C(l,!0);n(l),ie(l,e=>Te?.(e));var d=j(l,2),f=C(d,!0);n(d),n(a),b((e,t)=>{c=x(o,``,c,{background:g(r)}),i(u,e),i(f,t)},[()=>we(g(t).title),()=>be(g(t).entityType)]),h(`click`,a,()=>{Wt(),Mt(g(t))}),s(e,a)}),n(l),n(o),b(()=>c=x(o,``,c,{left:`${g(Vt).x??``}px`,top:`${g(Vt).y??``}px`})),h(`click`,a,Wt),s(t,r)};l(Tn,e=>{g(Bt).length>0&&e(En)}),b(()=>{rn=N(Z,1,`toolbar-icon-btn mode-toggle svelte-dnwsps`,null,rn,{active:g(K)===`week`}),re(Z,`title`,g(K)===`week`?`Switch to month view`:`Switch to week view`),re(Q,`title`,g(K)===`week`?`Previous week`:`Previous month`),i(mn,g(wt)),i(gn,g(Tt)),re($,`title`,g(K)===`week`?`Next week`:`Next month`)}),h(`click`,Z,At),h(`click`,Q,Dt),h(`click`,fn,kt),h(`click`,$,Ot),s(t,Qt),c()}m([`click`,`mousemove`]);export{ut as default};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./DREqAq0K.js","./BNTlsKDJ.js","./1swuWs29.js","./Cb59VtQS.js","./t62M88qj.js","./BTVpmOVM.js","../assets/dist.DDCWxn3B.css"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{$ as e,A as t,At as n,B as r,Bt as i,D as a,F as o,G as s,H as c,Ht as l,L as u,Mt as d,N as f,Nt as p,O as m,Pt as h,R as g,St as _,Tt as v,U as y,V as b,W as x,X as S,Y as C,_ as w,_t as T,a as E,at as D,b as O,c as k,ct as A,d as j,dt as M,f as N,ft as P,g as F,gt as I,it as L,j as ee,mt as te,n as ne,o as R,ot as z,p as B,pt as V,r as re,rt as H,s as U,u as ie,v as ae,wt as oe,x as se,yt as W,z as G,zt as K}from"./1swuWs29.js";import{r as ce}from"./CYwTnPem.js";import{t as le}from"./C-OaypFN.js";import"./t62M88qj.js";import"./CxfiKkQs.js";import{n as ue}from"./C300SIfl.js";import{t as q}from"./Ttel-lK0.js";import{C as de,a as fe,c as pe,h as me}from"./DPHJu-Bj.js";import{i as J}from"./D-S790ZE.js";import{t as he}from"./BWFr2eCw.js";import{a as ge,c as _e,d as ve,f as ye,i as be,l as xe,o as Se,r as Ce,s as we,t as Y,u as Te}from"./D4PsTUl1.js";import"./BTVpmOVM.js";import{t as Ee}from"./0YfY4WC7.js";import{n as De}from"./CfL16jWX.js";import{$ as X,A as Oe,Ct as Z,at as ke,ct as Ae,et as je,it as Me,k as Ne,nt as Pe,rt as Fe,tt as Ie,vt as Le,yt as Re}from"./C0j6A-ZP.js";import{t as ze}from"./_x8hB8Co.js";import{a as Be,i as Ve,n as He,r as Ue,t as We}from"./ZNTdtOVo.js";import{n as Ge,o as Ke,r as qe,s as Je,t as Ye}from"./BzwhhnBr2.js";import{n as Xe}from"./DD9LkrkR2.js";import{t as Q}from"./BYac2IM72.js";import"./BcByWrxh2.js";import{t as Ze}from"./IygN8LXl2.js";import{t as Qe}from"./Cz9lz73i2.js";import{t as $e}from"./Dz10re012.js";import{t as et}from"./DEIOmPz3.js";import{t as tt}from"./M28-PWNQ.js";import{a as nt,i as rt,n as it,r as at,t as ot}from"./CkMSCDZN.js";import{t as st}from"./GMUo36Tv.js";import{t as ct}from"./C8LGXx0D.js";import{i as lt,n as ut,r as dt,t as ft}from"./BBn1oSfc.js";import{t as pt}from"./BfwYWmwF.js";import{t as mt}from"./DVYL1nPo.js";import{t as ht}from"./QT4tG1tY.js";import{a as gt,c as _t,n as vt,o as yt,r as bt,s as xt,t as St}from"./Cqanu9ev.js";import{t as Ct}from"./Ciqeu-2O.js";import{n as wt,t as Tt}from"./DlTrN5Ec.js";import{t as Et}from"./BYILrLJK.js";import"./CWky2bMb.js";import{t as Dt}from"./BfnyuOzG.js";import{n as Ot,r as kt,t as At}from"./B-bHt83e.js";import{t as jt}from"./N9l3OpY6.js";var Mt=Fe({component:`separator`,parts:[`root`]}),Nt=class e{static create(t){return new e(t)}opts;attachment;constructor(e){this.opts=e,this.attachment=Ae(e.ref)}#e=_(()=>({id:this.opts.id.current,role:this.opts.decorative.current?`none`:`separator`,"aria-orientation":this.opts.orientation.current,"aria-hidden":Ie(this.opts.decorative.current),"data-orientation":this.opts.orientation.current,[Mt.root]:``,...this.attachment}));get props(){return S(this.#e)}set props(e){T(this.#e,e)}},Pt=G(`<div><!></div>`);function Ft(e,t){let n=b();p(t,!0);let r=R(t,`id`,19,()=>Ne(n)),a=R(t,`ref`,15,null),o=R(t,`decorative`,3,!1),s=R(t,`orientation`,3,`horizontal`),c=U(t,[`$$slots`,`$$events`,`$$legacy`,`id`,`ref`,`child`,`children`,`decorative`,`orientation`]),h=Nt.create({ref:Z(()=>a(),e=>a(e)),id:Z(()=>r()),decorative:Z(()=>o()),orientation:Z(()=>s())}),v=_(()=>Re(c,h.props));var y=g(),x=P(y),C=e=>{var n=g();m(P(n),()=>t.child,()=>({props:S(v)})),u(e,n)},w=e=>{var n=Pt();F(n,()=>({...S(v)})),m(M(n),()=>t.children??l),i(n),u(e,n)};f(x,e=>{t.child?e(C):e(w,-1)}),u(e,y),d()}var It=Fe({component:`switch`,parts:[`root`,`thumb`]}),Lt=new Le(`Switch.Root`),Rt=class e{static create(t){return Lt.set(new e(t))}opts;attachment;constructor(e){this.opts=e,this.attachment=Ae(e.ref),this.onkeydown=this.onkeydown.bind(this),this.onclick=this.onclick.bind(this)}#e(){this.opts.checked.current=!this.opts.checked.current}onkeydown(e){!(e.key===`Enter`||e.key===` `)||this.opts.disabled.current||(e.preventDefault(),this.#e())}onclick(e){this.opts.disabled.current||this.#e()}#t=_(()=>({"data-disabled":X(this.opts.disabled.current),"data-state":ke(this.opts.checked.current),"data-required":X(this.opts.required.current)}));get sharedProps(){return S(this.#t)}set sharedProps(e){T(this.#t,e)}#n=_(()=>({checked:this.opts.checked.current}));get snippetProps(){return S(this.#n)}set snippetProps(e){T(this.#n,e)}#r=_(()=>({...this.sharedProps,id:this.opts.id.current,role:`switch`,disabled:Pe(this.opts.disabled.current),"aria-checked":Me(this.opts.checked.current,!1),"aria-required":je(this.opts.required.current),[It.root]:``,onclick:this.onclick,onkeydown:this.onkeydown,...this.attachment}));get props(){return S(this.#r)}set props(e){T(this.#r,e)}},zt=class e{static create(){return new e(Lt.get())}root;#e=_(()=>this.root.opts.name.current!==void 0);get shouldRender(){return S(this.#e)}set shouldRender(e){T(this.#e,e)}constructor(e){this.root=e}#t=_(()=>({type:`checkbox`,name:this.root.opts.name.current,value:this.root.opts.value.current,checked:this.root.opts.checked.current,disabled:this.root.opts.disabled.current,required:this.root.opts.required.current}));get props(){return S(this.#t)}set props(e){T(this.#t,e)}},Bt=class e{static create(t){return new e(t,Lt.get())}opts;root;attachment;constructor(e,t){this.opts=e,this.root=t,this.attachment=Ae(e.ref)}#e=_(()=>({checked:this.root.opts.checked.current}));get snippetProps(){return S(this.#e)}set snippetProps(e){T(this.#e,e)}#t=_(()=>({...this.root.sharedProps,id:this.opts.id.current,[It.thumb]:``,...this.attachment}));get props(){return S(this.#t)}set props(e){T(this.#t,e)}};function Vt(e,t){p(t,!1);let n=zt.create();ie();var r=g(),i=P(r),a=e=>{ze(e,k(()=>n.props))};f(i,e=>{n.shouldRender&&e(a)}),u(e,r),d()}var Ht=G(`<button><!></button>`),Ut=G(`<!> <!>`,1);function Wt(e,t){let n=b();p(t,!0);let r=R(t,`ref`,15,null),a=R(t,`id`,19,()=>Ne(n)),o=R(t,`disabled`,3,!1),s=R(t,`required`,3,!1),c=R(t,`checked`,15,!1),h=R(t,`value`,3,`on`),v=R(t,`name`,3,void 0),y=R(t,`type`,3,`button`),x=R(t,`onCheckedChange`,3,Oe),C=U(t,[`$$slots`,`$$events`,`$$legacy`,`child`,`children`,`ref`,`id`,`disabled`,`required`,`checked`,`value`,`name`,`type`,`onCheckedChange`]),w=Rt.create({checked:Z(()=>c(),e=>{c(e),x()?.(e)}),disabled:Z(()=>o()??!1),required:Z(()=>s()),value:Z(()=>h()),name:Z(()=>v()),id:Z(()=>a()),ref:Z(()=>r(),e=>r(e))}),T=_(()=>Re(C,w.props,{type:y()}));var E=Ut(),D=P(E),O=e=>{var n=g(),r=P(n);{let e=_(()=>({props:S(T),...w.snippetProps}));m(r,()=>t.child,()=>S(e))}u(e,n)},k=e=>{var n=Ht();F(n,()=>({...S(T)})),m(M(n),()=>t.children??l,()=>w.snippetProps),i(n),u(e,n)};f(D,e=>{t.child?e(O):e(k,-1)}),Vt(V(D,2),{}),u(e,E),d()}var Gt=G(`<span><!></span>`);function Kt(e,t){let n=b();p(t,!0);let r=R(t,`ref`,15,null),a=R(t,`id`,19,()=>Ne(n)),o=U(t,[`$$slots`,`$$events`,`$$legacy`,`child`,`children`,`ref`,`id`]),s=Bt.create({id:Z(()=>a()),ref:Z(()=>r(),e=>r(e))}),c=_(()=>Re(o,s.props));var h=g(),v=P(h),y=e=>{var n=g(),r=P(n);{let e=_(()=>({props:S(c),...s.snippetProps}));m(r,()=>t.child,()=>S(e))}u(e,n)},x=e=>{var n=Gt();F(n,()=>({...S(c)})),m(M(n),()=>t.children??l,()=>s.snippetProps),i(n),u(e,n)};f(v,e=>{t.child?e(y):e(x,-1)}),u(e,h),d()}var qt=r(`<title> </title>`),Jt=r(`<svg><!><path d="M23,14v3A7,7,0,0,1,9,17V14H7v3a9,9,0,0,0,8,8.94V28H11v2H21V28H17V25.94A9,9,0,0,0,25,17V14Z"></path><path d="M16,22a5,5,0,0,0,5-5V7A5,5,0,0,0,11,7V17A5,5,0,0,0,16,22ZM13,7a3,3,0,0,1,6,0V17a3,3,0,0,1-6,0Z"></path></svg>`);function Yt(e,t){let n=E(t,[`children`,`$$slots`,`$$events`,`$$legacy`]),r=E(n,[`size`,`title`]);p(t,!1);let a=I(),s=I(),c=R(t,`size`,8,16),l=R(t,`title`,8,void 0);H(()=>(C(n),C(l())),()=>{T(a,n[`aria-label`]||n[`aria-labelledby`]||l())}),H(()=>(S(a),C(n)),()=>{T(s,{"aria-hidden":S(a)?void 0:!0,role:S(a)?`img`:void 0,focusable:Number(n.tabindex)===0?!0:void 0})}),L(),ie();var m=Jt();F(m,()=>({xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 32 32`,fill:`currentColor`,preserveAspectRatio:`xMidYMid meet`,width:c(),height:c(),...S(s),...r}));var h=M(m),g=e=>{var t=qt(),n=M(t,!0);i(t),D(()=>o(n,l())),u(e,t)};f(h,e=>{l()&&e(g)}),K(2),i(m),u(e,m),d()}var Xt=r(`<title> </title>`),Zt=r(`<svg><!><path d="M6,30H18a2.0023,2.0023,0,0,0,2-2V25H18v3H6V4H18V7h2V4a2.0023,2.0023,0,0,0-2-2H6A2.0023,2.0023,0,0,0,4,4V28A2.0023,2.0023,0,0,0,6,30Z"></path><path d="M20.586 20.586 24.172 17 10 17 10 15 24.172 15 20.586 11.414 22 10 28 16 22 22 20.586 20.586z"></path></svg>`);function Qt(e,t){let n=E(t,[`children`,`$$slots`,`$$events`,`$$legacy`]),r=E(n,[`size`,`title`]);p(t,!1);let a=I(),s=I(),c=R(t,`size`,8,16),l=R(t,`title`,8,void 0);H(()=>(C(n),C(l())),()=>{T(a,n[`aria-label`]||n[`aria-labelledby`]||l())}),H(()=>(S(a),C(n)),()=>{T(s,{"aria-hidden":S(a)?void 0:!0,role:S(a)?`img`:void 0,focusable:Number(n.tabindex)===0?!0:void 0})}),L(),ie();var m=Zt();F(m,()=>({xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 32 32`,fill:`currentColor`,preserveAspectRatio:`xMidYMid meet`,width:c(),height:c(),...S(s),...r}));var h=M(m),g=e=>{var t=Xt(),n=M(t,!0);i(t),D(()=>o(n,l())),u(e,t)};f(h,e=>{l()&&e(g)}),K(2),i(m),u(e,m),d()}var $t=G(`<!> <span class="nav-item-label">Profile</span> <!>`,1),en=G(`<!> <span class="nav-item-label">MCP Access</span> <!>`,1),tn=G(`<!> <span class="nav-item-label">External Connectors</span> <!>`,1),nn=G(`<!> <span class="nav-item-label">Manage Team</span> <!>`,1),rn=G(`<!> <span class="nav-item-label">Manage Folders</span> <!>`,1),an=G(`<!> <span class="nav-item-label">Manage Organization</span> <!>`,1),on=G(`<!> <span class="nav-item-label">Meeting Capture</span> <!>`,1),sn=G(`<!> <!> <!> <!> <!> <!>`,1),cn=G(`<!> <span class="nav-item-label">Sign out</span>`,1),ln=G(`<div class="settings-subheader svelte-18v9r9v">Settings</div> <nav class="settings-nav svelte-18v9r9v" aria-label="Settings"><!> <!></nav> <!>`,1);function un(e,t){p(t,!0);let n=()=>v(ue,`$page`,r),[r,a]=oe(),o=_(()=>n().params.tab),s=_(()=>!Y.authEnabled||Y.user?.role===`owner`);function c(e){S(o)!==e&&ce(`/settings/${e}`)}async function l(){await Y.logout(),window.location.href=`/login`}var m=ln(),h=V(P(m),2),g=M(h);{let e=_(()=>S(o)===`profile`?`active`:``);Q(g,{variant:`ghost`,get class(){return`nav-item ${S(e)??``}`},onclick:()=>c(`profile`),children:(e,t)=>{var n=$t(),r=P(n);dt(r,{size:15}),Qe(V(r,4),{size:16,class:`nav-item-chevron`}),u(e,n)},$$slots:{default:!0}})}var y=V(g,2),b=e=>{var t=sn(),n=P(t);{let e=_(()=>S(o)===`mcp`?`active`:``);Q(n,{variant:`ghost`,get class(){return`nav-item ${S(e)??``}`},onclick:()=>c(`mcp`),children:(e,t)=>{var n=en(),r=P(n);ut(r,{size:15}),Qe(V(r,4),{size:16,class:`nav-item-chevron`}),u(e,n)},$$slots:{default:!0}})}var r=V(n,2);{let e=_(()=>S(o)===`external`?`active`:``);Q(r,{variant:`ghost`,get class(){return`nav-item ${S(e)??``}`},onclick:()=>c(`external`),children:(e,t)=>{var n=tn(),r=P(n);ot(r,{size:15}),Qe(V(r,4),{size:16,class:`nav-item-chevron`}),u(e,n)},$$slots:{default:!0}})}var i=V(r,2);{let e=_(()=>S(o)===`team`?`active`:``);Q(i,{variant:`ghost`,get class(){return`nav-item ${S(e)??``}`},onclick:()=>c(`team`),children:(e,t)=>{var n=nn(),r=P(n);lt(r,{size:15}),Qe(V(r,4),{size:16,class:`nav-item-chevron`}),u(e,n)},$$slots:{default:!0}})}var a=V(i,2);{let e=_(()=>S(o)===`folders`?`active`:``);Q(a,{variant:`ghost`,get class(){return`nav-item ${S(e)??``}`},onclick:()=>c(`folders`),children:(e,t)=>{var n=rn(),r=P(n);pt(r,{size:15}),Qe(V(r,4),{size:16,class:`nav-item-chevron`}),u(e,n)},$$slots:{default:!0}})}var s=V(a,2);{let e=_(()=>S(o)===`organization`?`active`:``);Q(s,{variant:`ghost`,get class(){return`nav-item ${S(e)??``}`},onclick:()=>c(`organization`),children:(e,t)=>{var n=an(),r=P(n);ft(r,{size:15}),Qe(V(r,4),{size:16,class:`nav-item-chevron`}),u(e,n)},$$slots:{default:!0}})}var l=V(s,2);{let e=_(()=>S(o)===`meeting-capture`?`active`:``);Q(l,{variant:`ghost`,get class(){return`nav-item ${S(e)??``}`},onclick:()=>c(`meeting-capture`),children:(e,t)=>{var n=on(),r=P(n);Yt(r,{size:15}),Qe(V(r,4),{size:16,class:`nav-item-chevron`}),u(e,n)},$$slots:{default:!0}})}u(e,t)};f(y,e=>{S(s)&&e(b)}),i(h);var x=V(h,2),C=e=>{Q(e,{variant:`ghost`,class:`nav-item sign-out-item`,onclick:l,children:(e,t)=>{var n=cn();Qt(P(n),{size:15}),K(2),u(e,n)},$$slots:{default:!0}})};f(x,e=>{Y.authEnabled&&Y.user&&e(C)}),u(e,m),d(),a()}var dn=G(`<label><!></label>`);function $(e,t){p(t,!0);let n=R(t,`ref`,15,null),r=U(t,[`$$slots`,`$$events`,`$$legacy`,`class`,`ref`,`children`]);var a=dn();F(a,e=>({class:e,...r}),[()=>Xe(`text-xs font-medium text-[var(--color-text-secondary)]`,t.class)]),m(M(a),()=>t.children??l),i(a),j(a,e=>n(e),()=>n()),u(e,a),d()}function fn(e,t){p(t,!0);let n=R(t,`ref`,15,null),r=R(t,`data-slot`,3,`separator`),i=U(t,[`$$slots`,`$$events`,`$$legacy`,`ref`,`class`,`data-slot`]);var o=g(),s=P(o);{let e=_(()=>Xe(`bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:min-h-full data-[orientation=vertical]:w-px`,t.class));a(s,()=>Ft,(t,a)=>{a(t,k({get"data-slot"(){return r()},get class(){return S(e)}},()=>i,{get ref(){return n()},set ref(e){n(e)}}))})}u(e,o),d()}function pn(e,t){p(t,!0);let n=R(t,`ref`,15,null),r=R(t,`checked`,15,!1),i=U(t,[`$$slots`,`$$events`,`$$legacy`,`ref`,`class`,`checked`]);var o=g(),s=P(o);{let e=_(()=>`sg-switch `+(t.class??``));a(s,()=>Wt,(t,o)=>{o(t,k({get class(){return S(e)}},()=>i,{get ref(){return n()},set ref(e){n(e)},get checked(){return r()},set checked(e){r(e)},children:(e,t)=>{var n=g();a(P(n),()=>Kt,(e,t)=>{t(e,{class:`sg-switch-thumb`})}),u(e,n)},$$slots:{default:!0}}))})}u(e,o),d()}var mn=G(`<button></button>`),hn=G(`<!> `,1),gn=G(`<div class="error-msg svelte-1j14vpz"> </div>`),_n=G(`<div class="section svelte-1j14vpz"><div class="section-label svelte-1j14vpz">Member Details</div> <div class="fields svelte-1j14vpz"><div class="field svelte-1j14vpz"><!> <!></div> <div class="field svelte-1j14vpz"><!> <!></div> <div class="field svelte-1j14vpz"><!> <div class="password-wrapper svelte-1j14vpz"><!> <button class="pw-toggle svelte-1j14vpz"><!></button></div></div></div> <!> <div class="version-line svelte-1j14vpz"></div></div>`),vn=G(`<!> <div class="profile-sections svelte-1j14vpz"><div class="section svelte-1j14vpz"><div class="section-label svelte-1j14vpz">Accent Color</div> <div class="color-grid svelte-1j14vpz"></div></div> <!> <div class="section svelte-1j14vpz"><div class="section-label svelte-1j14vpz">Appearance</div> <label class="toggle-row svelte-1j14vpz"><!> <span class="toggle-title svelte-1j14vpz">Dark mode</span></label></div> <!> <div class="section svelte-1j14vpz"><div class="section-label svelte-1j14vpz">Home</div> <label class="toggle-row svelte-1j14vpz"><!> <span class="toggle-title svelte-1j14vpz">Show quick actions</span></label></div> <!> <div class="section svelte-1j14vpz"><div class="section-label svelte-1j14vpz">Your Data</div> <p class="section-help svelte-1j14vpz">Download a zip of your accessible folders, including full git history. Your data is yours — Studiograph is local-first.</p> <div><!></div></div> <!> <!></div>`,1),yn=G(`<!> Saved`,1),bn=G(`<!> <!>`,1);function xn(e,r){p(r,!0);let s=n(`theme`),l=W(!1);async function m(e){T(l,!0);try{await Ee.saveAccentColor(e),J.applyAccentColor(e)}catch(e){console.error(`Failed to save accent color:`,e)}finally{T(l,!1)}}let h=_(()=>!De.hideHomeStarters);async function v(e){try{await De.setHideHomeStarters(!e)}catch(e){let{toast:t}=await le(async()=>{let{toast:e}=await import(`./DREqAq0K.js`).then(e=>e.t);return{toast:e}},__vite__mapDeps([0,1,2,3,4,5,6]),import.meta.url);t.error(e?.message??`Could not update preference`)}}let y=W(!1);async function b(){if(!S(y)){T(y,!0);try{let e=document.createElement(`a`);e.href=`/api/workspace/export`,e.download=``,document.body.appendChild(e),e.click(),document.body.removeChild(e)}finally{setTimeout(()=>{T(y,!1)},1500)}}}let C=W(te(Y.user?.displayName||``)),w=W(te(Y.user?.email||``)),E=W(``),k=W(!1),A=W(!1),j=W(``),N=W(!1);z(()=>{r.open&&Y.user&&(T(C,Y.user.displayName||``,!0),T(w,Y.user.email||``,!0),T(E,``),T(k,!1),T(j,``),T(N,!1))});let F=_(()=>Y.user?S(C)!==(Y.user.displayName||``)||S(w)!==(Y.user.email||``)||S(E).length>0:!1);async function I(){T(A,!0),T(j,``),T(N,!1);try{let e={};S(C)!==(Y.user?.displayName||``)&&(e.displayName=S(C)),S(w)!==(Y.user?.email||``)&&(e.email=S(w)),S(E)&&(e.newPassword=S(E)),await ye(e),await Y.checkAuth(),T(E,``),T(N,!0),setTimeout(()=>{T(N,!1)},2e3)}catch(e){T(j,e.message||`Failed to save`,!0)}finally{T(A,!1)}}var L=bn(),ne=P(L);a(ne,()=>bt,(e,n)=>{n(e,{class:`settings-body dialog-body-lg`,children:(e,n)=>{var r=vn(),d=P(r);a(d,()=>gt,(e,t)=>{t(e,{children:(e,t)=>{K(),u(e,c(`Profile`))},$$slots:{default:!0}})});var p=V(d,2),g=M(p),A=V(M(g),2);t(A,21,()=>et,ee,(e,t)=>{var n=mn();let r,i;D(()=>{r=se(n,1,`color-swatch svelte-1j14vpz`,null,r,{active:Ee.accentColor===S(t).color}),ae(n,`title`,S(t).name),n.disabled=S(l),i=O(n,``,i,{background:S(t).color,"--swatch-color":S(t).color})}),x(`click`,n,()=>m(S(t).color)),u(e,n)}),i(A),i(g);var N=V(g,2);fn(N,{});var F=V(N,2),I=V(M(F),2),L=M(I);{let e=_(()=>s.current===`dark`);pn(L,{get checked(){return S(e)},onCheckedChange:()=>s.toggle()})}K(2),i(I),i(F);var te=V(F,2);fn(te,{});var ne=V(te,2),R=V(M(ne),2);pn(M(R),{get checked(){return S(h)},onCheckedChange:v}),K(2),i(R),i(ne);var z=V(ne,2);fn(z,{});var B=V(z,2),re=V(M(B),4);Q(M(re),{variant:`outline`,onclick:b,get disabled(){return S(y)},children:(e,t)=>{var n=hn(),r=P(n);at(r,{size:14});var i=V(r);D(()=>o(i,` ${S(y)?`Preparing…`:`Export Workspace`}`)),u(e,n)},$$slots:{default:!0}}),i(re),i(B);var H=V(B,2);fn(H,{});var U=V(H,2),ie=e=>{var t=_n(),n=V(M(t),2),r=M(n),a=M(r);$(a,{for:`profile-name`,children:(e,t)=>{K(),u(e,c(`Name`))},$$slots:{default:!0}}),mt(V(a,2),{id:`profile-name`,placeholder:`Your name`,get value(){return S(C)},set value(e){T(C,e,!0)}}),i(r);var s=V(r,2),l=M(s);$(l,{for:`profile-email`,children:(e,t)=>{K(),u(e,c(`Email`))},$$slots:{default:!0}}),mt(V(l,2),{id:`profile-email`,type:`email`,placeholder:`you@example.com`,get value(){return S(w)},set value(e){T(w,e,!0)}}),i(s);var d=V(s,2),p=M(d);$(p,{for:`profile-pw`,children:(e,t)=>{K(),u(e,c(`New Password`))},$$slots:{default:!0}});var m=V(p,2),h=M(m);{let e=_(()=>S(k)?`text`:`password`);mt(h,{id:`profile-pw`,get type(){return S(e)},placeholder:`Leave blank to keep current`,autocomplete:`new-password`,get value(){return S(E)},set value(e){T(E,e,!0)}})}var g=V(h,2),v=M(g),y=e=>{rt(e,{size:15})},b=e=>{nt(e,{size:15})};f(v,e=>{S(k)?e(y):e(b,-1)}),i(g),i(m),i(d),i(n);var O=V(n,2),A=e=>{var t=gn(),n=M(t,!0);i(t),D(()=>o(n,S(j))),u(e,t)};f(O,e=>{S(j)&&e(A)});var N=V(O,2);N.textContent=`Studiograph version 1.3.48-next.97`,i(t),x(`click`,g,()=>{T(k,!S(k))}),u(e,t)};f(U,e=>{Y.user&&e(ie)}),i(p),u(e,r)},$$slots:{default:!0}})});var R=V(ne,2),B=e=>{var t=g();a(P(t),()=>vt,(e,t)=>{t(e,{children:(e,t)=>{{let t=_(()=>S(A)||!S(F));Q(e,{variant:`accent`,onclick:I,get disabled(){return S(t)},children:(e,t)=>{var n=g(),r=P(n),i=e=>{var t=yn();ct(P(t),{size:14}),K(),u(e,t)},a=e=>{var t=c();D(()=>o(t,S(A)?`Saving...`:`Save Changes`)),u(e,t)};f(r,e=>{S(N)?e(i):e(a,-1)}),u(e,n)},$$slots:{default:!0}})}},$$slots:{default:!0}})}),u(e,t)};f(R,e=>{Y.user&&e(B)}),u(e,L),d()}y([`click`]);var Sn=G(`<textarea></textarea>`);function Cn(e,t){p(t,!0);let n=R(t,`ref`,15,null),r=R(t,`value`,15),i=U(t,[`$$slots`,`$$events`,`$$legacy`,`class`,`ref`,`value`]);var a=Sn();A(a),F(a,e=>({class:e,...i}),[()=>Xe(`w-full rounded-md border border-[var(--color-border)] bg-[var(--color-bg)] px-2.5 py-2 text-base text-[var(--color-text-primary)] font-[inherit] leading-relaxed outline-none transition-colors placeholder:text-[var(--color-text-tertiary)] hover:border-[var(--color-text-tertiary)] focus:border-[var(--color-accent,#f04e4e)] disabled:cursor-not-allowed disabled:opacity-50`,t.class)]),j(a,e=>n(e),()=>n()),B(a,r),u(e,a),d()}function wn(){return q(`/api/connectors`)}function Tn(e,t){return q(`/api/connectors/import`,{method:`POST`,body:JSON.stringify({json:e,name:t})})}function En(e){return q(`/api/connectors/${encodeURIComponent(e)}/config`)}function Dn(e,t){return q(`/api/connectors/${encodeURIComponent(e)}/config`,{method:`POST`,body:JSON.stringify({...t,name:e})})}function On(e){return q(`/api/connectors/${encodeURIComponent(e)}/config`,{method:`DELETE`})}function kn(e){return q(`/api/connectors/${encodeURIComponent(e)}/oauth/connect`,{method:`POST`})}function An(e){return q(`/api/connectors/${encodeURIComponent(e)}/oauth/status`)}function jn(e){return q(`/api/connectors/${encodeURIComponent(e)}/oauth/disconnect`,{method:`POST`})}var Mn=r(`<title> </title>`),Nn=r(`<svg><!><path d="M21,2a8.9977,8.9977,0,0,0-8.6119,11.6118L2,24v6H8L18.3881,19.6118A9,9,0,1,0,21,2Zm0,16a7.0125,7.0125,0,0,1-2.0322-.3022L17.821,17.35l-.8472.8472-3.1811,3.1812L12.4141,20,11,21.4141l1.3787,1.3786-1.5859,1.586L9.4141,23,8,24.4141l1.3787,1.3786L7.1716,28H4V24.8284l9.8023-9.8023.8472-.8474-.3473-1.1467A7,7,0,1,1,21,18Z"></path><circle cx="22" cy="10" r="2"></circle></svg>`);function Pn(e,t){let n=E(t,[`children`,`$$slots`,`$$events`,`$$legacy`]),r=E(n,[`size`,`title`]);p(t,!1);let a=I(),s=I(),c=R(t,`size`,8,16),l=R(t,`title`,8,void 0);H(()=>(C(n),C(l())),()=>{T(a,n[`aria-label`]||n[`aria-labelledby`]||l())}),H(()=>(S(a),C(n)),()=>{T(s,{"aria-hidden":S(a)?void 0:!0,role:S(a)?`img`:void 0,focusable:Number(n.tabindex)===0?!0:void 0})}),L(),ie();var m=Nn();F(m,()=>({xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 32 32`,fill:`currentColor`,preserveAspectRatio:`xMidYMid meet`,width:c(),height:c(),...S(s),...r}));var h=M(m),g=e=>{var t=Mn(),n=M(t,!0);i(t),D(()=>o(n,l())),u(e,t)};f(h,e=>{l()&&e(g)}),K(2),i(m),u(e,m),d()}var Fn=G(`<p class="hint svelte-bgrptr">Loading configuration...</p>`),In=G(`<!> <div class="security-body svelte-bgrptr"><!> <div class="mint-field svelte-bgrptr"><!> <div class="value-copy-row mono svelte-bgrptr"><span class="value-copy-text svelte-bgrptr"> </span> <button class="copy-inline svelte-bgrptr" title="Copy token"><!></button></div></div> <div class="mint-field svelte-bgrptr"><div class="mint-field-label-row svelte-bgrptr"><!> <button class="copy-inline svelte-bgrptr" title="Copy JSON config"><!></button></div> <pre class="config-block svelte-bgrptr"> </pre></div></div>`,1),Ln=G(`<section class="security-section svelte-bgrptr"><div class="section-label svelte-bgrptr">Your new token</div> <!></section>`),Rn=G(`<p class="lost-config-hint svelte-bgrptr">The raw token is only shown once. <button class="inline-link svelte-bgrptr">Create a new token</button> to get a fresh client config.</p>`),zn=G(`<div class="danger-actions svelte-bgrptr"><!> <!></div>`),Bn=G(`<!> <div class="danger-body svelte-bgrptr"><!></div> <!>`,1),Vn=G(`<div class="user-detail-header svelte-bgrptr"><span class="token-icon-lg svelte-bgrptr"><!></span> <div class="user-detail-name svelte-bgrptr"> </div></div> <div class="user-detail-field svelte-bgrptr"><!> <div class="static-value svelte-bgrptr"> </div></div> <div class="user-detail-field svelte-bgrptr"><!> <div class="static-value svelte-bgrptr"> </div></div> <div class="user-detail-field svelte-bgrptr"><!> <div class="value-copy-row mono svelte-bgrptr"><span class="value-copy-text svelte-bgrptr"> </span> <button class="copy-inline svelte-bgrptr" title="Copy URL"><!></button></div></div> <!> <section class="danger-zone svelte-bgrptr"><div class="danger-label svelte-bgrptr">Danger Zone</div> <!></section>`,1),Hn=G(`<div class="error-msg svelte-bgrptr"> </div>`),Un=G(`<form class="add-form svelte-bgrptr"><div class="add-form-header svelte-bgrptr"><span class="add-form-title svelte-bgrptr">New Token</span> <button type="button" class="add-form-close svelte-bgrptr" aria-label="Cancel"><!></button></div> <div class="field svelte-bgrptr"><!> <!></div> <!> <div class="form-actions svelte-bgrptr"><!></div></form>`),Wn=G(`<button class="add-btn svelte-bgrptr"><!> New Token</button>`),Gn=G(`<button class="card card-row token-card svelte-bgrptr"><span class="token-icon svelte-bgrptr"><!></span> <span class="card-title svelte-bgrptr"> </span> <span class="folder-chevron svelte-bgrptr"><!></span></button>`),Kn=G(`<div class="member-list svelte-bgrptr"></div>`),qn=G(`<h2 class="panel-title svelte-bgrptr">MCP Access</h2> <p class="panel-lede svelte-bgrptr">Connect Claude Code, Cursor, or another MCP client to this
|
|
2
|
+
import{$ as e,A as t,At as n,B as r,Bt as i,D as a,F as o,G as s,H as c,Ht as l,L as u,Mt as d,N as f,Nt as p,O as m,Pt as h,R as g,St as _,Tt as v,U as y,V as b,W as x,X as S,Y as C,_ as w,_t as T,a as E,at as D,b as O,c as k,ct as A,d as j,dt as M,f as N,ft as P,g as F,gt as I,it as L,j as ee,mt as te,n as ne,o as R,ot as z,p as B,pt as V,r as re,rt as H,s as U,u as ie,v as ae,wt as oe,x as se,yt as W,z as G,zt as K}from"./1swuWs29.js";import{r as ce}from"./ChyK-w8P.js";import{t as le}from"./C-OaypFN.js";import"./t62M88qj.js";import"./ZnvbwwGp.js";import{n as ue}from"./Cqcmh7BC.js";import{t as q}from"./Ttel-lK0.js";import{C as de,a as fe,c as pe,h as me}from"./DPHJu-Bj.js";import{i as J}from"./D-S790ZE.js";import{t as he}from"./AIGIGEX4.js";import{a as ge,c as _e,d as ve,f as ye,i as be,l as xe,o as Se,r as Ce,s as we,t as Y,u as Te}from"./D4PsTUl1.js";import"./BTVpmOVM.js";import{t as Ee}from"./0YfY4WC7.js";import{n as De}from"./CfL16jWX.js";import{$ as X,A as Oe,Ct as Z,at as ke,ct as Ae,et as je,it as Me,k as Ne,nt as Pe,rt as Fe,tt as Ie,vt as Le,yt as Re}from"./C0j6A-ZP.js";import{t as ze}from"./_x8hB8Co.js";import{a as Be,i as Ve,n as He,r as Ue,t as We}from"./ZNTdtOVo.js";import{n as Ge,o as Ke,r as qe,s as Je,t as Ye}from"./BzwhhnBr2.js";import{n as Xe}from"./DD9LkrkR2.js";import{t as Q}from"./BYac2IM72.js";import"./BcByWrxh2.js";import{t as Ze}from"./IygN8LXl2.js";import{t as Qe}from"./Cz9lz73i2.js";import{t as $e}from"./Cm0Lho_42.js";import{t as et}from"./DEIOmPz3.js";import{t as tt}from"./M28-PWNQ.js";import{a as nt,i as rt,n as it,r as at,t as ot}from"./CkMSCDZN.js";import{t as st}from"./GMUo36Tv.js";import{t as ct}from"./C8LGXx0D.js";import{i as lt,n as ut,r as dt,t as ft}from"./BBn1oSfc.js";import{t as pt}from"./BfwYWmwF.js";import{t as mt}from"./DVYL1nPo.js";import{t as ht}from"./QT4tG1tY.js";import{a as gt,c as _t,n as vt,o as yt,r as bt,s as xt,t as St}from"./Cqanu9ev.js";import{t as Ct}from"./Ciqeu-2O.js";import{n as wt,t as Tt}from"./DlTrN5Ec.js";import{t as Et}from"./BYILrLJK.js";import"./CWky2bMb.js";import{t as Dt}from"./BfnyuOzG.js";import{n as Ot,r as kt,t as At}from"./B-bHt83e.js";import{t as jt}from"./COCcJTvs.js";var Mt=Fe({component:`separator`,parts:[`root`]}),Nt=class e{static create(t){return new e(t)}opts;attachment;constructor(e){this.opts=e,this.attachment=Ae(e.ref)}#e=_(()=>({id:this.opts.id.current,role:this.opts.decorative.current?`none`:`separator`,"aria-orientation":this.opts.orientation.current,"aria-hidden":Ie(this.opts.decorative.current),"data-orientation":this.opts.orientation.current,[Mt.root]:``,...this.attachment}));get props(){return S(this.#e)}set props(e){T(this.#e,e)}},Pt=G(`<div><!></div>`);function Ft(e,t){let n=b();p(t,!0);let r=R(t,`id`,19,()=>Ne(n)),a=R(t,`ref`,15,null),o=R(t,`decorative`,3,!1),s=R(t,`orientation`,3,`horizontal`),c=U(t,[`$$slots`,`$$events`,`$$legacy`,`id`,`ref`,`child`,`children`,`decorative`,`orientation`]),h=Nt.create({ref:Z(()=>a(),e=>a(e)),id:Z(()=>r()),decorative:Z(()=>o()),orientation:Z(()=>s())}),v=_(()=>Re(c,h.props));var y=g(),x=P(y),C=e=>{var n=g();m(P(n),()=>t.child,()=>({props:S(v)})),u(e,n)},w=e=>{var n=Pt();F(n,()=>({...S(v)})),m(M(n),()=>t.children??l),i(n),u(e,n)};f(x,e=>{t.child?e(C):e(w,-1)}),u(e,y),d()}var It=Fe({component:`switch`,parts:[`root`,`thumb`]}),Lt=new Le(`Switch.Root`),Rt=class e{static create(t){return Lt.set(new e(t))}opts;attachment;constructor(e){this.opts=e,this.attachment=Ae(e.ref),this.onkeydown=this.onkeydown.bind(this),this.onclick=this.onclick.bind(this)}#e(){this.opts.checked.current=!this.opts.checked.current}onkeydown(e){!(e.key===`Enter`||e.key===` `)||this.opts.disabled.current||(e.preventDefault(),this.#e())}onclick(e){this.opts.disabled.current||this.#e()}#t=_(()=>({"data-disabled":X(this.opts.disabled.current),"data-state":ke(this.opts.checked.current),"data-required":X(this.opts.required.current)}));get sharedProps(){return S(this.#t)}set sharedProps(e){T(this.#t,e)}#n=_(()=>({checked:this.opts.checked.current}));get snippetProps(){return S(this.#n)}set snippetProps(e){T(this.#n,e)}#r=_(()=>({...this.sharedProps,id:this.opts.id.current,role:`switch`,disabled:Pe(this.opts.disabled.current),"aria-checked":Me(this.opts.checked.current,!1),"aria-required":je(this.opts.required.current),[It.root]:``,onclick:this.onclick,onkeydown:this.onkeydown,...this.attachment}));get props(){return S(this.#r)}set props(e){T(this.#r,e)}},zt=class e{static create(){return new e(Lt.get())}root;#e=_(()=>this.root.opts.name.current!==void 0);get shouldRender(){return S(this.#e)}set shouldRender(e){T(this.#e,e)}constructor(e){this.root=e}#t=_(()=>({type:`checkbox`,name:this.root.opts.name.current,value:this.root.opts.value.current,checked:this.root.opts.checked.current,disabled:this.root.opts.disabled.current,required:this.root.opts.required.current}));get props(){return S(this.#t)}set props(e){T(this.#t,e)}},Bt=class e{static create(t){return new e(t,Lt.get())}opts;root;attachment;constructor(e,t){this.opts=e,this.root=t,this.attachment=Ae(e.ref)}#e=_(()=>({checked:this.root.opts.checked.current}));get snippetProps(){return S(this.#e)}set snippetProps(e){T(this.#e,e)}#t=_(()=>({...this.root.sharedProps,id:this.opts.id.current,[It.thumb]:``,...this.attachment}));get props(){return S(this.#t)}set props(e){T(this.#t,e)}};function Vt(e,t){p(t,!1);let n=zt.create();ie();var r=g(),i=P(r),a=e=>{ze(e,k(()=>n.props))};f(i,e=>{n.shouldRender&&e(a)}),u(e,r),d()}var Ht=G(`<button><!></button>`),Ut=G(`<!> <!>`,1);function Wt(e,t){let n=b();p(t,!0);let r=R(t,`ref`,15,null),a=R(t,`id`,19,()=>Ne(n)),o=R(t,`disabled`,3,!1),s=R(t,`required`,3,!1),c=R(t,`checked`,15,!1),h=R(t,`value`,3,`on`),v=R(t,`name`,3,void 0),y=R(t,`type`,3,`button`),x=R(t,`onCheckedChange`,3,Oe),C=U(t,[`$$slots`,`$$events`,`$$legacy`,`child`,`children`,`ref`,`id`,`disabled`,`required`,`checked`,`value`,`name`,`type`,`onCheckedChange`]),w=Rt.create({checked:Z(()=>c(),e=>{c(e),x()?.(e)}),disabled:Z(()=>o()??!1),required:Z(()=>s()),value:Z(()=>h()),name:Z(()=>v()),id:Z(()=>a()),ref:Z(()=>r(),e=>r(e))}),T=_(()=>Re(C,w.props,{type:y()}));var E=Ut(),D=P(E),O=e=>{var n=g(),r=P(n);{let e=_(()=>({props:S(T),...w.snippetProps}));m(r,()=>t.child,()=>S(e))}u(e,n)},k=e=>{var n=Ht();F(n,()=>({...S(T)})),m(M(n),()=>t.children??l,()=>w.snippetProps),i(n),u(e,n)};f(D,e=>{t.child?e(O):e(k,-1)}),Vt(V(D,2),{}),u(e,E),d()}var Gt=G(`<span><!></span>`);function Kt(e,t){let n=b();p(t,!0);let r=R(t,`ref`,15,null),a=R(t,`id`,19,()=>Ne(n)),o=U(t,[`$$slots`,`$$events`,`$$legacy`,`child`,`children`,`ref`,`id`]),s=Bt.create({id:Z(()=>a()),ref:Z(()=>r(),e=>r(e))}),c=_(()=>Re(o,s.props));var h=g(),v=P(h),y=e=>{var n=g(),r=P(n);{let e=_(()=>({props:S(c),...s.snippetProps}));m(r,()=>t.child,()=>S(e))}u(e,n)},x=e=>{var n=Gt();F(n,()=>({...S(c)})),m(M(n),()=>t.children??l,()=>s.snippetProps),i(n),u(e,n)};f(v,e=>{t.child?e(y):e(x,-1)}),u(e,h),d()}var qt=r(`<title> </title>`),Jt=r(`<svg><!><path d="M23,14v3A7,7,0,0,1,9,17V14H7v3a9,9,0,0,0,8,8.94V28H11v2H21V28H17V25.94A9,9,0,0,0,25,17V14Z"></path><path d="M16,22a5,5,0,0,0,5-5V7A5,5,0,0,0,11,7V17A5,5,0,0,0,16,22ZM13,7a3,3,0,0,1,6,0V17a3,3,0,0,1-6,0Z"></path></svg>`);function Yt(e,t){let n=E(t,[`children`,`$$slots`,`$$events`,`$$legacy`]),r=E(n,[`size`,`title`]);p(t,!1);let a=I(),s=I(),c=R(t,`size`,8,16),l=R(t,`title`,8,void 0);H(()=>(C(n),C(l())),()=>{T(a,n[`aria-label`]||n[`aria-labelledby`]||l())}),H(()=>(S(a),C(n)),()=>{T(s,{"aria-hidden":S(a)?void 0:!0,role:S(a)?`img`:void 0,focusable:Number(n.tabindex)===0?!0:void 0})}),L(),ie();var m=Jt();F(m,()=>({xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 32 32`,fill:`currentColor`,preserveAspectRatio:`xMidYMid meet`,width:c(),height:c(),...S(s),...r}));var h=M(m),g=e=>{var t=qt(),n=M(t,!0);i(t),D(()=>o(n,l())),u(e,t)};f(h,e=>{l()&&e(g)}),K(2),i(m),u(e,m),d()}var Xt=r(`<title> </title>`),Zt=r(`<svg><!><path d="M6,30H18a2.0023,2.0023,0,0,0,2-2V25H18v3H6V4H18V7h2V4a2.0023,2.0023,0,0,0-2-2H6A2.0023,2.0023,0,0,0,4,4V28A2.0023,2.0023,0,0,0,6,30Z"></path><path d="M20.586 20.586 24.172 17 10 17 10 15 24.172 15 20.586 11.414 22 10 28 16 22 22 20.586 20.586z"></path></svg>`);function Qt(e,t){let n=E(t,[`children`,`$$slots`,`$$events`,`$$legacy`]),r=E(n,[`size`,`title`]);p(t,!1);let a=I(),s=I(),c=R(t,`size`,8,16),l=R(t,`title`,8,void 0);H(()=>(C(n),C(l())),()=>{T(a,n[`aria-label`]||n[`aria-labelledby`]||l())}),H(()=>(S(a),C(n)),()=>{T(s,{"aria-hidden":S(a)?void 0:!0,role:S(a)?`img`:void 0,focusable:Number(n.tabindex)===0?!0:void 0})}),L(),ie();var m=Zt();F(m,()=>({xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 32 32`,fill:`currentColor`,preserveAspectRatio:`xMidYMid meet`,width:c(),height:c(),...S(s),...r}));var h=M(m),g=e=>{var t=Xt(),n=M(t,!0);i(t),D(()=>o(n,l())),u(e,t)};f(h,e=>{l()&&e(g)}),K(2),i(m),u(e,m),d()}var $t=G(`<!> <span class="nav-item-label">Profile</span> <!>`,1),en=G(`<!> <span class="nav-item-label">MCP Access</span> <!>`,1),tn=G(`<!> <span class="nav-item-label">External Connectors</span> <!>`,1),nn=G(`<!> <span class="nav-item-label">Manage Team</span> <!>`,1),rn=G(`<!> <span class="nav-item-label">Manage Folders</span> <!>`,1),an=G(`<!> <span class="nav-item-label">Manage Organization</span> <!>`,1),on=G(`<!> <span class="nav-item-label">Meeting Capture</span> <!>`,1),sn=G(`<!> <!> <!> <!> <!> <!>`,1),cn=G(`<!> <span class="nav-item-label">Sign out</span>`,1),ln=G(`<div class="settings-subheader svelte-18v9r9v">Settings</div> <nav class="settings-nav svelte-18v9r9v" aria-label="Settings"><!> <!></nav> <!>`,1);function un(e,t){p(t,!0);let n=()=>v(ue,`$page`,r),[r,a]=oe(),o=_(()=>n().params.tab),s=_(()=>!Y.authEnabled||Y.user?.role===`owner`);function c(e){S(o)!==e&&ce(`/settings/${e}`)}async function l(){await Y.logout(),window.location.href=`/login`}var m=ln(),h=V(P(m),2),g=M(h);{let e=_(()=>S(o)===`profile`?`active`:``);Q(g,{variant:`ghost`,get class(){return`nav-item ${S(e)??``}`},onclick:()=>c(`profile`),children:(e,t)=>{var n=$t(),r=P(n);dt(r,{size:15}),Qe(V(r,4),{size:16,class:`nav-item-chevron`}),u(e,n)},$$slots:{default:!0}})}var y=V(g,2),b=e=>{var t=sn(),n=P(t);{let e=_(()=>S(o)===`mcp`?`active`:``);Q(n,{variant:`ghost`,get class(){return`nav-item ${S(e)??``}`},onclick:()=>c(`mcp`),children:(e,t)=>{var n=en(),r=P(n);ut(r,{size:15}),Qe(V(r,4),{size:16,class:`nav-item-chevron`}),u(e,n)},$$slots:{default:!0}})}var r=V(n,2);{let e=_(()=>S(o)===`external`?`active`:``);Q(r,{variant:`ghost`,get class(){return`nav-item ${S(e)??``}`},onclick:()=>c(`external`),children:(e,t)=>{var n=tn(),r=P(n);ot(r,{size:15}),Qe(V(r,4),{size:16,class:`nav-item-chevron`}),u(e,n)},$$slots:{default:!0}})}var i=V(r,2);{let e=_(()=>S(o)===`team`?`active`:``);Q(i,{variant:`ghost`,get class(){return`nav-item ${S(e)??``}`},onclick:()=>c(`team`),children:(e,t)=>{var n=nn(),r=P(n);lt(r,{size:15}),Qe(V(r,4),{size:16,class:`nav-item-chevron`}),u(e,n)},$$slots:{default:!0}})}var a=V(i,2);{let e=_(()=>S(o)===`folders`?`active`:``);Q(a,{variant:`ghost`,get class(){return`nav-item ${S(e)??``}`},onclick:()=>c(`folders`),children:(e,t)=>{var n=rn(),r=P(n);pt(r,{size:15}),Qe(V(r,4),{size:16,class:`nav-item-chevron`}),u(e,n)},$$slots:{default:!0}})}var s=V(a,2);{let e=_(()=>S(o)===`organization`?`active`:``);Q(s,{variant:`ghost`,get class(){return`nav-item ${S(e)??``}`},onclick:()=>c(`organization`),children:(e,t)=>{var n=an(),r=P(n);ft(r,{size:15}),Qe(V(r,4),{size:16,class:`nav-item-chevron`}),u(e,n)},$$slots:{default:!0}})}var l=V(s,2);{let e=_(()=>S(o)===`meeting-capture`?`active`:``);Q(l,{variant:`ghost`,get class(){return`nav-item ${S(e)??``}`},onclick:()=>c(`meeting-capture`),children:(e,t)=>{var n=on(),r=P(n);Yt(r,{size:15}),Qe(V(r,4),{size:16,class:`nav-item-chevron`}),u(e,n)},$$slots:{default:!0}})}u(e,t)};f(y,e=>{S(s)&&e(b)}),i(h);var x=V(h,2),C=e=>{Q(e,{variant:`ghost`,class:`nav-item sign-out-item`,onclick:l,children:(e,t)=>{var n=cn();Qt(P(n),{size:15}),K(2),u(e,n)},$$slots:{default:!0}})};f(x,e=>{Y.authEnabled&&Y.user&&e(C)}),u(e,m),d(),a()}var dn=G(`<label><!></label>`);function $(e,t){p(t,!0);let n=R(t,`ref`,15,null),r=U(t,[`$$slots`,`$$events`,`$$legacy`,`class`,`ref`,`children`]);var a=dn();F(a,e=>({class:e,...r}),[()=>Xe(`text-xs font-medium text-[var(--color-text-secondary)]`,t.class)]),m(M(a),()=>t.children??l),i(a),j(a,e=>n(e),()=>n()),u(e,a),d()}function fn(e,t){p(t,!0);let n=R(t,`ref`,15,null),r=R(t,`data-slot`,3,`separator`),i=U(t,[`$$slots`,`$$events`,`$$legacy`,`ref`,`class`,`data-slot`]);var o=g(),s=P(o);{let e=_(()=>Xe(`bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:min-h-full data-[orientation=vertical]:w-px`,t.class));a(s,()=>Ft,(t,a)=>{a(t,k({get"data-slot"(){return r()},get class(){return S(e)}},()=>i,{get ref(){return n()},set ref(e){n(e)}}))})}u(e,o),d()}function pn(e,t){p(t,!0);let n=R(t,`ref`,15,null),r=R(t,`checked`,15,!1),i=U(t,[`$$slots`,`$$events`,`$$legacy`,`ref`,`class`,`checked`]);var o=g(),s=P(o);{let e=_(()=>`sg-switch `+(t.class??``));a(s,()=>Wt,(t,o)=>{o(t,k({get class(){return S(e)}},()=>i,{get ref(){return n()},set ref(e){n(e)},get checked(){return r()},set checked(e){r(e)},children:(e,t)=>{var n=g();a(P(n),()=>Kt,(e,t)=>{t(e,{class:`sg-switch-thumb`})}),u(e,n)},$$slots:{default:!0}}))})}u(e,o),d()}var mn=G(`<button></button>`),hn=G(`<!> `,1),gn=G(`<div class="error-msg svelte-1j14vpz"> </div>`),_n=G(`<div class="section svelte-1j14vpz"><div class="section-label svelte-1j14vpz">Member Details</div> <div class="fields svelte-1j14vpz"><div class="field svelte-1j14vpz"><!> <!></div> <div class="field svelte-1j14vpz"><!> <!></div> <div class="field svelte-1j14vpz"><!> <div class="password-wrapper svelte-1j14vpz"><!> <button class="pw-toggle svelte-1j14vpz"><!></button></div></div></div> <!> <div class="version-line svelte-1j14vpz"></div></div>`),vn=G(`<!> <div class="profile-sections svelte-1j14vpz"><div class="section svelte-1j14vpz"><div class="section-label svelte-1j14vpz">Accent Color</div> <div class="color-grid svelte-1j14vpz"></div></div> <!> <div class="section svelte-1j14vpz"><div class="section-label svelte-1j14vpz">Appearance</div> <label class="toggle-row svelte-1j14vpz"><!> <span class="toggle-title svelte-1j14vpz">Dark mode</span></label></div> <!> <div class="section svelte-1j14vpz"><div class="section-label svelte-1j14vpz">Home</div> <label class="toggle-row svelte-1j14vpz"><!> <span class="toggle-title svelte-1j14vpz">Show quick actions</span></label></div> <!> <div class="section svelte-1j14vpz"><div class="section-label svelte-1j14vpz">Your Data</div> <p class="section-help svelte-1j14vpz">Download a zip of your accessible folders, including full git history. Your data is yours — Studiograph is local-first.</p> <div><!></div></div> <!> <!></div>`,1),yn=G(`<!> Saved`,1),bn=G(`<!> <!>`,1);function xn(e,r){p(r,!0);let s=n(`theme`),l=W(!1);async function m(e){T(l,!0);try{await Ee.saveAccentColor(e),J.applyAccentColor(e)}catch(e){console.error(`Failed to save accent color:`,e)}finally{T(l,!1)}}let h=_(()=>!De.hideHomeStarters);async function v(e){try{await De.setHideHomeStarters(!e)}catch(e){let{toast:t}=await le(async()=>{let{toast:e}=await import(`./DREqAq0K.js`).then(e=>e.t);return{toast:e}},__vite__mapDeps([0,1,2,3,4,5,6]),import.meta.url);t.error(e?.message??`Could not update preference`)}}let y=W(!1);async function b(){if(!S(y)){T(y,!0);try{let e=document.createElement(`a`);e.href=`/api/workspace/export`,e.download=``,document.body.appendChild(e),e.click(),document.body.removeChild(e)}finally{setTimeout(()=>{T(y,!1)},1500)}}}let C=W(te(Y.user?.displayName||``)),w=W(te(Y.user?.email||``)),E=W(``),k=W(!1),A=W(!1),j=W(``),N=W(!1);z(()=>{r.open&&Y.user&&(T(C,Y.user.displayName||``,!0),T(w,Y.user.email||``,!0),T(E,``),T(k,!1),T(j,``),T(N,!1))});let F=_(()=>Y.user?S(C)!==(Y.user.displayName||``)||S(w)!==(Y.user.email||``)||S(E).length>0:!1);async function I(){T(A,!0),T(j,``),T(N,!1);try{let e={};S(C)!==(Y.user?.displayName||``)&&(e.displayName=S(C)),S(w)!==(Y.user?.email||``)&&(e.email=S(w)),S(E)&&(e.newPassword=S(E)),await ye(e),await Y.checkAuth(),T(E,``),T(N,!0),setTimeout(()=>{T(N,!1)},2e3)}catch(e){T(j,e.message||`Failed to save`,!0)}finally{T(A,!1)}}var L=bn(),ne=P(L);a(ne,()=>bt,(e,n)=>{n(e,{class:`settings-body dialog-body-lg`,children:(e,n)=>{var r=vn(),d=P(r);a(d,()=>gt,(e,t)=>{t(e,{children:(e,t)=>{K(),u(e,c(`Profile`))},$$slots:{default:!0}})});var p=V(d,2),g=M(p),A=V(M(g),2);t(A,21,()=>et,ee,(e,t)=>{var n=mn();let r,i;D(()=>{r=se(n,1,`color-swatch svelte-1j14vpz`,null,r,{active:Ee.accentColor===S(t).color}),ae(n,`title`,S(t).name),n.disabled=S(l),i=O(n,``,i,{background:S(t).color,"--swatch-color":S(t).color})}),x(`click`,n,()=>m(S(t).color)),u(e,n)}),i(A),i(g);var N=V(g,2);fn(N,{});var F=V(N,2),I=V(M(F),2),L=M(I);{let e=_(()=>s.current===`dark`);pn(L,{get checked(){return S(e)},onCheckedChange:()=>s.toggle()})}K(2),i(I),i(F);var te=V(F,2);fn(te,{});var ne=V(te,2),R=V(M(ne),2);pn(M(R),{get checked(){return S(h)},onCheckedChange:v}),K(2),i(R),i(ne);var z=V(ne,2);fn(z,{});var B=V(z,2),re=V(M(B),4);Q(M(re),{variant:`outline`,onclick:b,get disabled(){return S(y)},children:(e,t)=>{var n=hn(),r=P(n);at(r,{size:14});var i=V(r);D(()=>o(i,` ${S(y)?`Preparing…`:`Export Workspace`}`)),u(e,n)},$$slots:{default:!0}}),i(re),i(B);var H=V(B,2);fn(H,{});var U=V(H,2),ie=e=>{var t=_n(),n=V(M(t),2),r=M(n),a=M(r);$(a,{for:`profile-name`,children:(e,t)=>{K(),u(e,c(`Name`))},$$slots:{default:!0}}),mt(V(a,2),{id:`profile-name`,placeholder:`Your name`,get value(){return S(C)},set value(e){T(C,e,!0)}}),i(r);var s=V(r,2),l=M(s);$(l,{for:`profile-email`,children:(e,t)=>{K(),u(e,c(`Email`))},$$slots:{default:!0}}),mt(V(l,2),{id:`profile-email`,type:`email`,placeholder:`you@example.com`,get value(){return S(w)},set value(e){T(w,e,!0)}}),i(s);var d=V(s,2),p=M(d);$(p,{for:`profile-pw`,children:(e,t)=>{K(),u(e,c(`New Password`))},$$slots:{default:!0}});var m=V(p,2),h=M(m);{let e=_(()=>S(k)?`text`:`password`);mt(h,{id:`profile-pw`,get type(){return S(e)},placeholder:`Leave blank to keep current`,autocomplete:`new-password`,get value(){return S(E)},set value(e){T(E,e,!0)}})}var g=V(h,2),v=M(g),y=e=>{rt(e,{size:15})},b=e=>{nt(e,{size:15})};f(v,e=>{S(k)?e(y):e(b,-1)}),i(g),i(m),i(d),i(n);var O=V(n,2),A=e=>{var t=gn(),n=M(t,!0);i(t),D(()=>o(n,S(j))),u(e,t)};f(O,e=>{S(j)&&e(A)});var N=V(O,2);N.textContent=`Studiograph version 1.3.48-next.98`,i(t),x(`click`,g,()=>{T(k,!S(k))}),u(e,t)};f(U,e=>{Y.user&&e(ie)}),i(p),u(e,r)},$$slots:{default:!0}})});var R=V(ne,2),B=e=>{var t=g();a(P(t),()=>vt,(e,t)=>{t(e,{children:(e,t)=>{{let t=_(()=>S(A)||!S(F));Q(e,{variant:`accent`,onclick:I,get disabled(){return S(t)},children:(e,t)=>{var n=g(),r=P(n),i=e=>{var t=yn();ct(P(t),{size:14}),K(),u(e,t)},a=e=>{var t=c();D(()=>o(t,S(A)?`Saving...`:`Save Changes`)),u(e,t)};f(r,e=>{S(N)?e(i):e(a,-1)}),u(e,n)},$$slots:{default:!0}})}},$$slots:{default:!0}})}),u(e,t)};f(R,e=>{Y.user&&e(B)}),u(e,L),d()}y([`click`]);var Sn=G(`<textarea></textarea>`);function Cn(e,t){p(t,!0);let n=R(t,`ref`,15,null),r=R(t,`value`,15),i=U(t,[`$$slots`,`$$events`,`$$legacy`,`class`,`ref`,`value`]);var a=Sn();A(a),F(a,e=>({class:e,...i}),[()=>Xe(`w-full rounded-md border border-[var(--color-border)] bg-[var(--color-bg)] px-2.5 py-2 text-base text-[var(--color-text-primary)] font-[inherit] leading-relaxed outline-none transition-colors placeholder:text-[var(--color-text-tertiary)] hover:border-[var(--color-text-tertiary)] focus:border-[var(--color-accent,#f04e4e)] disabled:cursor-not-allowed disabled:opacity-50`,t.class)]),j(a,e=>n(e),()=>n()),B(a,r),u(e,a),d()}function wn(){return q(`/api/connectors`)}function Tn(e,t){return q(`/api/connectors/import`,{method:`POST`,body:JSON.stringify({json:e,name:t})})}function En(e){return q(`/api/connectors/${encodeURIComponent(e)}/config`)}function Dn(e,t){return q(`/api/connectors/${encodeURIComponent(e)}/config`,{method:`POST`,body:JSON.stringify({...t,name:e})})}function On(e){return q(`/api/connectors/${encodeURIComponent(e)}/config`,{method:`DELETE`})}function kn(e){return q(`/api/connectors/${encodeURIComponent(e)}/oauth/connect`,{method:`POST`})}function An(e){return q(`/api/connectors/${encodeURIComponent(e)}/oauth/status`)}function jn(e){return q(`/api/connectors/${encodeURIComponent(e)}/oauth/disconnect`,{method:`POST`})}var Mn=r(`<title> </title>`),Nn=r(`<svg><!><path d="M21,2a8.9977,8.9977,0,0,0-8.6119,11.6118L2,24v6H8L18.3881,19.6118A9,9,0,1,0,21,2Zm0,16a7.0125,7.0125,0,0,1-2.0322-.3022L17.821,17.35l-.8472.8472-3.1811,3.1812L12.4141,20,11,21.4141l1.3787,1.3786-1.5859,1.586L9.4141,23,8,24.4141l1.3787,1.3786L7.1716,28H4V24.8284l9.8023-9.8023.8472-.8474-.3473-1.1467A7,7,0,1,1,21,18Z"></path><circle cx="22" cy="10" r="2"></circle></svg>`);function Pn(e,t){let n=E(t,[`children`,`$$slots`,`$$events`,`$$legacy`]),r=E(n,[`size`,`title`]);p(t,!1);let a=I(),s=I(),c=R(t,`size`,8,16),l=R(t,`title`,8,void 0);H(()=>(C(n),C(l())),()=>{T(a,n[`aria-label`]||n[`aria-labelledby`]||l())}),H(()=>(S(a),C(n)),()=>{T(s,{"aria-hidden":S(a)?void 0:!0,role:S(a)?`img`:void 0,focusable:Number(n.tabindex)===0?!0:void 0})}),L(),ie();var m=Nn();F(m,()=>({xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 32 32`,fill:`currentColor`,preserveAspectRatio:`xMidYMid meet`,width:c(),height:c(),...S(s),...r}));var h=M(m),g=e=>{var t=Mn(),n=M(t,!0);i(t),D(()=>o(n,l())),u(e,t)};f(h,e=>{l()&&e(g)}),K(2),i(m),u(e,m),d()}var Fn=G(`<p class="hint svelte-bgrptr">Loading configuration...</p>`),In=G(`<!> <div class="security-body svelte-bgrptr"><!> <div class="mint-field svelte-bgrptr"><!> <div class="value-copy-row mono svelte-bgrptr"><span class="value-copy-text svelte-bgrptr"> </span> <button class="copy-inline svelte-bgrptr" title="Copy token"><!></button></div></div> <div class="mint-field svelte-bgrptr"><div class="mint-field-label-row svelte-bgrptr"><!> <button class="copy-inline svelte-bgrptr" title="Copy JSON config"><!></button></div> <pre class="config-block svelte-bgrptr"> </pre></div></div>`,1),Ln=G(`<section class="security-section svelte-bgrptr"><div class="section-label svelte-bgrptr">Your new token</div> <!></section>`),Rn=G(`<p class="lost-config-hint svelte-bgrptr">The raw token is only shown once. <button class="inline-link svelte-bgrptr">Create a new token</button> to get a fresh client config.</p>`),zn=G(`<div class="danger-actions svelte-bgrptr"><!> <!></div>`),Bn=G(`<!> <div class="danger-body svelte-bgrptr"><!></div> <!>`,1),Vn=G(`<div class="user-detail-header svelte-bgrptr"><span class="token-icon-lg svelte-bgrptr"><!></span> <div class="user-detail-name svelte-bgrptr"> </div></div> <div class="user-detail-field svelte-bgrptr"><!> <div class="static-value svelte-bgrptr"> </div></div> <div class="user-detail-field svelte-bgrptr"><!> <div class="static-value svelte-bgrptr"> </div></div> <div class="user-detail-field svelte-bgrptr"><!> <div class="value-copy-row mono svelte-bgrptr"><span class="value-copy-text svelte-bgrptr"> </span> <button class="copy-inline svelte-bgrptr" title="Copy URL"><!></button></div></div> <!> <section class="danger-zone svelte-bgrptr"><div class="danger-label svelte-bgrptr">Danger Zone</div> <!></section>`,1),Hn=G(`<div class="error-msg svelte-bgrptr"> </div>`),Un=G(`<form class="add-form svelte-bgrptr"><div class="add-form-header svelte-bgrptr"><span class="add-form-title svelte-bgrptr">New Token</span> <button type="button" class="add-form-close svelte-bgrptr" aria-label="Cancel"><!></button></div> <div class="field svelte-bgrptr"><!> <!></div> <!> <div class="form-actions svelte-bgrptr"><!></div></form>`),Wn=G(`<button class="add-btn svelte-bgrptr"><!> New Token</button>`),Gn=G(`<button class="card card-row token-card svelte-bgrptr"><span class="token-icon svelte-bgrptr"><!></span> <span class="card-title svelte-bgrptr"> </span> <span class="folder-chevron svelte-bgrptr"><!></span></button>`),Kn=G(`<div class="member-list svelte-bgrptr"></div>`),qn=G(`<h2 class="panel-title svelte-bgrptr">MCP Access</h2> <p class="panel-lede svelte-bgrptr">Connect Claude Code, Cursor, or another MCP client to this
|
|
3
3
|
workspace. Each gets its own token, scoped to your folder access.</p> <!> <!>`,1),Jn=G(`<p class="hint svelte-bgrptr">Loading connectors...</p>`),Yn=G(`<div class="error-msg svelte-bgrptr"> </div>`),Xn=G(`<div class="danger-actions svelte-bgrptr"><!> <!></div>`),Zn=G(`<!> <div class="danger-body svelte-bgrptr"><!></div> <!>`,1),Qn=G(`<div class="user-detail-header svelte-bgrptr"><span class="token-icon-lg svelte-bgrptr"><!></span> <div class="user-detail-name svelte-bgrptr"> </div></div> <div class="user-detail-field svelte-bgrptr"><!> <div class="value-copy-row mono svelte-bgrptr"><span class="value-copy-text svelte-bgrptr"> </span> <button class="copy-inline svelte-bgrptr" title="Copy URL"><!></button></div></div> <form class="user-detail-field svelte-bgrptr"><div class="mint-field-label-row svelte-bgrptr"><!> <!></div> <!> <!></form> <section class="danger-zone svelte-bgrptr"><div class="danger-label svelte-bgrptr">Danger Zone</div> <!></section>`,1),$n=G(`<div class="error-msg svelte-bgrptr"> </div>`),er=G(`<form class="add-form svelte-bgrptr"><div class="add-form-header svelte-bgrptr"><span class="add-form-title svelte-bgrptr">Add External Connector</span> <button type="button" class="add-form-close svelte-bgrptr" aria-label="Cancel"><!></button></div> <div class="field svelte-bgrptr"><!> <!></div> <div class="field svelte-bgrptr"><!> <!></div> <!> <div class="form-actions svelte-bgrptr"><!></div></form>`),tr=G(`<button class="add-btn svelte-bgrptr"><!> Add External Connector</button>`),nr=G(`<button class="connected-label svelte-bgrptr"><!> Connected</button>`),rr=G(`<span class="connected-label svelte-bgrptr"><!> Connected</span>`),ir=G(`<div class="card card-row token-card svelte-bgrptr" role="button" tabindex="0"><span class="token-icon svelte-bgrptr"><!></span> <span class="card-title svelte-bgrptr"> </span> <!> <span class="folder-chevron svelte-bgrptr"><!></span></div>`),ar=G(`<button class="connected-label svelte-bgrptr"><!> Connected</button>`),or=G(`<span class="connected-label svelte-bgrptr"><!> Connected</span>`),sr=G(`<div class="card card-row token-card member-card-static svelte-bgrptr"><span class="token-icon svelte-bgrptr"><!></span> <span class="card-title svelte-bgrptr"> </span> <!></div>`),cr=G(`<div class="member-list svelte-bgrptr"></div>`),lr=G(`<h2 class="panel-title svelte-bgrptr">External Connectors</h2> <p class="panel-lede svelte-bgrptr">Connect an external MCP server. Each signs in with your account, so
|
|
4
4
|
the agent acts under your name.</p> <!> <!>`,1);function ur(e,r){p(r,!0);let l=_(()=>Y.user?.role===`owner`||!Y.authEnabled),m=_(()=>he.integrationsTab),h=W(!1),v=W(``),y=W(``),b=W(te([])),C=W(null),w=W(null),E=W(!1),O=W(``),k=W(``),A=W(!1),j=W(!1),N=W(!1),F=W(!1),I=W(!1),L=W(!1),R=_(()=>S(C)===null?null:S(b).find(e=>e.id===S(C))??null),B=W(te([])),H=W(!1),U=W(!1),ie=W(!1),ae=W(``),oe=W(``),se=W(!1),G=W(``),ce=W(null),ue=null,q=W(null),de=_(()=>S(q)===null?null:S(B).find(e=>e.name===S(q))??null),fe=W(``),pe=W(``),J=_(()=>S(fe)!==S(pe)),ge=W(!1),_e=W(``),ve=W(!1),ye=W(!1),be=W(!1);z(()=>{r.open&&!S(h)&&xe(),r.open&&!S(H)&&Pe()}),ne(()=>{ue&&clearInterval(ue)}),re(()=>{let e=e=>{let t=e.detail?.tab;(t===`external`||t===`studiograph`)&&(he.integrationsTab=t)};return window.addEventListener(`sg:set-settings-tab`,e),()=>window.removeEventListener(`sg:set-settings-tab`,e)});async function xe(){if(!S(h))try{let e=await me();T(y,JSON.stringify(e.config,null,2),!0),T(v,e.url||e.config?.mcpServers?.studiograph?.url||``,!0);let{tokens:t}=await Se();T(b,t,!0),T(h,!0)}catch{}}function we(e,t){navigator.clipboard.writeText(e),t===`token`?(T(j,!0),setTimeout(()=>{T(j,!1)},2e3)):t===`config`?(T(N,!0),setTimeout(()=>{T(N,!1)},2e3)):(T(F,!0),setTimeout(()=>{T(F,!1)},2e3))}let Ee=_(()=>S(w)?S(y).replace(`<your-token-here>`,S(w).token):S(y));function De(){T(C,null),T(w,null),T(E,!1),T(O,``),T(k,``),T(I,!1),T(j,!1),T(N,!1),T(F,!1)}function X(e){T(C,e,!0),T(w,null),T(I,!1)}function Oe(){T(E,!0),T(O,``),T(k,``)}function Z(){T(E,!1),T(O,``),T(k,``)}async function ke(){let e=S(O).trim();if(!e){T(k,`Give this token a name (e.g. "Claude Desktop").`);return}T(A,!0),T(k,``);try{let t=await Ce(e),{tokens:n}=await Se();T(b,n,!0),T(w,{id:t.id,name:t.name,token:t.token},!0),T(C,t.id,!0),T(E,!1),T(O,``)}catch(e){T(k,e?.message??`Failed to create token`,!0)}finally{T(A,!1)}}async function Ae(){if(S(C)!==null){T(L,!0);try{await Te(S(C));let{tokens:e}=await Se();T(b,e,!0),De()}catch{}finally{T(L,!1)}}}function je(e){if(!e)return`never`;let t=new Date(e.replace(` `,`T`)+(e.includes(`Z`)?``:`Z`));if(isNaN(t.getTime()))return e;let n=Date.now()-t.getTime(),r=Math.max(0,Math.floor(n/1e3));if(r<60)return`just now`;let i=Math.floor(r/60);if(i<60)return`${i}m ago`;let a=Math.floor(i/60);if(a<24)return`${a}h ago`;let o=Math.floor(a/24);return o<7?`${o}d ago`:t.toLocaleDateString(void 0,{month:`short`,day:`numeric`,year:`numeric`})}function Me(e){if(!e)return``;let t=new Date(e.replace(` `,`T`)+(e.includes(`Z`)?``:`Z`));return isNaN(t.getTime())?e:t.toLocaleDateString(void 0,{month:`short`,day:`numeric`,year:`numeric`})}function Ne(e){return e.split(`-`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `)}async function Pe(){T(U,!0);try{T(B,(await wn()).connectors,!0)}catch{}finally{T(U,!1),T(H,!0)}}async function Fe(){if(S(ae).trim()){T(se,!0),T(G,``);try{await Tn(S(ae).trim(),S(oe).trim()),T(ae,``),T(oe,``),T(ie,!1),T(B,(await wn()).connectors,!0)}catch(e){T(G,e.message||`Failed to import connector`,!0)}finally{T(se,!1)}}}async function Ie(e){T(ce,e,!0);try{let t=await kn(e);if(t.connected){T(ce,null),T(B,(await wn()).connectors,!0);return}if(t.authorizationUrl){let n=t.authorizationUrl;setTimeout(()=>window.open(n,`_blank`),0),ue=setInterval(async()=>{try{(await An(e)).connected&&(ue&&clearInterval(ue),ue=null,T(ce,null),T(B,(await wn()).connectors,!0))}catch{}},2e3)}}catch(t){T(ce,null),le(async()=>{let{toast:e}=await import(`./DREqAq0K.js`).then(e=>e.t);return{toast:e}},__vite__mapDeps([0,1,2,3,4,5,6]),import.meta.url).then(({toast:n})=>{let r=t.message||`Connection failed`,i=r.includes(`403`)?`${e} rejected the connection (403 Forbidden).`:r.includes(`OAuth`)?r.split(`:`).slice(0,2).join(`:`):r;n.error(i)})}}async function Le(e){try{await jn(e),T(B,(await wn()).connectors,!0)}catch{}}function Re(){T(q,null),T(fe,``),T(pe,``),T(_e,``),T(ve,!1),T(ye,!1),T(ie,!1),T(ae,``),T(oe,``),T(G,``)}async function ze(e){T(q,e,!0),T(fe,``),T(pe,``),T(_e,``),T(ye,!1);try{let t=await En(e);if(t.config){let{name:e,requiresOAuth:n,description:r,...i}=t.config,a=JSON.stringify(i,null,2);T(fe,a,!0),T(pe,a,!0)}}catch{}}async function Be(){if(!(!S(q)||!S(fe).trim())){T(ge,!0),T(_e,``);try{let e=JSON.parse(S(fe));await Dn(S(q),e),T(B,(await wn()).connectors,!0),T(pe,S(fe),!0)}catch(e){T(_e,e instanceof SyntaxError?`Invalid JSON — check the config and try again.`:e?.message||`Failed to save`,!0)}finally{T(ge,!1)}}}async function Ve(){if(S(q)){T(be,!0);try{await On(S(q)),T(B,(await wn()).connectors,!0),Re()}catch{}finally{T(be,!1)}}}function He(e){navigator.clipboard.writeText(e),T(ve,!0),setTimeout(()=>{T(ve,!1)},2e3)}let Ue=null;z(()=>{let e=S(m);Ue!==null&&Ue!==e&&(De(),Re()),Ue=e});let We=n(`settings-detail`);z(()=>{We&&(We.open=S(C)!==null||S(de)!==null,We.close=()=>{De(),Re()})});var Ge=g();a(P(Ge),()=>bt,(e,n)=>{n(e,{class:`settings-body`,children:(e,n)=>{var r=g(),a=P(r),d=e=>{var n=g(),r=P(n),a=e=>{u(e,Fn())},l=e=>{let t=_(()=>S(R)),n=_(()=>S(w)&&S(w).id===S(t).id?S(w):null);var r=Vn(),a=P(r),s=M(a);Pn(M(s),{size:22}),i(s);var l=V(s,2),d=M(l,!0);i(l),i(a);var p=V(a,2),m=M(p);$(m,{children:(e,t)=>{K(),u(e,c(`Created`))},$$slots:{default:!0}});var h=V(m,2),g=M(h,!0);i(h),i(p);var y=V(p,2),b=M(y);$(b,{children:(e,t)=>{K(),u(e,c(`Last used`))},$$slots:{default:!0}});var C=V(b,2),O=M(C,!0);i(C),i(y);var k=V(y,2),A=M(k);$(A,{children:(e,t)=>{K(),u(e,c(`Endpoint URL`))},$$slots:{default:!0}});var ee=V(A,2),te=M(ee),ne=M(te,!0);i(te);var z=V(te,2),B=M(z),re=e=>{ct(e,{size:14})},H=e=>{Dt(e,{size:14})};f(B,e=>{S(F)?e(re):e(H,-1)}),i(z),i(ee),i(k);var U=V(k,2),ie=e=>{var t=Ln();wt(V(M(t),2),{variant:`info`,class:`security-alert mint-alert`,children:(e,t)=>{var r=In(),a=P(r);ct(a,{size:16});var s=V(a,2),l=M(s);Tt(l,{children:(e,t)=>{K(),u(e,c(`Copy the token and client config now. They won’t be shown again.`))},$$slots:{default:!0}});var d=V(l,2),p=M(d);$(p,{children:(e,t)=>{K(),u(e,c(`API token`))},$$slots:{default:!0}});var m=V(p,2),h=M(m),g=M(h,!0);i(h);var _=V(h,2),v=M(_),y=e=>{ct(e,{size:14})},b=e=>{Dt(e,{size:14})};f(v,e=>{S(j)?e(y):e(b,-1)}),i(_),i(m),i(d);var C=V(d,2),w=M(C),T=M(w);$(T,{children:(e,t)=>{K(),u(e,c(`Client config`))},$$slots:{default:!0}});var E=V(T,2),O=M(E),k=e=>{ct(e,{size:14})},A=e=>{Dt(e,{size:14})};f(O,e=>{S(N)?e(k):e(A,-1)}),i(E),i(w);var F=V(w,2),I=M(F,!0);i(F),i(C),i(s),D(()=>{o(g,S(n).token),o(I,S(Ee))}),x(`click`,_,()=>we(S(n).token,`token`)),x(`click`,E,()=>we(S(Ee),`config`)),u(e,r)},$$slots:{default:!0}}),i(t),u(e,t)},ae=e=>{var t=Rn(),n=V(M(t));K(),i(t),x(`click`,n,()=>{De(),T(E,!0)}),u(e,t)};f(U,e=>{S(n)?e(ie):e(ae,-1)});var oe=V(U,2);wt(V(M(oe),2),{variant:`destructive`,class:`danger-alert`,children:(e,n)=>{var r=Bn(),a=P(r);Ct(a,{size:16});var s=V(a,2);Tt(M(s),{children:(e,n)=>{K();var r=c();D(()=>o(r,`Revoke ${S(t).name??``}? Any client using it will immediately stop working.`)),u(e,r)},$$slots:{default:!0}}),i(s);var l=V(s,2),d=e=>{var t=zn(),n=M(t);Q(n,{variant:`ghost`,class:`danger-cancel`,onclick:()=>{T(I,!1)},get disabled(){return S(L)},children:(e,t)=>{K(),u(e,c(`Cancel`))},$$slots:{default:!0}}),Q(V(n,2),{variant:`accent`,onclick:Ae,get disabled(){return S(L)},children:(e,t)=>{K();var n=c();D(()=>o(n,S(L)?`Revoking...`:`Revoke`)),u(e,n)},$$slots:{default:!0}}),i(t),u(e,t)},p=e=>{Q(e,{variant:`accent`,onclick:()=>{T(I,!0)},children:(e,t)=>{K(),u(e,c(`Revoke Token`))},$$slots:{default:!0}})};f(l,e=>{S(I)?e(d):e(p,-1)}),u(e,r)},$$slots:{default:!0}}),i(oe),D((e,n)=>{o(d,S(t).name),o(g,e),o(O,n),o(ne,S(v))},[()=>Me(S(t).created_at),()=>S(t).last_used_at?je(S(t).last_used_at):`Never`]),x(`click`,z,()=>we(S(v),`url`)),u(e,r)},d=e=>{var n=qn(),r=V(P(n),4),a=e=>{var t=Un(),n=M(t),r=V(M(n),2);Ze(M(r),{size:16}),i(r),i(n);var a=V(n,2),l=M(a);$(l,{for:`token-name`,children:(e,t)=>{K(),u(e,c(`Token name`))},$$slots:{default:!0}}),mt(V(l,2),{id:`token-name`,placeholder:`Claude Desktop`,get disabled(){return S(A)},autofocus:!0,get value(){return S(O)},set value(e){T(O,e,!0)}}),i(a);var d=V(a,2),p=e=>{var t=Hn(),n=M(t,!0);i(t),D(()=>o(n,S(k))),u(e,t)};f(d,e=>{S(k)&&e(p)});var m=V(d,2),h=M(m);{let e=_(()=>S(A)||!S(O).trim());Q(h,{variant:`accent`,type:`submit`,get disabled(){return S(e)},children:(e,t)=>{K();var n=c();D(()=>o(n,S(A)?`Creating...`:`Create Token`)),u(e,n)},$$slots:{default:!0}})}i(m),i(t),D(()=>r.disabled=S(A)),s(`submit`,t,e=>{e.preventDefault(),ke()}),x(`click`,r,Z),u(e,t)},l=e=>{var t=Wn();tt(M(t),{size:16}),K(),i(t),x(`click`,t,Oe),u(e,t)};f(r,e=>{S(E)?e(a):e(l,-1)});var d=V(r,2),p=e=>{var n=Kn();t(n,21,()=>S(b),ee,(e,t)=>{var n=Gn(),r=M(n);Pn(M(r),{size:16}),i(r);var a=V(r,2),s=M(a,!0);i(a);var c=V(a,2);Qe(M(c),{size:16}),i(c),i(n),D(()=>o(s,S(t).name)),x(`click`,n,()=>X(S(t).id)),u(e,n)}),i(n),u(e,n)};f(d,e=>{S(b).length>0&&e(p)}),u(e,n)};f(r,e=>{S(h)?S(R)?e(l,1):e(d,-1):e(a)}),u(e,n)},p=e=>{var n=g(),r=P(n),a=e=>{u(e,Jn())},d=e=>{let t=_(()=>S(de));var n=Qn(),r=P(n),a=M(r);ut(M(a),{size:22}),i(a);var l=V(a,2),d=M(l,!0);i(l),i(r);var p=V(r,2),m=M(p);$(m,{children:(e,t)=>{K(),u(e,c(`Server URL`))},$$slots:{default:!0}});var h=V(m,2),g=M(h),v=M(g,!0);i(g);var y=V(g,2),b=M(y),C=e=>{ct(e,{size:14})},w=e=>{Dt(e,{size:14})};f(b,e=>{S(ve)?e(C):e(w,-1)}),i(y),i(h),i(p);var E=V(p,2),O=M(E),k=M(O);$(k,{for:`connector-json-editor`,children:(e,t)=>{K(),u(e,c(`Configuration`))},$$slots:{default:!0}});var A=V(k,2),j=e=>{{let t=_(()=>S(ge)||!S(fe).trim());Q(e,{variant:`accent`,size:`sm`,type:`submit`,get disabled(){return S(t)},children:(e,t)=>{K();var n=c();D(()=>o(n,S(ge)?`Saving...`:`Save`)),u(e,n)},$$slots:{default:!0}})}};f(A,e=>{S(J)&&e(j)}),i(O);var N=V(O,2);Cn(N,{id:`connector-json-editor`,rows:10,class:`mcp-config-textarea`,get value(){return S(fe)},set value(e){T(fe,e,!0)}});var F=V(N,2),I=e=>{var t=Yn(),n=M(t,!0);i(t),D(()=>o(n,S(_e))),u(e,t)};f(F,e=>{S(_e)&&e(I)}),i(E);var L=V(E,2);wt(V(M(L),2),{variant:`destructive`,class:`danger-alert`,children:(e,n)=>{var r=Zn(),a=P(r);Ct(a,{size:16});var s=V(a,2);Tt(M(s),{children:(e,n)=>{K();var r=c();D(e=>o(r,`Remove ${e??``}? Anyone connected to it will immediately lose access.`),[()=>Ne(S(t).name)]),u(e,r)},$$slots:{default:!0}}),i(s);var l=V(s,2),d=e=>{var t=Xn(),n=M(t);Q(n,{variant:`ghost`,class:`danger-cancel`,onclick:()=>{T(ye,!1)},get disabled(){return S(be)},children:(e,t)=>{K(),u(e,c(`Cancel`))},$$slots:{default:!0}}),Q(V(n,2),{variant:`accent`,onclick:Ve,get disabled(){return S(be)},children:(e,t)=>{K();var n=c();D(()=>o(n,S(be)?`Removing...`:`Remove`)),u(e,n)},$$slots:{default:!0}}),i(t),u(e,t)},p=e=>{Q(e,{variant:`accent`,onclick:()=>{T(ye,!0)},children:(e,t)=>{K(),u(e,c(`Remove Connector`))},$$slots:{default:!0}})};f(l,e=>{S(ye)?e(d):e(p,-1)}),u(e,r)},$$slots:{default:!0}}),i(L),D(e=>{o(d,e),o(v,S(t).url)},[()=>Ne(S(t).name)]),x(`click`,y,()=>He(S(t).url)),s(`submit`,E,e=>{e.preventDefault(),Be()}),u(e,n)},p=e=>{var n=lr(),r=V(P(n),4),a=e=>{var t=er(),n=M(t),r=V(M(n),2);Ze(M(r),{size:16}),i(r),i(n);var a=V(n,2),l=M(a);$(l,{for:`connector-name`,children:(e,t)=>{K(),u(e,c(`Name`))},$$slots:{default:!0}}),mt(V(l,2),{id:`connector-name`,placeholder:`e.g. linear`,required:!0,get value(){return S(oe)},set value(e){T(oe,e,!0)}}),i(a);var d=V(a,2),p=M(d);$(p,{for:`connector-json`,children:(e,t)=>{K(),u(e,c(`JSON Configuration`))},$$slots:{default:!0}}),Cn(V(p,2),{id:`connector-json`,placeholder:`{
|
|
5
5
|
"url": "https://mcp.example.com/mcp"
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./DREqAq0K.js","./BNTlsKDJ.js","./1swuWs29.js","./Cb59VtQS.js","./t62M88qj.js","./BTVpmOVM.js","../assets/dist.DDCWxn3B.css"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{n as e}from"./BNTlsKDJ.js";import{A as t,Bt as n,D as r,F as i,H as a,L as o,Mt as s,N as c,Nt as l,R as u,St as d,X as f,_t as p,at as m,b as h,dt as g,ft as _,j as v,mt as y,ot as b,pt as x,yt as S,z as C,zt as w}from"./1swuWs29.js";import{t as T}from"./C-OaypFN.js";import"./t62M88qj.js";import{s as E}from"./D4PsTUl1.js";import{n as ee,o as D,r as te,s as ne,t as re}from"./BzwhhnBr2.js";import{t as O}from"./BYac2IM72.js";import"./BcByWrxh2.js";import{t as k}from"./
|
|
2
|
+
import{n as e}from"./BNTlsKDJ.js";import{A as t,Bt as n,D as r,F as i,H as a,L as o,Mt as s,N as c,Nt as l,R as u,St as d,X as f,_t as p,at as m,b as h,dt as g,ft as _,j as v,mt as y,ot as b,pt as x,yt as S,z as C,zt as w}from"./1swuWs29.js";import{t as T}from"./C-OaypFN.js";import"./t62M88qj.js";import{s as E}from"./D4PsTUl1.js";import{n as ee,o as D,r as te,s as ne,t as re}from"./BzwhhnBr2.js";import{t as O}from"./BYac2IM72.js";import"./BcByWrxh2.js";import{t as k}from"./Cm0Lho_42.js";import{t as A}from"./M28-PWNQ.js";import{t as ie}from"./GMUo36Tv.js";import{t as j}from"./C8LGXx0D.js";import{t as M}from"./QT4tG1tY.js";import{t as N}from"./Ciqeu-2O.js";import{n as P,r as F,t as ae}from"./B-bHt83e.js";var I=e({default:()=>H}),oe=C(`<div class="fm-hint svelte-vz89pt">Loading…</div>`),se=C(`<div class="fm-row fm-confirm svelte-vz89pt"><!> <span class="fm-confirm-text svelte-vz89pt"> </span> <div class="fm-actions svelte-vz89pt"><!> <!></div></div>`),ce=C(` <!>`,1),le=C(`<span class="role-check"><!></span>`),ue=C(`<span>Admin</span> <!>`,1),de=C(`<span class="role-check"><!></span>`),L=C(`<span>Editor</span> <!>`,1),R=C(`<!> <!>`,1),z=C(`<!> <!>`,1),B=C(`<span class="fm-role-label svelte-vz89pt"> </span>`),V=C(`<span class="fm-trash-placeholder svelte-vz89pt" aria-hidden="true"></span>`),fe=C(`<div class="fm-row svelte-vz89pt"><span class="fm-avatar svelte-vz89pt"> </span> <span class="fm-name svelte-vz89pt"> </span> <span class="fm-flex svelte-vz89pt"></span> <!> <!></div>`),pe=C(`<div class="fm-row fm-candidate svelte-vz89pt"><span class="fm-avatar svelte-vz89pt"> </span> <span class="fm-name fm-name-muted svelte-vz89pt"> </span> <span class="fm-flex svelte-vz89pt"></span> <!></div>`),me=C(`<div class="fm-sublabel svelte-vz89pt">Add members</div> <!>`,1),he=C(`<!> <!>`,1),ge=C(`<div class="folder-members svelte-vz89pt"><div class="fm-header svelte-vz89pt"><span class="fm-label svelte-vz89pt">Members</span></div> <!></div>`);function H(e,C){l(C,!0);let I=C.initialMembers!==void 0&&C.initialUsers!==void 0,H=S(y(C.initialMembers?[...C.initialMembers]:[])),U=S(y(C.initialUsers?[...C.initialUsers]:[])),W=S(!I),G=S(null),K=S(!1);b(()=>{I||_e(C.folder)});async function _e(e){p(W,!0);try{let[{users:t},n]=await Promise.all([E(),ae()]);p(U,t,!0),p(H,n.find(t=>t.folder===e)?.members??[],!0)}finally{p(W,!1)}}let q=d(()=>{let e=new Set(f(H).map(e=>e.user.id));return f(U).filter(t=>!e.has(t.id))}),ve=d(()=>f(H).filter(e=>e.role===`admin`).length);function J(e){return C.canEdit?!(e.role===`admin`&&f(ve)===1):!1}function Y(e){p(H,e,!0),C.onMembersChanged?.(e)}async function X(e){let{toast:t}=await T(async()=>{let{toast:e}=await import(`./DREqAq0K.js`).then(e=>e.t);return{toast:e}},__vite__mapDeps([0,1,2,3,4,5,6]),import.meta.url);t.error(e)}async function Z(e,t){let n=f(H).find(t=>t.user.id===e);if(!n||n.role===t)return;let r=n.role;Y(f(H).map(n=>n.user.id===e?{...n,role:t}:n));try{await P(e,C.folder,t)}catch(t){Y(f(H).map(t=>t.user.id===e?{...t,role:r}:t)),X(t.message||`Failed to update role`)}}async function Q(e){Y([...f(H),{user:e,role:`editor`}].sort((e,t)=>e.user.displayName.localeCompare(t.user.displayName)));try{await P(e.id,C.folder,`editor`)}catch(t){Y(f(H).filter(t=>t.user.id!==e.id)),X(t.message||`Failed to add member`)}}async function ye(){if(!f(G))return;p(K,!0);let e=f(G),t=f(H);Y(f(H).filter(t=>t.user.id!==e.id)),p(G,null);try{await F(e.id,C.folder)}catch(e){Y(t),X(e.message||`Failed to remove member`)}finally{p(K,!1)}}var $=ge(),be=x(g($),2),xe=e=>{o(e,oe())},Se=e=>{var s=he(),l=_(s);t(l,17,()=>f(H),v,(e,t)=>{let s=d(()=>k.getColor(f(t).user.id));var l=u(),v=_(l),y=e=>{var r=se(),s=g(r);N(s,{size:16});var c=x(s,2),l=g(c);n(c);var u=x(c,2),d=g(u);O(d,{variant:`ghost`,onclick:()=>{p(G,null)},get disabled(){return f(K)},children:(e,t)=>{w(),o(e,a(`Cancel`))},$$slots:{default:!0}}),O(x(d,2),{variant:`destructive`,onclick:ye,get disabled(){return f(K)},children:(e,t)=>{w(),o(e,a(`Remove`))},$$slots:{default:!0}}),n(u),n(r),m(()=>i(l,`Remove ${f(t).user.displayName??``}?`)),o(e,r)},b=e=>{var a=fe(),l=g(a);let v;var y=g(l,!0);n(l);var b=x(l,2),S=g(b,!0);n(b);var C=x(b,4),T=e=>{var a=u();r(_(a),()=>ee,(e,a)=>{a(e,{children:(e,a)=>{var s=z(),l=_(s);r(l,()=>te,(e,n)=>{n(e,{class:`role-chip`,"aria-label":`Change role`,children:(e,n)=>{w();var r=ce(),a=_(r);M(x(a),{size:10}),m(()=>i(a,`${f(t).role===`admin`?`Admin`:`Editor`} `)),o(e,r)},$$slots:{default:!0}})}),r(x(l,2),()=>re,(e,i)=>{i(e,{children:(e,i)=>{var a=u();r(_(a),()=>ne,(e,i)=>{i(e,{align:`start`,children:(e,i)=>{var a=R(),s=_(a);r(s,()=>D,(e,r)=>{r(e,{onSelect:()=>Z(f(t).user.id,`admin`),children:(e,r)=>{var i=ue(),a=x(_(i),2),s=e=>{var t=le();j(g(t),{size:14}),n(t),o(e,t)};c(a,e=>{f(t).role===`admin`&&e(s)}),o(e,i)},$$slots:{default:!0}})}),r(x(s,2),()=>D,(e,r)=>{r(e,{onSelect:()=>Z(f(t).user.id,`editor`),children:(e,r)=>{var i=L(),a=x(_(i),2),s=e=>{var t=de();j(g(t),{size:14}),n(t),o(e,t)};c(a,e=>{f(t).role===`editor`&&e(s)}),o(e,i)},$$slots:{default:!0}})}),o(e,a)},$$slots:{default:!0}})}),o(e,a)},$$slots:{default:!0}})}),o(e,s)},$$slots:{default:!0}})}),o(e,a)},E=d(()=>J(f(t))),k=e=>{var r=B(),a=g(r,!0);n(r),m(()=>i(a,f(t).role===`admin`?`Admin`:`Editor`)),o(e,r)};c(C,e=>{f(E)?e(T):e(k,-1)});var A=x(C,2),N=e=>{O(e,{variant:`ghost`,size:`icon`,class:`icon-danger`,title:`Remove`,onclick:()=>{p(G,f(t).user,!0)},children:(e,t)=>{ie(e,{})},$$slots:{default:!0}})},P=d(()=>J(f(t))),F=e=>{o(e,V())};c(A,e=>{f(P)?e(N):e(F,-1)}),n(a),m(e=>{v=h(l,``,v,{background:f(s)||void 0}),i(y,e),i(S,f(t).user.displayName)},[()=>(f(t).user.displayName||f(t).user.email)[0].toUpperCase()]),o(e,a)};c(v,e=>{f(G)?.id===f(t).user.id?e(y):e(b,-1)}),o(e,l)});var y=x(l,2),b=e=>{var r=me();t(x(_(r),2),17,()=>f(q),v,(e,t)=>{let r=d(()=>k.getColor(f(t).id));var a=pe(),s=g(a);let c;var l=g(s,!0);n(s);var u=x(s,2),p=g(u,!0);n(u),O(x(u,4),{variant:`ghost`,size:`icon`,title:`Add as editor`,onclick:()=>Q(f(t)),children:(e,t)=>{A(e,{})},$$slots:{default:!0}}),n(a),m(e=>{c=h(s,``,c,{background:f(r)||void 0}),i(l,e),i(p,f(t).displayName)},[()=>(f(t).displayName||f(t).email)[0].toUpperCase()]),o(e,a)}),o(e,r)};c(y,e=>{C.canEdit&&f(q).length>0&&e(b)}),o(e,s)};c(be,e=>{f(W)?e(xe):e(Se,-1)}),n($),o(e,$),s()}export{I as n,H as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{$ as e,A as t,B as n,Bt as r,F as i,G as a,H as o,L as s,Mt as c,N as l,Nt as u,Q as d,R as f,St as p,U as m,W as h,X as g,Y as _,_t as v,a as y,at as b,ct as x,d as S,dt as C,ft as ee,g as w,gt as T,it as E,j as D,k as te,o as O,ot as k,pt as A,rt as j,u as M,ut as N,v as P,x as ne,y as re,yt as F,z as I,zt as L}from"./1swuWs29.js";import"./t62M88qj.js";import{i as ie}from"./D-S790ZE.js";import{t as R}from"./AIGIGEX4.js";import{t as z}from"./9XgWq5jJ.js";import"./BTVpmOVM.js";import{t as B}from"./0YfY4WC7.js";import{t as V}from"./BYac2IM72.js";import"./BcByWrxh2.js";import{t as ae}from"./IygN8LXl2.js";import{t as oe}from"./Cz9lz73i2.js";import{t as se}from"./DxV48Rhs.js";import{t as ce}from"./C8LGXx0D.js";import{n as le,r as H,t as ue}from"./IgGpTJTG.js";import{t as de}from"./BajUCO-P.js";import{t as U}from"./DTopBtmz.js";import{t as fe}from"./DZ9mA0KH.js";import{t as pe}from"./oTtTtXgi.js";import{t as me}from"./Ca06pNL42.js";import{t as he}from"./BfnyuOzG.js";import{t as ge}from"./BMa9zwUU.js";var W=n(`<title> </title>`),G=n(`<svg><!><path d="M13 21 26.17 21 23.59 23.59 25 25 30 20 25 15 23.59 16.41 26.17 19 13 19 13 21z"></path><path d="M22,14V10a1,1,0,0,0-.29-.71l-7-7A1,1,0,0,0,14,2H4A2,2,0,0,0,2,4V28a2,2,0,0,0,2,2H20a2,2,0,0,0,2-2V26H20v2H4V4h8v6a2,2,0,0,0,2,2h6v2Zm-8-4V4.41L19.59,10Z"></path></svg>`);function _e(e,t){let n=y(t,[`children`,`$$slots`,`$$events`,`$$legacy`]),a=y(n,[`size`,`title`]);u(t,!1);let o=T(),d=T(),f=O(t,`size`,8,16),p=O(t,`title`,8,void 0);j(()=>(_(n),_(p())),()=>{v(o,n[`aria-label`]||n[`aria-labelledby`]||p())}),j(()=>(g(o),_(n)),()=>{v(d,{"aria-hidden":g(o)?void 0:!0,role:g(o)?`img`:void 0,focusable:Number(n.tabindex)===0?!0:void 0})}),E(),M();var m=G();w(m,()=>({xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 32 32`,fill:`currentColor`,preserveAspectRatio:`xMidYMid meet`,width:f(),height:f(),...g(d),...a}));var h=C(m),x=e=>{var t=W(),n=C(t,!0);r(t),b(()=>i(n,p())),s(e,t)};l(h,e=>{p()&&e(x)}),L(2),r(m),s(e,m),c()}var K=n(`<title> </title>`),q=n(`<svg><!><path d="M18 10H20V12H18z"></path><path d="M12 10H14V12H12z"></path><path d="M26,20H21V18h1a2.0023,2.0023,0,0,0,2-2V12h2V10H24V8a2.0023,2.0023,0,0,0-2-2H20V2H18V6H14V2H12V6H10A2.0023,2.0023,0,0,0,8,8v2H6v2H8v4a2.0023,2.0023,0,0,0,2,2h1v2H6a2.0023,2.0023,0,0,0-2,2v8H6V22H26v8h2V22A2.0023,2.0023,0,0,0,26,20ZM10,8H22v8H10Zm3,10h6v2H13Z"></path></svg>`);function ve(e,t){let n=y(t,[`children`,`$$slots`,`$$events`,`$$legacy`]),a=y(n,[`size`,`title`]);u(t,!1);let o=T(),d=T(),f=O(t,`size`,8,16),p=O(t,`title`,8,void 0);j(()=>(_(n),_(p())),()=>{v(o,n[`aria-label`]||n[`aria-labelledby`]||p())}),j(()=>(g(o),_(n)),()=>{v(d,{"aria-hidden":g(o)?void 0:!0,role:g(o)?`img`:void 0,focusable:Number(n.tabindex)===0?!0:void 0})}),E(),M();var m=q();w(m,()=>({xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 32 32`,fill:`currentColor`,preserveAspectRatio:`xMidYMid meet`,width:f(),height:f(),...g(d),...a}));var h=C(m),x=e=>{var t=K(),n=C(t,!0);r(t),b(()=>i(n,p())),s(e,t)};l(h,e=>{p()&&e(x)}),L(3),r(m),s(e,m),c()}var ye=I(`<div class="empty-state svelte-2kfnqv"><div class="seed-prompts svelte-2kfnqv"></div></div>`),be=I(`<div class="user-bubble svelte-2kfnqv"> </div>`),xe=I(`<span class="tool-call svelte-2kfnqv"> </span>`),Se=I(`<div class="tool-calls svelte-2kfnqv"></div>`),Ce=I(`<div class="agent-text prose svelte-2kfnqv"></div>`),we=I(`<div class="agent-text prose svelte-2kfnqv"></div>`),Te=I(`<span class="streaming-dot svelte-2kfnqv"></span>`),Ee=I(`<div class="msg-actions svelte-2kfnqv"><button class="copy-btn svelte-2kfnqv" title="Copy"><!></button> <button class="copy-btn svelte-2kfnqv" title="Export as Markdown"><!></button></div>`),De=I(`<div class="agent-content svelte-2kfnqv"><!> <!></div>`),Oe=I(`<div class="message-group svelte-2kfnqv"><!></div>`),ke=I(`<div class="follow-up-prompts svelte-2kfnqv"></div>`),Ae=I(`<!> <!>`,1),je=I(`<div class="context-chip svelte-2kfnqv">Onboarding Interview</div>`),Me=I(`<div class="agent-panel svelte-2kfnqv"><div class="agent-header svelte-2kfnqv"><button class="agent-header-btn svelte-2kfnqv" aria-label="New session" title="New session"><!></button> <div class="agent-session-nav svelte-2kfnqv"><button class="agent-header-btn svelte-2kfnqv" aria-label="Previous session" title="Previous session"><!></button> <span class="agent-session-label svelte-2kfnqv"> </span> <button class="agent-header-btn svelte-2kfnqv" aria-label="Next session" title="Next session"><!></button></div> <button class="agent-header-btn svelte-2kfnqv" aria-label="Close" title="Close"><!></button></div> <div class="agent-messages svelte-2kfnqv"><!></div> <div class="scroll-to-bottom-wrapper svelte-2kfnqv"><button aria-label="Scroll to latest"><!></button></div> <div class="agent-input-area svelte-2kfnqv"><!> <div class="text-input svelte-2kfnqv"><textarea class="input-field svelte-2kfnqv" placeholder="Ask anything" rows="1"></textarea> <!></div></div></div>`),Ne=I(`<div class="agent-overlay-root svelte-2kfnqv"><button><!></button> <!></div>`);function Pe(n,m){u(m,!0);let _=p(()=>U.open),y=F(null),w=F(!0),T=F(void 0),E=F(void 0),O=F(void 0),j=new WeakSet,M=p(()=>z.draftInput);function I(e){z.draftInput=e}let W=p(()=>(z.messages.length,z.activeSessionId,z.getSessions())),G=p(()=>g(W).findIndex(e=>e.active)),K=p(()=>g(G)>=0&&g(G)<g(W).length-1),q=p(()=>g(G)>0),Pe=p(()=>z.messages.length>0);function Fe(e){if(!e)return`New chat`;let t=new Date(e),n=new Date,r=e=>new Date(e.getFullYear(),e.getMonth(),e.getDate()).getTime(),i=Math.round((r(n)-r(t))/(1440*60*1e3)),a=t.toLocaleTimeString(void 0,{hour:`numeric`,minute:`2-digit`});return i===0?`Today, ${a}`:i===1?`Yesterday, ${a}`:i<7?t.toLocaleDateString(void 0,{weekday:`long`})+`, ${a}`:t.toLocaleDateString(void 0,{month:`short`,day:`numeric`})+`, ${a}`}let Ie=p(()=>g(G)<0||g(W).length===0?`New chat`:Fe(g(W)[g(G)].updatedAt));function Le(){if(!g(K))return;let e=g(W)[g(G)+1];e&&z.loadSession(e.id)}function Re(){if(!g(q))return;let e=g(W)[g(G)-1];e&&z.loadSession(e.id)}function ze(){z.newSession(),d().then(()=>g(O)?.focus())}let Be={connector_list:[`Listing connectors`,`Listing connectors`],connector_call:[`Calling connector`,`Calling connectors`],create_entity:[`Creating entry`,`Creating entries`],get_entity:[`Reading entry`,`Reading entries`],update_entity:[`Updating entry`,`Updating entries`],delete_entity:[`Deleting entry`,`Deleting entries`],rename_entity:[`Renaming entry`,`Renaming entries`],move_entity:[`Moving entry`,`Moving entries`],transfer_entity:[`Transferring entry`,`Transferring entries`],import_file:[`Importing file`,`Importing files`],search_entities:[`Searching entries`,`Searching entries`],list_entities:[`Listing entries`,`Listing entries`],get_related:[`Finding related entries`,`Finding related entries`],get_backlinks:[`Finding backlinks`,`Finding backlinks`],validate_wikilinks:[`Validating links`,`Validating links`],get_workspace_summary:[`Reading workspace`,`Reading workspace`],list_repos:[`Listing folders`,`Listing folders`],create_folder:[`Creating folder`,`Creating folders`],create_subfolder:[`Creating subfolder`,`Creating subfolders`],rename_folder:[`Renaming folder`,`Renaming folders`],delete_folder:[`Deleting folder`,`Deleting folders`],list_folders:[`Listing folders`,`Listing folders`],query_dataset:[`Querying dataset`,`Querying datasets`],append_rows:[`Appending rows`,`Appending rows`],get_entity_schema:[`Reading schema`,`Reading schemas`],lint_entities:[`Checking entries`,`Checking entries`],find_orphans:[`Finding orphans`,`Finding orphans`],highlight_entities:[`Highlighting entries`,`Highlighting entries`],sync_folder:[`Syncing folder`,`Syncing folders`],sync_workspace:[`Syncing workspace`,`Syncing workspace`],sync_refresh:[`Refreshing from source`,`Refreshing from source`],sync_status:[`Checking sync status`,`Checking sync status`],sync_list_sources:[`Listing sources`,`Listing sources`],sync_setup_source:[`Setting up source`,`Setting up sources`],sync_remove_source:[`Removing source`,`Removing sources`],sync_inspect_connector:[`Inspecting connector`,`Inspecting connectors`],sync_sample_data:[`Sampling data`,`Sampling data`],workspace_commit:[`Committing changes`,`Committing changes`],workspace_reset:[`Resetting workspace`,`Resetting workspace`],workspace_reindex:[`Reindexing`,`Reindexing`],workspace_status:[`Checking status`,`Checking status`],workspace_review:[`Reviewing changes`,`Reviewing changes`],workspace_push:[`Pushing changes`,`Pushing changes`],workspace_pull:[`Pulling changes`,`Pulling changes`],permission_list_users:[`Listing users`,`Listing users`],permission_create_user:[`Creating user`,`Creating users`],permission_delete_user:[`Deleting user`,`Deleting users`],permission_grant_access:[`Granting access`,`Granting access`],permission_revoke_access:[`Revoking access`,`Revoking access`],permission_list_folder_access:[`Listing access`,`Listing access`],read_file:[`Reading file`,`Reading files`],list_directory:[`Listing directory`,`Listing directories`],write_file:[`Writing file`,`Writing files`],load_skill:[`Loading skill`,`Loading skills`],app_install:[`Installing app`,`Installing apps`],app_list:[`Listing apps`,`Listing apps`],deploy_railway:[`Deploying`,`Deploying`],redeploy_railway:[`Redeploying`,`Redeploying`],mark_onboarded:[`Completing onboarding`,`Completing onboarding`],update_workspace_about:[`Updating workspace description`,`Updating workspace description`],reset_conversation:[`Resetting conversation`,`Resetting conversation`]};function Ve(e){let t=new Map;for(let n of e)t.set(n,(t.get(n)??0)+1);return[...t.entries()].map(([e,t])=>{let n=Be[e];if(n)return{label:t>1?n[1]:n[0],count:t};let r=e.replace(/_/g,` `);return{label:r.charAt(0).toUpperCase()+r.slice(1),count:t}})}function He(e,t){navigator.clipboard.writeText(t),v(y,e,!0),setTimeout(()=>{g(y)===e&&v(y,null)},2e3)}function Ue(e){let t=new Blob([e],{type:`text/markdown`}),n=URL.createObjectURL(t),r=document.createElement(`a`);r.href=n,r.download=`response.md`,r.click(),URL.revokeObjectURL(n)}let We=p(()=>ie.totalEntities<5?[`Continue interviewing me`,`What can I do with Studiograph?`,`How can I give you more information?`]:[`What's new?`,`What should I focus on today?`,`I want to share something`,`Help me think through something`]),Ge=p(()=>{let e=z.messages;if(e.length===0||z.streaming)return[];let t=e[e.length-1];return t.role===`agent`?t.suggestions?.length?t.suggestions:B.loaded&&!B.onboarded?[`Skip this question`]:R.selectedId?[`Tell me more about this ${R.selectedType??`entry`}`,`What's related?`,`I have updates`]:[`Tell me more about that`,`What should I focus on?`]:[]});k(()=>{g(_)&&z.markSeen()});function J(){g(E)&&v(w,g(E).scrollHeight-g(E).scrollTop-g(E).clientHeight<40)}function Y(e=!1){g(E)&&(e?g(E).scrollTo({top:g(E).scrollHeight,behavior:`smooth`}):g(E).scrollTop=g(E).scrollHeight)}async function Ke(){let e=g(M).trim();!e||z.streaming||(I(``),v(w,!0),z.send(e),await d(),Y())}function qe(e){e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),Ke())}function Je(e){v(w,!0),z.send(e),d().then(()=>Y())}function X(){U.toggle()}function Ye(){U.hide()}k(()=>{g(_)&&d().then(()=>{g(O)?.focus(),Y()})});function Z(e){if((e.metaKey||e.ctrlKey)&&e.key.toLowerCase()===`j`){e.preventDefault(),X();return}e.key===`Escape`&&g(_)&&g(T)?.contains(document.activeElement)&&(e.preventDefault(),Ye())}k(()=>{g(_);let e=g(E);!e||!g(_)||j.has(e)||(j.add(e),d().then(()=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>{e.scrollTop=e.scrollHeight,J()})})}))}),k(()=>{z.messages.length,g(E),d().then(()=>J())}),k(()=>{let e=g(E);if(!e)return;let t=new ResizeObserver(()=>J());return t.observe(e),()=>t.disconnect()}),k(()=>{z.scrollTick,e(()=>g(w))&&Y()}),k(()=>{z.forceScroll,v(w,!0),Y()}),k(()=>{if(!g(_)||typeof window>`u`||!window.visualViewport)return;let e=window.visualViewport,t=()=>{if(!g(T))return;let t=Math.max(0,window.innerHeight-e.height-e.offsetTop);g(T).style.setProperty(`--keyboard-offset`,`${t}px`)};return e.addEventListener(`resize`,t),e.addEventListener(`scroll`,t),t(),()=>{e.removeEventListener(`resize`,t),e.removeEventListener(`scroll`,t),g(T)?.style.removeProperty(`--keyboard-offset`)}});var Q=Ne();a(`keydown`,N,Z);var $=C(Q);ve(C($),{size:24}),r($);var Xe=A($,2),Ze=e=>{var n=Me(),c=C(n),u=C(c);se(C(u),{size:14}),r(u);var d=A(u,2),m=C(d);pe(C(m),{size:16}),r(m);var _=A(m,2),k=C(_,!0);r(_);var j=A(_,2);oe(C(j),{size:16}),r(j),r(d);var N=A(d,2);ae(C(N),{size:16}),r(N),r(c);var F=A(c,2),ie=C(F),R=e=>{var n=ye(),a=C(n);t(a,21,()=>g(We),D,(e,t)=>{V(e,{variant:`outline`,class:`seed-prompt`,onclick:()=>Je(g(t)),children:(e,n)=>{L();var r=o();b(e=>i(r,e),[()=>H(g(t))]),s(e,r)},$$slots:{default:!0}})}),r(a),r(n),s(e,n)},U=e=>{var n=Ae(),a=ee(n);t(a,17,()=>z.messages,D,(e,n,a)=>{var o=Oe(),c=C(o),u=e=>{var t=be(),a=C(t,!0);r(t),b(()=>i(a,g(n).content)),s(e,t)},d=e=>{var o=De(),c=C(o),u=e=>{var a=f();t(ee(a),17,()=>g(n).segments,D,(e,n)=>{var a=f(),o=ee(a),c=e=>{var a=Se();t(a,21,()=>Ve(g(n).names),D,(e,t)=>{let n=()=>g(t).label;var a=xe(),o=C(a,!0);r(a),b(()=>i(o,n())),s(e,a)}),r(a),s(e,a)},u=e=>{var t=Ce();te(t,()=>H(ge.parse(le(ue(g(n).content)))),!0),r(t),s(e,t)};l(o,e=>{g(n).type===`tools`?e(c):g(n).type===`text`&&g(n).content&&e(u,1)}),s(e,a)}),s(e,a)},d=e=>{var t=we();te(t,()=>H(ge.parse(le(ue(g(n).content)))),!0),r(t),s(e,t)};l(c,e=>{g(n).segments&&g(n).segments.length>0?e(u):g(n).content&&e(d,1)});var p=A(c,2),m=e=>{s(e,Te())},_=e=>{var t=Ee(),i=C(t),o=C(i),c=e=>{ce(e,{size:12})},u=e=>{he(e,{size:12})};l(o,e=>{g(y)===a?e(c):e(u,-1)}),r(i);var d=A(i,2);_e(C(d),{size:12}),r(d),r(t),h(`click`,i,()=>He(a,g(n).content)),h(`click`,d,()=>Ue(g(n).content)),s(e,t)};l(p,e=>{g(n).streaming?e(m):g(n).content&&e(_,1)}),r(o),s(e,o)};l(c,e=>{g(n).role===`user`?e(u):e(d,-1)}),r(o),s(e,o)});var c=A(a,2),u=e=>{var n=ke();t(n,21,()=>g(Ge),D,(e,t)=>{V(e,{variant:`outline`,class:`seed-prompt`,onclick:()=>Je(g(t)),children:(e,n)=>{L();var r=o();b(e=>i(r,e),[()=>H(g(t))]),s(e,r)},$$slots:{default:!0}})}),r(n),s(e,n)};l(c,e=>{g(Ge).length>0&&e(u)}),s(e,n)};l(ie,e=>{z.messages.length===0?e(R):e(U,-1)}),r(F),S(F,e=>v(E,e),()=>g(E));var W=A(F,2),G=C(W);let ve;me(C(G),{size:16}),r(G),r(W);var Ne=A(W,2),Fe=C(Ne),Be=e=>{s(e,je())};l(Fe,e=>{B.loaded&&!B.onboarded&&e(Be)});var X=A(Fe,2),Z=C(X);x(Z),S(Z,e=>v(O,e),()=>g(O));var Q=A(Z,2),$=e=>{V(e,{variant:`ghost`,size:`icon`,class:`stop-btn send-btn`,onclick:()=>z.stop(),"aria-label":`Stop`,children:(e,t)=>{de(e,{size:16})},$$slots:{default:!0}})},Xe=e=>{{let t=p(()=>g(M).trim()?`send-active`:``);V(e,{variant:`ghost`,size:`icon`,get class(){return`send-btn ${g(t)??``}`},onclick:Ke,"aria-label":`Send`,children:(e,t)=>{fe(e,{size:14})},$$slots:{default:!0}})}};l(Q,e=>{z.streaming?e($):e(Xe,-1)}),r(X),r(Ne),r(n),S(n,e=>v(T,e),()=>g(T)),b(()=>{u.disabled=!g(Pe),m.disabled=!g(K),i(k,g(Ie)),j.disabled=!g(q),P(W,`aria-hidden`,g(w)),ve=ne(G,1,`scroll-to-bottom svelte-2kfnqv`,null,ve,{"is-hidden":g(w)}),P(G,`tabindex`,g(w)?-1:0),re(Z,g(M))}),h(`click`,u,ze),h(`click`,m,Le),h(`click`,j,Re),h(`click`,N,Ye),a(`scroll`,F,J),h(`click`,G,()=>Y(!0)),h(`input`,Z,e=>I(e.target.value)),h(`keydown`,Z,qe),s(e,n)};l(Xe,e=>{g(_)&&e(Ze)}),r(Q),b(()=>{ne($,1,`agent-fab ${g(_)?`is-open`:``} ${z.hasUnread&&!g(_)?`has-unread`:``} ${z.streaming?`is-streaming`:``}`,`svelte-2kfnqv`),P($,`aria-label`,g(_)?`Close agent (⌘J)`:`Open agent (⌘J)`),P($,`aria-pressed`,g(_)),P($,`title`,g(_)?`Close agent (⌘J)`:`Open agent (⌘J)`)}),h(`click`,$,X),s(n,Q),c()}m([`click`,`input`,`keydown`]);export{Pe as default};
|