From 23523c2db4161ad01bb1727cb64d09a79477def2 Mon Sep 17 00:00:00 2001 From: Michael Freno Date: Tue, 17 Mar 2026 00:21:43 -0400 Subject: [PATCH] potential! --- plugin-agent-permissions/package.json | 23 ++++++------------ plugin-agent-permissions/scripts/build-ui.mjs | 24 +++++++++++++++++++ plugin-agent-permissions/src/manifest.ts | 2 +- .../src/ui/PermissionsNav.tsx | 8 +++++-- 4 files changed, 38 insertions(+), 19 deletions(-) create mode 100644 plugin-agent-permissions/scripts/build-ui.mjs diff --git a/plugin-agent-permissions/package.json b/plugin-agent-permissions/package.json index 8811e07..4414719 100644 --- a/plugin-agent-permissions/package.json +++ b/plugin-agent-permissions/package.json @@ -2,13 +2,15 @@ "name": "@FrenoCorp/plugin-agent-permissions", "version": "0.1.0", "type": "module", + "private": true, "description": "Per-agent permission toggling for fine-grained access control", "scripts": { - "build": "node ./esbuild.config.mjs", + "prebuild": "node ../../../scripts/ensure-plugin-build-deps.mjs", + "build": "tsc && node ./scripts/build-ui.mjs", "dev": "node ./esbuild.config.mjs --watch", "dev:ui": "paperclip-plugin-dev-server --root . --ui-dir dist/ui --port 4177", "test": "vitest run --config ./vitest.config.ts", - "typecheck": "tsc --noEmit" + "typecheck": "pnpm --filter @paperclipai/plugin-sdk build && tsc --noEmit" }, "paperclipPlugin": { "manifest": "./dist/manifest.js", @@ -23,25 +25,14 @@ ], "author": "FrenoCorp", "license": "MIT", - "publishConfig": { - "access": "public", - "registry": "https://registry.npmjs.org/" - }, - "pnpm": { - "overrides": { - "@paperclipai/shared": "file:.paperclip-sdk/paperclipai-shared-0.3.1.tgz" - } + "dependencies": { + "@paperclipai/plugin-sdk": "workspace:*", + "@paperclipai/shared": "workspace:*" }, "devDependencies": { - "@paperclipai/shared": "file:.paperclip-sdk/paperclipai-shared-0.3.1.tgz", - "@paperclipai/plugin-sdk": "file:.paperclip-sdk/paperclipai-plugin-sdk-1.0.0.tgz", - "@rollup/plugin-node-resolve": "^16.0.1", - "@rollup/plugin-typescript": "^12.1.2", "@types/node": "^24.6.0", "@types/react": "^19.0.8", "esbuild": "^0.27.3", - "rollup": "^4.38.0", - "tslib": "^2.8.1", "typescript": "^5.7.3", "vitest": "^3.0.5" }, diff --git a/plugin-agent-permissions/scripts/build-ui.mjs b/plugin-agent-permissions/scripts/build-ui.mjs new file mode 100644 index 0000000..5cd7563 --- /dev/null +++ b/plugin-agent-permissions/scripts/build-ui.mjs @@ -0,0 +1,24 @@ +import esbuild from "esbuild"; +import path from "node:path"; +import { fileURLToPath } from "node:url"; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); +const packageRoot = path.resolve(__dirname, ".."); + +await esbuild.build({ + entryPoints: [path.join(packageRoot, "src/ui/index.tsx")], + outfile: path.join(packageRoot, "dist/ui/index.js"), + bundle: true, + format: "esm", + platform: "browser", + target: ["es2022"], + sourcemap: true, + external: [ + "react", + "react-dom", + "react/jsx-runtime", + "@paperclipai/plugin-sdk/ui", + ], + logLevel: "info", +}); diff --git a/plugin-agent-permissions/src/manifest.ts b/plugin-agent-permissions/src/manifest.ts index a8cee3c..f2d807d 100644 --- a/plugin-agent-permissions/src/manifest.ts +++ b/plugin-agent-permissions/src/manifest.ts @@ -1,7 +1,7 @@ import type { PaperclipPluginManifestV1 } from "@paperclipai/plugin-sdk"; const manifest: PaperclipPluginManifestV1 = { - id: "frenocorp.plugin-agent-permissions", + id: "paperclipai.plugin-agent-permissions", apiVersion: 1, version: "0.1.0", displayName: "Agent Permissions", diff --git a/plugin-agent-permissions/src/ui/PermissionsNav.tsx b/plugin-agent-permissions/src/ui/PermissionsNav.tsx index 03985c6..7197daf 100644 --- a/plugin-agent-permissions/src/ui/PermissionsNav.tsx +++ b/plugin-agent-permissions/src/ui/PermissionsNav.tsx @@ -1,4 +1,4 @@ -import { usePluginData } from "@paperclipai/plugin-sdk/ui"; +import { usePluginData, useHostContext } from "@paperclipai/plugin-sdk/ui"; import type { PluginSidebarProps } from "@paperclipai/plugin-sdk/ui"; import { SIDEBAR_PREVIEW_LIMIT, type PermissionKey } from "../constants"; @@ -9,7 +9,11 @@ interface AgentPermissionsSummary { } export function PermissionsNav(_props: PluginSidebarProps) { - const { data: agentsData, loading, error } = usePluginData("all-agents-permissions"); + const { companyId } = useHostContext(); + const { data: agentsData, loading, error } = usePluginData( + "all-agents-permissions", + companyId ? { companyId } : undefined + ); if (loading) return (