{"owner":"electric-sql","repo":"pglite","hasSkills":true,"totalSkillsCount":91,"totalTokensCount":32471,"categories":["anthropic-skill","plugin-manifest"],"hasMcp":false,"mcpConfig":null,"found":["docs/extensions/development.md","packages/pglite-vue/tsconfig.json","docs/extensions/age.md","packages/pglite-vue/package.json","packages/pglite-vue/README.md","docs/extensions/index.md","packages/pglite-vue/CHANGELOG.md","packages/pglite-utils/CHANGELOG.md","packages/pglite-utils/README.md","packages/pglite-tools/package.json","packages/pglite-tools/README.md","packages/pglite-tools/tsconfig.json","packages/pglite-sync/CHANGELOG.md","packages/pglite-sync/package.json","packages/pglite-sync/README.md","packages/pglite-sync/tsconfig.json","packages/pglite-socket/CHANGELOG.md","packages/pglite-socket/package.json","packages/pglite-socket/README.md","packages/pglite-socket/tsconfig.json","packages/pglite-repl/CHANGELOG.md","packages/pglite-repl/package.json","packages/pglite-repl/README.md","packages/pglite-repl/tsconfig.json","packages/pglite-repl/tsconfig.node.json","packages/pglite-react/CHANGELOG.md","packages/pglite-react/package.json","packages/pglite-react/README.md","packages/pglite-react/tsconfig.json","packages/pglite-prepopulatedfs/CHANGELOG.md","packages/pglite-prepopulatedfs/package.json","packages/pglite-prepopulatedfs/README.md","packages/pglite-prepopulatedfs/tsconfig.json","packages/pglite-postgis/CHANGELOG.md","packages/pglite-postgis/package.json","packages/pglite-postgis/README.md","packages/pglite-postgis/tsconfig.json","packages/pglite-pgvector/CHANGELOG.md","packages/pglite-pgvector/package.json","packages/pglite-pgvector/README.md","packages/pglite-pgvector/tsconfig.json","packages/pglite-pgtap/CHANGELOG.md","packages/pglite-pgtap/package.json","packages/pglite-pgtap/README.md","packages/pglite-pgtap/tsconfig.json","packages/pglite-pgmq/CHANGELOG.md","packages/pglite-pgmq/package.json","packages/pglite-pgmq/README.md","packages/pglite-pgmq/tsconfig.json","packages/pglite-pg_uuidv7/CHANGELOG.md","packages/pglite-pg_uuidv7/package.json","packages/pglite-pg_uuidv7/README.md","packages/pglite-pg_uuidv7/tsconfig.json","packages/pglite-pg_textsearch/CHANGELOG.md","packages/pglite-pg_textsearch/package.json","packages/pglite-pg_textsearch/README.md","packages/pglite-pg_textsearch/tsconfig.json","packages/pglite-pg_ivm/CHANGELOG.md","packages/pglite-pg_ivm/package.json","packages/pglite-pg_ivm/README.md","packages/pglite-pg_ivm/tsconfig.json","packages/pglite-pg_hashids/CHANGELOG.md","packages/pglite-pg_hashids/package.json","packages/pglite-pg_hashids/README.md","packages/pglite-pg_hashids/tsconfig.json","packages/pglite-icu-full/CHANGELOG.md","packages/pglite-icu-full/package.json","packages/pglite-icu-full/README.md","packages/pglite-icu-full/tsconfig.json","packages/pglite-age/CHANGELOG.md","packages/pglite-age/package.json","packages/pglite-age/README.md","packages/pglite-age/tsconfig.json","packages/pglite/CHANGELOG.md","packages/pglite/package.json","packages/pglite/README.md","packages/pglite/tsconfig.json","packages/pg-protocol/CHANGELOG.md","packages/pg-protocol/package.json","packages/pg-protocol/README.md","packages/pg-protocol/tsconfig.json","packages/benchmark/package.json","packages/benchmark/package-lock.json","packages/benchmark/README.md","packages/benchmark/tsconfig.json","packages/pglite-sync/example/docker-compose.yaml","packages/pglite-sync/example/README.md","packages/pglite-sync/test-e2e/docker_compose.yaml","packages/pglite-icu-full/examples/README.md","packages/pglite-icu-full/examples/Switzerland/filters_switzerland.json","packages/pglite/tests/targets/deno/package.json"],"skills":{"docs/extensions/development.md":"# Extension Development\n\nPGlite has support for both Postgres extensions, and has its own plugin API that allows a developer to augment a PGlite instance with an additional API.\n\n## Extension API\n\n::: warning\nThe extension API is not yet stable and may change in a future release.\n:::\n\nPGlite extensions are an object with the following interface:\n\n```ts\nexport interface Extension {\n  name: string\n  setup: ExtensionSetup\n}\n\nexport type ExtensionSetup = (\n  pg: PGliteInterface,\n  emscriptenOpts: any,\n  clientOnly?: boolean,\n) => Promise<ExtensionSetupResult>\n\nexport interface ExtensionSetupResult {\n  emscriptenOpts?: any\n  namespaceObj?: any\n  bundlePath?: URL\n  init?: () => Promise<void>\n  close?: () => Promise<void>\n}\n```\n\n`name` is the human readable name of the extension.\n\n`setup` is a function that receives the following parameters, and returns a promise that resolves to an object conforming to `ExtensionSetupResult`:\n\n- `pg`<br>\n  The [PGlite](../docs/api.md) instance that the extension is being added to\n- `emscriptenOpts`<br>\n  The options currently configured to pass to the [Emscrption Module factory](https://emscripten.org/docs/api_reference/module.html), including the [Emscript FS](https://emscripten.org/docs/api_reference/Filesystem-API.html).\n- `clientOnly`<br>\n  A boolean indicating if this instance of the extension is \"client only\", meaning that it is on the main thread and doesn't have direct access to the underlying WASM as it is running in a worker. When true, `emscriptenOpts` and `bundlePath` should not re returned as they will have no effect.\n\nThe returned object has these properties - all are optional:\n\n- `emscriptenOpts`<br>\n  Any augmented or altered configuration to pass to the [Emscrption Module factory](https://emscripten.org/docs/api_reference/module.html).\n- `namespaceObj`<br>\n  An object to add as a namespace to the PGlite instance; this can provide access to additional methods or properties that your extension would like to expose.\n- `bundlePath`<br>\n  The path to the Postgres extension tarball - see [Building Postgres Extensions](#building-postgres-extensions)\n- `init`<br>\n  An initialisation function that will be run after the PGlite instance and Postgres runtime has started, but before the instance is marked as ready for external usage. You can use this to perform any initialisation your extension needs to perform on the database at startup.\n- `close`<br>\n  A function that will be called when the user calls `close()` on their PGlite instance; this is called before the database has been shut down.\n\nAn example of a PGlite extension that augments the PGlite instance is the [live query extension](../docs/live-queries.md).\n\n## Building Postgres Extensions\n\nIn PGlite, every Postgres extension consists of two parts: a **backend** part, and a **frontend** part. The backend part is its core code. The frontend part is the `typescript/javascript` code that interacts with PGlite.\n\n### Happy path\n\nSome extensions are (much) easier to build and integrate with PGlite than others. This section describes the process of porting a Postgres extension that has no external dependencies besides the already build ones for PGlite (see builder/Dockerfile).\n\nClone **PGlite's** entire repo, including submodules and install the necessary dependencies:\n\n```\n$ git clone --recurse-submodules git@github.com:electric-sql/pglite.git\n$ cd pglite\n$ pnpm i\n```\n\nand create a new branch to track your work:\n\n```\n$ git checkout -b myghname/myawesomeextension\n```\n\n#### Backend\n\nPGlite's backend code is in the repo [postgres-pglite](https://github.com/electric-sql/postgres-pglite) and is downloaded as a submodule dependency of the main repo. You will add your extension's code as a new submodule dependency:\n\n```\n$ cd postgres-pglite/pglite/other_extensions\n$ git submodule add <myawesomeextension_url>\n```\n\nThis **should** create a new folder `postgres-pglite/pglite/other_extensions/myawesomeextension` where the extension code has been downloaded. Check it:\n\n```\n$ ls -lah myawesomeextension\n<the extension files should be listed here>\n```\n\nNow append the **folder name** to `SUBDIRS` inside `postgres-pglite/pglite/other_extensions/Makefile`:\n\n```\nSUBDIRS = \\\n\t\tpg_ivm \\\n\t\tvector \\\n    myawesomeextension\n```\n\nThese steps allow our build environment to pick up the extension's code, then build and package it for PGlite. The backend build process will output a `myawesomeextension.tar.gz` containing the WASM code and/or any data dependencies of the extension.\n\n#### Frontend\n\nPGlite's frontend code is in the main [PGlite repo](https://github.com/electric-sql/pglite).\n\nYou will need to create a new package for your extension. The easiest way is to just copy the files from an existing extension package such as `packages/pglite-extensions/pglite-pgvector`. Obviously, you will need to adapt all the references to the previous extension.\n\nTo make it available in our online [REPL](https://pglite.dev/repl/), add the extension to `docs/repl/allExtensions.ts`:\n\n```\n\nexport { myawesomeextension } from '@electric-sql/pglite-myawesomeextension\n\n```\n\nFinally, add the extension description to `docs/extensions/extensions.data.ts`, inside `baseExtensions`:\n\n```\n\nconst baseExtensions: Extension[] = [\n...\n{\nname: 'My awesome Postgres extension',\ndescription: `     My awesome Postgres extension is something that the world has never seen before.\n    `,\nshortDescription:\n'My awesome PostgreSQL extension',\ndocs: 'https://github.com/myawesomeextension/extension',\ntags: ['postgres extension'],\nimportPath: '@electric-sql/pglite-myawesomeextension',\nimportName: 'my_awesome_extension',\nsize: 123456,\n},\n]\n\n```\n\n#### Tests\n\nTo make sure that your extension works, you need to add some tests for it. We use [vitest](https://vitest.dev/). They will be run as part of our CI/CD pipeline.\n\n#### Build and run tests\n\nFrom PGlite's base folder:\n\n```\n\n$ pnpm build:all\n\n```\n\nThis will build **everything**, including your new extension. If there are no errors, you are ready to run the tests!\n\n```\n\n$ cd packages/pglite-extensions/pglite-myawesomextension\n$ pnpm test\n\n```\n\nFix any errors that occur, re-run the tests! Iterate until everything works as expected.\n\n#### Contributing an extension to the project\n\nWe welcome contributions! Open a PR so anyone using PGlite can also use your extension!\n\n#### Further tips and tricks\n\nIf you get stuck, have a look at how other Postgres extensions are build for PGlite. Take a look at `pg_ivm`, `pgvector` or `pgtap`. You can also reach out on [Discord](https://discord.com/channels/933657521581858818/1212676471588520006) for help!\n\n### Unhappy path\n\nThis section is still under development.\n\nAs mentioned before, some extensions require more effort to integrate with PGlite. Usually the difficulties arrise from the fact that the extension itself has dependencies that need to be compiled for WASM, which in turn might have other dependencies that need to be compiled for WASM and so on. The entire chain of dependencies needs to be built for WASM.\n\nAnother source of pain for building an extension is the need to export symbols from the dependencies or from PGlite itself. Sometimes these are obvious only at runtime.\n\nWe are still working on documentation and examples showing how to build more complex Postgres extensions for use with PGlite. Please check back soon, or reach out on [Discord](https://discord.com/channels/933657521581858818/1212676471588520006) if you would like to try building a particular extension for PGlite.\n","packages/pglite-vue/tsconfig.json":"{\n  \"extends\": \"../../tsconfig.json\",\n  \"compilerOptions\": {\n    \"jsx\": \"react-jsx\",\n  },\n  \"include\": [\n    \"src\",\n    \"test\",\n    \"eslint.config.js\",\n    \"test-setup.ts\",\n    \"tsup.config.js\",\n    \"vitest.config.ts\"\n  ]\n}","docs/extensions/age.md":"# Apache AGE Extension\n\n[Apache AGE](https://age.apache.org/) (A Graph Extension) brings graph database capabilities to PostgreSQL, allowing you to use the Cypher query language alongside standard SQL.\n\n## Installation\n\nThe AGE extension is included with PGlite. To use it:\n\n```typescript\nimport { PGlite } from '@electric-sql/pglite'\nimport { age } from '@electric-sql/pglite-age'\n\nconst pg = new PGlite({\n  extensions: {\n    age,\n  },\n})\n```\n\n## Important Notes\n\n### Schema Qualification\n\nAll AGE functions are in the `ag_catalog` schema. The extension does not implicitly update the search path for safety. You must either manually set the `search_path` to include `ag_catalog` for your connection, or use fully-qualified names:\n\n```typescript\n// Explicit qualification:\nawait pg.exec(\"SELECT ag_catalog.create_graph('g');\")\n\n// Setting the search path for the session:\nawait pg.exec('SET search_path = ag_catalog, \"$user\", public;')\nawait pg.exec(\"SELECT create_graph('g');\")\n```\n\n### Column Definitions\n\nCypher queries require column definitions in the `as` clause to map the dynamic graph types back to standard PostgreSQL relations:\n\n```typescript\n// Single column\nSELECT * FROM ag_catalog.cypher('g', $$ RETURN 1 $$) as (v ag_catalog.agtype);\n\n// Multiple columns\nSELECT * FROM ag_catalog.cypher('g', $$\n  MATCH (n) RETURN n.name, n.age\n$$) as (name ag_catalog.agtype, age ag_catalog.agtype);\n```\n\n## Limitations\n\n- **File operations**: `load_labels_from_file()` is not available (no filesystem access in WASM)\n- **Memory**: Large graphs may hit WebAssembly memory limits\n- **Performance**: Graph operations are CPU-intensive; consider pagination for large result sets\n\n## Resources\n\n- [Apache AGE Documentation](https://age.apache.org/age-manual/master/index.html)\n- [Cypher Query Language](https://neo4j.com/docs/cypher-manual/current/)\n- [AGE GitHub Repository](https://github.com/apache/age)\n","packages/pglite-vue/package.json":"{\n  \"name\": \"@electric-sql/pglite-vue\",\n  \"version\": \"0.4.11\",\n  \"description\": \"Vue hooks for using PGlite\",\n  \"type\": \"module\",\n  \"private\": false,\n  \"publishConfig\": {\n    \"access\": \"public\"\n  },\n  \"keywords\": [\n    \"postgres\",\n    \"sql\",\n    \"database\",\n    \"wasm\",\n    \"client\",\n    \"pglite\",\n    \"vue\"\n  ],\n  \"author\": \"Electric DB Limited\",\n  \"homepage\": \"https://pglite.dev\",\n  \"license\": \"Apache-2.0\",\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"git+https://github.com/electric-sql/pglite.git\",\n    \"directory\": \"packages/pglite-vue\"\n  },\n  \"scripts\": {\n    \"build\": \"tsup\",\n    \"check:exports\": \"attw . --pack --profile node16\",\n    \"test-v2\": \"vue-demi-switch 2 vue2 && vitest\",\n    \"test-v2.7\": \"vue-demi-switch 2.7 vue2.7 && vitest\",\n    \"test-v3\": \"vue-demi-switch 3 && vitest\",\n    \"test\": \"pnpm test-v2 && pnpm test-v2.7 && pnpm test-v3\",\n    \"lint\": \"eslint ./src ./test\",\n    \"format\": \"prettier --write ./src ./test\",\n    \"typecheck\": \"tsc\",\n    \"stylecheck\": \"eslint ./src ./test && prettier --check ./src ./test\",\n    \"prepublishOnly\": \"pnpm check:exports\"\n  },\n  \"types\": \"dist/index.d.ts\",\n  \"module\": \"dist/index.js\",\n  \"main\": \"dist/index.cjs\",\n  \"exports\": {\n    \".\": {\n      \"import\": {\n        \"types\": \"./dist/index.d.ts\",\n        \"default\": \"./dist/index.js\"\n      },\n      \"require\": {\n        \"types\": \"./dist/index.d.cts\",\n        \"default\": \"./dist/index.cjs\"\n      }\n    }\n  },\n  \"files\": [\n    \"dist\"\n  ],\n  \"dependencies\": {\n    \"vue-demi\": \"^0.14.10\"\n  },\n  \"devDependencies\": {\n    \"@arethetypeswrong/cli\": \"^0.18.1\",\n    \"@electric-sql/pglite\": \"workspace:*\",\n    \"@electric-sql/pglite-pgvector\": \"workspace:*\",\n    \"@eslint-react/eslint-plugin\": \"^1.14.3\",\n    \"@testing-library/dom\": \"^10.4.0\",\n    \"@testing-library/vue\": \"^8.1.0\",\n    \"@vitejs/plugin-vue\": \"^5.1.4\",\n    \"@vue/composition-api\": \"1.7.2\",\n    \"eslint-plugin-vue\": \"^9.29.0\",\n    \"jsdom\": \"^24.1.3\",\n    \"vitest\": \"^2.1.2\",\n    \"vue\": \"^3.5.11\",\n    \"vue2\": \"npm:vue@~2.6.14\",\n    \"vue2.7\": \"npm:vue@~2.7.16\"\n  },\n  \"peerDependencies\": {\n    \"@electric-sql/pglite\": \"workspace:0.5.11\",\n    \"@electric-sql/pglite-pgvector\": \"workspace:0.0.12\",\n    \"@vue/composition-api\": \"^1.1.2\",\n    \"vue\": \"^2.6.0 || ^3.3.0\"\n  },\n  \"peerDependenciesMeta\": {\n    \"@vue/composition-api\": {\n      \"optional\": true\n    }\n  }\n}\n","packages/pglite-vue/README.md":"# PGlite Vue Bindings\n\nThis package implements Vue hooks for [PGLite](https://pglite.dev/) on top of the [live query plugin](https://pglite.dev/docs/live-queries). Full documentation is available at [pglite.dev/docs/framework-hooks/vue](https://pglite.dev/docs/framework-hooks/vue).\n\nTo install:\n\n```sh\nnpm install @electric-sql/pglite-vue\n```\n\nThe hooks this package provides are:\n\n- [providePGlite](https://pglite.dev/docs/framework-hooks/vue#providepglite): Provide a PGlite instance to all child components.\n- [injectPGlite](https://pglite.dev/docs/framework-hooks/vue#injectpglite): Retrieve the provided PGlite instance.\n- [makePGliteDependencyInjector](https://pglite.dev/docs/framework-hooks/vue#makepglitedependencyinjector): Utility to create a typed version of `providePGlite` and `injectPGlite`.\n- [useLiveQuery](https://pglite.dev/docs/framework-hooks/vue#uselivequery): Reactively receive results of a live query change\n- [useLiveIncrementalQuery](https://pglite.dev/docs/framework-hooks/vue#useliveincrementalquery): Reactively receive results of a live query change by offloading the diff to PGlite\n","docs/extensions/index.md":"<script setup>\nimport { computed, ref } from \"vue\";\nimport { data } from \"./extensions.data.ts\";\n\nconst filteredExtensions = computed(() => {\n  return data.extensions\n    .filter((ext) => !selectedTag.value || ext.tags.includes(selectedTag.value))\n    .sort((a, b) => {\n      if (a.featured && !b.featured) return -1;\n      if (!a.featured && b.featured) return 1;\n      return a.name.localeCompare(b.name);\n    });\n});\n\nfunction mainLink(ext) {\n  return ext.homepage || ext.repo || ext.docs;\n}\n\nfunction slugify(string) {\n  return string\n    .replace('/', '')\n    .replace(' ', '-')\n    .replace('_', '-')\n    .toLowerCase()\n}\n\nconst tags = computed(() => {\n  return data.tags.map((tag) => {\n    return {\n      name: tag,\n      count: data.extensions.filter((ext) => ext.tags.includes(tag)).length,\n    }\n  })\n})\n\nfunction formatSize(bytes) {\n  const units = ['B', 'KB', 'MB', 'GB', 'TB', 'PB'];\n  let i = 0;\n\n  while (bytes >= 1024 && i < units.length - 1) {\n    bytes /= 1024;\n    i++;\n  }\n\n  return `${bytes.toFixed(1)} ${units[i]}`;\n}\n\nconst selectedTag = ref(null)\nconst npmCounts = ref({})\n\nfunction toShortDecimal(x) {\n  return x.toLocaleString('en-US', {\n      // add suffixes for thousands, millions, and billions\n      // the maximum number of decimal places to use\n      maximumFractionDigits: 1,\n      // specify the abbreviations to use for the suffixes\n      notation: 'compact',\n      compactDisplay: 'short'\n    });\n}\n\nfunction getNpmCount(url) {\n  if (!url) return \"n/a\"\n  if (npmCounts.value[url] !== undefined) return npmCounts.value[url]\n\n  npmCounts.value[url] = \"...\"\n  const pkg = url.split(\"/package/\")[1]\n  if (!pkg) {\n    npmCounts.value[url] = \"n/a\"\n    return npmCounts.value[url]\n  }\n\n  fetch(`https://api.npmjs.org/downloads/point/last-week/${encodeURIComponent(pkg)}`)\n    .then((response) => response.json())\n    .then(({ downloads }) => {\n      npmCounts.value[url] = toShortDecimal(downloads) ?? \"n/a\"\n    })\n    .catch(() => {\n      npmCounts.value[url] = \"n/a\"\n    })\n\n  return npmCounts.value[url]\n}\n\n</script>\n\n<style scoped>\n.btn-tag {\n    border-color: var(--vp-button-alt-border);\n    color: var(--vp-button-alt-text);\n    background-color: var(--vp-button-alt-bg);\n    border-radius: 20px;\n    padding: 0 20px;\n    line-height: 38px;\n    font-size: 14.5px;\n    display: inline-block;\n    border: 1px solid transparent;\n    text-align: center;\n    font-weight: 600;\n    white-space: nowrap;\n    transition: color 0.25s, border-color 0.25s, background-color 0.25s;\n    margin-right: 0.5rem;\n}\n\n.btn-tag:hover {\n  border-color: var(--vp-button-alt-hover-border);\n  color: var(--vp-button-alt-hover-text);\n  background-color: var(--vp-button-alt-hover-bg);\n}\n\n.btn-tag.selected {\n  border-color: var(--vp-button-brand-border);\n  color: var(--vp-c-gray-3);\n  background-color: var(--vp-button-brand-bg);\n}\n\n.btn-tag.selected:hover {\n  border-color: var(--vp-button-brand-hover-border);\n  background-color: var(--vp-button-brand-hover-bg);\n}\n\n.btn-tag .count {\n  margin-left: 0.25rem;\n  margin-left: 0.25rem;\n  opacity: 0.5\n}\n\n.tags, .links {\n  margin-top: 1rem;\n}\n\n.tag {\n    border-color: var(--vp-button-alt-border);\n    color: var(--vp-button-alt-text);\n    background-color: var(--vp-button-alt-bg);\n    border-radius: 20px;\n    padding: 5px 10px;\n    line-height: 18px;\n    font-size: 14.5px;\n    display: inline-block;\n    border: 1px solid transparent;\n    text-align: center;\n    font-weight: 600;\n    white-space: nowrap;\n    transition: color 0.25s, border-color 0.25s, background-color 0.25s;\n    margin-right: 0.5rem;\n}\n\n.links a {\n  margin-right: 0.5rem;\n}\n\n.bundle-size {\n  float:right;\n  opacity: 0.5;\n}\n</style>\n\n# PGlite Extensions\n\nPGlite supports both Postgres extensions, and has a plugin API to enable extensions to extend the public API of the PGlite interface.\n\nBelow is a list of available extensions.\n\n<div class=\"tags\">\n  <button\n    v-for=\"tag in tags\"\n    :key=\"tag.name\"\n    @click=\"\n      selectedTag == tag.name ?\n        selectedTag = null :\n        selectedTag = tag.name\n    \"\n    class=\"btn-tag\"\n    :class=\"{ selected: tag.name === selectedTag }\"\n  >\n    {{ tag.name }} <span class=\"count\">{{ tag.count }}</span>\n  </button>\n</div>\n\n<div class=\"extension\" v-for=\"ext in filteredExtensions\">\n\n<h2\n  :id=\"slugify(ext.name)\"\n  tabindex=\"-1\"\n>\n  <a :href=\"mainLink(ext)\">{{ ext.name }}</a>\n  <a \n    class=\"header-anchor\"\n    :href=\"`#${slugify(ext.name)}`\"\n    :aria-label=\"`Permalink to ${ext.name}`\"\n  >​</a>\n</h2>\n\n<div class=\"description\" v-html=\"ext.descriptionHtml\"></div>\n\n<div class=\"links\">\n  <a \n    v-if=\"ext.repo?.startsWith('https://github.com/')\" \n    :href=\"ext.repo\"\n    target=\"_blank\"\n  >Github</a>\n  <a v-else-if=\"ext.repo\" :href=\"ext.repo\" target=\"_blank\">Repo</a>\n  <a v-if=\"ext.docs\" :href=\"ext.docs\" target=\"_blank\">Documentation</a>\n  <a v-if=\"ext.homepage\" :href=\"ext.homepage\" target=\"_blank\">Homepage</a>\n  <a v-if=\"ext.npmjsUrl\" :href=\"ext.npmjsUrl\" target=\"_blank\">NPM (⤓{{ getNpmCount(ext.npmjsUrl) }})</a>\n  <span class=\"bundle-size\" v-if=\"ext.size\">\n    Bundle Size: {{ formatSize(ext.size) }}\n  </span>\n</div>\n<div class=\"tags\">\n  <span v-for=\"tag in ext.tags\" :key=\"tag\" class=\"tag\">{{ tag }}</span>\n</div>\n</div>\n","packages/pglite-vue/CHANGELOG.md":"# @electric-sql/pglite-vue\n\n## 0.4.11\n\n### Patch Changes\n\n- Updated dependencies [5573bb0]\n- Updated dependencies [2372f39]\n- Updated dependencies [4321a41]\n  - @electric-sql/pglite@0.5.11\n  - @electric-sql/pglite-pgvector@0.0.12\n\n## 0.4.10\n\n### Patch Changes\n\n- Updated dependencies [367ee2f]\n- Updated dependencies [cb06c21]\n- Updated dependencies [78012ca]\n  - @electric-sql/pglite@0.5.10\n  - @electric-sql/pglite-pgvector@0.0.11\n\n## 0.4.9\n\n### Patch Changes\n\n- Updated dependencies [389b731]\n- Updated dependencies [389b731]\n  - @electric-sql/pglite@0.5.9\n  - @electric-sql/pglite-pgvector@0.0.10\n\n## 0.4.8\n\n### Patch Changes\n\n- Updated dependencies [c771db3]\n  - @electric-sql/pglite@0.5.8\n  - @electric-sql/pglite-pgvector@0.0.9\n\n## 0.4.7\n\n### Patch Changes\n\n- Updated dependencies [2f9cf75]\n  - @electric-sql/pglite@0.5.7\n  - @electric-sql/pglite-pgvector@0.0.8\n\n## 0.4.6\n\n### Patch Changes\n\n- Updated dependencies [69b7d87]\n- Updated dependencies [6c14380]\n  - @electric-sql/pglite@0.5.6\n  - @electric-sql/pglite-pgvector@0.0.7\n\n## 0.4.5\n\n### Patch Changes\n\n- Updated dependencies [a290741]\n- Updated dependencies [6b6f28d]\n- Updated dependencies [354f4ae]\n- Updated dependencies [219af1e]\n- Updated dependencies [20839a7]\n- Updated dependencies [7e784a4]\n  - @electric-sql/pglite@0.5.5\n  - @electric-sql/pglite-pgvector@0.0.6\n\n## 0.4.4\n\n### Patch Changes\n\n- Updated dependencies [7e0d6d1]\n  - @electric-sql/pglite@0.5.4\n  - @electric-sql/pglite-pgvector@0.0.5\n\n## 0.4.3\n\n### Patch Changes\n\n- Updated dependencies [2ccbb4c]\n  - @electric-sql/pglite@0.5.3\n  - @electric-sql/pglite-pgvector@0.0.4\n\n## 0.4.2\n\n### Patch Changes\n\n- Updated dependencies [21fc995]\n- Updated dependencies [0720cb6]\n- Updated dependencies [e09535f]\n- Updated dependencies [a4e163a]\n  - @electric-sql/pglite@0.5.2\n  - @electric-sql/pglite-pgvector@0.0.3\n\n## 0.4.1\n\n### Patch Changes\n\n- Updated dependencies [930e2d0]\n  - @electric-sql/pglite@0.5.1\n  - @electric-sql/pglite-pgvector@0.0.2\n\n## 0.4.0\n\n### Minor Changes\n\n- 93d50aa: Upgrade to Postgres 18.3; move other extensions to their own npm packages;\n- Updated dependencies [93d50aa]\n  - @electric-sql/pglite@0.5.0\n  - @electric-sql/pglite-pgvector@0.0.1\n\n## 0.3.6\n\n### Patch Changes\n\n- Updated dependencies [2aa4d1a]\n- Updated dependencies [2095d4e]\n- Updated dependencies [e937669]\n- Updated dependencies [54ed6dc]\n- Updated dependencies [817d073]\n  - @electric-sql/pglite@0.4.6\n\n## 0.3.5\n\n### Patch Changes\n\n- Updated dependencies [c6bddde]\n  - @electric-sql/pglite@0.4.5\n\n## 0.3.4\n\n### Patch Changes\n\n- Updated dependencies [b88c5c3]\n  - @electric-sql/pglite@0.4.4\n\n## 0.3.3\n\n### Patch Changes\n\n- Updated dependencies [2ae666f]\n- Updated dependencies [fb95e66]\n- Updated dependencies [65fc101]\n  - @electric-sql/pglite@0.4.3\n\n## 0.3.2\n\n### Patch Changes\n\n- Updated dependencies [41632c4]\n  - @electric-sql/pglite@0.4.2\n\n## 0.3.1\n\n### Patch Changes\n\n- Updated dependencies [37fb39e]\n  - @electric-sql/pglite@0.4.1\n\n## 0.3.0\n\n### Minor Changes\n\n- Updated dependencies [d848955]\n  - @electric-sql/pglite@0.4.0\n\n## 0.2.34\n\n### Patch Changes\n\n- Updated dependencies [3dfa40f]\n  - @electric-sql/pglite@0.3.16\n\n## 0.2.33\n\n### Patch Changes\n\n- Updated dependencies [45bff97]\n- Updated dependencies [5ec474f]\n  - @electric-sql/pglite@0.3.15\n\n## 0.2.32\n\n### Patch Changes\n\n- Updated dependencies [8785034]\n- Updated dependencies [90cfee8]\n  - @electric-sql/pglite@0.3.14\n\n## 0.2.31\n\n### Patch Changes\n\n- Updated dependencies [ad3d0d8]\n  - @electric-sql/pglite@0.3.13\n\n## 0.2.30\n\n### Patch Changes\n\n- Updated dependencies [ce0e74e]\n  - @electric-sql/pglite@0.3.12\n\n## 0.2.29\n\n### Patch Changes\n\n- Updated dependencies [9a104b9]\n  - @electric-sql/pglite@0.3.11\n\n## 0.2.28\n\n### Patch Changes\n\n- Updated dependencies [ad765ed]\n  - @electric-sql/pglite@0.3.10\n\n## 0.2.27\n\n### Patch Changes\n\n- Updated dependencies [e40ccad]\n  - @electric-sql/pglite@0.3.9\n\n## 0.2.26\n\n### Patch Changes\n\n- Updated dependencies [f12a582]\n- Updated dependencies [bd263aa]\n  - @electric-sql/pglite@0.3.8\n\n## 0.2.25\n\n### Patch Changes\n\n- Updated dependencies [0936962]\n  - @electric-sql/pglite@0.3.7\n\n## 0.2.24\n\n### Patch Changes\n\n- Updated dependencies [6898469]\n- Updated dependencies [469be18]\n- Updated dependencies [64e33c7]\n  - @electric-sql/pglite@0.3.6\n\n## 0.2.23\n\n### Patch Changes\n\n- Updated dependencies [6653899]\n- Updated dependencies [5f007fc]\n  - @electric-sql/pglite@0.3.5\n\n## 0.2.22\n\n### Patch Changes\n\n- 38a55d0: fix cjs/esm misconfigurations\n- Updated dependencies [1fcaa3e]\n- Updated dependencies [38a55d0]\n- Updated dependencies [aac7003]\n- Updated dependencies [8ca254d]\n  - @electric-sql/pglite@0.3.4\n\n## 0.2.21\n\n### Patch Changes\n\n- Updated dependencies [ea2c7c7]\n  - @electric-sql/pglite@0.3.3\n\n## 0.2.20\n\n### Patch Changes\n\n- Updated dependencies [e2c654b]\n  - @electric-sql/pglite@0.3.2\n\n## 0.2.19\n\n### Patch Changes\n\n- Updated dependencies [713364e]\n  - @electric-sql/pglite@0.3.1\n\n## 0.2.18\n\n### Patch Changes\n\n- 317fd36: Specify a peer dependency range on @electric-sql/pglite\n- Updated dependencies [97e52f7]\n- Updated dependencies [4356024]\n- Updated dependencies [0033bc7]\n  - @electric-sql/pglite@0.3.0\n\n## 0.2.17\n\n### Patch Changes\n\n- Updated dependencies [6bdd74e]\n- Updated dependencies [f94d591]\n  - @electric-sql/pglite@0.2.17\n\n## 0.2.16\n\n### Patch Changes\n\n- 7ce9f04: Fix Vue useLiveQuery to allow no parameters to be provided\n- Updated dependencies [c36fd09]\n- Updated dependencies [e037883]\n- Updated dependencies [d6b981b]\n- Updated dependencies [17e7664]\n- Updated dependencies [118ba3e]\n- Updated dependencies [d93c1bb]\n- Updated dependencies [ddd4a68]\n- Updated dependencies [f3f1103]\n- Updated dependencies [67fb2aa]\n  - @electric-sql/pglite@0.2.16\n\n## 0.2.15\n\n### Patch Changes\n\n- Updated dependencies [fa13714]\n  - @electric-sql/pglite@0.2.15\n\n## 0.2.14\n\n### Patch Changes\n\n- Updated dependencies [6547374]\n- Updated dependencies [6547374]\n- Updated dependencies [df5c290]\n- Updated dependencies [1784d04]\n- Updated dependencies [ae36974]\n- Updated dependencies [75f9f6d]\n- Updated dependencies [ce212cf]\n  - @electric-sql/pglite@0.2.14\n\n## 0.2.13\n\n### Patch Changes\n\n- 3d8efbb: Bump dependencies to address Dependabot alerts\n- Updated dependencies [5e39036]\n- Updated dependencies [3d8efbb]\n- Updated dependencies [1844b10]\n- Updated dependencies [79e6082]\n- Updated dependencies [16d2296]\n- Updated dependencies [cf50f47]\n- Updated dependencies [bd1b3b9]\n- Updated dependencies [5e39036]\n- Updated dependencies [16d2296]\n- Updated dependencies [e9bd9a7]\n- Updated dependencies [c442c88]\n  - @electric-sql/pglite@0.2.13\n\n## 0.2.12\n\n### Patch Changes\n\n- Updated dependencies [1495625]\n- Updated dependencies [d3905cf]\n- Updated dependencies [1f036dc]\n- Updated dependencies [52ddcb0]\n  - @electric-sql/pglite@0.2.12\n\n## 0.2.11\n\n### Patch Changes\n\n- Updated dependencies [2aed553]\n  - @electric-sql/pglite@0.2.11\n\n## 0.2.10\n\n### Patch Changes\n\n- Updated dependencies [3113d56]\n- Updated dependencies [23cd31a]\n  - @electric-sql/pglite@0.2.10\n\n## 0.2.9\n\n### Patch Changes\n\n- Updated dependencies [20008c2]\n- Updated dependencies [a5712a8]\n  - @electric-sql/pglite@0.2.9\n\n## 0.2.8\n\n### Patch Changes\n\n- b6e963c: fix: add export providePGlite and injectPGlite\n- Updated dependencies [53ec60e]\n- Updated dependencies [880b60d]\n- Updated dependencies [058ed7c]\n- Updated dependencies [2831c34]\n- Updated dependencies [880b60d]\n- Updated dependencies [880b60d]\n- Updated dependencies [4aeb677]\n- Updated dependencies [19b3529]\n  - @electric-sql/pglite@0.2.8\n\n## 0.2.7\n\n### Patch Changes\n\n- Updated dependencies [5e65236]\n- Updated dependencies [5e65236]\n  - @electric-sql/pglite@0.2.7\n\n## 0.2.6\n\n### Patch Changes\n\n- Updated dependencies [09b356c]\n- Updated dependencies [4238595]\n- Updated dependencies [ef57e10]\n  - @electric-sql/pglite@0.2.6\n\n## 0.2.5\n\n### Patch Changes\n\n- fcb101c: Add `useLiveQuery.sql` hook for SQL string templating.\n- Updated dependencies [fcb101c]\n- Updated dependencies [3ee5e60]\n- Updated dependencies [0dc34af]\n  - @electric-sql/pglite@0.2.5\n\n## 0.2.4\n\n### Patch Changes\n\n- Updated dependencies [113aa56]\n  - @electric-sql/pglite@0.2.4\n\n## 0.2.3\n\n### Patch Changes\n\n- Updated dependencies [d8ef285]\n  - @electric-sql/pglite@0.2.3\n\n## 0.2.2\n\n### Patch Changes\n\n- Updated dependencies [be41880]\n  - @electric-sql/pglite@0.2.2\n\n## 0.2.1\n\n### Patch Changes\n\n- 446c2df: Include both utility for typed injection and static injectors.\n- Updated dependencies [2cc39ff]\n  - @electric-sql/pglite@0.2.1\n","packages/pglite-utils/CHANGELOG.md":"# @electric-sql/pglite-utils\n\n## 0.0.4\n\n### Patch Changes\n\n- 6c14380: fixes for process.exitCode\n\n## 0.0.3\n\n### Patch Changes\n\n- a4e163a: fix process exit code set/restore\n\n## 0.0.2\n\n### Patch Changes\n\n- c6bddde: Fix caching of artifacts such that they are not downloaded multiple times\n","packages/pglite-utils/README.md":"# pglite-utils\n\nShared utilities for all PGlite packages\n","packages/pglite-tools/package.json":"# Pglite-tools Skill\n\nPath: `packages/pglite-tools/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-tools/package.json)","packages/pglite-tools/README.md":"# pglite-tools Documentation\n\nPath: `packages/pglite-tools/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-tools/README.md)","packages/pglite-tools/tsconfig.json":"# Pglite-tools Skill\n\nPath: `packages/pglite-tools/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-tools/tsconfig.json)","packages/pglite-sync/CHANGELOG.md":"# Pglite-sync Skill\n\nPath: `packages/pglite-sync/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-sync/CHANGELOG.md)","packages/pglite-sync/package.json":"# Pglite-sync Skill\n\nPath: `packages/pglite-sync/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-sync/package.json)","packages/pglite-sync/README.md":"# pglite-sync Documentation\n\nPath: `packages/pglite-sync/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-sync/README.md)","packages/pglite-sync/tsconfig.json":"# Pglite-sync Skill\n\nPath: `packages/pglite-sync/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-sync/tsconfig.json)","packages/pglite-socket/CHANGELOG.md":"# Pglite-socket Skill\n\nPath: `packages/pglite-socket/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-socket/CHANGELOG.md)","packages/pglite-socket/package.json":"# Pglite-socket Skill\n\nPath: `packages/pglite-socket/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-socket/package.json)","packages/pglite-socket/README.md":"# pglite-socket Documentation\n\nPath: `packages/pglite-socket/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-socket/README.md)","packages/pglite-socket/tsconfig.json":"# Pglite-socket Skill\n\nPath: `packages/pglite-socket/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-socket/tsconfig.json)","packages/pglite-repl/CHANGELOG.md":"# Pglite-repl Skill\n\nPath: `packages/pglite-repl/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-repl/CHANGELOG.md)","packages/pglite-repl/package.json":"# Pglite-repl Skill\n\nPath: `packages/pglite-repl/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-repl/package.json)","packages/pglite-repl/README.md":"# pglite-repl Documentation\n\nPath: `packages/pglite-repl/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-repl/README.md)","packages/pglite-repl/tsconfig.json":"# Pglite-repl Skill\n\nPath: `packages/pglite-repl/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-repl/tsconfig.json)","packages/pglite-repl/tsconfig.node.json":"# Pglite-repl Skill\n\nPath: `packages/pglite-repl/tsconfig.node.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-repl/tsconfig.node.json)","packages/pglite-react/CHANGELOG.md":"# Pglite-react Skill\n\nPath: `packages/pglite-react/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-react/CHANGELOG.md)","packages/pglite-react/package.json":"# Pglite-react Skill\n\nPath: `packages/pglite-react/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-react/package.json)","packages/pglite-react/README.md":"# pglite-react Documentation\n\nPath: `packages/pglite-react/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-react/README.md)","packages/pglite-react/tsconfig.json":"# Pglite-react Skill\n\nPath: `packages/pglite-react/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-react/tsconfig.json)","packages/pglite-prepopulatedfs/CHANGELOG.md":"# Pglite-prepopulatedfs Skill\n\nPath: `packages/pglite-prepopulatedfs/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-prepopulatedfs/CHANGELOG.md)","packages/pglite-prepopulatedfs/package.json":"# Pglite-prepopulatedfs Skill\n\nPath: `packages/pglite-prepopulatedfs/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-prepopulatedfs/package.json)","packages/pglite-prepopulatedfs/README.md":"# pglite-prepopulatedfs Documentation\n\nPath: `packages/pglite-prepopulatedfs/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-prepopulatedfs/README.md)","packages/pglite-prepopulatedfs/tsconfig.json":"# Pglite-prepopulatedfs Skill\n\nPath: `packages/pglite-prepopulatedfs/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-prepopulatedfs/tsconfig.json)","packages/pglite-postgis/CHANGELOG.md":"# Pglite-postgis Skill\n\nPath: `packages/pglite-postgis/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-postgis/CHANGELOG.md)","packages/pglite-postgis/package.json":"# Pglite-postgis Skill\n\nPath: `packages/pglite-postgis/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-postgis/package.json)","packages/pglite-postgis/README.md":"# pglite-postgis Documentation\n\nPath: `packages/pglite-postgis/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-postgis/README.md)","packages/pglite-postgis/tsconfig.json":"# Pglite-postgis Skill\n\nPath: `packages/pglite-postgis/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-postgis/tsconfig.json)","packages/pglite-pgvector/CHANGELOG.md":"# Pglite-pgvector Skill\n\nPath: `packages/pglite-pgvector/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pgvector/CHANGELOG.md)","packages/pglite-pgvector/package.json":"# Pglite-pgvector Skill\n\nPath: `packages/pglite-pgvector/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pgvector/package.json)","packages/pglite-pgvector/README.md":"# pglite-pgvector Documentation\n\nPath: `packages/pglite-pgvector/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pgvector/README.md)","packages/pglite-pgvector/tsconfig.json":"# Pglite-pgvector Skill\n\nPath: `packages/pglite-pgvector/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pgvector/tsconfig.json)","packages/pglite-pgtap/CHANGELOG.md":"# Pglite-pgtap Skill\n\nPath: `packages/pglite-pgtap/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pgtap/CHANGELOG.md)","packages/pglite-pgtap/package.json":"# Pglite-pgtap Skill\n\nPath: `packages/pglite-pgtap/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pgtap/package.json)","packages/pglite-pgtap/README.md":"# pglite-pgtap Documentation\n\nPath: `packages/pglite-pgtap/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pgtap/README.md)","packages/pglite-pgtap/tsconfig.json":"# Pglite-pgtap Skill\n\nPath: `packages/pglite-pgtap/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pgtap/tsconfig.json)","packages/pglite-pgmq/CHANGELOG.md":"# Pglite-pgmq Skill\n\nPath: `packages/pglite-pgmq/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pgmq/CHANGELOG.md)","packages/pglite-pgmq/package.json":"# Pglite-pgmq Skill\n\nPath: `packages/pglite-pgmq/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pgmq/package.json)","packages/pglite-pgmq/README.md":"# pglite-pgmq Documentation\n\nPath: `packages/pglite-pgmq/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pgmq/README.md)","packages/pglite-pgmq/tsconfig.json":"# Pglite-pgmq Skill\n\nPath: `packages/pglite-pgmq/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pgmq/tsconfig.json)","packages/pglite-pg_uuidv7/CHANGELOG.md":"# Pglite-pg_uuidv7 Skill\n\nPath: `packages/pglite-pg_uuidv7/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_uuidv7/CHANGELOG.md)","packages/pglite-pg_uuidv7/package.json":"# Pglite-pg_uuidv7 Skill\n\nPath: `packages/pglite-pg_uuidv7/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_uuidv7/package.json)","packages/pglite-pg_uuidv7/README.md":"# pglite-pg_uuidv7 Documentation\n\nPath: `packages/pglite-pg_uuidv7/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_uuidv7/README.md)","packages/pglite-pg_uuidv7/tsconfig.json":"# Pglite-pg_uuidv7 Skill\n\nPath: `packages/pglite-pg_uuidv7/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_uuidv7/tsconfig.json)","packages/pglite-pg_textsearch/CHANGELOG.md":"# Pglite-pg_textsearch Skill\n\nPath: `packages/pglite-pg_textsearch/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_textsearch/CHANGELOG.md)","packages/pglite-pg_textsearch/package.json":"# Pglite-pg_textsearch Skill\n\nPath: `packages/pglite-pg_textsearch/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_textsearch/package.json)","packages/pglite-pg_textsearch/README.md":"# pglite-pg_textsearch Documentation\n\nPath: `packages/pglite-pg_textsearch/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_textsearch/README.md)","packages/pglite-pg_textsearch/tsconfig.json":"# Pglite-pg_textsearch Skill\n\nPath: `packages/pglite-pg_textsearch/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_textsearch/tsconfig.json)","packages/pglite-pg_ivm/CHANGELOG.md":"# Pglite-pg_ivm Skill\n\nPath: `packages/pglite-pg_ivm/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_ivm/CHANGELOG.md)","packages/pglite-pg_ivm/package.json":"# Pglite-pg_ivm Skill\n\nPath: `packages/pglite-pg_ivm/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_ivm/package.json)","packages/pglite-pg_ivm/README.md":"# pglite-pg_ivm Documentation\n\nPath: `packages/pglite-pg_ivm/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_ivm/README.md)","packages/pglite-pg_ivm/tsconfig.json":"# Pglite-pg_ivm Skill\n\nPath: `packages/pglite-pg_ivm/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_ivm/tsconfig.json)","packages/pglite-pg_hashids/CHANGELOG.md":"# Pglite-pg_hashids Skill\n\nPath: `packages/pglite-pg_hashids/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_hashids/CHANGELOG.md)","packages/pglite-pg_hashids/package.json":"# Pglite-pg_hashids Skill\n\nPath: `packages/pglite-pg_hashids/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_hashids/package.json)","packages/pglite-pg_hashids/README.md":"# pglite-pg_hashids Documentation\n\nPath: `packages/pglite-pg_hashids/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_hashids/README.md)","packages/pglite-pg_hashids/tsconfig.json":"# Pglite-pg_hashids Skill\n\nPath: `packages/pglite-pg_hashids/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_hashids/tsconfig.json)","packages/pglite-icu-full/CHANGELOG.md":"# Pglite-icu-full Skill\n\nPath: `packages/pglite-icu-full/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-icu-full/CHANGELOG.md)","packages/pglite-icu-full/package.json":"# Pglite-icu-full Skill\n\nPath: `packages/pglite-icu-full/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-icu-full/package.json)","packages/pglite-icu-full/README.md":"# pglite-icu-full Documentation\n\nPath: `packages/pglite-icu-full/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-icu-full/README.md)","packages/pglite-icu-full/tsconfig.json":"# Pglite-icu-full Skill\n\nPath: `packages/pglite-icu-full/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-icu-full/tsconfig.json)","packages/pglite-age/CHANGELOG.md":"# Pglite-age Skill\n\nPath: `packages/pglite-age/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-age/CHANGELOG.md)","packages/pglite-age/package.json":"# Pglite-age Skill\n\nPath: `packages/pglite-age/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-age/package.json)","packages/pglite-age/README.md":"# pglite-age Documentation\n\nPath: `packages/pglite-age/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-age/README.md)","packages/pglite-age/tsconfig.json":"# Pglite-age Skill\n\nPath: `packages/pglite-age/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-age/tsconfig.json)","packages/pglite/CHANGELOG.md":"# Pglite Skill\n\nPath: `packages/pglite/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite/CHANGELOG.md)","packages/pglite/package.json":"# Pglite Skill\n\nPath: `packages/pglite/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite/package.json)","packages/pglite/README.md":"# pglite Documentation\n\nPath: `packages/pglite/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite/README.md)","packages/pglite/tsconfig.json":"# Pglite Skill\n\nPath: `packages/pglite/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite/tsconfig.json)","packages/pg-protocol/CHANGELOG.md":"# Pg-protocol Skill\n\nPath: `packages/pg-protocol/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pg-protocol/CHANGELOG.md)","packages/pg-protocol/package.json":"# Pg-protocol Skill\n\nPath: `packages/pg-protocol/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pg-protocol/package.json)","packages/pg-protocol/README.md":"# pg-protocol Documentation\n\nPath: `packages/pg-protocol/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pg-protocol/README.md)","packages/pg-protocol/tsconfig.json":"# Pg-protocol Skill\n\nPath: `packages/pg-protocol/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pg-protocol/tsconfig.json)","packages/benchmark/package.json":"# Benchmark Skill\n\nPath: `packages/benchmark/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/benchmark/package.json)","packages/benchmark/package-lock.json":"# Benchmark Skill\n\nPath: `packages/benchmark/package-lock.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/benchmark/package-lock.json)","packages/benchmark/README.md":"# benchmark Documentation\n\nPath: `packages/benchmark/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/benchmark/README.md)","packages/benchmark/tsconfig.json":"# Benchmark Skill\n\nPath: `packages/benchmark/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/benchmark/tsconfig.json)","packages/pglite-sync/example/docker-compose.yaml":"# Example Skill\n\nPath: `packages/pglite-sync/example/docker-compose.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-sync/example/docker-compose.yaml)","packages/pglite-sync/example/README.md":"# example Documentation\n\nPath: `packages/pglite-sync/example/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-sync/example/README.md)","packages/pglite-sync/test-e2e/docker_compose.yaml":"# Test-e2e Skill\n\nPath: `packages/pglite-sync/test-e2e/docker_compose.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-sync/test-e2e/docker_compose.yaml)","packages/pglite-icu-full/examples/README.md":"# examples Documentation\n\nPath: `packages/pglite-icu-full/examples/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-icu-full/examples/README.md)","packages/pglite-icu-full/examples/Switzerland/filters_switzerland.json":"# Switzerland Skill\n\nPath: `packages/pglite-icu-full/examples/Switzerland/filters_switzerland.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-icu-full/examples/Switzerland/filters_switzerland.json)","packages/pglite/tests/targets/deno/package.json":"# Deno Skill\n\nPath: `packages/pglite/tests/targets/deno/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite/tests/targets/deno/package.json)"},"files":{"docs/extensions/development.md":"# Extension Development\n\nPGlite has support for both Postgres extensions, and has its own plugin API that allows a developer to augment a PGlite instance with an additional API.\n\n## Extension API\n\n::: warning\nThe extension API is not yet stable and may change in a future release.\n:::\n\nPGlite extensions are an object with the following interface:\n\n```ts\nexport interface Extension {\n  name: string\n  setup: ExtensionSetup\n}\n\nexport type ExtensionSetup = (\n  pg: PGliteInterface,\n  emscriptenOpts: any,\n  clientOnly?: boolean,\n) => Promise<ExtensionSetupResult>\n\nexport interface ExtensionSetupResult {\n  emscriptenOpts?: any\n  namespaceObj?: any\n  bundlePath?: URL\n  init?: () => Promise<void>\n  close?: () => Promise<void>\n}\n```\n\n`name` is the human readable name of the extension.\n\n`setup` is a function that receives the following parameters, and returns a promise that resolves to an object conforming to `ExtensionSetupResult`:\n\n- `pg`<br>\n  The [PGlite](../docs/api.md) instance that the extension is being added to\n- `emscriptenOpts`<br>\n  The options currently configured to pass to the [Emscrption Module factory](https://emscripten.org/docs/api_reference/module.html), including the [Emscript FS](https://emscripten.org/docs/api_reference/Filesystem-API.html).\n- `clientOnly`<br>\n  A boolean indicating if this instance of the extension is \"client only\", meaning that it is on the main thread and doesn't have direct access to the underlying WASM as it is running in a worker. When true, `emscriptenOpts` and `bundlePath` should not re returned as they will have no effect.\n\nThe returned object has these properties - all are optional:\n\n- `emscriptenOpts`<br>\n  Any augmented or altered configuration to pass to the [Emscrption Module factory](https://emscripten.org/docs/api_reference/module.html).\n- `namespaceObj`<br>\n  An object to add as a namespace to the PGlite instance; this can provide access to additional methods or properties that your extension would like to expose.\n- `bundlePath`<br>\n  The path to the Postgres extension tarball - see [Building Postgres Extensions](#building-postgres-extensions)\n- `init`<br>\n  An initialisation function that will be run after the PGlite instance and Postgres runtime has started, but before the instance is marked as ready for external usage. You can use this to perform any initialisation your extension needs to perform on the database at startup.\n- `close`<br>\n  A function that will be called when the user calls `close()` on their PGlite instance; this is called before the database has been shut down.\n\nAn example of a PGlite extension that augments the PGlite instance is the [live query extension](../docs/live-queries.md).\n\n## Building Postgres Extensions\n\nIn PGlite, every Postgres extension consists of two parts: a **backend** part, and a **frontend** part. The backend part is its core code. The frontend part is the `typescript/javascript` code that interacts with PGlite.\n\n### Happy path\n\nSome extensions are (much) easier to build and integrate with PGlite than others. This section describes the process of porting a Postgres extension that has no external dependencies besides the already build ones for PGlite (see builder/Dockerfile).\n\nClone **PGlite's** entire repo, including submodules and install the necessary dependencies:\n\n```\n$ git clone --recurse-submodules git@github.com:electric-sql/pglite.git\n$ cd pglite\n$ pnpm i\n```\n\nand create a new branch to track your work:\n\n```\n$ git checkout -b myghname/myawesomeextension\n```\n\n#### Backend\n\nPGlite's backend code is in the repo [postgres-pglite](https://github.com/electric-sql/postgres-pglite) and is downloaded as a submodule dependency of the main repo. You will add your extension's code as a new submodule dependency:\n\n```\n$ cd postgres-pglite/pglite/other_extensions\n$ git submodule add <myawesomeextension_url>\n```\n\nThis **should** create a new folder `postgres-pglite/pglite/other_extensions/myawesomeextension` where the extension code has been downloaded. Check it:\n\n```\n$ ls -lah myawesomeextension\n<the extension files should be listed here>\n```\n\nNow append the **folder name** to `SUBDIRS` inside `postgres-pglite/pglite/other_extensions/Makefile`:\n\n```\nSUBDIRS = \\\n\t\tpg_ivm \\\n\t\tvector \\\n    myawesomeextension\n```\n\nThese steps allow our build environment to pick up the extension's code, then build and package it for PGlite. The backend build process will output a `myawesomeextension.tar.gz` containing the WASM code and/or any data dependencies of the extension.\n\n#### Frontend\n\nPGlite's frontend code is in the main [PGlite repo](https://github.com/electric-sql/pglite).\n\nYou will need to create a new package for your extension. The easiest way is to just copy the files from an existing extension package such as `packages/pglite-extensions/pglite-pgvector`. Obviously, you will need to adapt all the references to the previous extension.\n\nTo make it available in our online [REPL](https://pglite.dev/repl/), add the extension to `docs/repl/allExtensions.ts`:\n\n```\n\nexport { myawesomeextension } from '@electric-sql/pglite-myawesomeextension\n\n```\n\nFinally, add the extension description to `docs/extensions/extensions.data.ts`, inside `baseExtensions`:\n\n```\n\nconst baseExtensions: Extension[] = [\n...\n{\nname: 'My awesome Postgres extension',\ndescription: `     My awesome Postgres extension is something that the world has never seen before.\n    `,\nshortDescription:\n'My awesome PostgreSQL extension',\ndocs: 'https://github.com/myawesomeextension/extension',\ntags: ['postgres extension'],\nimportPath: '@electric-sql/pglite-myawesomeextension',\nimportName: 'my_awesome_extension',\nsize: 123456,\n},\n]\n\n```\n\n#### Tests\n\nTo make sure that your extension works, you need to add some tests for it. We use [vitest](https://vitest.dev/). They will be run as part of our CI/CD pipeline.\n\n#### Build and run tests\n\nFrom PGlite's base folder:\n\n```\n\n$ pnpm build:all\n\n```\n\nThis will build **everything**, including your new extension. If there are no errors, you are ready to run the tests!\n\n```\n\n$ cd packages/pglite-extensions/pglite-myawesomextension\n$ pnpm test\n\n```\n\nFix any errors that occur, re-run the tests! Iterate until everything works as expected.\n\n#### Contributing an extension to the project\n\nWe welcome contributions! Open a PR so anyone using PGlite can also use your extension!\n\n#### Further tips and tricks\n\nIf you get stuck, have a look at how other Postgres extensions are build for PGlite. Take a look at `pg_ivm`, `pgvector` or `pgtap`. You can also reach out on [Discord](https://discord.com/channels/933657521581858818/1212676471588520006) for help!\n\n### Unhappy path\n\nThis section is still under development.\n\nAs mentioned before, some extensions require more effort to integrate with PGlite. Usually the difficulties arrise from the fact that the extension itself has dependencies that need to be compiled for WASM, which in turn might have other dependencies that need to be compiled for WASM and so on. The entire chain of dependencies needs to be built for WASM.\n\nAnother source of pain for building an extension is the need to export symbols from the dependencies or from PGlite itself. Sometimes these are obvious only at runtime.\n\nWe are still working on documentation and examples showing how to build more complex Postgres extensions for use with PGlite. Please check back soon, or reach out on [Discord](https://discord.com/channels/933657521581858818/1212676471588520006) if you would like to try building a particular extension for PGlite.\n","packages/pglite-vue/tsconfig.json":"{\n  \"extends\": \"../../tsconfig.json\",\n  \"compilerOptions\": {\n    \"jsx\": \"react-jsx\",\n  },\n  \"include\": [\n    \"src\",\n    \"test\",\n    \"eslint.config.js\",\n    \"test-setup.ts\",\n    \"tsup.config.js\",\n    \"vitest.config.ts\"\n  ]\n}","docs/extensions/age.md":"# Apache AGE Extension\n\n[Apache AGE](https://age.apache.org/) (A Graph Extension) brings graph database capabilities to PostgreSQL, allowing you to use the Cypher query language alongside standard SQL.\n\n## Installation\n\nThe AGE extension is included with PGlite. To use it:\n\n```typescript\nimport { PGlite } from '@electric-sql/pglite'\nimport { age } from '@electric-sql/pglite-age'\n\nconst pg = new PGlite({\n  extensions: {\n    age,\n  },\n})\n```\n\n## Important Notes\n\n### Schema Qualification\n\nAll AGE functions are in the `ag_catalog` schema. The extension does not implicitly update the search path for safety. You must either manually set the `search_path` to include `ag_catalog` for your connection, or use fully-qualified names:\n\n```typescript\n// Explicit qualification:\nawait pg.exec(\"SELECT ag_catalog.create_graph('g');\")\n\n// Setting the search path for the session:\nawait pg.exec('SET search_path = ag_catalog, \"$user\", public;')\nawait pg.exec(\"SELECT create_graph('g');\")\n```\n\n### Column Definitions\n\nCypher queries require column definitions in the `as` clause to map the dynamic graph types back to standard PostgreSQL relations:\n\n```typescript\n// Single column\nSELECT * FROM ag_catalog.cypher('g', $$ RETURN 1 $$) as (v ag_catalog.agtype);\n\n// Multiple columns\nSELECT * FROM ag_catalog.cypher('g', $$\n  MATCH (n) RETURN n.name, n.age\n$$) as (name ag_catalog.agtype, age ag_catalog.agtype);\n```\n\n## Limitations\n\n- **File operations**: `load_labels_from_file()` is not available (no filesystem access in WASM)\n- **Memory**: Large graphs may hit WebAssembly memory limits\n- **Performance**: Graph operations are CPU-intensive; consider pagination for large result sets\n\n## Resources\n\n- [Apache AGE Documentation](https://age.apache.org/age-manual/master/index.html)\n- [Cypher Query Language](https://neo4j.com/docs/cypher-manual/current/)\n- [AGE GitHub Repository](https://github.com/apache/age)\n","packages/pglite-vue/package.json":"{\n  \"name\": \"@electric-sql/pglite-vue\",\n  \"version\": \"0.4.11\",\n  \"description\": \"Vue hooks for using PGlite\",\n  \"type\": \"module\",\n  \"private\": false,\n  \"publishConfig\": {\n    \"access\": \"public\"\n  },\n  \"keywords\": [\n    \"postgres\",\n    \"sql\",\n    \"database\",\n    \"wasm\",\n    \"client\",\n    \"pglite\",\n    \"vue\"\n  ],\n  \"author\": \"Electric DB Limited\",\n  \"homepage\": \"https://pglite.dev\",\n  \"license\": \"Apache-2.0\",\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"git+https://github.com/electric-sql/pglite.git\",\n    \"directory\": \"packages/pglite-vue\"\n  },\n  \"scripts\": {\n    \"build\": \"tsup\",\n    \"check:exports\": \"attw . --pack --profile node16\",\n    \"test-v2\": \"vue-demi-switch 2 vue2 && vitest\",\n    \"test-v2.7\": \"vue-demi-switch 2.7 vue2.7 && vitest\",\n    \"test-v3\": \"vue-demi-switch 3 && vitest\",\n    \"test\": \"pnpm test-v2 && pnpm test-v2.7 && pnpm test-v3\",\n    \"lint\": \"eslint ./src ./test\",\n    \"format\": \"prettier --write ./src ./test\",\n    \"typecheck\": \"tsc\",\n    \"stylecheck\": \"eslint ./src ./test && prettier --check ./src ./test\",\n    \"prepublishOnly\": \"pnpm check:exports\"\n  },\n  \"types\": \"dist/index.d.ts\",\n  \"module\": \"dist/index.js\",\n  \"main\": \"dist/index.cjs\",\n  \"exports\": {\n    \".\": {\n      \"import\": {\n        \"types\": \"./dist/index.d.ts\",\n        \"default\": \"./dist/index.js\"\n      },\n      \"require\": {\n        \"types\": \"./dist/index.d.cts\",\n        \"default\": \"./dist/index.cjs\"\n      }\n    }\n  },\n  \"files\": [\n    \"dist\"\n  ],\n  \"dependencies\": {\n    \"vue-demi\": \"^0.14.10\"\n  },\n  \"devDependencies\": {\n    \"@arethetypeswrong/cli\": \"^0.18.1\",\n    \"@electric-sql/pglite\": \"workspace:*\",\n    \"@electric-sql/pglite-pgvector\": \"workspace:*\",\n    \"@eslint-react/eslint-plugin\": \"^1.14.3\",\n    \"@testing-library/dom\": \"^10.4.0\",\n    \"@testing-library/vue\": \"^8.1.0\",\n    \"@vitejs/plugin-vue\": \"^5.1.4\",\n    \"@vue/composition-api\": \"1.7.2\",\n    \"eslint-plugin-vue\": \"^9.29.0\",\n    \"jsdom\": \"^24.1.3\",\n    \"vitest\": \"^2.1.2\",\n    \"vue\": \"^3.5.11\",\n    \"vue2\": \"npm:vue@~2.6.14\",\n    \"vue2.7\": \"npm:vue@~2.7.16\"\n  },\n  \"peerDependencies\": {\n    \"@electric-sql/pglite\": \"workspace:0.5.11\",\n    \"@electric-sql/pglite-pgvector\": \"workspace:0.0.12\",\n    \"@vue/composition-api\": \"^1.1.2\",\n    \"vue\": \"^2.6.0 || ^3.3.0\"\n  },\n  \"peerDependenciesMeta\": {\n    \"@vue/composition-api\": {\n      \"optional\": true\n    }\n  }\n}\n","packages/pglite-vue/README.md":"# PGlite Vue Bindings\n\nThis package implements Vue hooks for [PGLite](https://pglite.dev/) on top of the [live query plugin](https://pglite.dev/docs/live-queries). Full documentation is available at [pglite.dev/docs/framework-hooks/vue](https://pglite.dev/docs/framework-hooks/vue).\n\nTo install:\n\n```sh\nnpm install @electric-sql/pglite-vue\n```\n\nThe hooks this package provides are:\n\n- [providePGlite](https://pglite.dev/docs/framework-hooks/vue#providepglite): Provide a PGlite instance to all child components.\n- [injectPGlite](https://pglite.dev/docs/framework-hooks/vue#injectpglite): Retrieve the provided PGlite instance.\n- [makePGliteDependencyInjector](https://pglite.dev/docs/framework-hooks/vue#makepglitedependencyinjector): Utility to create a typed version of `providePGlite` and `injectPGlite`.\n- [useLiveQuery](https://pglite.dev/docs/framework-hooks/vue#uselivequery): Reactively receive results of a live query change\n- [useLiveIncrementalQuery](https://pglite.dev/docs/framework-hooks/vue#useliveincrementalquery): Reactively receive results of a live query change by offloading the diff to PGlite\n","docs/extensions/index.md":"<script setup>\nimport { computed, ref } from \"vue\";\nimport { data } from \"./extensions.data.ts\";\n\nconst filteredExtensions = computed(() => {\n  return data.extensions\n    .filter((ext) => !selectedTag.value || ext.tags.includes(selectedTag.value))\n    .sort((a, b) => {\n      if (a.featured && !b.featured) return -1;\n      if (!a.featured && b.featured) return 1;\n      return a.name.localeCompare(b.name);\n    });\n});\n\nfunction mainLink(ext) {\n  return ext.homepage || ext.repo || ext.docs;\n}\n\nfunction slugify(string) {\n  return string\n    .replace('/', '')\n    .replace(' ', '-')\n    .replace('_', '-')\n    .toLowerCase()\n}\n\nconst tags = computed(() => {\n  return data.tags.map((tag) => {\n    return {\n      name: tag,\n      count: data.extensions.filter((ext) => ext.tags.includes(tag)).length,\n    }\n  })\n})\n\nfunction formatSize(bytes) {\n  const units = ['B', 'KB', 'MB', 'GB', 'TB', 'PB'];\n  let i = 0;\n\n  while (bytes >= 1024 && i < units.length - 1) {\n    bytes /= 1024;\n    i++;\n  }\n\n  return `${bytes.toFixed(1)} ${units[i]}`;\n}\n\nconst selectedTag = ref(null)\nconst npmCounts = ref({})\n\nfunction toShortDecimal(x) {\n  return x.toLocaleString('en-US', {\n      // add suffixes for thousands, millions, and billions\n      // the maximum number of decimal places to use\n      maximumFractionDigits: 1,\n      // specify the abbreviations to use for the suffixes\n      notation: 'compact',\n      compactDisplay: 'short'\n    });\n}\n\nfunction getNpmCount(url) {\n  if (!url) return \"n/a\"\n  if (npmCounts.value[url] !== undefined) return npmCounts.value[url]\n\n  npmCounts.value[url] = \"...\"\n  const pkg = url.split(\"/package/\")[1]\n  if (!pkg) {\n    npmCounts.value[url] = \"n/a\"\n    return npmCounts.value[url]\n  }\n\n  fetch(`https://api.npmjs.org/downloads/point/last-week/${encodeURIComponent(pkg)}`)\n    .then((response) => response.json())\n    .then(({ downloads }) => {\n      npmCounts.value[url] = toShortDecimal(downloads) ?? \"n/a\"\n    })\n    .catch(() => {\n      npmCounts.value[url] = \"n/a\"\n    })\n\n  return npmCounts.value[url]\n}\n\n</script>\n\n<style scoped>\n.btn-tag {\n    border-color: var(--vp-button-alt-border);\n    color: var(--vp-button-alt-text);\n    background-color: var(--vp-button-alt-bg);\n    border-radius: 20px;\n    padding: 0 20px;\n    line-height: 38px;\n    font-size: 14.5px;\n    display: inline-block;\n    border: 1px solid transparent;\n    text-align: center;\n    font-weight: 600;\n    white-space: nowrap;\n    transition: color 0.25s, border-color 0.25s, background-color 0.25s;\n    margin-right: 0.5rem;\n}\n\n.btn-tag:hover {\n  border-color: var(--vp-button-alt-hover-border);\n  color: var(--vp-button-alt-hover-text);\n  background-color: var(--vp-button-alt-hover-bg);\n}\n\n.btn-tag.selected {\n  border-color: var(--vp-button-brand-border);\n  color: var(--vp-c-gray-3);\n  background-color: var(--vp-button-brand-bg);\n}\n\n.btn-tag.selected:hover {\n  border-color: var(--vp-button-brand-hover-border);\n  background-color: var(--vp-button-brand-hover-bg);\n}\n\n.btn-tag .count {\n  margin-left: 0.25rem;\n  margin-left: 0.25rem;\n  opacity: 0.5\n}\n\n.tags, .links {\n  margin-top: 1rem;\n}\n\n.tag {\n    border-color: var(--vp-button-alt-border);\n    color: var(--vp-button-alt-text);\n    background-color: var(--vp-button-alt-bg);\n    border-radius: 20px;\n    padding: 5px 10px;\n    line-height: 18px;\n    font-size: 14.5px;\n    display: inline-block;\n    border: 1px solid transparent;\n    text-align: center;\n    font-weight: 600;\n    white-space: nowrap;\n    transition: color 0.25s, border-color 0.25s, background-color 0.25s;\n    margin-right: 0.5rem;\n}\n\n.links a {\n  margin-right: 0.5rem;\n}\n\n.bundle-size {\n  float:right;\n  opacity: 0.5;\n}\n</style>\n\n# PGlite Extensions\n\nPGlite supports both Postgres extensions, and has a plugin API to enable extensions to extend the public API of the PGlite interface.\n\nBelow is a list of available extensions.\n\n<div class=\"tags\">\n  <button\n    v-for=\"tag in tags\"\n    :key=\"tag.name\"\n    @click=\"\n      selectedTag == tag.name ?\n        selectedTag = null :\n        selectedTag = tag.name\n    \"\n    class=\"btn-tag\"\n    :class=\"{ selected: tag.name === selectedTag }\"\n  >\n    {{ tag.name }} <span class=\"count\">{{ tag.count }}</span>\n  </button>\n</div>\n\n<div class=\"extension\" v-for=\"ext in filteredExtensions\">\n\n<h2\n  :id=\"slugify(ext.name)\"\n  tabindex=\"-1\"\n>\n  <a :href=\"mainLink(ext)\">{{ ext.name }}</a>\n  <a \n    class=\"header-anchor\"\n    :href=\"`#${slugify(ext.name)}`\"\n    :aria-label=\"`Permalink to ${ext.name}`\"\n  >​</a>\n</h2>\n\n<div class=\"description\" v-html=\"ext.descriptionHtml\"></div>\n\n<div class=\"links\">\n  <a \n    v-if=\"ext.repo?.startsWith('https://github.com/')\" \n    :href=\"ext.repo\"\n    target=\"_blank\"\n  >Github</a>\n  <a v-else-if=\"ext.repo\" :href=\"ext.repo\" target=\"_blank\">Repo</a>\n  <a v-if=\"ext.docs\" :href=\"ext.docs\" target=\"_blank\">Documentation</a>\n  <a v-if=\"ext.homepage\" :href=\"ext.homepage\" target=\"_blank\">Homepage</a>\n  <a v-if=\"ext.npmjsUrl\" :href=\"ext.npmjsUrl\" target=\"_blank\">NPM (⤓{{ getNpmCount(ext.npmjsUrl) }})</a>\n  <span class=\"bundle-size\" v-if=\"ext.size\">\n    Bundle Size: {{ formatSize(ext.size) }}\n  </span>\n</div>\n<div class=\"tags\">\n  <span v-for=\"tag in ext.tags\" :key=\"tag\" class=\"tag\">{{ tag }}</span>\n</div>\n</div>\n","packages/pglite-vue/CHANGELOG.md":"# @electric-sql/pglite-vue\n\n## 0.4.11\n\n### Patch Changes\n\n- Updated dependencies [5573bb0]\n- Updated dependencies [2372f39]\n- Updated dependencies [4321a41]\n  - @electric-sql/pglite@0.5.11\n  - @electric-sql/pglite-pgvector@0.0.12\n\n## 0.4.10\n\n### Patch Changes\n\n- Updated dependencies [367ee2f]\n- Updated dependencies [cb06c21]\n- Updated dependencies [78012ca]\n  - @electric-sql/pglite@0.5.10\n  - @electric-sql/pglite-pgvector@0.0.11\n\n## 0.4.9\n\n### Patch Changes\n\n- Updated dependencies [389b731]\n- Updated dependencies [389b731]\n  - @electric-sql/pglite@0.5.9\n  - @electric-sql/pglite-pgvector@0.0.10\n\n## 0.4.8\n\n### Patch Changes\n\n- Updated dependencies [c771db3]\n  - @electric-sql/pglite@0.5.8\n  - @electric-sql/pglite-pgvector@0.0.9\n\n## 0.4.7\n\n### Patch Changes\n\n- Updated dependencies [2f9cf75]\n  - @electric-sql/pglite@0.5.7\n  - @electric-sql/pglite-pgvector@0.0.8\n\n## 0.4.6\n\n### Patch Changes\n\n- Updated dependencies [69b7d87]\n- Updated dependencies [6c14380]\n  - @electric-sql/pglite@0.5.6\n  - @electric-sql/pglite-pgvector@0.0.7\n\n## 0.4.5\n\n### Patch Changes\n\n- Updated dependencies [a290741]\n- Updated dependencies [6b6f28d]\n- Updated dependencies [354f4ae]\n- Updated dependencies [219af1e]\n- Updated dependencies [20839a7]\n- Updated dependencies [7e784a4]\n  - @electric-sql/pglite@0.5.5\n  - @electric-sql/pglite-pgvector@0.0.6\n\n## 0.4.4\n\n### Patch Changes\n\n- Updated dependencies [7e0d6d1]\n  - @electric-sql/pglite@0.5.4\n  - @electric-sql/pglite-pgvector@0.0.5\n\n## 0.4.3\n\n### Patch Changes\n\n- Updated dependencies [2ccbb4c]\n  - @electric-sql/pglite@0.5.3\n  - @electric-sql/pglite-pgvector@0.0.4\n\n## 0.4.2\n\n### Patch Changes\n\n- Updated dependencies [21fc995]\n- Updated dependencies [0720cb6]\n- Updated dependencies [e09535f]\n- Updated dependencies [a4e163a]\n  - @electric-sql/pglite@0.5.2\n  - @electric-sql/pglite-pgvector@0.0.3\n\n## 0.4.1\n\n### Patch Changes\n\n- Updated dependencies [930e2d0]\n  - @electric-sql/pglite@0.5.1\n  - @electric-sql/pglite-pgvector@0.0.2\n\n## 0.4.0\n\n### Minor Changes\n\n- 93d50aa: Upgrade to Postgres 18.3; move other extensions to their own npm packages;\n- Updated dependencies [93d50aa]\n  - @electric-sql/pglite@0.5.0\n  - @electric-sql/pglite-pgvector@0.0.1\n\n## 0.3.6\n\n### Patch Changes\n\n- Updated dependencies [2aa4d1a]\n- Updated dependencies [2095d4e]\n- Updated dependencies [e937669]\n- Updated dependencies [54ed6dc]\n- Updated dependencies [817d073]\n  - @electric-sql/pglite@0.4.6\n\n## 0.3.5\n\n### Patch Changes\n\n- Updated dependencies [c6bddde]\n  - @electric-sql/pglite@0.4.5\n\n## 0.3.4\n\n### Patch Changes\n\n- Updated dependencies [b88c5c3]\n  - @electric-sql/pglite@0.4.4\n\n## 0.3.3\n\n### Patch Changes\n\n- Updated dependencies [2ae666f]\n- Updated dependencies [fb95e66]\n- Updated dependencies [65fc101]\n  - @electric-sql/pglite@0.4.3\n\n## 0.3.2\n\n### Patch Changes\n\n- Updated dependencies [41632c4]\n  - @electric-sql/pglite@0.4.2\n\n## 0.3.1\n\n### Patch Changes\n\n- Updated dependencies [37fb39e]\n  - @electric-sql/pglite@0.4.1\n\n## 0.3.0\n\n### Minor Changes\n\n- Updated dependencies [d848955]\n  - @electric-sql/pglite@0.4.0\n\n## 0.2.34\n\n### Patch Changes\n\n- Updated dependencies [3dfa40f]\n  - @electric-sql/pglite@0.3.16\n\n## 0.2.33\n\n### Patch Changes\n\n- Updated dependencies [45bff97]\n- Updated dependencies [5ec474f]\n  - @electric-sql/pglite@0.3.15\n\n## 0.2.32\n\n### Patch Changes\n\n- Updated dependencies [8785034]\n- Updated dependencies [90cfee8]\n  - @electric-sql/pglite@0.3.14\n\n## 0.2.31\n\n### Patch Changes\n\n- Updated dependencies [ad3d0d8]\n  - @electric-sql/pglite@0.3.13\n\n## 0.2.30\n\n### Patch Changes\n\n- Updated dependencies [ce0e74e]\n  - @electric-sql/pglite@0.3.12\n\n## 0.2.29\n\n### Patch Changes\n\n- Updated dependencies [9a104b9]\n  - @electric-sql/pglite@0.3.11\n\n## 0.2.28\n\n### Patch Changes\n\n- Updated dependencies [ad765ed]\n  - @electric-sql/pglite@0.3.10\n\n## 0.2.27\n\n### Patch Changes\n\n- Updated dependencies [e40ccad]\n  - @electric-sql/pglite@0.3.9\n\n## 0.2.26\n\n### Patch Changes\n\n- Updated dependencies [f12a582]\n- Updated dependencies [bd263aa]\n  - @electric-sql/pglite@0.3.8\n\n## 0.2.25\n\n### Patch Changes\n\n- Updated dependencies [0936962]\n  - @electric-sql/pglite@0.3.7\n\n## 0.2.24\n\n### Patch Changes\n\n- Updated dependencies [6898469]\n- Updated dependencies [469be18]\n- Updated dependencies [64e33c7]\n  - @electric-sql/pglite@0.3.6\n\n## 0.2.23\n\n### Patch Changes\n\n- Updated dependencies [6653899]\n- Updated dependencies [5f007fc]\n  - @electric-sql/pglite@0.3.5\n\n## 0.2.22\n\n### Patch Changes\n\n- 38a55d0: fix cjs/esm misconfigurations\n- Updated dependencies [1fcaa3e]\n- Updated dependencies [38a55d0]\n- Updated dependencies [aac7003]\n- Updated dependencies [8ca254d]\n  - @electric-sql/pglite@0.3.4\n\n## 0.2.21\n\n### Patch Changes\n\n- Updated dependencies [ea2c7c7]\n  - @electric-sql/pglite@0.3.3\n\n## 0.2.20\n\n### Patch Changes\n\n- Updated dependencies [e2c654b]\n  - @electric-sql/pglite@0.3.2\n\n## 0.2.19\n\n### Patch Changes\n\n- Updated dependencies [713364e]\n  - @electric-sql/pglite@0.3.1\n\n## 0.2.18\n\n### Patch Changes\n\n- 317fd36: Specify a peer dependency range on @electric-sql/pglite\n- Updated dependencies [97e52f7]\n- Updated dependencies [4356024]\n- Updated dependencies [0033bc7]\n  - @electric-sql/pglite@0.3.0\n\n## 0.2.17\n\n### Patch Changes\n\n- Updated dependencies [6bdd74e]\n- Updated dependencies [f94d591]\n  - @electric-sql/pglite@0.2.17\n\n## 0.2.16\n\n### Patch Changes\n\n- 7ce9f04: Fix Vue useLiveQuery to allow no parameters to be provided\n- Updated dependencies [c36fd09]\n- Updated dependencies [e037883]\n- Updated dependencies [d6b981b]\n- Updated dependencies [17e7664]\n- Updated dependencies [118ba3e]\n- Updated dependencies [d93c1bb]\n- Updated dependencies [ddd4a68]\n- Updated dependencies [f3f1103]\n- Updated dependencies [67fb2aa]\n  - @electric-sql/pglite@0.2.16\n\n## 0.2.15\n\n### Patch Changes\n\n- Updated dependencies [fa13714]\n  - @electric-sql/pglite@0.2.15\n\n## 0.2.14\n\n### Patch Changes\n\n- Updated dependencies [6547374]\n- Updated dependencies [6547374]\n- Updated dependencies [df5c290]\n- Updated dependencies [1784d04]\n- Updated dependencies [ae36974]\n- Updated dependencies [75f9f6d]\n- Updated dependencies [ce212cf]\n  - @electric-sql/pglite@0.2.14\n\n## 0.2.13\n\n### Patch Changes\n\n- 3d8efbb: Bump dependencies to address Dependabot alerts\n- Updated dependencies [5e39036]\n- Updated dependencies [3d8efbb]\n- Updated dependencies [1844b10]\n- Updated dependencies [79e6082]\n- Updated dependencies [16d2296]\n- Updated dependencies [cf50f47]\n- Updated dependencies [bd1b3b9]\n- Updated dependencies [5e39036]\n- Updated dependencies [16d2296]\n- Updated dependencies [e9bd9a7]\n- Updated dependencies [c442c88]\n  - @electric-sql/pglite@0.2.13\n\n## 0.2.12\n\n### Patch Changes\n\n- Updated dependencies [1495625]\n- Updated dependencies [d3905cf]\n- Updated dependencies [1f036dc]\n- Updated dependencies [52ddcb0]\n  - @electric-sql/pglite@0.2.12\n\n## 0.2.11\n\n### Patch Changes\n\n- Updated dependencies [2aed553]\n  - @electric-sql/pglite@0.2.11\n\n## 0.2.10\n\n### Patch Changes\n\n- Updated dependencies [3113d56]\n- Updated dependencies [23cd31a]\n  - @electric-sql/pglite@0.2.10\n\n## 0.2.9\n\n### Patch Changes\n\n- Updated dependencies [20008c2]\n- Updated dependencies [a5712a8]\n  - @electric-sql/pglite@0.2.9\n\n## 0.2.8\n\n### Patch Changes\n\n- b6e963c: fix: add export providePGlite and injectPGlite\n- Updated dependencies [53ec60e]\n- Updated dependencies [880b60d]\n- Updated dependencies [058ed7c]\n- Updated dependencies [2831c34]\n- Updated dependencies [880b60d]\n- Updated dependencies [880b60d]\n- Updated dependencies [4aeb677]\n- Updated dependencies [19b3529]\n  - @electric-sql/pglite@0.2.8\n\n## 0.2.7\n\n### Patch Changes\n\n- Updated dependencies [5e65236]\n- Updated dependencies [5e65236]\n  - @electric-sql/pglite@0.2.7\n\n## 0.2.6\n\n### Patch Changes\n\n- Updated dependencies [09b356c]\n- Updated dependencies [4238595]\n- Updated dependencies [ef57e10]\n  - @electric-sql/pglite@0.2.6\n\n## 0.2.5\n\n### Patch Changes\n\n- fcb101c: Add `useLiveQuery.sql` hook for SQL string templating.\n- Updated dependencies [fcb101c]\n- Updated dependencies [3ee5e60]\n- Updated dependencies [0dc34af]\n  - @electric-sql/pglite@0.2.5\n\n## 0.2.4\n\n### Patch Changes\n\n- Updated dependencies [113aa56]\n  - @electric-sql/pglite@0.2.4\n\n## 0.2.3\n\n### Patch Changes\n\n- Updated dependencies [d8ef285]\n  - @electric-sql/pglite@0.2.3\n\n## 0.2.2\n\n### Patch Changes\n\n- Updated dependencies [be41880]\n  - @electric-sql/pglite@0.2.2\n\n## 0.2.1\n\n### Patch Changes\n\n- 446c2df: Include both utility for typed injection and static injectors.\n- Updated dependencies [2cc39ff]\n  - @electric-sql/pglite@0.2.1\n","packages/pglite-utils/CHANGELOG.md":"# @electric-sql/pglite-utils\n\n## 0.0.4\n\n### Patch Changes\n\n- 6c14380: fixes for process.exitCode\n\n## 0.0.3\n\n### Patch Changes\n\n- a4e163a: fix process exit code set/restore\n\n## 0.0.2\n\n### Patch Changes\n\n- c6bddde: Fix caching of artifacts such that they are not downloaded multiple times\n","packages/pglite-utils/README.md":"# pglite-utils\n\nShared utilities for all PGlite packages\n","packages/pglite-tools/package.json":"# Pglite-tools Skill\n\nPath: `packages/pglite-tools/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-tools/package.json)","packages/pglite-tools/README.md":"# pglite-tools Documentation\n\nPath: `packages/pglite-tools/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-tools/README.md)","packages/pglite-tools/tsconfig.json":"# Pglite-tools Skill\n\nPath: `packages/pglite-tools/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-tools/tsconfig.json)","packages/pglite-sync/CHANGELOG.md":"# Pglite-sync Skill\n\nPath: `packages/pglite-sync/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-sync/CHANGELOG.md)","packages/pglite-sync/package.json":"# Pglite-sync Skill\n\nPath: `packages/pglite-sync/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-sync/package.json)","packages/pglite-sync/README.md":"# pglite-sync Documentation\n\nPath: `packages/pglite-sync/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-sync/README.md)","packages/pglite-sync/tsconfig.json":"# Pglite-sync Skill\n\nPath: `packages/pglite-sync/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-sync/tsconfig.json)","packages/pglite-socket/CHANGELOG.md":"# Pglite-socket Skill\n\nPath: `packages/pglite-socket/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-socket/CHANGELOG.md)","packages/pglite-socket/package.json":"# Pglite-socket Skill\n\nPath: `packages/pglite-socket/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-socket/package.json)","packages/pglite-socket/README.md":"# pglite-socket Documentation\n\nPath: `packages/pglite-socket/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-socket/README.md)","packages/pglite-socket/tsconfig.json":"# Pglite-socket Skill\n\nPath: `packages/pglite-socket/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-socket/tsconfig.json)","packages/pglite-repl/CHANGELOG.md":"# Pglite-repl Skill\n\nPath: `packages/pglite-repl/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-repl/CHANGELOG.md)","packages/pglite-repl/package.json":"# Pglite-repl Skill\n\nPath: `packages/pglite-repl/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-repl/package.json)","packages/pglite-repl/README.md":"# pglite-repl Documentation\n\nPath: `packages/pglite-repl/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-repl/README.md)","packages/pglite-repl/tsconfig.json":"# Pglite-repl Skill\n\nPath: `packages/pglite-repl/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-repl/tsconfig.json)","packages/pglite-repl/tsconfig.node.json":"# Pglite-repl Skill\n\nPath: `packages/pglite-repl/tsconfig.node.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-repl/tsconfig.node.json)","packages/pglite-react/CHANGELOG.md":"# Pglite-react Skill\n\nPath: `packages/pglite-react/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-react/CHANGELOG.md)","packages/pglite-react/package.json":"# Pglite-react Skill\n\nPath: `packages/pglite-react/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-react/package.json)","packages/pglite-react/README.md":"# pglite-react Documentation\n\nPath: `packages/pglite-react/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-react/README.md)","packages/pglite-react/tsconfig.json":"# Pglite-react Skill\n\nPath: `packages/pglite-react/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-react/tsconfig.json)","packages/pglite-prepopulatedfs/CHANGELOG.md":"# Pglite-prepopulatedfs Skill\n\nPath: `packages/pglite-prepopulatedfs/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-prepopulatedfs/CHANGELOG.md)","packages/pglite-prepopulatedfs/package.json":"# Pglite-prepopulatedfs Skill\n\nPath: `packages/pglite-prepopulatedfs/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-prepopulatedfs/package.json)","packages/pglite-prepopulatedfs/README.md":"# pglite-prepopulatedfs Documentation\n\nPath: `packages/pglite-prepopulatedfs/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-prepopulatedfs/README.md)","packages/pglite-prepopulatedfs/tsconfig.json":"# Pglite-prepopulatedfs Skill\n\nPath: `packages/pglite-prepopulatedfs/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-prepopulatedfs/tsconfig.json)","packages/pglite-postgis/CHANGELOG.md":"# Pglite-postgis Skill\n\nPath: `packages/pglite-postgis/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-postgis/CHANGELOG.md)","packages/pglite-postgis/package.json":"# Pglite-postgis Skill\n\nPath: `packages/pglite-postgis/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-postgis/package.json)","packages/pglite-postgis/README.md":"# pglite-postgis Documentation\n\nPath: `packages/pglite-postgis/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-postgis/README.md)","packages/pglite-postgis/tsconfig.json":"# Pglite-postgis Skill\n\nPath: `packages/pglite-postgis/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-postgis/tsconfig.json)","packages/pglite-pgvector/CHANGELOG.md":"# Pglite-pgvector Skill\n\nPath: `packages/pglite-pgvector/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pgvector/CHANGELOG.md)","packages/pglite-pgvector/package.json":"# Pglite-pgvector Skill\n\nPath: `packages/pglite-pgvector/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pgvector/package.json)","packages/pglite-pgvector/README.md":"# pglite-pgvector Documentation\n\nPath: `packages/pglite-pgvector/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pgvector/README.md)","packages/pglite-pgvector/tsconfig.json":"# Pglite-pgvector Skill\n\nPath: `packages/pglite-pgvector/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pgvector/tsconfig.json)","packages/pglite-pgtap/CHANGELOG.md":"# Pglite-pgtap Skill\n\nPath: `packages/pglite-pgtap/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pgtap/CHANGELOG.md)","packages/pglite-pgtap/package.json":"# Pglite-pgtap Skill\n\nPath: `packages/pglite-pgtap/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pgtap/package.json)","packages/pglite-pgtap/README.md":"# pglite-pgtap Documentation\n\nPath: `packages/pglite-pgtap/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pgtap/README.md)","packages/pglite-pgtap/tsconfig.json":"# Pglite-pgtap Skill\n\nPath: `packages/pglite-pgtap/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pgtap/tsconfig.json)","packages/pglite-pgmq/CHANGELOG.md":"# Pglite-pgmq Skill\n\nPath: `packages/pglite-pgmq/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pgmq/CHANGELOG.md)","packages/pglite-pgmq/package.json":"# Pglite-pgmq Skill\n\nPath: `packages/pglite-pgmq/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pgmq/package.json)","packages/pglite-pgmq/README.md":"# pglite-pgmq Documentation\n\nPath: `packages/pglite-pgmq/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pgmq/README.md)","packages/pglite-pgmq/tsconfig.json":"# Pglite-pgmq Skill\n\nPath: `packages/pglite-pgmq/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pgmq/tsconfig.json)","packages/pglite-pg_uuidv7/CHANGELOG.md":"# Pglite-pg_uuidv7 Skill\n\nPath: `packages/pglite-pg_uuidv7/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_uuidv7/CHANGELOG.md)","packages/pglite-pg_uuidv7/package.json":"# Pglite-pg_uuidv7 Skill\n\nPath: `packages/pglite-pg_uuidv7/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_uuidv7/package.json)","packages/pglite-pg_uuidv7/README.md":"# pglite-pg_uuidv7 Documentation\n\nPath: `packages/pglite-pg_uuidv7/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_uuidv7/README.md)","packages/pglite-pg_uuidv7/tsconfig.json":"# Pglite-pg_uuidv7 Skill\n\nPath: `packages/pglite-pg_uuidv7/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_uuidv7/tsconfig.json)","packages/pglite-pg_textsearch/CHANGELOG.md":"# Pglite-pg_textsearch Skill\n\nPath: `packages/pglite-pg_textsearch/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_textsearch/CHANGELOG.md)","packages/pglite-pg_textsearch/package.json":"# Pglite-pg_textsearch Skill\n\nPath: `packages/pglite-pg_textsearch/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_textsearch/package.json)","packages/pglite-pg_textsearch/README.md":"# pglite-pg_textsearch Documentation\n\nPath: `packages/pglite-pg_textsearch/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_textsearch/README.md)","packages/pglite-pg_textsearch/tsconfig.json":"# Pglite-pg_textsearch Skill\n\nPath: `packages/pglite-pg_textsearch/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_textsearch/tsconfig.json)","packages/pglite-pg_ivm/CHANGELOG.md":"# Pglite-pg_ivm Skill\n\nPath: `packages/pglite-pg_ivm/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_ivm/CHANGELOG.md)","packages/pglite-pg_ivm/package.json":"# Pglite-pg_ivm Skill\n\nPath: `packages/pglite-pg_ivm/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_ivm/package.json)","packages/pglite-pg_ivm/README.md":"# pglite-pg_ivm Documentation\n\nPath: `packages/pglite-pg_ivm/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_ivm/README.md)","packages/pglite-pg_ivm/tsconfig.json":"# Pglite-pg_ivm Skill\n\nPath: `packages/pglite-pg_ivm/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_ivm/tsconfig.json)","packages/pglite-pg_hashids/CHANGELOG.md":"# Pglite-pg_hashids Skill\n\nPath: `packages/pglite-pg_hashids/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_hashids/CHANGELOG.md)","packages/pglite-pg_hashids/package.json":"# Pglite-pg_hashids Skill\n\nPath: `packages/pglite-pg_hashids/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_hashids/package.json)","packages/pglite-pg_hashids/README.md":"# pglite-pg_hashids Documentation\n\nPath: `packages/pglite-pg_hashids/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_hashids/README.md)","packages/pglite-pg_hashids/tsconfig.json":"# Pglite-pg_hashids Skill\n\nPath: `packages/pglite-pg_hashids/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_hashids/tsconfig.json)","packages/pglite-icu-full/CHANGELOG.md":"# Pglite-icu-full Skill\n\nPath: `packages/pglite-icu-full/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-icu-full/CHANGELOG.md)","packages/pglite-icu-full/package.json":"# Pglite-icu-full Skill\n\nPath: `packages/pglite-icu-full/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-icu-full/package.json)","packages/pglite-icu-full/README.md":"# pglite-icu-full Documentation\n\nPath: `packages/pglite-icu-full/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-icu-full/README.md)","packages/pglite-icu-full/tsconfig.json":"# Pglite-icu-full Skill\n\nPath: `packages/pglite-icu-full/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-icu-full/tsconfig.json)","packages/pglite-age/CHANGELOG.md":"# Pglite-age Skill\n\nPath: `packages/pglite-age/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-age/CHANGELOG.md)","packages/pglite-age/package.json":"# Pglite-age Skill\n\nPath: `packages/pglite-age/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-age/package.json)","packages/pglite-age/README.md":"# pglite-age Documentation\n\nPath: `packages/pglite-age/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-age/README.md)","packages/pglite-age/tsconfig.json":"# Pglite-age Skill\n\nPath: `packages/pglite-age/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-age/tsconfig.json)","packages/pglite/CHANGELOG.md":"# Pglite Skill\n\nPath: `packages/pglite/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite/CHANGELOG.md)","packages/pglite/package.json":"# Pglite Skill\n\nPath: `packages/pglite/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite/package.json)","packages/pglite/README.md":"# pglite Documentation\n\nPath: `packages/pglite/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite/README.md)","packages/pglite/tsconfig.json":"# Pglite Skill\n\nPath: `packages/pglite/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite/tsconfig.json)","packages/pg-protocol/CHANGELOG.md":"# Pg-protocol Skill\n\nPath: `packages/pg-protocol/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pg-protocol/CHANGELOG.md)","packages/pg-protocol/package.json":"# Pg-protocol Skill\n\nPath: `packages/pg-protocol/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pg-protocol/package.json)","packages/pg-protocol/README.md":"# pg-protocol Documentation\n\nPath: `packages/pg-protocol/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pg-protocol/README.md)","packages/pg-protocol/tsconfig.json":"# Pg-protocol Skill\n\nPath: `packages/pg-protocol/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pg-protocol/tsconfig.json)","packages/benchmark/package.json":"# Benchmark Skill\n\nPath: `packages/benchmark/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/benchmark/package.json)","packages/benchmark/package-lock.json":"# Benchmark Skill\n\nPath: `packages/benchmark/package-lock.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/benchmark/package-lock.json)","packages/benchmark/README.md":"# benchmark Documentation\n\nPath: `packages/benchmark/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/benchmark/README.md)","packages/benchmark/tsconfig.json":"# Benchmark Skill\n\nPath: `packages/benchmark/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/benchmark/tsconfig.json)","packages/pglite-sync/example/docker-compose.yaml":"# Example Skill\n\nPath: `packages/pglite-sync/example/docker-compose.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-sync/example/docker-compose.yaml)","packages/pglite-sync/example/README.md":"# example Documentation\n\nPath: `packages/pglite-sync/example/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-sync/example/README.md)","packages/pglite-sync/test-e2e/docker_compose.yaml":"# Test-e2e Skill\n\nPath: `packages/pglite-sync/test-e2e/docker_compose.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-sync/test-e2e/docker_compose.yaml)","packages/pglite-icu-full/examples/README.md":"# examples Documentation\n\nPath: `packages/pglite-icu-full/examples/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-icu-full/examples/README.md)","packages/pglite-icu-full/examples/Switzerland/filters_switzerland.json":"# Switzerland Skill\n\nPath: `packages/pglite-icu-full/examples/Switzerland/filters_switzerland.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-icu-full/examples/Switzerland/filters_switzerland.json)","packages/pglite/tests/targets/deno/package.json":"# Deno Skill\n\nPath: `packages/pglite/tests/targets/deno/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite/tests/targets/deno/package.json)"},"items":[{"name":"age.md","path":"docs/extensions/age.md","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/docs/extensions/age.md","title":"Extensions Skill","category":"anthropic-skill","format":"markdown","content":"# Apache AGE Extension\n\n[Apache AGE](https://age.apache.org/) (A Graph Extension) brings graph database capabilities to PostgreSQL, allowing you to use the Cypher query language alongside standard SQL.\n\n## Installation\n\nThe AGE extension is included with PGlite. To use it:\n\n```typescript\nimport { PGlite } from '@electric-sql/pglite'\nimport { age } from '@electric-sql/pglite-age'\n\nconst pg = new PGlite({\n  extensions: {\n    age,\n  },\n})\n```\n\n## Important Notes\n\n### Schema Qualification\n\nAll AGE functions are in the `ag_catalog` schema. The extension does not implicitly update the search path for safety. You must either manually set the `search_path` to include `ag_catalog` for your connection, or use fully-qualified names:\n\n```typescript\n// Explicit qualification:\nawait pg.exec(\"SELECT ag_catalog.create_graph('g');\")\n\n// Setting the search path for the session:\nawait pg.exec('SET search_path = ag_catalog, \"$user\", public;')\nawait pg.exec(\"SELECT create_graph('g');\")\n```\n\n### Column Definitions\n\nCypher queries require column definitions in the `as` clause to map the dynamic graph types back to standard PostgreSQL relations:\n\n```typescript\n// Single column\nSELECT * FROM ag_catalog.cypher('g', $$ RETURN 1 $$) as (v ag_catalog.agtype);\n\n// Multiple columns\nSELECT * FROM ag_catalog.cypher('g', $$\n  MATCH (n) RETURN n.name, n.age\n$$) as (name ag_catalog.agtype, age ag_catalog.agtype);\n```\n\n## Limitations\n\n- **File operations**: `load_labels_from_file()` is not available (no filesystem access in WASM)\n- **Memory**: Large graphs may hit WebAssembly memory limits\n- **Performance**: Graph operations are CPU-intensive; consider pagination for large result sets\n\n## Resources\n\n- [Apache AGE Documentation](https://age.apache.org/age-manual/master/index.html)\n- [Cypher Query Language](https://neo4j.com/docs/cypher-manual/current/)\n- [AGE GitHub Repository](https://github.com/apache/age)\n","isInternal":false,"tokens":441,"sizeBytes":1904},{"name":"development.md","path":"docs/extensions/development.md","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/docs/extensions/development.md","title":"Extensions Skill","category":"anthropic-skill","format":"markdown","content":"# Extension Development\n\nPGlite has support for both Postgres extensions, and has its own plugin API that allows a developer to augment a PGlite instance with an additional API.\n\n## Extension API\n\n::: warning\nThe extension API is not yet stable and may change in a future release.\n:::\n\nPGlite extensions are an object with the following interface:\n\n```ts\nexport interface Extension {\n  name: string\n  setup: ExtensionSetup\n}\n\nexport type ExtensionSetup = (\n  pg: PGliteInterface,\n  emscriptenOpts: any,\n  clientOnly?: boolean,\n) => Promise<ExtensionSetupResult>\n\nexport interface ExtensionSetupResult {\n  emscriptenOpts?: any\n  namespaceObj?: any\n  bundlePath?: URL\n  init?: () => Promise<void>\n  close?: () => Promise<void>\n}\n```\n\n`name` is the human readable name of the extension.\n\n`setup` is a function that receives the following parameters, and returns a promise that resolves to an object conforming to `ExtensionSetupResult`:\n\n- `pg`<br>\n  The [PGlite](../docs/api.md) instance that the extension is being added to\n- `emscriptenOpts`<br>\n  The options currently configured to pass to the [Emscrption Module factory](https://emscripten.org/docs/api_reference/module.html), including the [Emscript FS](https://emscripten.org/docs/api_reference/Filesystem-API.html).\n- `clientOnly`<br>\n  A boolean indicating if this instance of the extension is \"client only\", meaning that it is on the main thread and doesn't have direct access to the underlying WASM as it is running in a worker. When true, `emscriptenOpts` and `bundlePath` should not re returned as they will have no effect.\n\nThe returned object has these properties - all are optional:\n\n- `emscriptenOpts`<br>\n  Any augmented or altered configuration to pass to the [Emscrption Module factory](https://emscripten.org/docs/api_reference/module.html).\n- `namespaceObj`<br>\n  An object to add as a namespace to the PGlite instance; this can provide access to additional methods or properties that your extension would like to expose.\n- `bundlePath`<br>\n  The path to the Postgres extension tarball - see [Building Postgres Extensions](#building-postgres-extensions)\n- `init`<br>\n  An initialisation function that will be run after the PGlite instance and Postgres runtime has started, but before the instance is marked as ready for external usage. You can use this to perform any initialisation your extension needs to perform on the database at startup.\n- `close`<br>\n  A function that will be called when the user calls `close()` on their PGlite instance; this is called before the database has been shut down.\n\nAn example of a PGlite extension that augments the PGlite instance is the [live query extension](../docs/live-queries.md).\n\n## Building Postgres Extensions\n\nIn PGlite, every Postgres extension consists of two parts: a **backend** part, and a **frontend** part. The backend part is its core code. The frontend part is the `typescript/javascript` code that interacts with PGlite.\n\n### Happy path\n\nSome extensions are (much) easier to build and integrate with PGlite than others. This section describes the process of porting a Postgres extension that has no external dependencies besides the already build ones for PGlite (see builder/Dockerfile).\n\nClone **PGlite's** entire repo, including submodules and install the necessary dependencies:\n\n```\n$ git clone --recurse-submodules git@github.com:electric-sql/pglite.git\n$ cd pglite\n$ pnpm i\n```\n\nand create a new branch to track your work:\n\n```\n$ git checkout -b myghname/myawesomeextension\n```\n\n#### Backend\n\nPGlite's backend code is in the repo [postgres-pglite](https://github.com/electric-sql/postgres-pglite) and is downloaded as a submodule dependency of the main repo. You will add your extension's code as a new submodule dependency:\n\n```\n$ cd postgres-pglite/pglite/other_extensions\n$ git submodule add <myawesomeextension_url>\n```\n\nThis **should** create a new folder `postgres-pglite/pglite/other_extensions/myawesomeextension` where the extension code has been downloaded. Check it:\n\n```\n$ ls -lah myawesomeextension\n<the extension files should be listed here>\n```\n\nNow append the **folder name** to `SUBDIRS` inside `postgres-pglite/pglite/other_extensions/Makefile`:\n\n```\nSUBDIRS = \\\n\t\tpg_ivm \\\n\t\tvector \\\n    myawesomeextension\n```\n\nThese steps allow our build environment to pick up the extension's code, then build and package it for PGlite. The backend build process will output a `myawesomeextension.tar.gz` containing the WASM code and/or any data dependencies of the extension.\n\n#### Frontend\n\nPGlite's frontend code is in the main [PGlite repo](https://github.com/electric-sql/pglite).\n\nYou will need to create a new package for your extension. The easiest way is to just copy the files from an existing extension package such as `packages/pglite-extensions/pglite-pgvector`. Obviously, you will need to adapt all the references to the previous extension.\n\nTo make it available in our online [REPL](https://pglite.dev/repl/), add the extension to `docs/repl/allExtensions.ts`:\n\n```\n\nexport { myawesomeextension } from '@electric-sql/pglite-myawesomeextension\n\n```\n\nFinally, add the extension description to `docs/extensions/extensions.data.ts`, inside `baseExtensions`:\n\n```\n\nconst baseExtensions: Extension[] = [\n...\n{\nname: 'My awesome Postgres extension',\ndescription: `     My awesome Postgres extension is something that the world has never seen before.\n    `,\nshortDescription:\n'My awesome PostgreSQL extension',\ndocs: 'https://github.com/myawesomeextension/extension',\ntags: ['postgres extension'],\nimportPath: '@electric-sql/pglite-myawesomeextension',\nimportName: 'my_awesome_extension',\nsize: 123456,\n},\n]\n\n```\n\n#### Tests\n\nTo make sure that your extension works, you need to add some tests for it. We use [vitest](https://vitest.dev/). They will be run as part of our CI/CD pipeline.\n\n#### Build and run tests\n\nFrom PGlite's base folder:\n\n```\n\n$ pnpm build:all\n\n```\n\nThis will build **everything**, including your new extension. If there are no errors, you are ready to run the tests!\n\n```\n\n$ cd packages/pglite-extensions/pglite-myawesomextension\n$ pnpm test\n\n```\n\nFix any errors that occur, re-run the tests! Iterate until everything works as expected.\n\n#### Contributing an extension to the project\n\nWe welcome contributions! Open a PR so anyone using PGlite can also use your extension!\n\n#### Further tips and tricks\n\nIf you get stuck, have a look at how other Postgres extensions are build for PGlite. Take a look at `pg_ivm`, `pgvector` or `pgtap`. You can also reach out on [Discord](https://discord.com/channels/933657521581858818/1212676471588520006) for help!\n\n### Unhappy path\n\nThis section is still under development.\n\nAs mentioned before, some extensions require more effort to integrate with PGlite. Usually the difficulties arrise from the fact that the extension itself has dependencies that need to be compiled for WASM, which in turn might have other dependencies that need to be compiled for WASM and so on. The entire chain of dependencies needs to be built for WASM.\n\nAnother source of pain for building an extension is the need to export symbols from the dependencies or from PGlite itself. Sometimes these are obvious only at runtime.\n\nWe are still working on documentation and examples showing how to build more complex Postgres extensions for use with PGlite. Please check back soon, or reach out on [Discord](https://discord.com/channels/933657521581858818/1212676471588520006) if you would like to try building a particular extension for PGlite.\n","isInternal":false,"tokens":1740,"sizeBytes":7525},{"name":"index.md","path":"docs/extensions/index.md","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/docs/extensions/index.md","title":"Extensions Skill","category":"anthropic-skill","format":"markdown","content":"<script setup>\nimport { computed, ref } from \"vue\";\nimport { data } from \"./extensions.data.ts\";\n\nconst filteredExtensions = computed(() => {\n  return data.extensions\n    .filter((ext) => !selectedTag.value || ext.tags.includes(selectedTag.value))\n    .sort((a, b) => {\n      if (a.featured && !b.featured) return -1;\n      if (!a.featured && b.featured) return 1;\n      return a.name.localeCompare(b.name);\n    });\n});\n\nfunction mainLink(ext) {\n  return ext.homepage || ext.repo || ext.docs;\n}\n\nfunction slugify(string) {\n  return string\n    .replace('/', '')\n    .replace(' ', '-')\n    .replace('_', '-')\n    .toLowerCase()\n}\n\nconst tags = computed(() => {\n  return data.tags.map((tag) => {\n    return {\n      name: tag,\n      count: data.extensions.filter((ext) => ext.tags.includes(tag)).length,\n    }\n  })\n})\n\nfunction formatSize(bytes) {\n  const units = ['B', 'KB', 'MB', 'GB', 'TB', 'PB'];\n  let i = 0;\n\n  while (bytes >= 1024 && i < units.length - 1) {\n    bytes /= 1024;\n    i++;\n  }\n\n  return `${bytes.toFixed(1)} ${units[i]}`;\n}\n\nconst selectedTag = ref(null)\nconst npmCounts = ref({})\n\nfunction toShortDecimal(x) {\n  return x.toLocaleString('en-US', {\n      // add suffixes for thousands, millions, and billions\n      // the maximum number of decimal places to use\n      maximumFractionDigits: 1,\n      // specify the abbreviations to use for the suffixes\n      notation: 'compact',\n      compactDisplay: 'short'\n    });\n}\n\nfunction getNpmCount(url) {\n  if (!url) return \"n/a\"\n  if (npmCounts.value[url] !== undefined) return npmCounts.value[url]\n\n  npmCounts.value[url] = \"...\"\n  const pkg = url.split(\"/package/\")[1]\n  if (!pkg) {\n    npmCounts.value[url] = \"n/a\"\n    return npmCounts.value[url]\n  }\n\n  fetch(`https://api.npmjs.org/downloads/point/last-week/${encodeURIComponent(pkg)}`)\n    .then((response) => response.json())\n    .then(({ downloads }) => {\n      npmCounts.value[url] = toShortDecimal(downloads) ?? \"n/a\"\n    })\n    .catch(() => {\n      npmCounts.value[url] = \"n/a\"\n    })\n\n  return npmCounts.value[url]\n}\n\n</script>\n\n<style scoped>\n.btn-tag {\n    border-color: var(--vp-button-alt-border);\n    color: var(--vp-button-alt-text);\n    background-color: var(--vp-button-alt-bg);\n    border-radius: 20px;\n    padding: 0 20px;\n    line-height: 38px;\n    font-size: 14.5px;\n    display: inline-block;\n    border: 1px solid transparent;\n    text-align: center;\n    font-weight: 600;\n    white-space: nowrap;\n    transition: color 0.25s, border-color 0.25s, background-color 0.25s;\n    margin-right: 0.5rem;\n}\n\n.btn-tag:hover {\n  border-color: var(--vp-button-alt-hover-border);\n  color: var(--vp-button-alt-hover-text);\n  background-color: var(--vp-button-alt-hover-bg);\n}\n\n.btn-tag.selected {\n  border-color: var(--vp-button-brand-border);\n  color: var(--vp-c-gray-3);\n  background-color: var(--vp-button-brand-bg);\n}\n\n.btn-tag.selected:hover {\n  border-color: var(--vp-button-brand-hover-border);\n  background-color: var(--vp-button-brand-hover-bg);\n}\n\n.btn-tag .count {\n  margin-left: 0.25rem;\n  margin-left: 0.25rem;\n  opacity: 0.5\n}\n\n.tags, .links {\n  margin-top: 1rem;\n}\n\n.tag {\n    border-color: var(--vp-button-alt-border);\n    color: var(--vp-button-alt-text);\n    background-color: var(--vp-button-alt-bg);\n    border-radius: 20px;\n    padding: 5px 10px;\n    line-height: 18px;\n    font-size: 14.5px;\n    display: inline-block;\n    border: 1px solid transparent;\n    text-align: center;\n    font-weight: 600;\n    white-space: nowrap;\n    transition: color 0.25s, border-color 0.25s, background-color 0.25s;\n    margin-right: 0.5rem;\n}\n\n.links a {\n  margin-right: 0.5rem;\n}\n\n.bundle-size {\n  float:right;\n  opacity: 0.5;\n}\n</style>\n\n# PGlite Extensions\n\nPGlite supports both Postgres extensions, and has a plugin API to enable extensions to extend the public API of the PGlite interface.\n\nBelow is a list of available extensions.\n\n<div class=\"tags\">\n  <button\n    v-for=\"tag in tags\"\n    :key=\"tag.name\"\n    @click=\"\n      selectedTag == tag.name ?\n        selectedTag = null :\n        selectedTag = tag.name\n    \"\n    class=\"btn-tag\"\n    :class=\"{ selected: tag.name === selectedTag }\"\n  >\n    {{ tag.name }} <span class=\"count\">{{ tag.count }}</span>\n  </button>\n</div>\n\n<div class=\"extension\" v-for=\"ext in filteredExtensions\">\n\n<h2\n  :id=\"slugify(ext.name)\"\n  tabindex=\"-1\"\n>\n  <a :href=\"mainLink(ext)\">{{ ext.name }}</a>\n  <a \n    class=\"header-anchor\"\n    :href=\"`#${slugify(ext.name)}`\"\n    :aria-label=\"`Permalink to ${ext.name}`\"\n  >​</a>\n</h2>\n\n<div class=\"description\" v-html=\"ext.descriptionHtml\"></div>\n\n<div class=\"links\">\n  <a \n    v-if=\"ext.repo?.startsWith('https://github.com/')\" \n    :href=\"ext.repo\"\n    target=\"_blank\"\n  >Github</a>\n  <a v-else-if=\"ext.repo\" :href=\"ext.repo\" target=\"_blank\">Repo</a>\n  <a v-if=\"ext.docs\" :href=\"ext.docs\" target=\"_blank\">Documentation</a>\n  <a v-if=\"ext.homepage\" :href=\"ext.homepage\" target=\"_blank\">Homepage</a>\n  <a v-if=\"ext.npmjsUrl\" :href=\"ext.npmjsUrl\" target=\"_blank\">NPM (⤓{{ getNpmCount(ext.npmjsUrl) }})</a>\n  <span class=\"bundle-size\" v-if=\"ext.size\">\n    Bundle Size: {{ formatSize(ext.size) }}\n  </span>\n</div>\n<div class=\"tags\">\n  <span v-for=\"tag in ext.tags\" :key=\"tag\" class=\"tag\">{{ tag }}</span>\n</div>\n</div>\n","isInternal":false,"tokens":1492,"sizeBytes":5223},{"name":"package-lock.json","path":"packages/benchmark/package-lock.json","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/benchmark/package-lock.json","title":"Benchmark Skill","category":"anthropic-skill","format":"json","content":"# Benchmark Skill\n\nPath: `packages/benchmark/package-lock.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/benchmark/package-lock.json)","tokens":300,"sizeBytes":190},{"name":"package.json","path":"packages/benchmark/package.json","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/benchmark/package.json","title":"Benchmark Skill","category":"anthropic-skill","format":"json","content":"# Benchmark Skill\n\nPath: `packages/benchmark/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/benchmark/package.json)","tokens":300,"sizeBytes":180},{"name":"tsconfig.json","path":"packages/benchmark/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/benchmark/tsconfig.json","title":"Benchmark Skill","category":"anthropic-skill","format":"json","content":"# Benchmark Skill\n\nPath: `packages/benchmark/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/benchmark/tsconfig.json)","tokens":300,"sizeBytes":182},{"name":"CHANGELOG.md","path":"packages/pg-protocol/CHANGELOG.md","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pg-protocol/CHANGELOG.md","title":"Pg-protocol Skill","category":"anthropic-skill","format":"markdown","content":"# Pg-protocol Skill\n\nPath: `packages/pg-protocol/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pg-protocol/CHANGELOG.md)","tokens":300,"sizeBytes":186},{"name":"package.json","path":"packages/pg-protocol/package.json","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pg-protocol/package.json","title":"Pg-protocol Skill","category":"anthropic-skill","format":"json","content":"# Pg-protocol Skill\n\nPath: `packages/pg-protocol/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pg-protocol/package.json)","tokens":300,"sizeBytes":186},{"name":"tsconfig.json","path":"packages/pg-protocol/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pg-protocol/tsconfig.json","title":"Pg-protocol Skill","category":"anthropic-skill","format":"json","content":"# Pg-protocol Skill\n\nPath: `packages/pg-protocol/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pg-protocol/tsconfig.json)","tokens":300,"sizeBytes":188},{"name":"CHANGELOG.md","path":"packages/pglite-age/CHANGELOG.md","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-age/CHANGELOG.md","title":"Pglite-age Skill","category":"anthropic-skill","format":"markdown","content":"# Pglite-age Skill\n\nPath: `packages/pglite-age/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-age/CHANGELOG.md)","tokens":300,"sizeBytes":183},{"name":"package.json","path":"packages/pglite-age/package.json","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-age/package.json","title":"Pglite-age Skill","category":"anthropic-skill","format":"json","content":"# Pglite-age Skill\n\nPath: `packages/pglite-age/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-age/package.json)","tokens":300,"sizeBytes":183},{"name":"tsconfig.json","path":"packages/pglite-age/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-age/tsconfig.json","title":"Pglite-age Skill","category":"anthropic-skill","format":"json","content":"# Pglite-age Skill\n\nPath: `packages/pglite-age/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-age/tsconfig.json)","tokens":300,"sizeBytes":185},{"name":"CHANGELOG.md","path":"packages/pglite-icu-full/CHANGELOG.md","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-icu-full/CHANGELOG.md","title":"Pglite-icu-full Skill","category":"anthropic-skill","format":"markdown","content":"# Pglite-icu-full Skill\n\nPath: `packages/pglite-icu-full/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-icu-full/CHANGELOG.md)","tokens":300,"sizeBytes":198},{"name":"filters_switzerland.json","path":"packages/pglite-icu-full/examples/Switzerland/filters_switzerland.json","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-icu-full/examples/Switzerland/filters_switzerland.json","title":"Switzerland Skill","category":"anthropic-skill","format":"json","content":"# Switzerland Skill\n\nPath: `packages/pglite-icu-full/examples/Switzerland/filters_switzerland.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-icu-full/examples/Switzerland/filters_switzerland.json)","tokens":300,"sizeBytes":260},{"name":"package.json","path":"packages/pglite-icu-full/package.json","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-icu-full/package.json","title":"Pglite-icu-full Skill","category":"anthropic-skill","format":"json","content":"# Pglite-icu-full Skill\n\nPath: `packages/pglite-icu-full/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-icu-full/package.json)","tokens":300,"sizeBytes":198},{"name":"tsconfig.json","path":"packages/pglite-icu-full/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-icu-full/tsconfig.json","title":"Pglite-icu-full Skill","category":"anthropic-skill","format":"json","content":"# Pglite-icu-full Skill\n\nPath: `packages/pglite-icu-full/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-icu-full/tsconfig.json)","tokens":300,"sizeBytes":200},{"name":"CHANGELOG.md","path":"packages/pglite-pg_hashids/CHANGELOG.md","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_hashids/CHANGELOG.md","title":"Pglite-pg_hashids Skill","category":"anthropic-skill","format":"markdown","content":"# Pglite-pg_hashids Skill\n\nPath: `packages/pglite-pg_hashids/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_hashids/CHANGELOG.md)","tokens":300,"sizeBytes":204},{"name":"package.json","path":"packages/pglite-pg_hashids/package.json","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_hashids/package.json","title":"Pglite-pg_hashids Skill","category":"anthropic-skill","format":"json","content":"# Pglite-pg_hashids Skill\n\nPath: `packages/pglite-pg_hashids/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_hashids/package.json)","tokens":300,"sizeBytes":204},{"name":"tsconfig.json","path":"packages/pglite-pg_hashids/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_hashids/tsconfig.json","title":"Pglite-pg_hashids Skill","category":"anthropic-skill","format":"json","content":"# Pglite-pg_hashids Skill\n\nPath: `packages/pglite-pg_hashids/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_hashids/tsconfig.json)","tokens":300,"sizeBytes":206},{"name":"CHANGELOG.md","path":"packages/pglite-pg_ivm/CHANGELOG.md","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_ivm/CHANGELOG.md","title":"Pglite-pg_ivm Skill","category":"anthropic-skill","format":"markdown","content":"# Pglite-pg_ivm Skill\n\nPath: `packages/pglite-pg_ivm/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_ivm/CHANGELOG.md)","tokens":300,"sizeBytes":192},{"name":"package.json","path":"packages/pglite-pg_ivm/package.json","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_ivm/package.json","title":"Pglite-pg_ivm Skill","category":"anthropic-skill","format":"json","content":"# Pglite-pg_ivm Skill\n\nPath: `packages/pglite-pg_ivm/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_ivm/package.json)","tokens":300,"sizeBytes":192},{"name":"tsconfig.json","path":"packages/pglite-pg_ivm/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_ivm/tsconfig.json","title":"Pglite-pg_ivm Skill","category":"anthropic-skill","format":"json","content":"# Pglite-pg_ivm Skill\n\nPath: `packages/pglite-pg_ivm/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_ivm/tsconfig.json)","tokens":300,"sizeBytes":194},{"name":"CHANGELOG.md","path":"packages/pglite-pg_textsearch/CHANGELOG.md","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_textsearch/CHANGELOG.md","title":"Pglite-pg_textsearch Skill","category":"anthropic-skill","format":"markdown","content":"# Pglite-pg_textsearch Skill\n\nPath: `packages/pglite-pg_textsearch/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_textsearch/CHANGELOG.md)","tokens":300,"sizeBytes":213},{"name":"package.json","path":"packages/pglite-pg_textsearch/package.json","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_textsearch/package.json","title":"Pglite-pg_textsearch Skill","category":"anthropic-skill","format":"json","content":"# Pglite-pg_textsearch Skill\n\nPath: `packages/pglite-pg_textsearch/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_textsearch/package.json)","tokens":300,"sizeBytes":213},{"name":"tsconfig.json","path":"packages/pglite-pg_textsearch/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_textsearch/tsconfig.json","title":"Pglite-pg_textsearch Skill","category":"anthropic-skill","format":"json","content":"# Pglite-pg_textsearch Skill\n\nPath: `packages/pglite-pg_textsearch/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_textsearch/tsconfig.json)","tokens":300,"sizeBytes":215},{"name":"CHANGELOG.md","path":"packages/pglite-pg_uuidv7/CHANGELOG.md","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_uuidv7/CHANGELOG.md","title":"Pglite-pg_uuidv7 Skill","category":"anthropic-skill","format":"markdown","content":"# Pglite-pg_uuidv7 Skill\n\nPath: `packages/pglite-pg_uuidv7/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_uuidv7/CHANGELOG.md)","tokens":300,"sizeBytes":201},{"name":"package.json","path":"packages/pglite-pg_uuidv7/package.json","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_uuidv7/package.json","title":"Pglite-pg_uuidv7 Skill","category":"anthropic-skill","format":"json","content":"# Pglite-pg_uuidv7 Skill\n\nPath: `packages/pglite-pg_uuidv7/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_uuidv7/package.json)","tokens":300,"sizeBytes":201},{"name":"tsconfig.json","path":"packages/pglite-pg_uuidv7/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_uuidv7/tsconfig.json","title":"Pglite-pg_uuidv7 Skill","category":"anthropic-skill","format":"json","content":"# Pglite-pg_uuidv7 Skill\n\nPath: `packages/pglite-pg_uuidv7/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_uuidv7/tsconfig.json)","tokens":300,"sizeBytes":203},{"name":"CHANGELOG.md","path":"packages/pglite-pgmq/CHANGELOG.md","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pgmq/CHANGELOG.md","title":"Pglite-pgmq Skill","category":"anthropic-skill","format":"markdown","content":"# Pglite-pgmq Skill\n\nPath: `packages/pglite-pgmq/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pgmq/CHANGELOG.md)","tokens":300,"sizeBytes":186},{"name":"package.json","path":"packages/pglite-pgmq/package.json","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pgmq/package.json","title":"Pglite-pgmq Skill","category":"anthropic-skill","format":"json","content":"# Pglite-pgmq Skill\n\nPath: `packages/pglite-pgmq/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pgmq/package.json)","tokens":300,"sizeBytes":186},{"name":"tsconfig.json","path":"packages/pglite-pgmq/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pgmq/tsconfig.json","title":"Pglite-pgmq Skill","category":"anthropic-skill","format":"json","content":"# Pglite-pgmq Skill\n\nPath: `packages/pglite-pgmq/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pgmq/tsconfig.json)","tokens":300,"sizeBytes":188},{"name":"CHANGELOG.md","path":"packages/pglite-pgtap/CHANGELOG.md","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pgtap/CHANGELOG.md","title":"Pglite-pgtap Skill","category":"anthropic-skill","format":"markdown","content":"# Pglite-pgtap Skill\n\nPath: `packages/pglite-pgtap/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pgtap/CHANGELOG.md)","tokens":300,"sizeBytes":189},{"name":"package.json","path":"packages/pglite-pgtap/package.json","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pgtap/package.json","title":"Pglite-pgtap Skill","category":"anthropic-skill","format":"json","content":"# Pglite-pgtap Skill\n\nPath: `packages/pglite-pgtap/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pgtap/package.json)","tokens":300,"sizeBytes":189},{"name":"tsconfig.json","path":"packages/pglite-pgtap/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pgtap/tsconfig.json","title":"Pglite-pgtap Skill","category":"anthropic-skill","format":"json","content":"# Pglite-pgtap Skill\n\nPath: `packages/pglite-pgtap/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pgtap/tsconfig.json)","tokens":300,"sizeBytes":191},{"name":"CHANGELOG.md","path":"packages/pglite-pgvector/CHANGELOG.md","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pgvector/CHANGELOG.md","title":"Pglite-pgvector Skill","category":"anthropic-skill","format":"markdown","content":"# Pglite-pgvector Skill\n\nPath: `packages/pglite-pgvector/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pgvector/CHANGELOG.md)","tokens":300,"sizeBytes":198},{"name":"package.json","path":"packages/pglite-pgvector/package.json","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pgvector/package.json","title":"Pglite-pgvector Skill","category":"anthropic-skill","format":"json","content":"# Pglite-pgvector Skill\n\nPath: `packages/pglite-pgvector/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pgvector/package.json)","tokens":300,"sizeBytes":198},{"name":"tsconfig.json","path":"packages/pglite-pgvector/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pgvector/tsconfig.json","title":"Pglite-pgvector Skill","category":"anthropic-skill","format":"json","content":"# Pglite-pgvector Skill\n\nPath: `packages/pglite-pgvector/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pgvector/tsconfig.json)","tokens":300,"sizeBytes":200},{"name":"CHANGELOG.md","path":"packages/pglite-postgis/CHANGELOG.md","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-postgis/CHANGELOG.md","title":"Pglite-postgis Skill","category":"anthropic-skill","format":"markdown","content":"# Pglite-postgis Skill\n\nPath: `packages/pglite-postgis/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-postgis/CHANGELOG.md)","tokens":300,"sizeBytes":195},{"name":"package.json","path":"packages/pglite-postgis/package.json","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-postgis/package.json","title":"Pglite-postgis Skill","category":"anthropic-skill","format":"json","content":"# Pglite-postgis Skill\n\nPath: `packages/pglite-postgis/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-postgis/package.json)","tokens":300,"sizeBytes":195},{"name":"tsconfig.json","path":"packages/pglite-postgis/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-postgis/tsconfig.json","title":"Pglite-postgis Skill","category":"anthropic-skill","format":"json","content":"# Pglite-postgis Skill\n\nPath: `packages/pglite-postgis/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-postgis/tsconfig.json)","tokens":300,"sizeBytes":197},{"name":"CHANGELOG.md","path":"packages/pglite-prepopulatedfs/CHANGELOG.md","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-prepopulatedfs/CHANGELOG.md","title":"Pglite-prepopulatedfs Skill","category":"anthropic-skill","format":"markdown","content":"# Pglite-prepopulatedfs Skill\n\nPath: `packages/pglite-prepopulatedfs/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-prepopulatedfs/CHANGELOG.md)","tokens":300,"sizeBytes":216},{"name":"package.json","path":"packages/pglite-prepopulatedfs/package.json","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-prepopulatedfs/package.json","title":"Pglite-prepopulatedfs Skill","category":"anthropic-skill","format":"json","content":"# Pglite-prepopulatedfs Skill\n\nPath: `packages/pglite-prepopulatedfs/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-prepopulatedfs/package.json)","tokens":300,"sizeBytes":216},{"name":"tsconfig.json","path":"packages/pglite-prepopulatedfs/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-prepopulatedfs/tsconfig.json","title":"Pglite-prepopulatedfs Skill","category":"anthropic-skill","format":"json","content":"# Pglite-prepopulatedfs Skill\n\nPath: `packages/pglite-prepopulatedfs/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-prepopulatedfs/tsconfig.json)","tokens":300,"sizeBytes":218},{"name":"CHANGELOG.md","path":"packages/pglite-react/CHANGELOG.md","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-react/CHANGELOG.md","title":"Pglite-react Skill","category":"anthropic-skill","format":"markdown","content":"# Pglite-react Skill\n\nPath: `packages/pglite-react/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-react/CHANGELOG.md)","tokens":300,"sizeBytes":189},{"name":"package.json","path":"packages/pglite-react/package.json","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-react/package.json","title":"Pglite-react Skill","category":"anthropic-skill","format":"json","content":"# Pglite-react Skill\n\nPath: `packages/pglite-react/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-react/package.json)","tokens":300,"sizeBytes":189},{"name":"tsconfig.json","path":"packages/pglite-react/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-react/tsconfig.json","title":"Pglite-react Skill","category":"anthropic-skill","format":"json","content":"# Pglite-react Skill\n\nPath: `packages/pglite-react/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-react/tsconfig.json)","tokens":300,"sizeBytes":191},{"name":"CHANGELOG.md","path":"packages/pglite-repl/CHANGELOG.md","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-repl/CHANGELOG.md","title":"Pglite-repl Skill","category":"anthropic-skill","format":"markdown","content":"# Pglite-repl Skill\n\nPath: `packages/pglite-repl/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-repl/CHANGELOG.md)","tokens":300,"sizeBytes":186},{"name":"package.json","path":"packages/pglite-repl/package.json","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-repl/package.json","title":"Pglite-repl Skill","category":"anthropic-skill","format":"json","content":"# Pglite-repl Skill\n\nPath: `packages/pglite-repl/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-repl/package.json)","tokens":300,"sizeBytes":186},{"name":"tsconfig.json","path":"packages/pglite-repl/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-repl/tsconfig.json","title":"Pglite-repl Skill","category":"anthropic-skill","format":"json","content":"# Pglite-repl Skill\n\nPath: `packages/pglite-repl/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-repl/tsconfig.json)","tokens":300,"sizeBytes":188},{"name":"tsconfig.node.json","path":"packages/pglite-repl/tsconfig.node.json","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-repl/tsconfig.node.json","title":"Pglite-repl Skill","category":"anthropic-skill","format":"json","content":"# Pglite-repl Skill\n\nPath: `packages/pglite-repl/tsconfig.node.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-repl/tsconfig.node.json)","tokens":300,"sizeBytes":198},{"name":"CHANGELOG.md","path":"packages/pglite-socket/CHANGELOG.md","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-socket/CHANGELOG.md","title":"Pglite-socket Skill","category":"anthropic-skill","format":"markdown","content":"# Pglite-socket Skill\n\nPath: `packages/pglite-socket/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-socket/CHANGELOG.md)","tokens":300,"sizeBytes":192},{"name":"package.json","path":"packages/pglite-socket/package.json","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-socket/package.json","title":"Pglite-socket Skill","category":"anthropic-skill","format":"json","content":"# Pglite-socket Skill\n\nPath: `packages/pglite-socket/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-socket/package.json)","tokens":300,"sizeBytes":192},{"name":"tsconfig.json","path":"packages/pglite-socket/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-socket/tsconfig.json","title":"Pglite-socket Skill","category":"anthropic-skill","format":"json","content":"# Pglite-socket Skill\n\nPath: `packages/pglite-socket/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-socket/tsconfig.json)","tokens":300,"sizeBytes":194},{"name":"CHANGELOG.md","path":"packages/pglite-sync/CHANGELOG.md","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-sync/CHANGELOG.md","title":"Pglite-sync Skill","category":"anthropic-skill","format":"markdown","content":"# Pglite-sync Skill\n\nPath: `packages/pglite-sync/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-sync/CHANGELOG.md)","tokens":300,"sizeBytes":186},{"name":"docker-compose.yaml","path":"packages/pglite-sync/example/docker-compose.yaml","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-sync/example/docker-compose.yaml","title":"Example Skill","category":"anthropic-skill","format":"yaml","content":"# Example Skill\n\nPath: `packages/pglite-sync/example/docker-compose.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-sync/example/docker-compose.yaml)","tokens":300,"sizeBytes":212},{"name":"package.json","path":"packages/pglite-sync/package.json","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-sync/package.json","title":"Pglite-sync Skill","category":"anthropic-skill","format":"json","content":"# Pglite-sync Skill\n\nPath: `packages/pglite-sync/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-sync/package.json)","tokens":300,"sizeBytes":186},{"name":"docker_compose.yaml","path":"packages/pglite-sync/test-e2e/docker_compose.yaml","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-sync/test-e2e/docker_compose.yaml","title":"Test-e2e Skill","category":"anthropic-skill","format":"yaml","content":"# Test-e2e Skill\n\nPath: `packages/pglite-sync/test-e2e/docker_compose.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-sync/test-e2e/docker_compose.yaml)","tokens":300,"sizeBytes":215},{"name":"tsconfig.json","path":"packages/pglite-sync/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-sync/tsconfig.json","title":"Pglite-sync Skill","category":"anthropic-skill","format":"json","content":"# Pglite-sync Skill\n\nPath: `packages/pglite-sync/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-sync/tsconfig.json)","tokens":300,"sizeBytes":188},{"name":"package.json","path":"packages/pglite-tools/package.json","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-tools/package.json","title":"Pglite-tools Skill","category":"anthropic-skill","format":"json","content":"# Pglite-tools Skill\n\nPath: `packages/pglite-tools/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-tools/package.json)","tokens":300,"sizeBytes":189},{"name":"tsconfig.json","path":"packages/pglite-tools/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-tools/tsconfig.json","title":"Pglite-tools Skill","category":"anthropic-skill","format":"json","content":"# Pglite-tools Skill\n\nPath: `packages/pglite-tools/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-tools/tsconfig.json)","tokens":300,"sizeBytes":191},{"name":"CHANGELOG.md","path":"packages/pglite-utils/CHANGELOG.md","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-utils/CHANGELOG.md","title":"Pglite-utils Skill","category":"anthropic-skill","format":"markdown","content":"# @electric-sql/pglite-utils\n\n## 0.0.4\n\n### Patch Changes\n\n- 6c14380: fixes for process.exitCode\n\n## 0.0.3\n\n### Patch Changes\n\n- a4e163a: fix process exit code set/restore\n\n## 0.0.2\n\n### Patch Changes\n\n- c6bddde: Fix caching of artifacts such that they are not downloaded multiple times\n","isInternal":false,"tokens":92,"sizeBytes":287},{"name":"CHANGELOG.md","path":"packages/pglite-vue/CHANGELOG.md","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-vue/CHANGELOG.md","title":"Pglite-vue Skill","category":"anthropic-skill","format":"markdown","content":"# @electric-sql/pglite-vue\n\n## 0.4.11\n\n### Patch Changes\n\n- Updated dependencies [5573bb0]\n- Updated dependencies [2372f39]\n- Updated dependencies [4321a41]\n  - @electric-sql/pglite@0.5.11\n  - @electric-sql/pglite-pgvector@0.0.12\n\n## 0.4.10\n\n### Patch Changes\n\n- Updated dependencies [367ee2f]\n- Updated dependencies [cb06c21]\n- Updated dependencies [78012ca]\n  - @electric-sql/pglite@0.5.10\n  - @electric-sql/pglite-pgvector@0.0.11\n\n## 0.4.9\n\n### Patch Changes\n\n- Updated dependencies [389b731]\n- Updated dependencies [389b731]\n  - @electric-sql/pglite@0.5.9\n  - @electric-sql/pglite-pgvector@0.0.10\n\n## 0.4.8\n\n### Patch Changes\n\n- Updated dependencies [c771db3]\n  - @electric-sql/pglite@0.5.8\n  - @electric-sql/pglite-pgvector@0.0.9\n\n## 0.4.7\n\n### Patch Changes\n\n- Updated dependencies [2f9cf75]\n  - @electric-sql/pglite@0.5.7\n  - @electric-sql/pglite-pgvector@0.0.8\n\n## 0.4.6\n\n### Patch Changes\n\n- Updated dependencies [69b7d87]\n- Updated dependencies [6c14380]\n  - @electric-sql/pglite@0.5.6\n  - @electric-sql/pglite-pgvector@0.0.7\n\n## 0.4.5\n\n### Patch Changes\n\n- Updated dependencies [a290741]\n- Updated dependencies [6b6f28d]\n- Updated dependencies [354f4ae]\n- Updated dependencies [219af1e]\n- Updated dependencies [20839a7]\n- Updated dependencies [7e784a4]\n  - @electric-sql/pglite@0.5.5\n  - @electric-sql/pglite-pgvector@0.0.6\n\n## 0.4.4\n\n### Patch Changes\n\n- Updated dependencies [7e0d6d1]\n  - @electric-sql/pglite@0.5.4\n  - @electric-sql/pglite-pgvector@0.0.5\n\n## 0.4.3\n\n### Patch Changes\n\n- Updated dependencies [2ccbb4c]\n  - @electric-sql/pglite@0.5.3\n  - @electric-sql/pglite-pgvector@0.0.4\n\n## 0.4.2\n\n### Patch Changes\n\n- Updated dependencies [21fc995]\n- Updated dependencies [0720cb6]\n- Updated dependencies [e09535f]\n- Updated dependencies [a4e163a]\n  - @electric-sql/pglite@0.5.2\n  - @electric-sql/pglite-pgvector@0.0.3\n\n## 0.4.1\n\n### Patch Changes\n\n- Updated dependencies [930e2d0]\n  - @electric-sql/pglite@0.5.1\n  - @electric-sql/pglite-pgvector@0.0.2\n\n## 0.4.0\n\n### Minor Changes\n\n- 93d50aa: Upgrade to Postgres 18.3; move other extensions to their own npm packages;\n- Updated dependencies [93d50aa]\n  - @electric-sql/pglite@0.5.0\n  - @electric-sql/pglite-pgvector@0.0.1\n\n## 0.3.6\n\n### Patch Changes\n\n- Updated dependencies [2aa4d1a]\n- Updated dependencies [2095d4e]\n- Updated dependencies [e937669]\n- Updated dependencies [54ed6dc]\n- Updated dependencies [817d073]\n  - @electric-sql/pglite@0.4.6\n\n## 0.3.5\n\n### Patch Changes\n\n- Updated dependencies [c6bddde]\n  - @electric-sql/pglite@0.4.5\n\n## 0.3.4\n\n### Patch Changes\n\n- Updated dependencies [b88c5c3]\n  - @electric-sql/pglite@0.4.4\n\n## 0.3.3\n\n### Patch Changes\n\n- Updated dependencies [2ae666f]\n- Updated dependencies [fb95e66]\n- Updated dependencies [65fc101]\n  - @electric-sql/pglite@0.4.3\n\n## 0.3.2\n\n### Patch Changes\n\n- Updated dependencies [41632c4]\n  - @electric-sql/pglite@0.4.2\n\n## 0.3.1\n\n### Patch Changes\n\n- Updated dependencies [37fb39e]\n  - @electric-sql/pglite@0.4.1\n\n## 0.3.0\n\n### Minor Changes\n\n- Updated dependencies [d848955]\n  - @electric-sql/pglite@0.4.0\n\n## 0.2.34\n\n### Patch Changes\n\n- Updated dependencies [3dfa40f]\n  - @electric-sql/pglite@0.3.16\n\n## 0.2.33\n\n### Patch Changes\n\n- Updated dependencies [45bff97]\n- Updated dependencies [5ec474f]\n  - @electric-sql/pglite@0.3.15\n\n## 0.2.32\n\n### Patch Changes\n\n- Updated dependencies [8785034]\n- Updated dependencies [90cfee8]\n  - @electric-sql/pglite@0.3.14\n\n## 0.2.31\n\n### Patch Changes\n\n- Updated dependencies [ad3d0d8]\n  - @electric-sql/pglite@0.3.13\n\n## 0.2.30\n\n### Patch Changes\n\n- Updated dependencies [ce0e74e]\n  - @electric-sql/pglite@0.3.12\n\n## 0.2.29\n\n### Patch Changes\n\n- Updated dependencies [9a104b9]\n  - @electric-sql/pglite@0.3.11\n\n## 0.2.28\n\n### Patch Changes\n\n- Updated dependencies [ad765ed]\n  - @electric-sql/pglite@0.3.10\n\n## 0.2.27\n\n### Patch Changes\n\n- Updated dependencies [e40ccad]\n  - @electric-sql/pglite@0.3.9\n\n## 0.2.26\n\n### Patch Changes\n\n- Updated dependencies [f12a582]\n- Updated dependencies [bd263aa]\n  - @electric-sql/pglite@0.3.8\n\n## 0.2.25\n\n### Patch Changes\n\n- Updated dependencies [0936962]\n  - @electric-sql/pglite@0.3.7\n\n## 0.2.24\n\n### Patch Changes\n\n- Updated dependencies [6898469]\n- Updated dependencies [469be18]\n- Updated dependencies [64e33c7]\n  - @electric-sql/pglite@0.3.6\n\n## 0.2.23\n\n### Patch Changes\n\n- Updated dependencies [6653899]\n- Updated dependencies [5f007fc]\n  - @electric-sql/pglite@0.3.5\n\n## 0.2.22\n\n### Patch Changes\n\n- 38a55d0: fix cjs/esm misconfigurations\n- Updated dependencies [1fcaa3e]\n- Updated dependencies [38a55d0]\n- Updated dependencies [aac7003]\n- Updated dependencies [8ca254d]\n  - @electric-sql/pglite@0.3.4\n\n## 0.2.21\n\n### Patch Changes\n\n- Updated dependencies [ea2c7c7]\n  - @electric-sql/pglite@0.3.3\n\n## 0.2.20\n\n### Patch Changes\n\n- Updated dependencies [e2c654b]\n  - @electric-sql/pglite@0.3.2\n\n## 0.2.19\n\n### Patch Changes\n\n- Updated dependencies [713364e]\n  - @electric-sql/pglite@0.3.1\n\n## 0.2.18\n\n### Patch Changes\n\n- 317fd36: Specify a peer dependency range on @electric-sql/pglite\n- Updated dependencies [97e52f7]\n- Updated dependencies [4356024]\n- Updated dependencies [0033bc7]\n  - @electric-sql/pglite@0.3.0\n\n## 0.2.17\n\n### Patch Changes\n\n- Updated dependencies [6bdd74e]\n- Updated dependencies [f94d591]\n  - @electric-sql/pglite@0.2.17\n\n## 0.2.16\n\n### Patch Changes\n\n- 7ce9f04: Fix Vue useLiveQuery to allow no parameters to be provided\n- Updated dependencies [c36fd09]\n- Updated dependencies [e037883]\n- Updated dependencies [d6b981b]\n- Updated dependencies [17e7664]\n- Updated dependencies [118ba3e]\n- Updated dependencies [d93c1bb]\n- Updated dependencies [ddd4a68]\n- Updated dependencies [f3f1103]\n- Updated dependencies [67fb2aa]\n  - @electric-sql/pglite@0.2.16\n\n## 0.2.15\n\n### Patch Changes\n\n- Updated dependencies [fa13714]\n  - @electric-sql/pglite@0.2.15\n\n## 0.2.14\n\n### Patch Changes\n\n- Updated dependencies [6547374]\n- Updated dependencies [6547374]\n- Updated dependencies [df5c290]\n- Updated dependencies [1784d04]\n- Updated dependencies [ae36974]\n- Updated dependencies [75f9f6d]\n- Updated dependencies [ce212cf]\n  - @electric-sql/pglite@0.2.14\n\n## 0.2.13\n\n### Patch Changes\n\n- 3d8efbb: Bump dependencies to address Dependabot alerts\n- Updated dependencies [5e39036]\n- Updated dependencies [3d8efbb]\n- Updated dependencies [1844b10]\n- Updated dependencies [79e6082]\n- Updated dependencies [16d2296]\n- Updated dependencies [cf50f47]\n- Updated dependencies [bd1b3b9]\n- Updated dependencies [5e39036]\n- Updated dependencies [16d2296]\n- Updated dependencies [e9bd9a7]\n- Updated dependencies [c442c88]\n  - @electric-sql/pglite@0.2.13\n\n## 0.2.12\n\n### Patch Changes\n\n- Updated dependencies [1495625]\n- Updated dependencies [d3905cf]\n- Updated dependencies [1f036dc]\n- Updated dependencies [52ddcb0]\n  - @electric-sql/pglite@0.2.12\n\n## 0.2.11\n\n### Patch Changes\n\n- Updated dependencies [2aed553]\n  - @electric-sql/pglite@0.2.11\n\n## 0.2.10\n\n### Patch Changes\n\n- Updated dependencies [3113d56]\n- Updated dependencies [23cd31a]\n  - @electric-sql/pglite@0.2.10\n\n## 0.2.9\n\n### Patch Changes\n\n- Updated dependencies [20008c2]\n- Updated dependencies [a5712a8]\n  - @electric-sql/pglite@0.2.9\n\n## 0.2.8\n\n### Patch Changes\n\n- b6e963c: fix: add export providePGlite and injectPGlite\n- Updated dependencies [53ec60e]\n- Updated dependencies [880b60d]\n- Updated dependencies [058ed7c]\n- Updated dependencies [2831c34]\n- Updated dependencies [880b60d]\n- Updated dependencies [880b60d]\n- Updated dependencies [4aeb677]\n- Updated dependencies [19b3529]\n  - @electric-sql/pglite@0.2.8\n\n## 0.2.7\n\n### Patch Changes\n\n- Updated dependencies [5e65236]\n- Updated dependencies [5e65236]\n  - @electric-sql/pglite@0.2.7\n\n## 0.2.6\n\n### Patch Changes\n\n- Updated dependencies [09b356c]\n- Updated dependencies [4238595]\n- Updated dependencies [ef57e10]\n  - @electric-sql/pglite@0.2.6\n\n## 0.2.5\n\n### Patch Changes\n\n- fcb101c: Add `useLiveQuery.sql` hook for SQL string templating.\n- Updated dependencies [fcb101c]\n- Updated dependencies [3ee5e60]\n- Updated dependencies [0dc34af]\n  - @electric-sql/pglite@0.2.5\n\n## 0.2.4\n\n### Patch Changes\n\n- Updated dependencies [113aa56]\n  - @electric-sql/pglite@0.2.4\n\n## 0.2.3\n\n### Patch Changes\n\n- Updated dependencies [d8ef285]\n  - @electric-sql/pglite@0.2.3\n\n## 0.2.2\n\n### Patch Changes\n\n- Updated dependencies [be41880]\n  - @electric-sql/pglite@0.2.2\n\n## 0.2.1\n\n### Patch Changes\n\n- 446c2df: Include both utility for typed injection and static injectors.\n- Updated dependencies [2cc39ff]\n  - @electric-sql/pglite@0.2.1\n","isInternal":false,"tokens":2956,"sizeBytes":8465},{"name":"package.json","path":"packages/pglite-vue/package.json","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-vue/package.json","title":"@electric-sql/pglite-vue","category":"anthropic-skill","format":"json","content":"{\n  \"name\": \"@electric-sql/pglite-vue\",\n  \"version\": \"0.4.11\",\n  \"description\": \"Vue hooks for using PGlite\",\n  \"type\": \"module\",\n  \"private\": false,\n  \"publishConfig\": {\n    \"access\": \"public\"\n  },\n  \"keywords\": [\n    \"postgres\",\n    \"sql\",\n    \"database\",\n    \"wasm\",\n    \"client\",\n    \"pglite\",\n    \"vue\"\n  ],\n  \"author\": \"Electric DB Limited\",\n  \"homepage\": \"https://pglite.dev\",\n  \"license\": \"Apache-2.0\",\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"git+https://github.com/electric-sql/pglite.git\",\n    \"directory\": \"packages/pglite-vue\"\n  },\n  \"scripts\": {\n    \"build\": \"tsup\",\n    \"check:exports\": \"attw . --pack --profile node16\",\n    \"test-v2\": \"vue-demi-switch 2 vue2 && vitest\",\n    \"test-v2.7\": \"vue-demi-switch 2.7 vue2.7 && vitest\",\n    \"test-v3\": \"vue-demi-switch 3 && vitest\",\n    \"test\": \"pnpm test-v2 && pnpm test-v2.7 && pnpm test-v3\",\n    \"lint\": \"eslint ./src ./test\",\n    \"format\": \"prettier --write ./src ./test\",\n    \"typecheck\": \"tsc\",\n    \"stylecheck\": \"eslint ./src ./test && prettier --check ./src ./test\",\n    \"prepublishOnly\": \"pnpm check:exports\"\n  },\n  \"types\": \"dist/index.d.ts\",\n  \"module\": \"dist/index.js\",\n  \"main\": \"dist/index.cjs\",\n  \"exports\": {\n    \".\": {\n      \"import\": {\n        \"types\": \"./dist/index.d.ts\",\n        \"default\": \"./dist/index.js\"\n      },\n      \"require\": {\n        \"types\": \"./dist/index.d.cts\",\n        \"default\": \"./dist/index.cjs\"\n      }\n    }\n  },\n  \"files\": [\n    \"dist\"\n  ],\n  \"dependencies\": {\n    \"vue-demi\": \"^0.14.10\"\n  },\n  \"devDependencies\": {\n    \"@arethetypeswrong/cli\": \"^0.18.1\",\n    \"@electric-sql/pglite\": \"workspace:*\",\n    \"@electric-sql/pglite-pgvector\": \"workspace:*\",\n    \"@eslint-react/eslint-plugin\": \"^1.14.3\",\n    \"@testing-library/dom\": \"^10.4.0\",\n    \"@testing-library/vue\": \"^8.1.0\",\n    \"@vitejs/plugin-vue\": \"^5.1.4\",\n    \"@vue/composition-api\": \"1.7.2\",\n    \"eslint-plugin-vue\": \"^9.29.0\",\n    \"jsdom\": \"^24.1.3\",\n    \"vitest\": \"^2.1.2\",\n    \"vue\": \"^3.5.11\",\n    \"vue2\": \"npm:vue@~2.6.14\",\n    \"vue2.7\": \"npm:vue@~2.7.16\"\n  },\n  \"peerDependencies\": {\n    \"@electric-sql/pglite\": \"workspace:0.5.11\",\n    \"@electric-sql/pglite-pgvector\": \"workspace:0.0.12\",\n    \"@vue/composition-api\": \"^1.1.2\",\n    \"vue\": \"^2.6.0 || ^3.3.0\"\n  },\n  \"peerDependenciesMeta\": {\n    \"@vue/composition-api\": {\n      \"optional\": true\n    }\n  }\n}\n","frontmatter":{"name":"@electric-sql/pglite-vue","version":"0.4.11","description":"Vue hooks for using PGlite","type":"module","private":false,"publishConfig":{"access":"public"},"keywords":["postgres","sql","database","wasm","client","pglite","vue"],"author":"Electric DB Limited","homepage":"https://pglite.dev","license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/electric-sql/pglite.git","directory":"packages/pglite-vue"},"scripts":{"build":"tsup","check:exports":"attw . --pack --profile node16","test-v2":"vue-demi-switch 2 vue2 && vitest","test-v2.7":"vue-demi-switch 2.7 vue2.7 && vitest","test-v3":"vue-demi-switch 3 && vitest","test":"pnpm test-v2 && pnpm test-v2.7 && pnpm test-v3","lint":"eslint ./src ./test","format":"prettier --write ./src ./test","typecheck":"tsc","stylecheck":"eslint ./src ./test && prettier --check ./src ./test","prepublishOnly":"pnpm check:exports"},"types":"dist/index.d.ts","module":"dist/index.js","main":"dist/index.cjs","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"files":["dist"],"dependencies":{"vue-demi":"^0.14.10"},"devDependencies":{"@arethetypeswrong/cli":"^0.18.1","@electric-sql/pglite":"workspace:*","@electric-sql/pglite-pgvector":"workspace:*","@eslint-react/eslint-plugin":"^1.14.3","@testing-library/dom":"^10.4.0","@testing-library/vue":"^8.1.0","@vitejs/plugin-vue":"^5.1.4","@vue/composition-api":"1.7.2","eslint-plugin-vue":"^9.29.0","jsdom":"^24.1.3","vitest":"^2.1.2","vue":"^3.5.11","vue2":"npm:vue@~2.6.14","vue2.7":"npm:vue@~2.7.16"},"peerDependencies":{"@electric-sql/pglite":"workspace:0.5.11","@electric-sql/pglite-pgvector":"workspace:0.0.12","@vue/composition-api":"^1.1.2","vue":"^2.6.0 || ^3.3.0"},"peerDependenciesMeta":{"@vue/composition-api":{"optional":true}}},"isInternal":false,"tokens":799,"sizeBytes":2322},{"name":"tsconfig.json","path":"packages/pglite-vue/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-vue/tsconfig.json","title":"Pglite-vue Skill","category":"anthropic-skill","format":"json","content":"{\n  \"extends\": \"../../tsconfig.json\",\n  \"compilerOptions\": {\n    \"jsx\": \"react-jsx\",\n  },\n  \"include\": [\n    \"src\",\n    \"test\",\n    \"eslint.config.js\",\n    \"test-setup.ts\",\n    \"tsup.config.js\",\n    \"vitest.config.ts\"\n  ]\n}","isInternal":false,"tokens":69,"sizeBytes":223},{"name":"CHANGELOG.md","path":"packages/pglite/CHANGELOG.md","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite/CHANGELOG.md","title":"Pglite Skill","category":"anthropic-skill","format":"markdown","content":"# Pglite Skill\n\nPath: `packages/pglite/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite/CHANGELOG.md)","tokens":300,"sizeBytes":171},{"name":"package.json","path":"packages/pglite/package.json","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite/package.json","title":"Pglite Skill","category":"anthropic-skill","format":"json","content":"# Pglite Skill\n\nPath: `packages/pglite/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite/package.json)","tokens":300,"sizeBytes":171},{"name":"package.json","path":"packages/pglite/tests/targets/deno/package.json","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite/tests/targets/deno/package.json","title":"Deno Skill","category":"anthropic-skill","format":"json","content":"# Deno Skill\n\nPath: `packages/pglite/tests/targets/deno/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite/tests/targets/deno/package.json)","tokens":300,"sizeBytes":207},{"name":"tsconfig.json","path":"packages/pglite/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite/tsconfig.json","title":"Pglite Skill","category":"anthropic-skill","format":"json","content":"# Pglite Skill\n\nPath: `packages/pglite/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite/tsconfig.json)","tokens":300,"sizeBytes":173},{"name":"README.md","path":"packages/benchmark/README.md","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/benchmark/README.md","title":"benchmark Documentation","category":"plugin-manifest","format":"markdown","content":"# benchmark Documentation\n\nPath: `packages/benchmark/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/benchmark/README.md)","tokens":300,"sizeBytes":182},{"name":"README.md","path":"packages/pg-protocol/README.md","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pg-protocol/README.md","title":"pg-protocol Documentation","category":"plugin-manifest","format":"markdown","content":"# pg-protocol Documentation\n\nPath: `packages/pg-protocol/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pg-protocol/README.md)","tokens":300,"sizeBytes":188},{"name":"README.md","path":"packages/pglite-age/README.md","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-age/README.md","title":"pglite-age Documentation","category":"plugin-manifest","format":"markdown","content":"# pglite-age Documentation\n\nPath: `packages/pglite-age/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-age/README.md)","tokens":300,"sizeBytes":185},{"name":"README.md","path":"packages/pglite-icu-full/examples/README.md","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-icu-full/examples/README.md","title":"examples Documentation","category":"plugin-manifest","format":"markdown","content":"# examples Documentation\n\nPath: `packages/pglite-icu-full/examples/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-icu-full/examples/README.md)","tokens":300,"sizeBytes":211},{"name":"README.md","path":"packages/pglite-icu-full/README.md","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-icu-full/README.md","title":"pglite-icu-full Documentation","category":"plugin-manifest","format":"markdown","content":"# pglite-icu-full Documentation\n\nPath: `packages/pglite-icu-full/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-icu-full/README.md)","tokens":300,"sizeBytes":200},{"name":"README.md","path":"packages/pglite-pg_hashids/README.md","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_hashids/README.md","title":"pglite-pg_hashids Documentation","category":"plugin-manifest","format":"markdown","content":"# pglite-pg_hashids Documentation\n\nPath: `packages/pglite-pg_hashids/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_hashids/README.md)","tokens":300,"sizeBytes":206},{"name":"README.md","path":"packages/pglite-pg_ivm/README.md","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_ivm/README.md","title":"pglite-pg_ivm Documentation","category":"plugin-manifest","format":"markdown","content":"# pglite-pg_ivm Documentation\n\nPath: `packages/pglite-pg_ivm/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_ivm/README.md)","tokens":300,"sizeBytes":194},{"name":"README.md","path":"packages/pglite-pg_textsearch/README.md","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_textsearch/README.md","title":"pglite-pg_textsearch Documentation","category":"plugin-manifest","format":"markdown","content":"# pglite-pg_textsearch Documentation\n\nPath: `packages/pglite-pg_textsearch/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_textsearch/README.md)","tokens":300,"sizeBytes":215},{"name":"README.md","path":"packages/pglite-pg_uuidv7/README.md","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_uuidv7/README.md","title":"pglite-pg_uuidv7 Documentation","category":"plugin-manifest","format":"markdown","content":"# pglite-pg_uuidv7 Documentation\n\nPath: `packages/pglite-pg_uuidv7/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_uuidv7/README.md)","tokens":300,"sizeBytes":203},{"name":"README.md","path":"packages/pglite-pgmq/README.md","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pgmq/README.md","title":"pglite-pgmq Documentation","category":"plugin-manifest","format":"markdown","content":"# pglite-pgmq Documentation\n\nPath: `packages/pglite-pgmq/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pgmq/README.md)","tokens":300,"sizeBytes":188},{"name":"README.md","path":"packages/pglite-pgtap/README.md","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pgtap/README.md","title":"pglite-pgtap Documentation","category":"plugin-manifest","format":"markdown","content":"# pglite-pgtap Documentation\n\nPath: `packages/pglite-pgtap/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pgtap/README.md)","tokens":300,"sizeBytes":191},{"name":"README.md","path":"packages/pglite-pgvector/README.md","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pgvector/README.md","title":"pglite-pgvector Documentation","category":"plugin-manifest","format":"markdown","content":"# pglite-pgvector Documentation\n\nPath: `packages/pglite-pgvector/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pgvector/README.md)","tokens":300,"sizeBytes":200},{"name":"README.md","path":"packages/pglite-postgis/README.md","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-postgis/README.md","title":"pglite-postgis Documentation","category":"plugin-manifest","format":"markdown","content":"# pglite-postgis Documentation\n\nPath: `packages/pglite-postgis/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-postgis/README.md)","tokens":300,"sizeBytes":197},{"name":"README.md","path":"packages/pglite-prepopulatedfs/README.md","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-prepopulatedfs/README.md","title":"pglite-prepopulatedfs Documentation","category":"plugin-manifest","format":"markdown","content":"# pglite-prepopulatedfs Documentation\n\nPath: `packages/pglite-prepopulatedfs/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-prepopulatedfs/README.md)","tokens":300,"sizeBytes":218},{"name":"README.md","path":"packages/pglite-react/README.md","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-react/README.md","title":"pglite-react Documentation","category":"plugin-manifest","format":"markdown","content":"# pglite-react Documentation\n\nPath: `packages/pglite-react/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-react/README.md)","tokens":300,"sizeBytes":191},{"name":"README.md","path":"packages/pglite-repl/README.md","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-repl/README.md","title":"pglite-repl Documentation","category":"plugin-manifest","format":"markdown","content":"# pglite-repl Documentation\n\nPath: `packages/pglite-repl/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-repl/README.md)","tokens":300,"sizeBytes":188},{"name":"README.md","path":"packages/pglite-socket/README.md","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-socket/README.md","title":"pglite-socket Documentation","category":"plugin-manifest","format":"markdown","content":"# pglite-socket Documentation\n\nPath: `packages/pglite-socket/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-socket/README.md)","tokens":300,"sizeBytes":194},{"name":"README.md","path":"packages/pglite-sync/example/README.md","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-sync/example/README.md","title":"example Documentation","category":"plugin-manifest","format":"markdown","content":"# example Documentation\n\nPath: `packages/pglite-sync/example/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-sync/example/README.md)","tokens":300,"sizeBytes":200},{"name":"README.md","path":"packages/pglite-sync/README.md","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-sync/README.md","title":"pglite-sync Documentation","category":"plugin-manifest","format":"markdown","content":"# pglite-sync Documentation\n\nPath: `packages/pglite-sync/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-sync/README.md)","tokens":300,"sizeBytes":188},{"name":"README.md","path":"packages/pglite-tools/README.md","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-tools/README.md","title":"pglite-tools Documentation","category":"plugin-manifest","format":"markdown","content":"# pglite-tools Documentation\n\nPath: `packages/pglite-tools/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-tools/README.md)","tokens":300,"sizeBytes":191},{"name":"README.md","path":"packages/pglite-utils/README.md","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-utils/README.md","title":"pglite-utils Documentation","category":"plugin-manifest","format":"markdown","content":"# pglite-utils\n\nShared utilities for all PGlite packages\n","isInternal":false,"tokens":14,"sizeBytes":57},{"name":"README.md","path":"packages/pglite-vue/README.md","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-vue/README.md","title":"pglite-vue Documentation","category":"plugin-manifest","format":"markdown","content":"# PGlite Vue Bindings\n\nThis package implements Vue hooks for [PGLite](https://pglite.dev/) on top of the [live query plugin](https://pglite.dev/docs/live-queries). Full documentation is available at [pglite.dev/docs/framework-hooks/vue](https://pglite.dev/docs/framework-hooks/vue).\n\nTo install:\n\n```sh\nnpm install @electric-sql/pglite-vue\n```\n\nThe hooks this package provides are:\n\n- [providePGlite](https://pglite.dev/docs/framework-hooks/vue#providepglite): Provide a PGlite instance to all child components.\n- [injectPGlite](https://pglite.dev/docs/framework-hooks/vue#injectpglite): Retrieve the provided PGlite instance.\n- [makePGliteDependencyInjector](https://pglite.dev/docs/framework-hooks/vue#makepglitedependencyinjector): Utility to create a typed version of `providePGlite` and `injectPGlite`.\n- [useLiveQuery](https://pglite.dev/docs/framework-hooks/vue#uselivequery): Reactively receive results of a live query change\n- [useLiveIncrementalQuery](https://pglite.dev/docs/framework-hooks/vue#useliveincrementalquery): Reactively receive results of a live query change by offloading the diff to PGlite\n","isInternal":false,"tokens":268,"sizeBytes":1115},{"name":"README.md","path":"packages/pglite/README.md","rawUrl":"https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite/README.md","title":"pglite Documentation","category":"plugin-manifest","format":"markdown","content":"# pglite Documentation\n\nPath: `packages/pglite/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite/README.md)","tokens":300,"sizeBytes":173}],"systemPromptSnippet":"<yakaai_skills repo=\"electric-sql/pglite\">\n<!-- File: docs/extensions/age.md (Tokens: ~441 | Category: anthropic-skill) -->\n# Apache AGE Extension\n\n[Apache AGE](https://age.apache.org/) (A Graph Extension) brings graph database capabilities to PostgreSQL, allowing you to use the Cypher query language alongside standard SQL.\n\n## Installation\n\nThe AGE extension is included with PGlite. To use it:\n\n```typescript\nimport { PGlite } from '@electric-sql/pglite'\nimport { age } from '@electric-sql/pglite-age'\n\nconst pg = new PGlite({\n  extensions: {\n    age,\n  },\n})\n```\n\n## Important Notes\n\n### Schema Qualification\n\nAll AGE functions are in the `ag_catalog` schema. The extension does not implicitly update the search path for safety. You must either manually set the `search_path` to include `ag_catalog` for your connection, or use fully-qualified names:\n\n```typescript\n// Explicit qualification:\nawait pg.exec(\"SELECT ag_catalog.create_graph('g');\")\n\n// Setting the search path for the session:\nawait pg.exec('SET search_path = ag_catalog, \"$user\", public;')\nawait pg.exec(\"SELECT create_graph('g');\")\n```\n\n### Column Definitions\n\nCypher queries require column definitions in the `as` clause to map the dynamic graph types back to standard PostgreSQL relations:\n\n```typescript\n// Single column\nSELECT * FROM ag_catalog.cypher('g', $$ RETURN 1 $$) as (v ag_catalog.agtype);\n\n// Multiple columns\nSELECT * FROM ag_catalog.cypher('g', $$\n  MATCH (n) RETURN n.name, n.age\n$$) as (name ag_catalog.agtype, age ag_catalog.agtype);\n```\n\n## Limitations\n\n- **File operations**: `load_labels_from_file()` is not available (no filesystem access in WASM)\n- **Memory**: Large graphs may hit WebAssembly memory limits\n- **Performance**: Graph operations are CPU-intensive; consider pagination for large result sets\n\n## Resources\n\n- [Apache AGE Documentation](https://age.apache.org/age-manual/master/index.html)\n- [Cypher Query Language](https://neo4j.com/docs/cypher-manual/current/)\n- [AGE GitHub Repository](https://github.com/apache/age)\n\n<!-- File: docs/extensions/development.md (Tokens: ~1740 | Category: anthropic-skill) -->\n# Extension Development\n\nPGlite has support for both Postgres extensions, and has its own plugin API that allows a developer to augment a PGlite instance with an additional API.\n\n## Extension API\n\n::: warning\nThe extension API is not yet stable and may change in a future release.\n:::\n\nPGlite extensions are an object with the following interface:\n\n```ts\nexport interface Extension {\n  name: string\n  setup: ExtensionSetup\n}\n\nexport type ExtensionSetup = (\n  pg: PGliteInterface,\n  emscriptenOpts: any,\n  clientOnly?: boolean,\n) => Promise<ExtensionSetupResult>\n\nexport interface ExtensionSetupResult {\n  emscriptenOpts?: any\n  namespaceObj?: any\n  bundlePath?: URL\n  init?: () => Promise<void>\n  close?: () => Promise<void>\n}\n```\n\n`name` is the human readable name of the extension.\n\n`setup` is a function that receives the following parameters, and returns a promise that resolves to an object conforming to `ExtensionSetupResult`:\n\n- `pg`<br>\n  The [PGlite](../docs/api.md) instance that the extension is being added to\n- `emscriptenOpts`<br>\n  The options currently configured to pass to the [Emscrption Module factory](https://emscripten.org/docs/api_reference/module.html), including the [Emscript FS](https://emscripten.org/docs/api_reference/Filesystem-API.html).\n- `clientOnly`<br>\n  A boolean indicating if this instance of the extension is \"client only\", meaning that it is on the main thread and doesn't have direct access to the underlying WASM as it is running in a worker. When true, `emscriptenOpts` and `bundlePath` should not re returned as they will have no effect.\n\nThe returned object has these properties - all are optional:\n\n- `emscriptenOpts`<br>\n  Any augmented or altered configuration to pass to the [Emscrption Module factory](https://emscripten.org/docs/api_reference/module.html).\n- `namespaceObj`<br>\n  An object to add as a namespace to the PGlite instance; this can provide access to additional methods or properties that your extension would like to expose.\n- `bundlePath`<br>\n  The path to the Postgres extension tarball - see [Building Postgres Extensions](#building-postgres-extensions)\n- `init`<br>\n  An initialisation function that will be run after the PGlite instance and Postgres runtime has started, but before the instance is marked as ready for external usage. You can use this to perform any initialisation your extension needs to perform on the database at startup.\n- `close`<br>\n  A function that will be called when the user calls `close()` on their PGlite instance; this is called before the database has been shut down.\n\nAn example of a PGlite extension that augments the PGlite instance is the [live query extension](../docs/live-queries.md).\n\n## Building Postgres Extensions\n\nIn PGlite, every Postgres extension consists of two parts: a **backend** part, and a **frontend** part. The backend part is its core code. The frontend part is the `typescript/javascript` code that interacts with PGlite.\n\n### Happy path\n\nSome extensions are (much) easier to build and integrate with PGlite than others. This section describes the process of porting a Postgres extension that has no external dependencies besides the already build ones for PGlite (see builder/Dockerfile).\n\nClone **PGlite's** entire repo, including submodules and install the necessary dependencies:\n\n```\n$ git clone --recurse-submodules git@github.com:electric-sql/pglite.git\n$ cd pglite\n$ pnpm i\n```\n\nand create a new branch to track your work:\n\n```\n$ git checkout -b myghname/myawesomeextension\n```\n\n#### Backend\n\nPGlite's backend code is in the repo [postgres-pglite](https://github.com/electric-sql/postgres-pglite) and is downloaded as a submodule dependency of the main repo. You will add your extension's code as a new submodule dependency:\n\n```\n$ cd postgres-pglite/pglite/other_extensions\n$ git submodule add <myawesomeextension_url>\n```\n\nThis **should** create a new folder `postgres-pglite/pglite/other_extensions/myawesomeextension` where the extension code has been downloaded. Check it:\n\n```\n$ ls -lah myawesomeextension\n<the extension files should be listed here>\n```\n\nNow append the **folder name** to `SUBDIRS` inside `postgres-pglite/pglite/other_extensions/Makefile`:\n\n```\nSUBDIRS = \\\n\t\tpg_ivm \\\n\t\tvector \\\n    myawesomeextension\n```\n\nThese steps allow our build environment to pick up the extension's code, then build and package it for PGlite. The backend build process will output a `myawesomeextension.tar.gz` containing the WASM code and/or any data dependencies of the extension.\n\n#### Frontend\n\nPGlite's frontend code is in the main [PGlite repo](https://github.com/electric-sql/pglite).\n\nYou will need to create a new package for your extension. The easiest way is to just copy the files from an existing extension package such as `packages/pglite-extensions/pglite-pgvector`. Obviously, you will need to adapt all the references to the previous extension.\n\nTo make it available in our online [REPL](https://pglite.dev/repl/), add the extension to `docs/repl/allExtensions.ts`:\n\n```\n\nexport { myawesomeextension } from '@electric-sql/pglite-myawesomeextension\n\n```\n\nFinally, add the extension description to `docs/extensions/extensions.data.ts`, inside `baseExtensions`:\n\n```\n\nconst baseExtensions: Extension[] = [\n...\n{\nname: 'My awesome Postgres extension',\ndescription: `     My awesome Postgres extension is something that the world has never seen before.\n    `,\nshortDescription:\n'My awesome PostgreSQL extension',\ndocs: 'https://github.com/myawesomeextension/extension',\ntags: ['postgres extension'],\nimportPath: '@electric-sql/pglite-myawesomeextension',\nimportName: 'my_awesome_extension',\nsize: 123456,\n},\n]\n\n```\n\n#### Tests\n\nTo make sure that your extension works, you need to add some tests for it. We use [vitest](https://vitest.dev/). They will be run as part of our CI/CD pipeline.\n\n#### Build and run tests\n\nFrom PGlite's base folder:\n\n```\n\n$ pnpm build:all\n\n```\n\nThis will build **everything**, including your new extension. If there are no errors, you are ready to run the tests!\n\n```\n\n$ cd packages/pglite-extensions/pglite-myawesomextension\n$ pnpm test\n\n```\n\nFix any errors that occur, re-run the tests! Iterate until everything works as expected.\n\n#### Contributing an extension to the project\n\nWe welcome contributions! Open a PR so anyone using PGlite can also use your extension!\n\n#### Further tips and tricks\n\nIf you get stuck, have a look at how other Postgres extensions are build for PGlite. Take a look at `pg_ivm`, `pgvector` or `pgtap`. You can also reach out on [Discord](https://discord.com/channels/933657521581858818/1212676471588520006) for help!\n\n### Unhappy path\n\nThis section is still under development.\n\nAs mentioned before, some extensions require more effort to integrate with PGlite. Usually the difficulties arrise from the fact that the extension itself has dependencies that need to be compiled for WASM, which in turn might have other dependencies that need to be compiled for WASM and so on. The entire chain of dependencies needs to be built for WASM.\n\nAnother source of pain for building an extension is the need to export symbols from the dependencies or from PGlite itself. Sometimes these are obvious only at runtime.\n\nWe are still working on documentation and examples showing how to build more complex Postgres extensions for use with PGlite. Please check back soon, or reach out on [Discord](https://discord.com/channels/933657521581858818/1212676471588520006) if you would like to try building a particular extension for PGlite.\n\n<!-- File: docs/extensions/index.md (Tokens: ~1492 | Category: anthropic-skill) -->\n<script setup>\nimport { computed, ref } from \"vue\";\nimport { data } from \"./extensions.data.ts\";\n\nconst filteredExtensions = computed(() => {\n  return data.extensions\n    .filter((ext) => !selectedTag.value || ext.tags.includes(selectedTag.value))\n    .sort((a, b) => {\n      if (a.featured && !b.featured) return -1;\n      if (!a.featured && b.featured) return 1;\n      return a.name.localeCompare(b.name);\n    });\n});\n\nfunction mainLink(ext) {\n  return ext.homepage || ext.repo || ext.docs;\n}\n\nfunction slugify(string) {\n  return string\n    .replace('/', '')\n    .replace(' ', '-')\n    .replace('_', '-')\n    .toLowerCase()\n}\n\nconst tags = computed(() => {\n  return data.tags.map((tag) => {\n    return {\n      name: tag,\n      count: data.extensions.filter((ext) => ext.tags.includes(tag)).length,\n    }\n  })\n})\n\nfunction formatSize(bytes) {\n  const units = ['B', 'KB', 'MB', 'GB', 'TB', 'PB'];\n  let i = 0;\n\n  while (bytes >= 1024 && i < units.length - 1) {\n    bytes /= 1024;\n    i++;\n  }\n\n  return `${bytes.toFixed(1)} ${units[i]}`;\n}\n\nconst selectedTag = ref(null)\nconst npmCounts = ref({})\n\nfunction toShortDecimal(x) {\n  return x.toLocaleString('en-US', {\n      // add suffixes for thousands, millions, and billions\n      // the maximum number of decimal places to use\n      maximumFractionDigits: 1,\n      // specify the abbreviations to use for the suffixes\n      notation: 'compact',\n      compactDisplay: 'short'\n    });\n}\n\nfunction getNpmCount(url) {\n  if (!url) return \"n/a\"\n  if (npmCounts.value[url] !== undefined) return npmCounts.value[url]\n\n  npmCounts.value[url] = \"...\"\n  const pkg = url.split(\"/package/\")[1]\n  if (!pkg) {\n    npmCounts.value[url] = \"n/a\"\n    return npmCounts.value[url]\n  }\n\n  fetch(`https://api.npmjs.org/downloads/point/last-week/${encodeURIComponent(pkg)}`)\n    .then((response) => response.json())\n    .then(({ downloads }) => {\n      npmCounts.value[url] = toShortDecimal(downloads) ?? \"n/a\"\n    })\n    .catch(() => {\n      npmCounts.value[url] = \"n/a\"\n    })\n\n  return npmCounts.value[url]\n}\n\n</script>\n\n<style scoped>\n.btn-tag {\n    border-color: var(--vp-button-alt-border);\n    color: var(--vp-button-alt-text);\n    background-color: var(--vp-button-alt-bg);\n    border-radius: 20px;\n    padding: 0 20px;\n    line-height: 38px;\n    font-size: 14.5px;\n    display: inline-block;\n    border: 1px solid transparent;\n    text-align: center;\n    font-weight: 600;\n    white-space: nowrap;\n    transition: color 0.25s, border-color 0.25s, background-color 0.25s;\n    margin-right: 0.5rem;\n}\n\n.btn-tag:hover {\n  border-color: var(--vp-button-alt-hover-border);\n  color: var(--vp-button-alt-hover-text);\n  background-color: var(--vp-button-alt-hover-bg);\n}\n\n.btn-tag.selected {\n  border-color: var(--vp-button-brand-border);\n  color: var(--vp-c-gray-3);\n  background-color: var(--vp-button-brand-bg);\n}\n\n.btn-tag.selected:hover {\n  border-color: var(--vp-button-brand-hover-border);\n  background-color: var(--vp-button-brand-hover-bg);\n}\n\n.btn-tag .count {\n  margin-left: 0.25rem;\n  margin-left: 0.25rem;\n  opacity: 0.5\n}\n\n.tags, .links {\n  margin-top: 1rem;\n}\n\n.tag {\n    border-color: var(--vp-button-alt-border);\n    color: var(--vp-button-alt-text);\n    background-color: var(--vp-button-alt-bg);\n    border-radius: 20px;\n    padding: 5px 10px;\n    line-height: 18px;\n    font-size: 14.5px;\n    display: inline-block;\n    border: 1px solid transparent;\n    text-align: center;\n    font-weight: 600;\n    white-space: nowrap;\n    transition: color 0.25s, border-color 0.25s, background-color 0.25s;\n    margin-right: 0.5rem;\n}\n\n.links a {\n  margin-right: 0.5rem;\n}\n\n.bundle-size {\n  float:right;\n  opacity: 0.5;\n}\n</style>\n\n# PGlite Extensions\n\nPGlite supports both Postgres extensions, and has a plugin API to enable extensions to extend the public API of the PGlite interface.\n\nBelow is a list of available extensions.\n\n<div class=\"tags\">\n  <button\n    v-for=\"tag in tags\"\n    :key=\"tag.name\"\n    @click=\"\n      selectedTag == tag.name ?\n        selectedTag = null :\n        selectedTag = tag.name\n    \"\n    class=\"btn-tag\"\n    :class=\"{ selected: tag.name === selectedTag }\"\n  >\n    {{ tag.name }} <span class=\"count\">{{ tag.count }}</span>\n  </button>\n</div>\n\n<div class=\"extension\" v-for=\"ext in filteredExtensions\">\n\n<h2\n  :id=\"slugify(ext.name)\"\n  tabindex=\"-1\"\n>\n  <a :href=\"mainLink(ext)\">{{ ext.name }}</a>\n  <a \n    class=\"header-anchor\"\n    :href=\"`#${slugify(ext.name)}`\"\n    :aria-label=\"`Permalink to ${ext.name}`\"\n  >​</a>\n</h2>\n\n<div class=\"description\" v-html=\"ext.descriptionHtml\"></div>\n\n<div class=\"links\">\n  <a \n    v-if=\"ext.repo?.startsWith('https://github.com/')\" \n    :href=\"ext.repo\"\n    target=\"_blank\"\n  >Github</a>\n  <a v-else-if=\"ext.repo\" :href=\"ext.repo\" target=\"_blank\">Repo</a>\n  <a v-if=\"ext.docs\" :href=\"ext.docs\" target=\"_blank\">Documentation</a>\n  <a v-if=\"ext.homepage\" :href=\"ext.homepage\" target=\"_blank\">Homepage</a>\n  <a v-if=\"ext.npmjsUrl\" :href=\"ext.npmjsUrl\" target=\"_blank\">NPM (⤓{{ getNpmCount(ext.npmjsUrl) }})</a>\n  <span class=\"bundle-size\" v-if=\"ext.size\">\n    Bundle Size: {{ formatSize(ext.size) }}\n  </span>\n</div>\n<div class=\"tags\">\n  <span v-for=\"tag in ext.tags\" :key=\"tag\" class=\"tag\">{{ tag }}</span>\n</div>\n</div>\n\n<!-- File: packages/benchmark/package-lock.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Benchmark Skill\n\nPath: `packages/benchmark/package-lock.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/benchmark/package-lock.json)\n\n<!-- File: packages/benchmark/package.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Benchmark Skill\n\nPath: `packages/benchmark/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/benchmark/package.json)\n\n<!-- File: packages/benchmark/tsconfig.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Benchmark Skill\n\nPath: `packages/benchmark/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/benchmark/tsconfig.json)\n\n<!-- File: packages/pg-protocol/CHANGELOG.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Pg-protocol Skill\n\nPath: `packages/pg-protocol/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pg-protocol/CHANGELOG.md)\n\n<!-- File: packages/pg-protocol/package.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Pg-protocol Skill\n\nPath: `packages/pg-protocol/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pg-protocol/package.json)\n\n<!-- File: packages/pg-protocol/tsconfig.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Pg-protocol Skill\n\nPath: `packages/pg-protocol/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pg-protocol/tsconfig.json)\n\n<!-- File: packages/pglite-age/CHANGELOG.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Pglite-age Skill\n\nPath: `packages/pglite-age/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-age/CHANGELOG.md)\n\n<!-- File: packages/pglite-age/package.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Pglite-age Skill\n\nPath: `packages/pglite-age/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-age/package.json)\n\n<!-- File: packages/pglite-age/tsconfig.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Pglite-age Skill\n\nPath: `packages/pglite-age/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-age/tsconfig.json)\n\n<!-- File: packages/pglite-icu-full/CHANGELOG.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Pglite-icu-full Skill\n\nPath: `packages/pglite-icu-full/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-icu-full/CHANGELOG.md)\n\n<!-- File: packages/pglite-icu-full/examples/Switzerland/filters_switzerland.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Switzerland Skill\n\nPath: `packages/pglite-icu-full/examples/Switzerland/filters_switzerland.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-icu-full/examples/Switzerland/filters_switzerland.json)\n\n<!-- File: packages/pglite-icu-full/package.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Pglite-icu-full Skill\n\nPath: `packages/pglite-icu-full/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-icu-full/package.json)\n\n<!-- File: packages/pglite-icu-full/tsconfig.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Pglite-icu-full Skill\n\nPath: `packages/pglite-icu-full/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-icu-full/tsconfig.json)\n\n<!-- File: packages/pglite-pg_hashids/CHANGELOG.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Pglite-pg_hashids Skill\n\nPath: `packages/pglite-pg_hashids/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_hashids/CHANGELOG.md)\n\n<!-- File: packages/pglite-pg_hashids/package.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Pglite-pg_hashids Skill\n\nPath: `packages/pglite-pg_hashids/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_hashids/package.json)\n\n<!-- File: packages/pglite-pg_hashids/tsconfig.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Pglite-pg_hashids Skill\n\nPath: `packages/pglite-pg_hashids/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_hashids/tsconfig.json)\n\n<!-- File: packages/pglite-pg_ivm/CHANGELOG.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Pglite-pg_ivm Skill\n\nPath: `packages/pglite-pg_ivm/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_ivm/CHANGELOG.md)\n\n<!-- File: packages/pglite-pg_ivm/package.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Pglite-pg_ivm Skill\n\nPath: `packages/pglite-pg_ivm/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_ivm/package.json)\n\n<!-- File: packages/pglite-pg_ivm/tsconfig.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Pglite-pg_ivm Skill\n\nPath: `packages/pglite-pg_ivm/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_ivm/tsconfig.json)\n\n<!-- File: packages/pglite-pg_textsearch/CHANGELOG.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Pglite-pg_textsearch Skill\n\nPath: `packages/pglite-pg_textsearch/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_textsearch/CHANGELOG.md)\n\n<!-- File: packages/pglite-pg_textsearch/package.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Pglite-pg_textsearch Skill\n\nPath: `packages/pglite-pg_textsearch/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_textsearch/package.json)\n\n<!-- File: packages/pglite-pg_textsearch/tsconfig.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Pglite-pg_textsearch Skill\n\nPath: `packages/pglite-pg_textsearch/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_textsearch/tsconfig.json)\n\n<!-- File: packages/pglite-pg_uuidv7/CHANGELOG.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Pglite-pg_uuidv7 Skill\n\nPath: `packages/pglite-pg_uuidv7/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_uuidv7/CHANGELOG.md)\n\n<!-- File: packages/pglite-pg_uuidv7/package.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Pglite-pg_uuidv7 Skill\n\nPath: `packages/pglite-pg_uuidv7/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_uuidv7/package.json)\n\n<!-- File: packages/pglite-pg_uuidv7/tsconfig.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Pglite-pg_uuidv7 Skill\n\nPath: `packages/pglite-pg_uuidv7/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pg_uuidv7/tsconfig.json)\n\n<!-- File: packages/pglite-pgmq/CHANGELOG.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Pglite-pgmq Skill\n\nPath: `packages/pglite-pgmq/CHANGELOG.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pgmq/CHANGELOG.md)\n\n<!-- File: packages/pglite-pgmq/package.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Pglite-pgmq Skill\n\nPath: `packages/pglite-pgmq/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/electric-sql/pglite/HEAD/packages/pglite-pgmq/package.json)\n\n<!-- ... +61 more modular skills available via /api/skills/electric-sql/pglite?path={path} -->\n</yakaai_skills>"}