1import{h as m,m as e,P as u,c as g,L as c}from"./index-Bza8Zpeo.js";const y=[["path",{d:"m16 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z",key:"7g6ntu"}],["path",{d:"m2 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z",key:"ijws7r"}],["path",{d:"M7 21h10",key:"1b0cd5"}],["path",{d:"M12 3v18",key:"108xh3"}],["path",{d:"M3 7h2c2 0 5-1 7-2 2 1 5 2 7 2h2",key:"3gwbw2"}]],w=m("scale",y);function l(s){switch(s){case"apache2":return"Apache 2.0 License";case"mit":return"MIT License";case"fsl":return"Functional Source License"}}function x({kind:s}){const t="text-xs text-[var(--blue-light-g137)] hover:text-[var(--blue-b255)] no-underline";if(s==="fsl")return e.jsx(c,{to:"/legal/fsl",className:t,children:l(s)});const n=s==="apache2"?"https://www.apache.org/licenses/LICENSE-2.0":"https://opensource.org/license/mit";return e.jsx("a",{href:n,target:"_blank",rel:"noopener noreferrer",className:t,children:l(s)})}const b=[{heading:"Server-Side Packages",packages:[{name:"powersync-service",license:"fsl",repoUrl:"https://github.com/powersync-ja/powersync-service",description:"The server-side [PowerSync Service](https://docs.powersync.com/architecture/powersync-service) responsible for data replication and streaming to clients (read path)."}]},{heading:"Client-Side Packages: SDKs",packages:[{name:"powersync.dart",license:"apache2",repoUrl:"https://github.com/powersync-ja/powersync.dart",description:"Monorepo for Flutter/Dart related packages, including:",listItems:["PowerSync client SDK: [Flutter/Dart](https://github.com/powersync-ja/powersync.dart/tree/main/packages/powersync)","Built-in: [Attachments](https://docs.powersync.com/client-sdks/advanced/attachments)","ORM integrations: [Drift](https://github.com/powersync-ja/powersync.dart/tree/main/packages/powersync_drift)"]},{name:"powersync-js",license:"apache2",repoUrl:"https://github.com/powersync-ja/powersync-js",description:"Monorepo for JavaScript/TypeScript related packages, including:",listItems:["Client SDKs: [React Native](https://github.com/powersync-ja/powersync-js/tree/main/packages/react-native), [web](https://github.com/powersync-ja/powersync-js/tree/main/packages/web), [Node.js](https://github.com/powersync-ja/powersync-js/tree/main/packages/node), [Capacitor](https://github.com/powersync-ja/powersync-js/tree/main/packages/capacitor), [Tauri](https://github.com/powersync-ja/powersync-js/tree/main/packages/tauri)","Built-in: [Attachments](https://docs.powersync.com/client-sdks/advanced/attachments)","Frameworks: [React](https://github.com/powersync-ja/powersync-js/tree/main/packages/react), [Vue](https://github.com/powersync-ja/powersync-js/tree/main/packages/vue), [Nuxt](https://github.com/powersync-ja/powersync-js/tree/main/packages/nuxt), [TanStack Query](https://github.com/powersync-ja/powersync-js/tree/main/packages/tanstack-react-query)","ORM integrations: [Kysely](https://github.com/powersync-ja/powersync-js/tree/main/packages/kysely-driver), [Drizzle](https://github.com/powersync-ja/powersync-js/tree/main/packages/drizzle-driver)"]},{name:"powersync-kotlin",license:"apache2",repoUrl:"https://github.com/powersync-ja/powersync-kotlin",description:"PowerSync client SDK for Kotlin, including:",listItems:["Built-in: [Attachments](https://docs.powersync.com/client-sdks/advanced/attachments)"]},{name:"powersync-swift",license:"apache2",repoUrl:"https://github.com/powersync-ja/powersync-swift",description:"PowerSync client SDK for Swift, including:",listItems:["Built-in: [Attachments](https://docs.powersync.com/client-sdks/advanced/attachments)"]},{name:"powersync-dotnet",license:"apache2",repoUrl:"https://github.com/powersync-ja/powersync-dotnet",description:"PowerSync client SDK for .NET."},{name:"powersync-native",license:"apache2",repoUrl:"https://github.com/powersync-ja/powersync-native",description:"PowerSync client SDK for Rust."}]},{heading:"Client-Side Packages: Other",packages:[{name:"sqlite_async.dart",license:"mit",repoUrl:"https://github.com/powersync-ja/sqlite_async.dart",description:"SQLite library for Flutter/Dart. Used by powersync.dart and also usable stand-alone."},{name:"powersync-sqlite-core",license:"apache2",repoUrl:"https://github.com/powersync-ja/powersync-sqlite-core",description:"SQLite extension implemented in Rust that is used by PowerSync client SDKs, providing common SDK functionality."}]}
1,{heading:"Other Repositories",packages:[{name:"powersync-cli",license:"fsl",repoUrl:"https://github.com/powersync-ja/powersync-cli",description:"Monorepo for the PowerSync CLI and related tooling."},{name:"agent-skills",license:"mit",repoUrl:"https://github.com/powersync-ja/agent-skills",description:"Agent Skills that help developers build applications with PowerSync."}]}];function p({text:s}){const t="text-[var(--blue-light-g137)] hover:text-[var(--blue-b255)] no-underline",n=[],h=/\[([^\]]+)\]\(([^)]+)\)/g;let a=0,r;for(;(r=h.exec(s))!==null;){r.index>a&&n.push(s.slice(a,r.index));const[,o,i]=r,d=i.startsWith("/");n.push(d?e.jsx(c,{to:i,className:t,children:o},r.index):e.jsx("a",{href:i,target:"_blank",rel:"noopener noreferrer",className:t,children:o},r.index)),a=r.index+r[0].length}return a<s.length&&n.push(s.slice(a)),e.jsx(e.Fragment,{children:n})}function j({pkg:s}){return e.jsx("div",{className:"border border-[var(--blue-dark-b177)] bg-[var(--blue-dark-b098)] rounded-lg p-[22px_24px] mb-4",children:e.jsxs("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between sm:gap-6",children:[e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("p",{className:"font-mono text-base font-semibold text-white mb-1.5 mt-0",children:s.name}),e.jsx("p",{className:"text-sm leading-[1.4] text-[var(--text-light-secondary)] !mb-0",children:e.jsx(p,{text:s.description})}),s.listItems&&s.listItems.length>0&&e.jsx("ul",{className:"list-disc list-outside pl-[1.15em] !m-0 !mt-0.5",children:s.listItems.map((t,n)=>e.jsx("li",{className:"text-sm !leading-[1.4] text-[var(--text-light-secondary)] !mt-0 !mb-[0.4em] last:!mb-0",children:e.jsx(p,{text:t})},n))}),e.jsxs("div",{className:"flex items-center gap-1.5 mt-2",children:[e.jsx(w,{className:"h-3 w-3 shrink-0 text-[var(--blue-light-g137)]",strokeWidth:2,"aria-hidden":!0}),e.jsx(x,{kind:s.license})]})]}),e.jsx("div",{className:"shrink-0 self-start pt-1",children:e.jsxs("a",{href:s.repoUrl,target:"_blank",rel:"noopener noreferrer",className:"ps-cta-hover-cyan inline-flex items-center gap-2.5 rounded border border-white/30 bg-white/10 px-4 py-2.5 text-sm font-semibold text-white no-underline hover:border-[var(--cyan-g213)] hover:bg-[var(--cyan-g213)]/10 hover:text-[var(--cyan-g213)] transition-colors",children:[e.jsx("svg",{viewBox:"0 0 98 96",className:"h-5 w-5 shrink-0 fill-current","aria-hidden":!0,children:e.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M48.854 0C21.839 0 0 22 0 49.217c0 21.756 13.993 40.172 33.405 46.69 2.427.49 3.316-1.059 3.316-2.3
162 0-1.141-.08-5.052-.08-9.127-13.59 2.934-16.42-5.867-16.42-5.867-2.184-5.704-5.42-7.17-5.42-7.17-4.448-3.015.324-3.015.324-3.015 4.934.326 7.523 5.052 7.523 5.052 4.367 7.496 11.404 5.378 14.235 4.074.404-3.178 1.699-5.378 3.074-6.6-10.839-1.141-22.243-5.378-22.243-24.283 0-5.378 1.94-9.778 5.014-13.2-.485-1.222-2.184-6.275.486-13.038 0 0 4.125-1.304 13.426 5.052a46.97 46.97 0 0 1 12.214-1.63c4.125 0 8.33.571 12.213 1.63 9.302-6.356 13.427-5.052 13.427-5.052 2.67 6.763.97 11.816.485 13.038 3.155 3.422 5.015 7.822 5.015 13.2 0 18.905-11.404 23.06-22.324 24.283 1.78 1.548 3.316 4.481 3.316 9.126 0 6.6-.08 11.897-.08 13.526 0 1.304.89 2.853 3.316 2.364 19.412-6.52 33.405-24.935 33.405-46.691C97.707 22 75.788 0 48.854 0z"})}),"Repository"]})})]})})}function v(){return e.jsx("main",{className:"bg-[var(--blue-dark-background)]",children:e.jsxs("div",{className:"mx-auto max-w-[900px] px-6 py-[72px]",children:[e.jsx("h1",{className:`${u} mb-6`,children:"Open-Source & Source-Availability"}),e.jsxs("div",{className:`${g} mb-12 flex flex-col gap-3`,children:[e.jsxs("p",{className:"m-0",children:["PowerSync client SDKs and supporting client-side packages are open-source (Apache 2.0 & MIT). The server-side PowerSync Service as well as CLI are available under the"," ",e.jsx(c,{to:"/legal/licensing-terms",className:"text-[var(--blue-light-g137)] hover:text-[var(--blue-b255)] no-underline",children:"Functional Source License"})," ","(FSL)."]}),e.jsxs("p",{className:"m-0",children:["See"," ",e.jsx(c,{to:"/legal/licensing-terms",className:"text-[var(--blue-light-g137)] hover:text-[var(--blue-b255)] no-underline",children:"Licensing & Terms"})," ","for an overview of PowerSync editions and licenses."]}),e.jsxs("p",{className:"m-0",children:["If you have any questions, join the discussion on"," ",e.jsx("a",{href:"https://discord.gg/powersync",target:"_blank",rel:"noopener noreferrer",className:"text-[var(--blue-light-g137)] hover:text-[var(--blue-b255)] no-underline",children:"Discord"}),"."]})]}),b.map(s=>e.jsxs("section",{className:"mb-10 last:mb-0",children:[e.jsx("h2",{className:"text-2xl font-semibold text-white mb-4 mt-8 first:mt-0 text-center",children:s.heading}),s.packages.map(t=>e.jsx(j,{pkg:t},t.name))]},s.heading))]})})}function S(){return e.jsx(v,{})}export{S as component};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.