@openparachute/app 0.22.15-rc.6 → 0.22.15-rc.7
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/.parachute/info +1 -1
- package/dist/assets/{Account-K_xK2X9B.js → Account-DVrOc5d2.js} +1 -1
- package/dist/assets/{Activity-BL33NLB_.js → Activity-0hs_ikJM.js} +1 -1
- package/dist/assets/{AddVault-CTe-mwRH.js → AddVault-BB-AFOmL.js} +1 -1
- package/dist/assets/{AddVaultChooser-BPJV1MeI.js → AddVaultChooser-n8eLZ11X.js} +1 -1
- package/dist/assets/{AddVaultCreate-DI73o6uE.js → AddVaultCreate-BVyIpnXh.js} +1 -1
- package/dist/assets/AttachmentDropZone-TqaFTJWk.js +1 -0
- package/dist/assets/{Calendar-CaIuHTLe.js → Calendar-BFFWBFvP.js} +1 -1
- package/dist/assets/{CheckEmail-CqFmFCks.js → CheckEmail-PgQKYluA.js} +1 -1
- package/dist/assets/{useAttachmentUploader-DNhr7cOE.js → CodeMirrorEditor-DxXQL_Yv.js} +18 -18
- package/dist/assets/{ConnectAI-DHagDo44.js → ConnectAI-DvGvVaFL.js} +1 -1
- package/dist/assets/{DayView-GOUuDzfi.js → DayView-DckpX5OB.js} +1 -1
- package/dist/assets/{Export-YCQBcJkP.js → Export-nog6GkVZ.js} +1 -1
- package/dist/assets/{Import-kCFoVM-8.js → Import-kMnqJ0Zy.js} +2 -2
- package/dist/assets/NoteEditor-DJJzL6og.js +1 -0
- package/dist/assets/{NoteNew-BHjrbBq2.js → NoteNew-CNO1wteU.js} +2 -2
- package/dist/assets/NoteView-BkwjWffV.js +9 -0
- package/dist/assets/{OAuthCallback-BPLeIM87.js → OAuthCallback-Bqwbh5dE.js} +1 -1
- package/dist/assets/{PinArchiveButtons-z6H_YGSc.js → PinArchiveButtons-6XVGmX0l.js} +1 -1
- package/dist/assets/{Settings-Ck3g9l6D.js → Settings-B44TjE-J.js} +1 -1
- package/dist/assets/{TagPage-oQqARXqf.js → TagPage-BvHAtmih.js} +1 -1
- package/dist/assets/{TagSchemaEditor-D_LYDGRK.js → TagSchemaEditor-Bv9OJXDP.js} +1 -1
- package/dist/assets/{Tags-CyP_yKov.js → Tags-XxPefjNE.js} +1 -1
- package/dist/assets/{VaultGraph-Di0B4NaD.js → VaultGraph-B8m-aKEP.js} +2 -2
- package/dist/assets/{Vaults-BMJUdDaM.js → Vaults-PLbdO3kQ.js} +1 -1
- package/dist/assets/{ViewNew-Um87-wU2.js → ViewNew-WUgtqEUn.js} +1 -1
- package/dist/assets/{ViewSurface-D8xrFE_I.js → ViewSurface-B3tMmOMq.js} +1 -1
- package/dist/assets/{Welcome-Cb7SFRmw.js → Welcome-Bncj2rBF.js} +1 -1
- package/dist/assets/{WizardShell-CDZWRkFh.js → WizardShell-Cp46Sjm6.js} +1 -1
- package/dist/assets/attachment-upload-DML2Fh0E.js +2 -0
- package/dist/assets/{history-B2ZH4y8B.js → history-DeQhlq0x.js} +1 -1
- package/dist/assets/{index-CkXqzhj_.js → index-BwG_4Oup.js} +15 -15
- package/dist/assets/index-eHCCOf4I.css +1 -0
- package/dist/assets/{provenance-DnIXLZVC.js → provenance-D_yuCkJz.js} +1 -1
- package/dist/assets/{react-force-graph-2d-C179xgl7.js → react-force-graph-2d-iGY_edo3.js} +1 -1
- package/dist/assets/{transcribe-default-Z7qqgq1r.js → transcribe-default-Cz5r46Dt.js} +1 -1
- package/dist/assets/{NoteRenderer-CN_XExeX.js → useAttachmentUploader-CR8KEhCu.js} +24 -24
- package/dist/index.html +2 -2
- package/dist/sw.js +1 -1
- package/meta.json +1 -1
- package/package.json +1 -1
- package/dist/assets/NoteEditor-BcJb5-4o.js +0 -1
- package/dist/assets/NoteView-DtbLplBa.js +0 -3
- package/dist/assets/attachment-upload-B0biPzAc.js +0 -2
- package/dist/assets/index-D-RN2HHm.css +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{aa as p,r as m,l as g,v as f,b,j as e,N as j,L as i,ab as u}from"./index-
|
|
1
|
+
import{aa as p,r as m,l as g,v as f,b,j as e,N as j,L as i,ab as u}from"./index-BwG_4Oup.js";function y(t){return`${t.replace(/\/+$/,"")}/mcp`}function C(t){return`parachute-${t.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"vault"}`}function N(t,a){return`claude mcp add --transport http ${C(t)} ${a}`}function v(t,a){const s=t.find(r=>(r==null?void 0:r.name)===a),n=s==null?void 0:s.mcp_url;if(typeof n!="string")return null;try{const r=new URL(n);return r.protocol==="https:"||r.protocol==="http:"?n:null}catch{return null}}const k=4e3;function A(t,a){const s=y(t.url),n=p(t.clientId),[r,c]=m.useState({url:s,settled:!n});return m.useEffect(()=>{if(!n){c({url:s,settled:!0});return}let l=!0;c({url:s,settled:!1});const d=setTimeout(()=>{l&&c({url:s,settled:!0}),l=!1},k);return g(a).then(o=>{if(!l)return;clearTimeout(d);const x=v(Array.isArray(o==null?void 0:o.vaults)?o.vaults:[],f(t.url)??t.name);c({url:x??s,settled:!0})}).catch(()=>{clearTimeout(d),l&&c({url:s,settled:!0})}),()=>{l=!1,clearTimeout(d)}},[n,s,t.name,t.url,a]),r}function I(){const t=b(a=>a.getActiveVault());return t?e.jsx(P,{vault:t}):e.jsx(j,{to:"/",replace:!0})}function P({vault:t}){const{url:a,settled:s}=A(t),n=N(t.name,a);return e.jsxs("div",{className:"page-prose",children:[e.jsx("nav",{className:"mb-4 text-sm text-fg-dim",children:e.jsx(i,{to:"/",className:"focus-ring hover:text-accent",children:"← Home"})}),e.jsxs("header",{className:"mb-8",children:[e.jsx("p",{className:"eyebrow mb-1",children:t.name}),e.jsx("h1",{className:"page-title",children:"Connect your AI"}),e.jsx("p",{className:"mt-3 text-fg-muted",children:"Your vault speaks MCP — an open standard — so any AI can read and write it: Claude, ChatGPT, Claude Code, Cursor, or an agent you build. One memory, shared with every assistant you choose to connect."})]}),e.jsxs("section",{"aria-labelledby":"mcp-url-heading",className:"mb-8",children:[e.jsx("h2",{id:"mcp-url-heading",className:"eyebrow mb-2",children:"Your vault address"}),e.jsxs("p",{className:"mb-3 text-sm text-fg-muted",children:["Paste this wherever an AI asks for an MCP server. The"," ",e.jsx("code",{className:"rounded bg-bg-soft px-1 font-mono text-fg",children:"/mcp"})," suffix matters — it's the connection endpoint, not a page to open."]}),s?e.jsx(u,{value:a,label:"vault MCP URL"}):e.jsx("p",{className:"text-sm text-fg-dim","aria-live":"polite",children:"Finding your vault address…"}),e.jsxs("p",{className:"mt-3 text-sm text-fg-muted",children:["It reads and writes only inside"," ",e.jsx("b",{className:"rounded-md bg-grass-soft px-2 py-0.5 font-medium text-grass-ink",children:t.name})," ","— never anywhere else. Disconnect anytime from your vault's"," ",e.jsx(i,{to:"/settings",className:"text-accent hover:underline",children:"settings"}),"."]})]}),e.jsx("h2",{className:"eyebrow mb-3",children:"Bring your AI in"}),e.jsxs("div",{className:"grid gap-4 sm:grid-cols-2",children:[e.jsx(h,{title:"Claude",initial:"C",tone:"coral",steps:w,note:"On Claude's free plan you can add one custom connector."}),e.jsx(h,{title:"ChatGPT",initial:"G",tone:"grass",steps:T,note:"ChatGPT moves these menus often; the shape stays the same — add a connector, paste the address."})]}),e.jsxs("section",{"aria-labelledby":"other-clients-heading",className:"mt-8",children:[e.jsx("h2",{id:"other-clients-heading",className:"eyebrow mb-2",children:"Other AIs & the command line"}),e.jsx("p",{className:"mb-3 text-sm text-fg-muted",children:"That same URL works in any MCP-compatible client — Cursor, an agent you build, anywhere an AI asks for an MCP server. For Claude Code:"}),s?e.jsx(u,{value:n,label:"Claude Code command"}):null]}),e.jsx("div",{className:"mt-10 flex flex-wrap items-center gap-3 border-t border-border pt-6",children:e.jsx(i,{to:"/",className:"btn btn-primary btn-touch",children:"Done — back to your vault"})})]})}const w=[{key:"settings",body:e.jsxs(e.Fragment,{children:["Open"," ",e.jsx("a",{href:"https://claude.ai",target:"_blank",rel:"noopener noreferrer",className:"text-accent hover:underline",children:"claude.ai"})," ","and go to ",e.jsx("strong",{className:"text-fg",children:"Customize → Connectors"}),"."]})},{key:"add",body:e.jsxs(e.Fragment,{children:["Click ",e.jsx("strong",{className:"text-fg",children:"+ Add"}),", then"," ",e.jsx("strong",{className:"text-fg",children:"Add custom connector"}),"."]})},{key:"paste",body:e.jsxs(e.Fragment,{children:["Paste your vault address above, click ",e.jsx("strong",{className:"text-fg",children:"Continue"}),", and allow access when Parachute asks."]})}],T=[{key:"settings",body:e.jsxs(e.Fragment,{children:["Open ChatGPT's ",e.jsx("strong",{className:"text-fg",children:"Settings"})," and find"," ",e.jsx("strong",{className:"text-fg",children:"Apps & Connectors"})," (custom connectors need a paid plan, and may need Developer mode turned on)."]})},{key:"add",body:"Create a custom connector (an MCP server)."},{key:"paste",body:"Paste the same vault address and connect."}];function h({title:t,initial:a,tone:s,steps:n,note:r}){const c=s==="coral"?"bg-coral-soft text-coral-ink":"bg-grass-soft text-grass-ink";return e.jsxs("section",{className:"tile p-5","aria-label":`Connect ${t}`,children:[e.jsxs("div",{className:"mb-3 flex items-center gap-3",children:[e.jsx("span",{"aria-hidden":"true",className:`grid h-9 w-9 shrink-0 place-items-center rounded-full font-round text-sm font-semibold ${c}`,children:a}),e.jsx("h2",{className:"font-serif text-xl text-fg",children:t})]}),e.jsx("ol",{className:"list-decimal space-y-2 pl-5 text-sm text-fg-muted",children:n.map(l=>e.jsx("li",{children:l.body},l.key))}),r?e.jsx("p",{className:"mt-3 text-xs text-fg-dim",children:r}):null]})}export{I as ConnectAI};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as P,P as C,j as e,N as v,D as L,ac as B,F as k,C as y,E as w,G as E,r as S,a6 as D,L as o,ad as K,ae as $,H as I,J as _,K as M,af as F,ag as H,ah as O,ai as U,V as G}from"./index-
|
|
1
|
+
import{b as P,P as C,j as e,N as v,D as L,ac as B,F as k,C as y,E as w,G as E,r as S,a6 as D,L as o,ad as K,ae as $,H as I,J as _,K as M,af as F,ag as H,ah as O,ai as U,V as G}from"./index-BwG_4Oup.js";import{u as J}from"./history-DeQhlq0x.js";function Z(){const a=P(t=>t.getActiveVault()),[n]=C(),s=n.get("date");return a?s===null?e.jsx(v,{to:"/",replace:!0}):e.jsx(Q,{dateParam:s}):e.jsx(v,{to:"/",replace:!0})}function Q({dateParam:a}){const n=J("/"),s=L(),t=a||s,r=B(t),b=k(t)??"",j=k(y(t,1))??"",c=w({field:"created_at",from:b,to:j,limit:E,enabled:!!r}),i=w({field:"updated_at",from:b,to:j,limit:E,enabled:!!r}),x=S.useMemo(()=>{if(!(!c.data||!i.data))return[...new Map([...c.data,...i.data].map(l=>[l.id,l])).values()]},[c.data,i.data]),R=c.isPending||i.isPending,h=c.error??i.error,d=S.useMemo(()=>{const l=[],p=[];if(!x||!r)return{created:l,edited:p};for(const m of x){const g=D(m.createdAt),V=D(m.updatedAt??m.createdAt);g===t&&l.push(m),V===t&&g!==t&&p.push(m)}return{created:l,edited:p}},[x,r,t]);if(!r)return e.jsxs("div",{className:"page-prose",children:[e.jsxs("p",{className:"text-sm text-danger",children:["Invalid date in URL: ",t]}),e.jsx(o,{to:"/",className:"text-sm text-accent hover:underline",children:"Back to today"})]});const u=t===s,f=y(t,-1),N=y(t,1),T=t.slice(0,7);return e.jsxs("div",{className:"page-prose",children:[e.jsx("nav",{className:"mb-6 text-sm text-fg-dim",children:e.jsx("button",{type:"button",onClick:n,className:"hover:text-accent",children:"← Back"})}),e.jsxs("header",{className:"mb-6 flex flex-wrap items-baseline justify-between gap-3",children:[e.jsxs("div",{children:[e.jsx("p",{className:"eyebrow",children:u?"Today":"On"}),e.jsx("h1",{className:"page-title",children:K(t)})]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-sm",children:[e.jsxs(o,{to:`/today?date=${f}`,className:"btn btn-secondary btn-sm","aria-label":"Previous day",children:["← ",f]}),u?null:e.jsx(o,{to:"/",className:"btn btn-secondary btn-sm",children:"Today"}),e.jsxs(o,{to:`/today?date=${N}`,className:"btn btn-secondary btn-sm","aria-label":"Next day",children:[N," →"]}),e.jsx(o,{to:`/calendar?month=${T}`,className:"btn btn-secondary btn-sm",children:"Calendar"}),e.jsx(o,{to:"/new",className:"btn btn-primary btn-sm",children:"+ New note"})]})]}),R?e.jsx(Y,{}):h&&!x?e.jsx(q,{error:h,retry:()=>{Promise.all([c.refetch(),i.refetch()])}}):d.created.length===0&&d.edited.length===0?e.jsx(W,{isToday:u,targetKey:t}):e.jsxs("div",{className:"space-y-8",children:[h?e.jsx($,{}):null,d.created.length>0?e.jsx(A,{title:u?"Created today":`Created on ${t}`,notes:d.created}):null,d.edited.length>0?e.jsx(A,{title:u?"Edited today":`Edited on ${t}`,notes:d.edited}):null]})]})}function A({title:a,notes:n}){const s=P(r=>r.getActiveVault()),{roles:t}=F((s==null?void 0:s.id)??null);return e.jsxs("section",{children:[e.jsxs(H,{children:[a," (",n.length,")"]}),e.jsx(O,{children:n.map(r=>e.jsx(U,{note:r,pinnedTag:t.pinned,archivedTag:t.archived},r.id))})]})}function W({isToday:a,targetKey:n}){return e.jsx(M,{title:a?"Nothing yet today — start capturing.":`Nothing on ${n}.`,action:a?e.jsx(o,{to:"/new",className:"btn btn-primary",children:"New note"}):void 0})}function Y(){return e.jsx("div",{className:"space-y-3","aria-busy":"true",children:[0,1,2,3].map(a=>e.jsx(I,{className:"h-14 rounded-xl"},a))})}function q({error:a,retry:n}){const s=a instanceof G;return e.jsx(_,{title:s?"Session expired":"Could not load notes",message:a.message,action:s?e.jsx(o,{to:"/add",className:"btn btn-primary",children:"Reconnect vault"}):e.jsx("button",{type:"button",onClick:n,className:"btn btn-secondary",children:"Retry"})})}export{Z as DayView};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as u,aj as m,ak as p,r as d,j as e,N as x,al as h,L as g}from"./index-
|
|
1
|
+
import{b as u,aj as m,ak as p,r as d,j as e,N as x,al as h,L as g}from"./index-BwG_4Oup.js";function j(){const s=u(a=>a.getActiveVault()),n=m(),r=p(a=>a.push),[t,o]=d.useState({kind:"idle"});if(!s)return e.jsx(x,{to:"/",replace:!0});const i=d.useCallback(async()=>{if(!n){r("Vault session unavailable — reconnect first","error");return}o({kind:"preparing"});try{const a=await n.exportVault(),c=new Date().toISOString().slice(0,10);f(a,`${s.name}-export-${c}.tar`),o({kind:"idle"}),r("Export downloaded.","success")}catch(a){if(a instanceof h){o({kind:"unsupported"});return}o({kind:"error",message:"Couldn't reach your vault — try again."})}},[n,s.name,r]),l=t.kind==="preparing";return e.jsxs("div",{className:"page-prose",children:[e.jsx("nav",{className:"mb-4 text-sm text-fg-dim",children:e.jsx(g,{to:"/notes",className:"focus-ring hover:text-accent",children:"← All notes"})}),e.jsxs("header",{className:"mb-8",children:[e.jsxs("h1",{className:"page-title",children:["Export notes from ",e.jsx("span",{className:"text-accent",children:s.name})]}),e.jsx("p",{className:"mt-3 text-fg-muted",children:"A portable folder of your notes — plain Markdown, with your tags, links, and attachments included. Yours to keep, no matter what happens to Parachute."})]}),e.jsxs("section",{className:"card space-y-5 rounded-xl p-6 shadow-soft",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"font-serif text-lg text-fg",children:"What's in the download"}),e.jsxs("ul",{className:"mt-2 list-disc space-y-1 pl-5 text-sm text-fg-muted",children:[e.jsx("li",{children:"One markdown file per note, with tags, metadata, and links as frontmatter."}),e.jsx("li",{children:"Your tag definitions, so an import elsewhere keeps their structure."}),e.jsx("li",{children:"Attachment files (images, audio, PDF, video), in a .parachute/attachments folder."})]})]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[e.jsx("button",{type:"button",onClick:i,disabled:l,className:"btn btn-primary btn-touch",children:l?"Preparing your export…":"Export my vault"}),l?e.jsx("span",{className:"text-sm text-fg-dim",children:"This can take a moment."}):null]}),t.kind==="error"?e.jsx("p",{className:"rounded-lg border border-danger-border bg-danger-soft px-3 py-2 text-sm text-danger",children:t.message}):null,t.kind==="unsupported"?e.jsxs("div",{className:"rounded-lg border border-border bg-bg-soft px-3 py-2 text-sm text-fg-muted",children:[e.jsx("p",{children:"Export over the web isn't available on this vault yet — self-hosted vaults don't carry this door today."}),e.jsxs("p",{className:"mt-1",children:["From the vault's command line, run"," ",e.jsx("code",{className:"rounded bg-card px-1 font-mono text-fg",children:"parachute-vault export <dir>"})," ","to get the same portable folder."]})]}):null]})]})}function f(s,n){const r=URL.createObjectURL(s),t=document.createElement("a");t.href=r,t.download=n,document.body.appendChild(t),t.click(),t.remove(),URL.revokeObjectURL(r)}export{j as Export};
|