mirror of
https://github.com/getpaseo/paseo.git
synced 2026-10-23 09:42:53 +00:00
Plugins contribute file panels with addFilePanel. A file tab hosts the panels that claim the file: the built-in Markdown, HTML and image panels, plugin panels, and Source, Paseo's editor, which claims every text file and is always the last candidate. The panel is the tab body; the bar shows the document's status and a switcher between the file's panels (side by side up to three, two on a phone, a menu beyond that). Paseo asks which panel opens a file only when a plugin panel is among several candidates, once per open, and remembers the answer per extension or exact filename when told to. Open with in the tab menu and the switcher change the tab's panel; Always use remembers it. Opening a file at a line switches the tab to Source. Panels read and write the host's document, so dirty state, autosave and conflicts stay Paseo's. DocumentFrame shows bytes documents such as PDFs in the browser's viewer. Replaces the file tab's Preview/Source mode toggle.
97 lines
2.7 KiB
JSON
97 lines
2.7 KiB
JSON
{
|
|
"name": "@getpaseo/plugin",
|
|
"version": "0.12.0",
|
|
"description": "Paseo plugin SDK package",
|
|
"files": [
|
|
"dist",
|
|
"!dist/**/*.map"
|
|
],
|
|
"type": "module",
|
|
"exports": {
|
|
".": {
|
|
"types": "./dist/index.d.ts",
|
|
"source": "./src/index.ts",
|
|
"default": "./dist/index.js"
|
|
},
|
|
"./server": {
|
|
"types": "./dist/server/index.d.ts",
|
|
"source": "./src/server/index.ts",
|
|
"default": "./dist/server/index.js"
|
|
},
|
|
"./server/provider": {
|
|
"types": "./dist/server/provider.d.ts",
|
|
"source": "./src/server/provider.ts",
|
|
"default": "./dist/server/provider.js"
|
|
},
|
|
"./server/usage": {
|
|
"types": "./dist/server/usage.d.ts",
|
|
"source": "./src/server/usage.ts",
|
|
"default": "./dist/server/usage.js"
|
|
},
|
|
"./server/acp": {
|
|
"types": "./dist/server/acp.d.ts",
|
|
"source": "./src/server/acp.ts",
|
|
"default": "./dist/server/acp.js"
|
|
},
|
|
"./client/react-native": {
|
|
"types": "./dist/client/react-native.d.ts",
|
|
"source": "./src/client/react-native.ts",
|
|
"default": "./dist/client/react-native.js"
|
|
},
|
|
"./client/host": {
|
|
"types": "./dist/client/host.d.ts",
|
|
"source": "./src/client/host.ts",
|
|
"default": "./dist/client/host.js"
|
|
},
|
|
"./client/ui": {
|
|
"types": "./dist/client/ui.d.ts",
|
|
"source": "./src/client/ui.ts",
|
|
"default": "./dist/client/ui.js"
|
|
},
|
|
"./client": {
|
|
"types": "./dist/client/index.d.ts",
|
|
"source": "./src/client/index.ts",
|
|
"default": "./dist/client/index.js"
|
|
}
|
|
},
|
|
"publishConfig": {
|
|
"access": "public"
|
|
},
|
|
"scripts": {
|
|
"clean": "node ../../scripts/clean-package-dist.mjs",
|
|
"build": "tsc -p tsconfig.json --incremental false",
|
|
"build:clean": "npm run clean && npm run build",
|
|
"prepack": "npm run build:clean",
|
|
"typecheck": "tsgo --noEmit && npm run typecheck:examples",
|
|
"test": "vitest run",
|
|
"typecheck:examples": "npm --prefix ../../plugin-examples/markdown-panel install --ignore-scripts --no-audit --no-fund && tsgo -p tsconfig.examples.json --noEmit"
|
|
},
|
|
"dependencies": {
|
|
"@agentclientprotocol/sdk": "^1.4.0",
|
|
"use-sync-external-store": "^1.6.0"
|
|
},
|
|
"devDependencies": {
|
|
"@getpaseo/client": "0.12.0",
|
|
"@getpaseo/protocol": "0.12.0",
|
|
"@types/node": "^20.9.0",
|
|
"@types/react": "~19.2.0",
|
|
"react": "19.1.0",
|
|
"react-native": "0.81.5",
|
|
"typescript": "^5.9.3",
|
|
"vitest": "^4.1.6",
|
|
"zod": "^4.4.3"
|
|
},
|
|
"peerDependencies": {
|
|
"@getpaseo/client": "0.12.0",
|
|
"@getpaseo/protocol": "0.12.0",
|
|
"react": "~19.1.0",
|
|
"react-native": ">=0.81.5",
|
|
"zod": "^4.4.3"
|
|
},
|
|
"peerDependenciesMeta": {
|
|
"react-native": {
|
|
"optional": true
|
|
}
|
|
}
|
|
}
|