{"_id":"@branch-fiction/extension-sdk","_rev":"5-18eccdc2fea020889ae5ae26514932aa","name":"@branch-fiction/extension-sdk","dist-tags":{"latest":"1.0.1"},"versions":{"0.1.0":{"name":"@branch-fiction/extension-sdk","version":"0.1.0","author":"Chris McC","license":"MIT","_id":"@branch-fiction/extension-sdk@0.1.0","maintainers":[{"name":"chrisvariety","email":"li@terary.com"}],"homepage":"https://github.com/chrisvariety/branch-fiction/tree/main/packages/extension-sdk","bin":{"branch-fiction-extension-dev":"./dist/dev-cli.js"},"dist":{"shasum":"0ba71cba6e2c20fad91082caf2e50873efa9063d","tarball":"https://registry.npmjs.org/@branch-fiction/extension-sdk/-/extension-sdk-0.1.0.tgz","fileCount":38,"integrity":"sha512-elMP5Vzx2KuCnwPeFfqGJNQw5TfpYiAeIrQ+QueTMIxogSomZZuWW0osaIjsjj1w1FgDvyiqMGEu2diU/Qp62Q==","signatures":[{"sig":"MEUCIQC1zCoNcAgWvKrnHhC+x14lVWAYNGKI5KMyRwJPvfsnmQIgdpXCd/61WbBxx6L0DDi9UyzpIANe5iuYKW6BrLH14I0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4614975},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./db":{"types":"./dist/db/types.d.ts","default":"./dist/db/types.js"},"./dev":{"types":"./dist/dev.d.ts","default":"./dist/dev.js"},"./vite":{"types":"./dist/vite.d.ts","default":"./dist/vite.js"},"./manifest":{"types":"./dist/manifest.d.ts","default":"./dist/manifest.js"},"./db/iframe":{"types":"./dist/db/iframe.d.ts","default":"./dist/db/iframe.js"},"./pi-handle":{"types":"./dist/pi-handle.d.ts","default":"./dist/pi-handle.js"},"./sdk-source":{"types":"./dist/sdk-source.d.ts","default":"./dist/sdk-source.js"},"./models-catalog":{"types":"./dist/models-catalog.d.ts","default":"./dist/models-catalog.js"},"./db/boolean-plugin":{"types":"./dist/db/boolean-plugin.d.ts","default":"./dist/db/boolean-plugin.js"}},"scripts":{"ci":"concurrently \"pnpm lint --fix\" \"pnpm fmt\"","fmt":"oxfmt","lint":"oxlint","build":"tsdown && pnpm vendor:bundle","lint:fix":"oxlint --fix","fmt:check":"oxfmt --check","typecheck":"tsc","vendor:bundle":"pnpm --filter extension-host bundle && node scripts/copy-bundle.mjs"},"_npmUser":{"name":"chrisvariety","email":"li@terary.com"},"repository":{"url":"git+https://github.com/chrisvariety/branch-fiction.git","type":"git","directory":"packages/extension-sdk"},"description":"SDK and dev tooling for building Branch Fiction extensions.","directories":{},"_nodeVersion":"26.0.0","dependencies":{"hono":"^4.12.25","kysely":"^0.29.2","better-sqlite3":"^12.10.1","@hono/node-server":"^2.0.4","@earendil-works/pi-ai":"^0.79.3","kysely-plugin-serialize":"^0.8.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"^0.54.0","oxlint":"^1.69.0","tsdown":"^0.22.2","typescript":"^6.0.3","@types/node":"^25.9.3","concurrently":"^10.0.3","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/extension-sdk_0.1.0_1781616575985_0.23350216050213546","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@branch-fiction/extension-sdk","version":"0.2.0","author":"Chris McC","license":"MIT","_id":"@branch-fiction/extension-sdk@0.2.0","maintainers":[{"name":"chrisvariety","email":"li@terary.com"}],"homepage":"https://github.com/chrisvariety/branch-fiction/tree/main/packages/extension-sdk","bin":{"branch-fiction-extension-dev":"./dist/dev-cli.js"},"dist":{"shasum":"027cd9dd7cf622451c48a04527ae4c24d82f4301","tarball":"https://registry.npmjs.org/@branch-fiction/extension-sdk/-/extension-sdk-0.2.0.tgz","fileCount":87,"integrity":"sha512-t9Z4wfTBvyc0n62F+JwJtSENpjDCTq03q+IeZz7wn2MwOsZyjMGrPluD4Kpv4/KF+7Chl8BZWHG0ymm0muzkEg==","signatures":[{"sig":"MEUCIQDV+qeFl9x0I+vFl+oDUAxrHhcOzNGaIbUG3Gg7x9KfSwIgJSvt3+TUOulgUVr9Cq+7Ff9c/dZtC2raHzlUxJxa3Tk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4715574},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./db":{"types":"./dist/db/types.d.ts","default":"./dist/db/types.js"},"./dev":{"types":"./dist/dev.d.ts","default":"./dist/dev.js"},"./vite":{"types":"./dist/vite.d.ts","default":"./dist/vite.js"},"./pi-ai":{"types":"./dist/pi-ai.d.ts","default":"./dist/pi-ai.js"},"./llm/xml":{"types":"./dist/llm/xml.d.ts","default":"./dist/llm/xml.js"},"./manifest":{"types":"./dist/manifest.d.ts","default":"./dist/manifest.js"},"./db/iframe":{"types":"./dist/db/iframe.d.ts","default":"./dist/db/iframe.js"},"./db/worker":{"types":"./dist/db/worker.d.ts","default":"./dist/db/worker.js"},"./pi-handle":{"types":"./dist/pi-handle.d.ts","default":"./dist/pi-handle.js"},"./llm/prompt":{"types":"./dist/llm/prompt.d.ts","default":"./dist/llm/prompt.js"},"./sdk-source":{"types":"./dist/sdk-source.d.ts","default":"./dist/sdk-source.js"},"./db/parse-count":{"types":"./dist/db/parse-count.d.ts","default":"./dist/db/parse-count.js"},"./models-catalog":{"types":"./dist/models-catalog.d.ts","default":"./dist/models-catalog.js"},"./media/art-style":{"types":"./dist/media/art-style.d.ts","default":"./dist/media/art-style.js"},"./worker/env-soft":{"types":"./dist/worker/env-soft.d.ts","default":"./dist/worker/env-soft.js"},"./db/boolean-plugin":{"types":"./dist/db/boolean-plugin.d.ts","default":"./dist/db/boolean-plugin.js"},"./media/image-retry":{"types":"./dist/media/image-retry.d.ts","default":"./dist/media/image-retry.js"},"./media/image-types":{"types":"./dist/media/image-types.d.ts","default":"./dist/media/image-types.js"},"./media/image-errors":{"types":"./dist/media/image-errors.d.ts","default":"./dist/media/image-errors.js"},"./media/image-models":{"types":"./dist/media/image-models.d.ts","default":"./dist/media/image-models.js"},"./worker/error-types":{"types":"./dist/worker/error-types.d.ts","default":"./dist/worker/error-types.js"},"./media/transform-url":{"types":"./dist/media/transform-url.d.ts","default":"./dist/media/transform-url.js"},"./media/image-apis/gemini":{"types":"./dist/media/image-apis/gemini.d.ts","default":"./dist/media/image-apis/gemini.js"},"./media/image-apis/openai":{"types":"./dist/media/image-apis/openai.d.ts","default":"./dist/media/image-apis/openai.js"},"./media/generate-one-shot-image":{"types":"./dist/media/generate-one-shot-image.d.ts","default":"./dist/media/generate-one-shot-image.js"}},"scripts":{"ci":"concurrently \"pnpm lint --fix\" \"pnpm fmt\"","fmt":"oxfmt","lint":"oxlint","build":"tsdown && pnpm vendor:bundle","lint:fix":"oxlint --fix","fmt:check":"oxfmt --check","typecheck":"tsc","vendor:bundle":"pnpm --filter extension-host bundle && node scripts/copy-bundle.mjs"},"_npmUser":{"name":"chrisvariety","email":"li@terary.com"},"repository":{"url":"git+https://github.com/chrisvariety/branch-fiction.git","type":"git","directory":"packages/extension-sdk"},"description":"SDK and dev tooling for building Branch Fiction extensions.","directories":{},"_nodeVersion":"26.0.0","dependencies":{"hono":"^4.12.25","kysely":"^0.29.2","openai":"^6.42.0","p-retry":"^8.0.0","valibot":"^1.4.1","domutils":"^4.0.2","css-select":"^7.0.0","domhandler":"^6.0.1","htmlparser2":"^12.0.0","@google/genai":"^2.8.0","better-sqlite3":"^12.10.1","dom-serializer":"^3.1.1","@hono/node-server":"^2.0.4","@stablelib/base64":"^2.0.1","@huggingface/jinja":"^0.5.9","@earendil-works/pi-ai":"^0.79.3","kysely-plugin-serialize":"^0.8.2","@earendil-works/pi-agent-core":"^0.79.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"^0.54.0","oxlint":"^1.69.0","tsdown":"^0.22.2","typescript":"^6.0.3","@types/node":"^25.9.3","concurrently":"^10.0.3","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/extension-sdk_0.2.0_1781710704717_0.9221498197974407","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@branch-fiction/extension-sdk","version":"0.3.0","author":"Chris McC","license":"MIT","_id":"@branch-fiction/extension-sdk@0.3.0","maintainers":[{"name":"chrisvariety","email":"li@terary.com"}],"homepage":"https://github.com/chrisvariety/branch-fiction/tree/main/packages/extension-sdk","bin":{"branch-fiction-extension-dev":"./dist/dev-cli.js"},"dist":{"shasum":"68a9fd772bb37d69d2f3e589856f28738508de33","tarball":"https://registry.npmjs.org/@branch-fiction/extension-sdk/-/extension-sdk-0.3.0.tgz","fileCount":87,"integrity":"sha512-Ypf92SqAsfpkdgvr2rzcLYJdQWjB1ka8atG1f9t4PRuwLZsIr0Og9XSUK9ilf1xdCJUMNotEBJ7bkTIx/Su23A==","signatures":[{"sig":"MEUCIQDtNGYYSQns0swpT5eInkQHMGxZhTApPFyYF2yS2+Cy3AIgCCFSUsljulm+5vTibeFuVh89Ba4inIdTyDr+5xkKoj8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5462906},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./db":{"types":"./dist/db/types.d.ts","default":"./dist/db/types.js"},"./dev":{"types":"./dist/dev.d.ts","default":"./dist/dev.js"},"./vite":{"types":"./dist/vite.d.ts","default":"./dist/vite.js"},"./pi-ai":{"types":"./dist/pi-ai.d.ts","default":"./dist/pi-ai.js"},"./llm/xml":{"types":"./dist/llm/xml.d.ts","default":"./dist/llm/xml.js"},"./manifest":{"types":"./dist/manifest.d.ts","default":"./dist/manifest.js"},"./db/iframe":{"types":"./dist/db/iframe.d.ts","default":"./dist/db/iframe.js"},"./db/worker":{"types":"./dist/db/worker.d.ts","default":"./dist/db/worker.js"},"./pi-handle":{"types":"./dist/pi-handle.d.ts","default":"./dist/pi-handle.js"},"./llm/prompt":{"types":"./dist/llm/prompt.d.ts","default":"./dist/llm/prompt.js"},"./sdk-source":{"types":"./dist/sdk-source.d.ts","default":"./dist/sdk-source.js"},"./db/parse-count":{"types":"./dist/db/parse-count.d.ts","default":"./dist/db/parse-count.js"},"./models-catalog":{"types":"./dist/models-catalog.d.ts","default":"./dist/models-catalog.js"},"./media/art-style":{"types":"./dist/media/art-style.d.ts","default":"./dist/media/art-style.js"},"./worker/env-soft":{"types":"./dist/worker/env-soft.d.ts","default":"./dist/worker/env-soft.js"},"./db/boolean-plugin":{"types":"./dist/db/boolean-plugin.d.ts","default":"./dist/db/boolean-plugin.js"},"./media/image-retry":{"types":"./dist/media/image-retry.d.ts","default":"./dist/media/image-retry.js"},"./media/image-types":{"types":"./dist/media/image-types.d.ts","default":"./dist/media/image-types.js"},"./media/image-errors":{"types":"./dist/media/image-errors.d.ts","default":"./dist/media/image-errors.js"},"./media/image-models":{"types":"./dist/media/image-models.d.ts","default":"./dist/media/image-models.js"},"./worker/error-types":{"types":"./dist/worker/error-types.d.ts","default":"./dist/worker/error-types.js"},"./media/transform-url":{"types":"./dist/media/transform-url.d.ts","default":"./dist/media/transform-url.js"},"./media/image-apis/gemini":{"types":"./dist/media/image-apis/gemini.d.ts","default":"./dist/media/image-apis/gemini.js"},"./media/image-apis/openai":{"types":"./dist/media/image-apis/openai.d.ts","default":"./dist/media/image-apis/openai.js"},"./media/generate-one-shot-image":{"types":"./dist/media/generate-one-shot-image.d.ts","default":"./dist/media/generate-one-shot-image.js"}},"scripts":{"ci":"concurrently \"pnpm lint --fix\" \"pnpm fmt\"","fmt":"oxfmt","lint":"oxlint","build":"tsdown && pnpm vendor:bundle","lint:fix":"oxlint --fix","fmt:check":"oxfmt --check","typecheck":"tsc","vendor:bundle":"pnpm --filter extension-host bundle && node scripts/copy-bundle.mjs"},"_npmUser":{"name":"chrisvariety","email":"li@terary.com"},"repository":{"url":"git+https://github.com/chrisvariety/branch-fiction.git","type":"git","directory":"packages/extension-sdk"},"description":"SDK and dev tooling for building Branch Fiction extensions.","directories":{},"_nodeVersion":"26.0.0","dependencies":{"hono":"^4.12.26","kysely":"^0.29.2","openai":"^6.44.0","p-retry":"^8.0.0","valibot":"^1.4.1","domutils":"^4.0.2","css-select":"^7.0.0","domhandler":"^6.0.1","htmlparser2":"^12.0.0","@google/genai":"^2.9.0","better-sqlite3":"^12.10.1","dom-serializer":"^3.1.1","@hono/node-server":"^2.0.5","@stablelib/base64":"^2.0.1","@huggingface/jinja":"^0.5.9","@earendil-works/pi-ai":"^0.79.9","kysely-plugin-serialize":"^0.8.2","@earendil-works/pi-agent-core":"^0.79.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"^0.55.0","oxlint":"^1.70.0","tsdown":"^0.22.3","typescript":"^6.0.3","@types/node":"^26.0.0","concurrently":"^10.0.3","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/extension-sdk_0.3.0_1782145407855_0.5295965938113825","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@branch-fiction/extension-sdk","version":"1.0.0","author":"Chris McC","license":"MIT","_id":"@branch-fiction/extension-sdk@1.0.0","maintainers":[{"name":"chrisvariety","email":"li@terary.com"}],"homepage":"https://github.com/chrisvariety/branch-fiction/tree/main/packages/extension-sdk","bin":{"branch-fiction-extension-dev":"./dist/dev-cli.js"},"dist":{"shasum":"c14362b46939e5cfa9987c4ae6f6814d11b9d0a2","tarball":"https://registry.npmjs.org/@branch-fiction/extension-sdk/-/extension-sdk-1.0.0.tgz","fileCount":87,"integrity":"sha512-k9kYoB5hQEQI6fgMVsVuNdQ01KcGmfclwdoAagpOHTlsjx8yLdBtx7hod4b+x1H7T51aZjF6TkRP83mDzfiW7Q==","signatures":[{"sig":"MEUCIQDB7QSR6YBKkAPuS6UEtkefhk0H6XQANEqglmWZCDTCRQIgUKy/UIP+vEOySwEaOtebSU5n6gcZztBLlEQhY+aO5yY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":360968},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./db":{"types":"./dist/db/types.d.ts","default":"./dist/db/types.js"},"./dev":{"types":"./dist/dev.d.ts","default":"./dist/dev.js"},"./vite":{"types":"./dist/vite.d.ts","default":"./dist/vite.js"},"./pi-ai":{"types":"./dist/pi-ai.d.ts","default":"./dist/pi-ai.js"},"./llm/xml":{"types":"./dist/llm/xml.d.ts","default":"./dist/llm/xml.js"},"./manifest":{"types":"./dist/manifest.d.ts","default":"./dist/manifest.js"},"./db/iframe":{"types":"./dist/db/iframe.d.ts","default":"./dist/db/iframe.js"},"./db/worker":{"types":"./dist/db/worker.d.ts","default":"./dist/db/worker.js"},"./pi-handle":{"types":"./dist/pi-handle.d.ts","default":"./dist/pi-handle.js"},"./llm/prompt":{"types":"./dist/llm/prompt.d.ts","default":"./dist/llm/prompt.js"},"./sdk-source":{"types":"./dist/sdk-source.d.ts","default":"./dist/sdk-source.js"},"./db/parse-count":{"types":"./dist/db/parse-count.d.ts","default":"./dist/db/parse-count.js"},"./models-catalog":{"types":"./dist/models-catalog.d.ts","default":"./dist/models-catalog.js"},"./media/art-style":{"types":"./dist/media/art-style.d.ts","default":"./dist/media/art-style.js"},"./worker/env-soft":{"types":"./dist/worker/env-soft.d.ts","default":"./dist/worker/env-soft.js"},"./db/boolean-plugin":{"types":"./dist/db/boolean-plugin.d.ts","default":"./dist/db/boolean-plugin.js"},"./media/image-retry":{"types":"./dist/media/image-retry.d.ts","default":"./dist/media/image-retry.js"},"./media/image-types":{"types":"./dist/media/image-types.d.ts","default":"./dist/media/image-types.js"},"./media/image-errors":{"types":"./dist/media/image-errors.d.ts","default":"./dist/media/image-errors.js"},"./media/image-models":{"types":"./dist/media/image-models.d.ts","default":"./dist/media/image-models.js"},"./worker/error-types":{"types":"./dist/worker/error-types.d.ts","default":"./dist/worker/error-types.js"},"./media/transform-url":{"types":"./dist/media/transform-url.d.ts","default":"./dist/media/transform-url.js"},"./media/image-apis/gemini":{"types":"./dist/media/image-apis/gemini.d.ts","default":"./dist/media/image-apis/gemini.js"},"./media/image-apis/openai":{"types":"./dist/media/image-apis/openai.d.ts","default":"./dist/media/image-apis/openai.js"},"./media/generate-one-shot-image":{"types":"./dist/media/generate-one-shot-image.d.ts","default":"./dist/media/generate-one-shot-image.js"}},"scripts":{"ci":"concurrently \"pnpm lint --fix\" \"pnpm fmt\"","fmt":"oxfmt","lint":"oxlint","build":"tsdown && pnpm vendor:bundle","lint:fix":"oxlint --fix","fmt:check":"oxfmt --check","typecheck":"tsc","vendor:bundle":"pnpm --filter extension-host bundle && node scripts/copy-bundle.mjs"},"_npmUser":{"name":"chrisvariety","email":"li@terary.com"},"repository":{"url":"git+https://github.com/chrisvariety/branch-fiction.git","type":"git","directory":"packages/extension-sdk"},"description":"SDK and dev tooling for building Branch Fiction extensions.","directories":{},"_nodeVersion":"26.0.0","dependencies":{"hono":"^4.12.26","kysely":"^0.29.2","openai":"^6.44.0","p-retry":"^8.0.0","valibot":"^1.4.1","domutils":"^4.0.2","css-select":"^7.0.0","domhandler":"^6.0.1","htmlparser2":"^12.0.0","@google/genai":"^2.9.0","better-sqlite3":"^12.10.1","dom-serializer":"^3.1.1","@hono/node-server":"^2.0.5","@stablelib/base64":"^2.0.1","@huggingface/jinja":"^0.5.9","@earendil-works/pi-ai":"^0.80.3","kysely-plugin-serialize":"^0.8.2","@earendil-works/pi-agent-core":"^0.80.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"^0.55.0","oxlint":"^1.70.0","tsdown":"^0.22.3","typescript":"^6.0.3","@types/node":"^26.0.0","concurrently":"^10.0.3","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/extension-sdk_1.0.0_1783788391695_0.5961080273007828","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@branch-fiction/extension-sdk","version":"1.0.1","description":"SDK and dev tooling for building Branch Fiction extensions.","homepage":"https://github.com/chrisvariety/branch-fiction/tree/main/packages/extension-sdk","license":"MIT","author":{"name":"Chris McC"},"repository":{"type":"git","url":"git+https://github.com/chrisvariety/branch-fiction.git","directory":"packages/extension-sdk"},"bin":{"branch-fiction-extension-dev":"dist/dev-cli.js"},"type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./manifest":{"types":"./dist/manifest.d.ts","default":"./dist/manifest.js"},"./pi-handle":{"types":"./dist/pi-handle.d.ts","default":"./dist/pi-handle.js"},"./pi-ai":{"types":"./dist/pi-ai.d.ts","default":"./dist/pi-ai.js"},"./llm/xml":{"types":"./dist/llm/xml.d.ts","default":"./dist/llm/xml.js"},"./llm/prompt":{"types":"./dist/llm/prompt.d.ts","default":"./dist/llm/prompt.js"},"./media/art-style":{"types":"./dist/media/art-style.d.ts","default":"./dist/media/art-style.js"},"./media/generate-one-shot-image":{"types":"./dist/media/generate-one-shot-image.d.ts","default":"./dist/media/generate-one-shot-image.js"},"./media/image-errors":{"types":"./dist/media/image-errors.d.ts","default":"./dist/media/image-errors.js"},"./media/image-models":{"types":"./dist/media/image-models.d.ts","default":"./dist/media/image-models.js"},"./media/image-retry":{"types":"./dist/media/image-retry.d.ts","default":"./dist/media/image-retry.js"},"./media/image-types":{"types":"./dist/media/image-types.d.ts","default":"./dist/media/image-types.js"},"./media/transform-url":{"types":"./dist/media/transform-url.d.ts","default":"./dist/media/transform-url.js"},"./media/image-apis/gemini":{"types":"./dist/media/image-apis/gemini.d.ts","default":"./dist/media/image-apis/gemini.js"},"./media/image-apis/openai":{"types":"./dist/media/image-apis/openai.d.ts","default":"./dist/media/image-apis/openai.js"},"./models-catalog":{"types":"./dist/models-catalog.d.ts","default":"./dist/models-catalog.js"},"./sdk-source":{"types":"./dist/sdk-source.d.ts","default":"./dist/sdk-source.js"},"./dev":{"types":"./dist/dev.d.ts","default":"./dist/dev.js"},"./vite":{"types":"./dist/vite.d.ts","default":"./dist/vite.js"},"./db":{"types":"./dist/db/types.d.ts","default":"./dist/db/types.js"},"./db/iframe":{"types":"./dist/db/iframe.d.ts","default":"./dist/db/iframe.js"},"./db/boolean-plugin":{"types":"./dist/db/boolean-plugin.d.ts","default":"./dist/db/boolean-plugin.js"},"./db/worker":{"types":"./dist/db/worker.d.ts","default":"./dist/db/worker.js"},"./db/parse-count":{"types":"./dist/db/parse-count.d.ts","default":"./dist/db/parse-count.js"},"./worker/error-types":{"types":"./dist/worker/error-types.d.ts","default":"./dist/worker/error-types.js"},"./worker/env-soft":{"types":"./dist/worker/env-soft.d.ts","default":"./dist/worker/env-soft.js"}},"publishConfig":{"access":"public"},"scripts":{"build":"tsdown && pnpm vendor:bundle","prepublishOnly":"pnpm build","vendor:bundle":"pnpm --filter extension-host bundle && node scripts/copy-bundle.mjs","typecheck":"tsc","lint":"oxlint","lint:fix":"oxlint --fix","fmt":"oxfmt","fmt:check":"oxfmt --check","ci":"concurrently \"pnpm lint --fix\" \"pnpm fmt\""},"dependencies":{"@earendil-works/pi-agent-core":"catalog:","@earendil-works/pi-ai":"catalog:","@google/genai":"^2.9.0","@hono/node-server":"^2.0.5","@huggingface/jinja":"catalog:","@stablelib/base64":"catalog:","better-sqlite3":"catalog:","css-select":"catalog:","dom-serializer":"catalog:","domhandler":"catalog:","domutils":"catalog:","hono":"^4.12.26","htmlparser2":"catalog:","kysely":"catalog:","kysely-plugin-serialize":"catalog:","openai":"^6.44.0","p-retry":"^8.0.0","valibot":"catalog:"},"devDependencies":{"@types/better-sqlite3":"catalog:","@types/node":"catalog:","concurrently":"catalog:","oxfmt":"catalog:","oxlint":"catalog:","tsdown":"catalog:","typescript":"catalog:"},"gitHead":"aa4b6c8d8ed045e8ec0f7cf6365dfa7cb2443791","_id":"@branch-fiction/extension-sdk@1.0.1","bugs":{"url":"https://github.com/chrisvariety/branch-fiction/issues"},"_nodeVersion":"26.4.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-F/mANIzyM6dEHEtBeZNLTcrIgkoah6D6tOU5mxARAhqCH39/Vziv9ctvWh8Roa+Dmb5MAsqCb2OMOQYD58BBSQ==","shasum":"1b9581a7d16a6cd5f11e1b6ef2efaaa2f1050ec7","tarball":"https://registry.npmjs.org/@branch-fiction/extension-sdk/-/extension-sdk-1.0.1.tgz","fileCount":87,"unpackedSize":361244,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIC2HVqpz8HVxKJEr3EhOBrBgkdUA/BkYHzvrWjfMP6WoAiABY/ljidWDpr8R7U7vf9q6i/YxHvI2DjEcnxka7uVB8A=="}]},"_npmUser":{"name":"chrisvariety","email":"li@terary.com"},"directories":{},"maintainers":[{"name":"chrisvariety","email":"li@terary.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/extension-sdk_1.0.1_1786238563312_0.8005994159877186"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-16T13:29:35.843Z","modified":"2026-08-09T01:22:43.658Z","0.1.0":"2026-06-16T13:29:36.186Z","0.2.0":"2026-06-17T15:38:24.924Z","0.3.0":"2026-06-22T16:23:28.045Z","1.0.0":"2026-07-11T16:46:31.813Z","1.0.1":"2026-08-09T01:22:43.495Z"},"author":{"name":"Chris McC"},"license":"MIT","homepage":"https://github.com/chrisvariety/branch-fiction/tree/main/packages/extension-sdk","repository":{"type":"git","url":"git+https://github.com/chrisvariety/branch-fiction.git","directory":"packages/extension-sdk"},"description":"SDK and dev tooling for building Branch Fiction extensions.","maintainers":[{"name":"chrisvariety","email":"li@terary.com"}],"readme":"# @branch-fiction/extension-sdk\n\nSDK and dev tooling for building [Branch Fiction](https://github.com/chrisvariety/branch-fiction) extensions.\n\n## Install\n\n```sh\npnpm add -D @branch-fiction/extension-sdk\n```\n\n## Runtime & tooling\n\n- **Iframe SDK**: `window.extensionSDK` (db, fs, worker, providers, context) served to your extension UI.\n- **Worker host**: the bundled runtime that boots your `worker` entry in a sandboxed Deno sidecar (`globalThis.host`).\n- **Dev CLI**: `branch-fiction-extension-dev`, run it via a `dev` script to develop an extension against a local Branch Fiction install.\n\n## Exports\n\nShared building blocks for extensions, importable per sub-path so you only pull what you use.\n\n| Import                                                                          | What it gives you                                                                                                |\n| ------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |\n| `@branch-fiction/extension-sdk`                                                 | Core SDK types (`ExtensionCtx`, `ExtensionHost`, …).                                                             |\n| `…/manifest`                                                                    | `defineManifest`, `validateManifest`, `ExtensionManifestV1`.                                                     |\n| `…/pi-ai`                                                                       | pi-ai agent helpers (`completeOrThrow`, `watchAgent`, `watchLoopDetection`) plus the `pi-handle` model builders. |\n| `…/pi-handle`, `…/models-catalog`                                               | Build pi-ai `Model` handles from provider bindings; runtime model catalog.                                       |\n| `…/llm/xml`, `…/llm/prompt`                                                     | Parse XML LLM output; `createPrompt` (Jinja + valibot) templating.                                               |\n| `…/media/*`                                                                     | Image generation: `generate-one-shot-image`, `image-models`, `transform-url`, `image-apis/{gemini,openai}`, etc. |\n| `…/db`, `…/db/iframe`, `…/db/worker`, `…/db/boolean-plugin`, `…/db/parse-count` | Kysely schema types, iframe/worker SQLite dialects, helpers.                                                     |\n| `…/worker/error-types`, `…/worker/env-soft`                                     | `RecoverableError`/`UnrecoverableError`; Deno env shim for worker entries.                                       |\n| `…/vite`, `…/dev`                                                               | Vite dev plugin and the dev-server runtime.                                                                      |\n\nSee the [extension guide](https://github.com/chrisvariety/branch-fiction) for the full manifest schema and runtime API.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/chrisvariety/branch-fiction/issues"}}