@pickle-pee/extensions 0.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +33 -0
- package/dist/adapters/index.d.ts +1 -0
- package/dist/adapters/index.js +5 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/domain/index.d.ts +1 -0
- package/dist/domain/index.js +3 -0
- package/dist/domain/index.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -0
- package/dist/services/index.d.ts +1 -0
- package/dist/services/index.js +3 -0
- package/dist/services/index.js.map +1 -0
- package/dist/types/index.d.ts +18 -0
- package/dist/types/index.js +3 -0
- package/dist/types/index.js.map +1 -0
- package/package.json +21 -0
package/README.md
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# @pickle-pee/extensions
|
|
2
|
+
|
|
3
|
+
## 职责
|
|
4
|
+
|
|
5
|
+
扩展系统。承载内建扩展、预留 Bridge 或 IDE 适配、暴露和管理扩展点。扩展点包括自定义工具注册、自定义 Provider 注册和自定义命令注册。
|
|
6
|
+
|
|
7
|
+
## 导出
|
|
8
|
+
|
|
9
|
+
- 扩展点注册接口
|
|
10
|
+
- 扩展生命周期类型
|
|
11
|
+
- Bridge/RPC 适配预留接口
|
|
12
|
+
|
|
13
|
+
## 依赖方向
|
|
14
|
+
|
|
15
|
+
- 依赖: `app-runtime`, `app-config`
|
|
16
|
+
- 被依赖: `app-cli`
|
|
17
|
+
|
|
18
|
+
## 禁止事项
|
|
19
|
+
|
|
20
|
+
- 不包含核心业务逻辑
|
|
21
|
+
- 不直接管理会话
|
|
22
|
+
- 不渲染 UI
|
|
23
|
+
|
|
24
|
+
## 内部结构
|
|
25
|
+
|
|
26
|
+
- `domain/` — 扩展模型、扩展点定义
|
|
27
|
+
- `services/` — 扩展加载与生命周期管理
|
|
28
|
+
- `adapters/` — Bridge/IDE 适配层
|
|
29
|
+
- `types/` — 包级公共类型定义
|
|
30
|
+
|
|
31
|
+
## 验证
|
|
32
|
+
|
|
33
|
+
- `npx tsc --noEmit` 类型检查通过
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":";;AAAA,4CAA4C;AAC5C,oDAAoD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { ExtensionDescriptor, ExtensionPoint, ExtensionState } from "../types/index.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/domain/index.ts"],"names":[],"mappings":""}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { ExtensionDescriptor, ExtensionPoint, ExtensionState } from "./types/index.js";
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { ExtensionDescriptor, ExtensionState } from "../types/index.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Extension point identifiers.
|
|
3
|
+
*
|
|
4
|
+
* Each extension point defines a contract that extensions must satisfy.
|
|
5
|
+
*/
|
|
6
|
+
export type ExtensionPoint = "tool" | "provider" | "command";
|
|
7
|
+
/**
|
|
8
|
+
* Extension lifecycle states.
|
|
9
|
+
*/
|
|
10
|
+
export type ExtensionState = "registered" | "loaded" | "active" | "error";
|
|
11
|
+
/**
|
|
12
|
+
* Extension descriptor.
|
|
13
|
+
*/
|
|
14
|
+
export interface ExtensionDescriptor {
|
|
15
|
+
readonly name: string;
|
|
16
|
+
readonly version: string;
|
|
17
|
+
readonly extensionPoints: readonly ExtensionPoint[];
|
|
18
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":""}
|
package/package.json
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@pickle-pee/extensions",
|
|
3
|
+
"version": "0.0.0",
|
|
4
|
+
"description": "Built-in extensions, Bridge/IDE adapters, and extension point management",
|
|
5
|
+
"main": "./dist/index.js",
|
|
6
|
+
"types": "./dist/index.d.ts",
|
|
7
|
+
"scripts": {
|
|
8
|
+
"build": "node -e \"const fs = require('node:fs'); fs.rmSync('dist', { recursive: true, force: true }); fs.rmSync('tsconfig.build.tsbuildinfo', { force: true });\" && tsc -p tsconfig.build.json"
|
|
9
|
+
},
|
|
10
|
+
"dependencies": {
|
|
11
|
+
"@pickle-pee/config": "*",
|
|
12
|
+
"@pickle-pee/runtime": "*"
|
|
13
|
+
},
|
|
14
|
+
"publishConfig": {
|
|
15
|
+
"access": "public"
|
|
16
|
+
},
|
|
17
|
+
"files": [
|
|
18
|
+
"dist",
|
|
19
|
+
"README.md"
|
|
20
|
+
]
|
|
21
|
+
}
|