diff --git a/.github/workflows/managed-install.yml b/.github/workflows/managed-install.yml
index f9d5f95..20445fc 100644
--- a/.github/workflows/managed-install.yml
+++ b/.github/workflows/managed-install.yml
@@ -20,7 +20,7 @@ jobs:
name: git install builds with runtime deps only
runs-on: ubuntu-latest
env:
- BB_VERSION: "0.36.0"
+ BB_VERSION: "0.39.0"
BB_DATA_DIR: ${{ github.workspace }}/.bb-data
steps:
- uses: actions/checkout@v4
diff --git a/app.tsx b/app.tsx
index cd2c674..b6562de 100644
--- a/app.tsx
+++ b/app.tsx
@@ -5,7 +5,7 @@ import {
useRealtime,
useRealtimeConnectionState,
useRpc,
-} from "@bb/plugin-sdk/app";
+} from "@get-bb/plugin-sdk/app";
import {
Select,
SelectContent,
diff --git a/package-lock.json b/package-lock.json
index 24d3697..70ec4c5 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -20,6 +20,7 @@
"zod": "^4.3.6"
},
"devDependencies": {
+ "@get-bb/plugin-sdk": "0.4.8",
"@radix-ui/react-dialog": "^1.1.19",
"@types/better-sqlite3": "^7.6.12",
"@types/node": "^22.0.0",
@@ -31,7 +32,7 @@
},
"engines": {
"bb": ">=0.36",
- "bbPluginSdk": "^0.4.1"
+ "bbPluginSdk": ">=0.4.8"
}
},
"node_modules/@floating-ui/core": {
@@ -72,6 +73,52 @@
"integrity": "sha512-HpCo8tmWzLVad5s2d19EhAz5zqrrQ6s69qd6moPMQvkOuSwDT1YgRfWSVuc4ennqrgv3OHppiOGMQ7oC13yIww==",
"license": "MIT"
},
+ "node_modules/@get-bb/plugin-sdk": {
+ "version": "0.4.8",
+ "resolved": "https://registry.npmjs.org/@get-bb/plugin-sdk/-/plugin-sdk-0.4.8.tgz",
+ "integrity": "sha512-C2gC0OMaAQmndGozFlctmgYwa5WbvhVK389r1KOfjuRpGME3axTQ6p6gq1UHw66y19bIX7VGzEwxvxNILReX0A==",
+ "dev": true,
+ "peerDependencies": {
+ "@testing-library/react": "^16.3.2",
+ "@types/better-sqlite3": "^7.6.12",
+ "@types/react": "^19.0.0",
+ "better-sqlite3": ">=12",
+ "cron-parser": "^5.5.0",
+ "hono": "^4.11.9",
+ "react": "^19.0.0",
+ "react-dom": "^19.0.0",
+ "zod": "^4.3.6"
+ },
+ "peerDependenciesMeta": {
+ "@testing-library/react": {
+ "optional": true
+ },
+ "@types/better-sqlite3": {
+ "optional": true
+ },
+ "@types/react": {
+ "optional": true
+ },
+ "better-sqlite3": {
+ "optional": true
+ },
+ "cron-parser": {
+ "optional": true
+ },
+ "hono": {
+ "optional": true
+ },
+ "react": {
+ "optional": true
+ },
+ "react-dom": {
+ "optional": true
+ },
+ "zod": {
+ "optional": true
+ }
+ }
+ },
"node_modules/@hugeicons/core-free-icons": {
"version": "4.2.3",
"resolved": "https://registry.npmjs.org/@hugeicons/core-free-icons/-/core-free-icons-4.2.3.tgz",
diff --git a/package.json b/package.json
index cda4a84..a8b3171 100644
--- a/package.json
+++ b/package.json
@@ -7,7 +7,7 @@
},
"engines": {
"bb": ">=0.36",
- "bbPluginSdk": "^0.4.1"
+ "bbPluginSdk": ">=0.4.8"
},
"bb": {
"name": "System",
@@ -30,6 +30,7 @@
"zod": "^4.3.6"
},
"devDependencies": {
+ "@get-bb/plugin-sdk": "0.4.8",
"@radix-ui/react-dialog": "^1.1.19",
"@types/better-sqlite3": "^7.6.12",
"@types/node": "^22.0.0",
diff --git a/server.ts b/server.ts
index 551c2c4..9067b44 100644
--- a/server.ts
+++ b/server.ts
@@ -20,7 +20,7 @@
// so there is nothing to gain and a 22ms spawn to lose.
import { execFile, execFileSync } from "node:child_process";
import { promisify } from "node:util";
-import { defineRpcContract, type BbPluginApi } from "@bb/plugin-sdk";
+import { defineRpcContract, type BbPluginApi } from "@get-bb/plugin-sdk";
import si from "systeminformation";
import { z } from "zod";
diff --git a/tsconfig.json b/tsconfig.json
index 5521b58..92fe185 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -13,12 +13,6 @@
"node"
],
"paths": {
- "@bb/plugin-sdk": [
- "./types/bb-plugin-sdk.d.ts"
- ],
- "@bb/plugin-sdk/app": [
- "./types/bb-plugin-sdk-app.d.ts"
- ],
"@/*": [
"./*"
]
@@ -29,7 +23,6 @@
"include": [
"server.ts",
"app.tsx",
- "types",
"components",
"lib",
"hooks"
diff --git a/types/bb-plugin-sdk-app.d.ts b/types/bb-plugin-sdk-app.d.ts
deleted file mode 100644
index a420b96..0000000
--- a/types/bb-plugin-sdk-app.d.ts
+++ /dev/null
@@ -1,1444 +0,0 @@
-// Portable type declarations for `@bb/plugin-sdk`. Unpublished BB
-// workspace contracts are flattened; public subpaths may reuse the
-// package root without requiring any other @bb/* package.
-//
-// Confused by the API, or need a symbol that isn't here? Clone the BB repo
-// and read the real source: https://github.com/get-bb/bb
-
-import * as react from 'react';
-import { ComponentType, ReactNode } from 'react';
-import { z } from 'zod';
-
-/** A JSON-safe path segment reported by a Standard Schema validation issue. */
-type PluginRpcIssuePathSegment = string | number;
-/** Validator-neutral validation detail carried by an RPC error envelope. */
-interface PluginRpcValidationIssue {
- message: string;
- path?: PluginRpcIssuePathSegment[];
-}
-/** Stable wire error categories for plugin RPC. */
-type PluginRpcErrorCode = "invalid_json" | "invalid_input" | "handler_error" | "invalid_output" | "non_json_result" | "unknown_method";
-/** Structured RPC failure returned as `{ ok: false, error }`. */
-interface PluginRpcError {
- code: PluginRpcErrorCode;
- message: string;
- issues?: PluginRpcValidationIssue[];
-}
-/**
- * The validator-neutral subset of Standard Schema v1 used by plugin RPC.
- * Zod 4 schemas implement this interface directly; other validators can do
- * the same without becoming part of BB's public protocol.
- */
-interface StandardSchemaV1 {
- readonly "~standard": {
- readonly version: 1;
- readonly vendor: string;
- readonly validate: (value: unknown) => StandardSchemaV1Result