@ks-open/capability
v0.0.63
Published
Capability Plugin System — core types, client SDK, server handler, and built-in plugins
Keywords
Readme
@ks-open/capability
Capability Plugin System — core types, client SDK, server handler, and built-in plugins.
Installation
npm install @ks-open/capabilitySubpath Exports
| Import path | Description |
|---|---|
| @ks-open/capability | Core types, AbstractCapability, PluginRegistry, validators |
| @ks-open/capability/wps365 | WPS 365 Open API SDK(createWps365、Wps365Client) |
| @ks-open/capability/client | Client SDK (createCapabilityClient) |
| @ks-open/capability/client/wps365 | ⚠️ Deprecated — 请迁移至 @ks-open/capability/wps365 |
| @ks-open/capability/server | Server handler (createCapabilityServer, createCapabilityHandler) |
| @ks-open/capability/server/fastify | Fastify adapter |
| @ks-open/capability/server/next | Next.js adapter |
| @ks-open/capability/server/nitro | Nitro adapter |
| @ks-open/capability/plugins/*/index | 各 capability 插件 |
WPS 365 SDK
浏览器端(BaaS 模式)
import { createWps365 } from "@ks-open/capability/wps365";
const sdk = createWps365();
// SDK 自动检测环境:
// - localhost / 私有 IP (10.x, 172.16-31.x, 192.168.x) → /base-proxy
// - 公网域名 → /app/app-base/base-proxy
await sdk.ensureAuthorized({ scope: "kso.calendar.readwrite" });
const events = await sdk.request.get("/v7/calendars");浏览器端(用户授权模式)
import { createWps365 } from "@ks-open/capability/wps365";
const sdk = createWps365({ proxyBase: "./api/wps-openapi" });
await sdk.ensureAuthorized({ scope: "kso.calendar.readwrite" });
const events = await sdk.request.get("/v7/calendars");服务端(应用授权模式)
import { createWps365 } from "@ks-open/capability/wps365";
const sdk = createWps365({
accessToken: process.env.WPS_ACCESS_TOKEN,
// baseUrl 默认: http://openapi.wps.cn
});
const events = await sdk.request.get("/v7/calendars");获取应用 Token
import { Wps365Client } from "@ks-open/capability/wps365";
const token = await Wps365Client.getAppToken({
appId: process.env.WPS_APP_ID!,
appSecret: process.env.WPS_APP_SECRET!,
});Capability Client
import { createCapabilityClient } from "@ks-open/capability/client";
const client = createCapabilityClient({
baseUrl: "https://your-server.com/api/capability",
});Capability Server (Fastify)
import { createCapabilityServer } from "@ks-open/capability/server";
import { capabilityFastifyPlugin } from "@ks-open/capability/server/fastify";
import Fastify from "fastify";
const server = createCapabilityServer({ /* options */ });
const app = Fastify();
app.register(capabilityFastifyPlugin, { server });Define a Plugin
import { AbstractCapability } from "@ks-open/capability";
class MyPlugin extends AbstractCapability {
// implement your capability plugin
}License
MIT
