@appport/sdk
为 AppPort 协议所配置的 TypeScript API.
它暴露了应用合同, 能力处理者, 清单,客户, 服务器, 授权原始, 以及支持的不连接的运输 用于URL、进程、运输、存储引擎或平台的应用程序代码.
import { createClient, createHttpTransport } from "@appport/sdk";
const app = createClient({
transport: createHttpTransport({ url: "/appport" })
});
仅节点托管帮助器导出自 @appport/sdk/node。 。 。 .
@appport/sdk 是方便的外观:它聚集了较低级别的协议,
客户端、服务器和运输软件包,并保存 AppPort.discover() 接通
内置的 HTTP 和 WebSocket 传输。 这不是基础建筑
层; 下级包不依赖于 SDK .
安全发现(1.2.0)
import { AppPort } from "@appport/sdk";
// Inspect what an application publishes and verify its references. Connects to nothing, sends no credentials, invokes nothing.
const found = await AppPort.discoverApplication({ origin: "https://app.example.com", pins: recordedPins, timeoutMs: 10_000 });
found.state; // "not-published" | "unavailable" | "malformed" | "unresolved" | "reference-verified"
found.established; // { publisherTrust: false, authorization: false, approval: false, invoked: false } always
// Connect a client to a host you chose.
const client = await AppPort.discover({ origin: "https://app.example.com", sessionId });
reference-verified 指所公布的参考文献与权威的明细表一致. 没错 没有 也就是说出版商
相信,你被授权, 获得批准,或操作安全。 AppPort 定义没有用于申请的签名
它既不收取也不检查批准书。 绘图-签字信托@appport/integration) 无法生产.
1.2.0中的行为变化:默认拒绝改变方向和来源
AppPort.discover 和HTTP运输系统用于跟踪方向并使用任何运输端点的发现文件,因此
307 或指定另一个来源的文件将会话ID和请求机构发送到那里。 他们现在拒绝:
| 惠璶 | 执行 |
|---|---|
| 旧的定向跟踪行为,因为您操作的源 | redirects: "follow" |
| 另一个来源的运输终点 | allowOrigins: ["https://api.example.com"] |
| 大于 1 MiB 的发现文件 | maxDocumentBytes |
| 截止日期或取消 | timeoutMs, (中文(简体) ), signal |
一个 http 改为 https 重定向是一个不同的来源:连接到 https 直接来源.
警械能力(1.3.0)
defineCapability({ fulfills: [claimFor(contract, "order.hold", 1)] }) 宣布某一能力可满足犬科能力
应用程序的要求可以使用 canonical: { contract }索赔在使用之前经过评估,不给予任何授权.
登记峡谷合同、发现供应商、解决峡谷要求并对其进行约束 @appport/core APIs; 见其
读取和 spec/fulfillment-1.md。 。 。 .
仅节点类型脚本
词根 @appport/sdk 财务报告和审定财务报表 @appport/sdk/node 在节点项目中进行类型检查( E)lib: ["ES2023"],没有 DOM, (中文(简体) ), skipLibCheck: false) (中文(简体) ).
MCP桥出口createMcpBridge, (中文(简体) ), toMcpTools,.)从根起保持可用. 多边方案 服务器 不属于SDK;
从 @appport/mcp并注意它使用的MCP SDK需要DOM HeadersInit 类型(参见该软件包的README).
特工技能
此软件包载有 AppPort Agent Skill 于 skills/appport,匹配此 SDK 版本。 技能是可选的,所以SDK会
不安装仅需要的技能: 技能导入 @appport/protocol 财务报告和审定财务报表 @appport/integration 直接,您的项目必须
依赖它们本身(一个不升起的软件包管理器,如pnpm,不会暴露出中转副本). 为了安装克劳德代码:
npm install @appport/sdk @appport/protocol @appport/integration
mkdir -p .claude/skills && cp -R node_modules/@appport/sdk/skills/appport .claude/skills/appport # one project
mkdir -p ~/.claude/skills && cp -R node_modules/@appport/sdk/skills/appport ~/.claude/skills/appport # your user
node .claude/skills/appport/scripts/check-requirements.mjs
如果检查报告包为 (not installed),其产出包括 install 命令可以修复它.
只有克洛德代码被验证。 技能是指导,而不是执行. 这需要 @appport/sdk 1.2.0+, (中文(简体) ), @appport/protocol 1.1.0+和 1
@appport/integration 1.1.0+(第一次释放含有安全发现).