@capyclaw/service-broker 0.2.0 → 0.2.1
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 +2 -2
- package/dsh-suite.json +5 -5
- package/lib/engine.mjs +1 -1
- package/lib/skills-client.mjs +1 -1
- package/lib/spec.mjs +1 -1
- package/package.json +12 -5
- package/service.schema.json +1 -1
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @capyclaw/service-broker(服务编排 broker)
|
|
2
2
|
|
|
3
3
|
DSH 服务中间件。服务解耦标准的执行者:**启动清单/后端/用户不直接拉服务,
|
|
4
4
|
一切结构化命令投递到这里,由中间件把每个服务作为独立进程拉起、守护、登记。**
|
|
@@ -18,7 +18,7 @@ DSH 服务中间件。服务解耦标准的执行者:**启动清单/后端/用
|
|
|
18
18
|
与 `lib/spec.mjs`(代码面校验 `validateServiceSpec`/`validateServiceManifest`),
|
|
19
19
|
`loadManifest` 在装载期拒绝结构非法的清单(同清单重复 id 也在此报错);
|
|
20
20
|
新增 exports `./spec`、`./schema`。`stack-services.json`(dsh-stack-kit 编译)与
|
|
21
|
-
`service-manifest.json
|
|
21
|
+
`service-manifest.json`(@capyclaw/suite-kit 物化)自此共用同一份 spec 契约。
|
|
22
22
|
- 0.1.0:初始发布。
|
|
23
23
|
|
|
24
24
|
## 两种形态
|
package/dsh-suite.json
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$schema": "
|
|
2
|
+
"$schema": "../@capyclaw/suite-kit/suite.schema.json",
|
|
3
3
|
"name": "dsh-service-broker-suite",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.2.0",
|
|
5
5
|
"title": "Service Broker",
|
|
6
6
|
"description": "服务中间件:按清单/结构化命令以独立进程拉起各服务,负责守护、发现与控制端点。",
|
|
7
7
|
"packages": {
|
|
8
8
|
"dsh-service-broker": {
|
|
9
|
-
"role": "
|
|
10
|
-
"version": "^0.
|
|
9
|
+
"role": "runtime",
|
|
10
|
+
"version": "^0.2.0",
|
|
11
11
|
"path": ".",
|
|
12
12
|
"provides": {
|
|
13
13
|
"services": ["serviceBroker"],
|
|
14
14
|
"capabilities": { "service.broker": "1.0.0" },
|
|
15
|
-
"ports": [
|
|
15
|
+
"ports": []
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
18
|
},
|
package/lib/engine.mjs
CHANGED
|
@@ -23,7 +23,7 @@ const VAR_RE = /\$\{([^{}]+)\}/g
|
|
|
23
23
|
const IS_WIN = process.platform === 'win32'
|
|
24
24
|
|
|
25
25
|
/* ------------------------------------------------------------------ *
|
|
26
|
-
* 基础探测原语(与
|
|
26
|
+
* 基础探测原语(与 @capyclaw/suite-kit/src/runtime.mjs 同口径)
|
|
27
27
|
* ------------------------------------------------------------------ */
|
|
28
28
|
|
|
29
29
|
export function pidAlive(pid) {
|
package/lib/skills-client.mjs
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* 技能内容(SKILL.md 正文)不再通过 ctx.skills.registerProvider 进程内注册,
|
|
5
5
|
* 而是从独立技能服务拉取——dsh 进程里只剩这一个瘦适配层。
|
|
6
|
-
* 服务端形状见 bridges/ppt-bridge/
|
|
6
|
+
* 服务端形状见 bridges/ppt-bridge/capyclaw-skills-service(GET /skills、GET /skills/:name)。
|
|
7
7
|
*/
|
|
8
8
|
export function createSkillsClient(baseUrl) {
|
|
9
9
|
const root = String(baseUrl || '').replace(/\/$/, '')
|
package/lib/spec.mjs
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* 服务 spec 校验:service.schema.json 的代码面。
|
|
3
3
|
*
|
|
4
4
|
* stack-services.json(dsh-stack-kit 编译)与 service-manifest.json
|
|
5
|
-
*
|
|
5
|
+
* (@capyclaw/suite-kit 物化)共用这一份 spec;本模块是装载期与跨包测试
|
|
6
6
|
* 共同调用的唯一校验器(结构级——语义由 engine/discovery 在运行期裁决)。
|
|
7
7
|
*/
|
|
8
8
|
const ID_RE = /^[a-zA-Z0-9][a-zA-Z0-9._-]*$/
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@capyclaw/service-broker",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "DSH 服务中间件(唯一进程内插件):按清单/结构化命令把各服务作为独立进程拉起,负责守护、发现(discovery)、控制端点;服务与服务之间不互相带动,跨端口组织一律经过这里。",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./lib/host.mjs",
|
|
@@ -42,10 +42,17 @@
|
|
|
42
42
|
"README.md"
|
|
43
43
|
],
|
|
44
44
|
"license": "MIT",
|
|
45
|
-
"scripts": {
|
|
46
|
-
"test": "node --test test/unit.test.mjs test/e2e.test.mjs test/stability.test.mjs test/adopt-detached.test.mjs"
|
|
47
|
-
},
|
|
45
|
+
"scripts": {},
|
|
48
46
|
"dependencies": {
|
|
49
47
|
"@capyclaw/plugin-kit": "^0.2.0"
|
|
50
|
-
}
|
|
48
|
+
},
|
|
49
|
+
"repository": {
|
|
50
|
+
"type": "git",
|
|
51
|
+
"url": "git+https://github.com/Maple496/capyclaw.git",
|
|
52
|
+
"directory": "packages/capyclaw-service-broker"
|
|
53
|
+
},
|
|
54
|
+
"bugs": {
|
|
55
|
+
"url": "https://github.com/Maple496/capyclaw/issues"
|
|
56
|
+
},
|
|
57
|
+
"homepage": "https://github.com/Maple496/capyclaw/tree/main/packages/capyclaw-service-broker#readme"
|
|
51
58
|
}
|
package/service.schema.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
3
|
"$id": "https://dsh.local/schemas/service.schema.json",
|
|
4
4
|
"title": "DSH Broker 服务清单(唯一服务 spec)",
|
|
5
|
-
"description": "stack-services.json(dsh-stack-kit 编译)与 service-manifest.json
|
|
5
|
+
"description": "stack-services.json(dsh-stack-kit 编译)与 service-manifest.json(@capyclaw/suite-kit 物化)是同一 spec 的两个 runtime 工件;本 schema 是二者共同的契约。${PACKAGE_DIR}/${PORT}/${PORT_<NAME>} 占位符由装载/仲裁层展开。",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"required": ["services"],
|
|
8
8
|
"properties": {
|