@siming-org/opencode-plugin 0.1.12 → 0.1.15
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 +3 -3
- package/dist/assets-store.d.ts +34 -21
- package/dist/assets-store.d.ts.map +1 -1
- package/dist/assets-store.js +44 -52
- package/dist/assets-store.js.map +1 -1
- package/dist/fetch-assets.d.ts +28 -3
- package/dist/fetch-assets.d.ts.map +1 -1
- package/dist/fetch-assets.js +116 -16
- package/dist/fetch-assets.js.map +1 -1
- package/dist/guide-skill.d.ts +2 -2
- package/dist/guide-skill.d.ts.map +1 -1
- package/dist/guide-skill.js +2 -2
- package/dist/guide-skill.js.map +1 -1
- package/dist/host-api.d.ts +23 -3
- package/dist/host-api.d.ts.map +1 -1
- package/dist/host-api.js +5 -24
- package/dist/host-api.js.map +1 -1
- package/dist/register/agents.d.ts +3 -2
- package/dist/register/agents.d.ts.map +1 -1
- package/dist/register/agents.js +6 -6
- package/dist/register/agents.js.map +1 -1
- package/dist/register/refresh-tool.d.ts +4 -1
- package/dist/register/refresh-tool.d.ts.map +1 -1
- package/dist/register/refresh-tool.js +13 -10
- package/dist/register/refresh-tool.js.map +1 -1
- package/dist/register/skills.d.ts +4 -1
- package/dist/register/skills.d.ts.map +1 -1
- package/dist/register/skills.js +10 -9
- package/dist/register/skills.js.map +1 -1
- package/dist/revalidate.d.ts +39 -36
- package/dist/revalidate.d.ts.map +1 -1
- package/dist/revalidate.js +149 -149
- package/dist/revalidate.js.map +1 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +35 -20
- package/dist/server/index.js.map +1 -1
- package/dist/task-discipline-prompt.d.ts +1 -0
- package/dist/task-discipline-prompt.d.ts.map +1 -1
- package/dist/task-discipline-prompt.js +6 -4
- package/dist/task-discipline-prompt.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -20,7 +20,7 @@ opencode plugin update # 升级
|
|
|
20
20
|
| 工具 `siming_cli` | 以子进程执行任意 siming CLI 命令(仅限接入与诊断;任务生命周期操作一律走 MCP 三件套 siming_task / siming_template / siming_auth;日常运维请走终端) |
|
|
21
21
|
| 技能 | `siming-guide` 接入引导(固定常驻)+ server 侧全局/项目技能自动同步 |
|
|
22
22
|
| 子代理 | server 侧 agent 自动同步为 subagent(模型置空继承主会话当前模型;任务依据限于项目代码,过程产物读取与命令执行由主会话完成) |
|
|
23
|
-
| 任务纪律注入 | 已接入 siming 的工作区(`.siming/config.json` 含 `defaultProject
|
|
23
|
+
| 任务纪律注入 | 已接入 siming 的工作区(`.siming/config.json` 含 `defaultProject`)的**主会话**,向系统指令追加任务纪律提示词(插件内常量,无网络拉取;**默认只约束开发流程与调研流程**,其他工作默认不走 siming,业务特定流程需在该业务自己的项目提示词中声明;子代理/辅助请求/未接入工作区不注入;判定复用 worktree 桥语义,T202610150001;旧宿主缺 session 域自动跳过并由激活自检上报) |
|
|
24
24
|
|
|
25
25
|
## server 连接与凭证
|
|
26
26
|
|
|
@@ -39,7 +39,7 @@ opencode plugin update # 升级
|
|
|
39
39
|
|
|
40
40
|
## 常驻与上下文占用
|
|
41
41
|
|
|
42
|
-
全部注册物常驻会话,合计约 2-3K token(粗估,按宿主 tokenizer 浮动;窗口占比 1-1.5%;其中任务纪律提示词为常量短文,约 0.4-0.7K token,
|
|
42
|
+
全部注册物常驻会话,合计约 2-3K token(粗估,按宿主 tokenizer 浮动;窗口占比 1-1.5%;其中任务纪律提示词为常量短文,约 0.4-0.7K token,T202610220001 范围收敛后同步核对)。插件不内置任何 permissions 规则;如需收窄 `siming_cli` 可达面,可自配 deny 规则引用其锚点 `siming-setup`(options.permission 声明值),例如在 opencode 权限配置中 deny `siming-setup`。
|
|
43
43
|
|
|
44
44
|
## 旧产物同名处理
|
|
45
45
|
|
|
@@ -54,7 +54,7 @@ opencode plugin update # 升级
|
|
|
54
54
|
|
|
55
55
|
| 形态 | 处置 |
|
|
56
56
|
|---|---|
|
|
57
|
-
| 长会话中技能引用文件 not-found |
|
|
57
|
+
| 长会话中技能引用文件 not-found | 缓存目录被外部清理(回退桶的系统临时目录清理,或手工删除 `.siming/temp`)→ 触发 `siming_refresh` 重新物化(重启会话亦可自愈) |
|
|
58
58
|
| 无 MCP 工具 / 无 `siming_cli` | Node ≥ 22 解释器缺失降级注册 → 安装 Node 22+ 或设 `SIMING_NODE_BIN` 指向合法解释器后重启 |
|
|
59
59
|
| 激活日志「初始化拉取超时」 | server 不可达/鉴权失败 → 确认地址与 token(上方解析链),任意建任务或 `siming_refresh` 触发补齐 |
|
|
60
60
|
| 诊断 | 激活/变更/失败日志统一 `[siming-plugin]` 前缀,位置为 opencode 日志输出 |
|
package/dist/assets-store.d.ts
CHANGED
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
*
|
|
4
4
|
* 插件是 siming server 实例状态的零副本消费者:本 store 持有「最近一次成功拉取」
|
|
5
5
|
* 的快照,transform 重放时消费。刷新 = 新数组原子替换引用(重放期间读者要么全旧
|
|
6
|
-
*
|
|
6
|
+
* 要么全新,无中间态);store 本身不落盘(references 物化缓存在工作区 `.siming/temp`,
|
|
7
|
+
* 无工作区/不可写回退 os.tmpdir,见 fetch-assets)。
|
|
7
8
|
*
|
|
8
9
|
* 指纹(revalidate 差异检测用)仅在对应域重拉成功后写入(失败不前移)。
|
|
9
10
|
* registeredNames 记录上一轮 transform 实际注册过的名字——重放为「全量对账」语义:
|
|
@@ -40,24 +41,36 @@ export interface AssetsSnapshot {
|
|
|
40
41
|
/** 最近一次成功拉取时刻(诊断输出用;不做节流判定——v9 无时间戳节流) */
|
|
41
42
|
fetchedAt: number;
|
|
42
43
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
export
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
/**
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
44
|
+
/**
|
|
45
|
+
* store 实例接口(per-location:每个 location 的 setup 各构造一个实例,
|
|
46
|
+
* transform 重放 / revalidate 写入 / 自检读取全部操作各自实例——T202610220003)。
|
|
47
|
+
*/
|
|
48
|
+
export interface AssetsStore {
|
|
49
|
+
getSnapshot(): AssetsSnapshot;
|
|
50
|
+
/** 单域原子替换(技能或子代理),另一域保持不变;fetchedAt 由本函数统一推进 */
|
|
51
|
+
replaceSkills(skills: readonly SkillAsset[]): void;
|
|
52
|
+
replaceAgents(agents: readonly AgentAsset[]): void;
|
|
53
|
+
getSkillFingerprint(): string | null;
|
|
54
|
+
getAgentFingerprint(): string | null;
|
|
55
|
+
/** 仅对应域重拉成功后调用(失败不前移——下次触发重新检出差异重试) */
|
|
56
|
+
setSkillFingerprint(fp: string): void;
|
|
57
|
+
setAgentFingerprint(fp: string): void;
|
|
58
|
+
getRegisteredSkillNames(): Set<string>;
|
|
59
|
+
getRegisteredAgentNames(): Set<string>;
|
|
60
|
+
/** transform 重放完成时以本轮实际注册名集合整体替换 */
|
|
61
|
+
setRegisteredSkillNames(names: Iterable<string>): void;
|
|
62
|
+
setRegisteredAgentNames(names: Iterable<string>): void;
|
|
63
|
+
/** 诊断/自检输出用摘要 */
|
|
64
|
+
snapshotSummary(): {
|
|
65
|
+
skills: number;
|
|
66
|
+
agents: number;
|
|
67
|
+
fetchedAt: number;
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* 构造一个 store 实例(setup 时每 location 调用一次)。
|
|
72
|
+
* 闭包持有实例 state(快照/指纹/对账簿)——多 location 各自实例互不覆盖,
|
|
73
|
+
* 单 location 场景与历史模块级单例语义等价。
|
|
74
|
+
*/
|
|
75
|
+
export declare function createAssetsStore(): AssetsStore;
|
|
63
76
|
//# sourceMappingURL=assets-store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assets-store.d.ts","sourceRoot":"","sources":["../src/assets-store.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"assets-store.d.ts","sourceRoot":"","sources":["../src/assets-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,gDAAgD;AAChD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,kDAAkD;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,wCAAwC;AACxC,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,QAAQ,EAAE,UAAU,GAAG,UAAU,CAAC;IAClC,0BAA0B;IAC1B,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,SAAS,UAAU,EAAE,CAAC;IAC9B,MAAM,EAAE,SAAS,UAAU,EAAE,CAAC;IAC9B,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAC;CACnB;AAID;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,WAAW,IAAI,cAAc,CAAC;IAC9B,gDAAgD;IAChD,aAAa,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,GAAG,IAAI,CAAC;IACnD,aAAa,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,GAAG,IAAI,CAAC;IACnD,mBAAmB,IAAI,MAAM,GAAG,IAAI,CAAC;IACrC,mBAAmB,IAAI,MAAM,GAAG,IAAI,CAAC;IACrC,uCAAuC;IACvC,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtC,uBAAuB,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;IACvC,uBAAuB,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;IACvC,oCAAoC;IACpC,uBAAuB,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IACvD,uBAAuB,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IACvD,iBAAiB;IACjB,eAAe,IAAI;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1E;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,WAAW,CAwC/C"}
|
package/dist/assets-store.js
CHANGED
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
*
|
|
4
4
|
* 插件是 siming server 实例状态的零副本消费者:本 store 持有「最近一次成功拉取」
|
|
5
5
|
* 的快照,transform 重放时消费。刷新 = 新数组原子替换引用(重放期间读者要么全旧
|
|
6
|
-
*
|
|
6
|
+
* 要么全新,无中间态);store 本身不落盘(references 物化缓存在工作区 `.siming/temp`,
|
|
7
|
+
* 无工作区/不可写回退 os.tmpdir,见 fetch-assets)。
|
|
7
8
|
*
|
|
8
9
|
* 指纹(revalidate 差异检测用)仅在对应域重拉成功后写入(失败不前移)。
|
|
9
10
|
* registeredNames 记录上一轮 transform 实际注册过的名字——重放为「全量对账」语义:
|
|
@@ -11,58 +12,49 @@
|
|
|
11
12
|
* 宿主 reload 实现形态)。
|
|
12
13
|
*/
|
|
13
14
|
const EMPTY_SNAPSHOT = { skills: [], agents: [], fetchedAt: 0 };
|
|
14
|
-
/**
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
// 原子性:先构造新快照对象再一次赋值引用——并发的读者不会看到半更新状态
|
|
28
|
-
state.snapshot = { ...state.snapshot, skills, fetchedAt: Date.now() };
|
|
29
|
-
}
|
|
30
|
-
export function replaceAgents(agents) {
|
|
31
|
-
state.snapshot = { ...state.snapshot, agents, fetchedAt: Date.now() };
|
|
32
|
-
}
|
|
33
|
-
export function getSkillFingerprint() {
|
|
34
|
-
return state.skillFingerprint;
|
|
35
|
-
}
|
|
36
|
-
export function getAgentFingerprint() {
|
|
37
|
-
return state.agentFingerprint;
|
|
38
|
-
}
|
|
39
|
-
/** 仅对应域重拉成功后调用(失败不前移——下次触发重新检出差异重试) */
|
|
40
|
-
export function setSkillFingerprint(fp) {
|
|
41
|
-
state.skillFingerprint = fp;
|
|
42
|
-
}
|
|
43
|
-
export function setAgentFingerprint(fp) {
|
|
44
|
-
state.agentFingerprint = fp;
|
|
45
|
-
}
|
|
46
|
-
// ── 注册名对账簿(transform 重放时维护与消费) ──
|
|
47
|
-
export function getRegisteredSkillNames() {
|
|
48
|
-
return state.registeredSkillNames;
|
|
49
|
-
}
|
|
50
|
-
export function getRegisteredAgentNames() {
|
|
51
|
-
return state.registeredAgentNames;
|
|
52
|
-
}
|
|
53
|
-
/** transform 重放完成时以本轮实际注册名集合整体替换 */
|
|
54
|
-
export function setRegisteredSkillNames(names) {
|
|
55
|
-
state.registeredSkillNames = new Set(names);
|
|
56
|
-
}
|
|
57
|
-
export function setRegisteredAgentNames(names) {
|
|
58
|
-
state.registeredAgentNames = new Set(names);
|
|
59
|
-
}
|
|
60
|
-
/** 诊断/自检输出用摘要 */
|
|
61
|
-
export function snapshotSummary() {
|
|
15
|
+
/**
|
|
16
|
+
* 构造一个 store 实例(setup 时每 location 调用一次)。
|
|
17
|
+
* 闭包持有实例 state(快照/指纹/对账簿)——多 location 各自实例互不覆盖,
|
|
18
|
+
* 单 location 场景与历史模块级单例语义等价。
|
|
19
|
+
*/
|
|
20
|
+
export function createAssetsStore() {
|
|
21
|
+
const state = {
|
|
22
|
+
snapshot: EMPTY_SNAPSHOT,
|
|
23
|
+
skillFingerprint: null,
|
|
24
|
+
agentFingerprint: null,
|
|
25
|
+
registeredSkillNames: new Set(),
|
|
26
|
+
registeredAgentNames: new Set(),
|
|
27
|
+
};
|
|
62
28
|
return {
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
29
|
+
getSnapshot: () => state.snapshot,
|
|
30
|
+
// 原子性:先构造新快照对象再一次赋值引用——并发的读者不会看到半更新状态
|
|
31
|
+
replaceSkills: (skills) => {
|
|
32
|
+
state.snapshot = { ...state.snapshot, skills, fetchedAt: Date.now() };
|
|
33
|
+
},
|
|
34
|
+
replaceAgents: (agents) => {
|
|
35
|
+
state.snapshot = { ...state.snapshot, agents, fetchedAt: Date.now() };
|
|
36
|
+
},
|
|
37
|
+
getSkillFingerprint: () => state.skillFingerprint,
|
|
38
|
+
getAgentFingerprint: () => state.agentFingerprint,
|
|
39
|
+
setSkillFingerprint: (fp) => {
|
|
40
|
+
state.skillFingerprint = fp;
|
|
41
|
+
},
|
|
42
|
+
setAgentFingerprint: (fp) => {
|
|
43
|
+
state.agentFingerprint = fp;
|
|
44
|
+
},
|
|
45
|
+
getRegisteredSkillNames: () => state.registeredSkillNames,
|
|
46
|
+
getRegisteredAgentNames: () => state.registeredAgentNames,
|
|
47
|
+
setRegisteredSkillNames: (names) => {
|
|
48
|
+
state.registeredSkillNames = new Set(names);
|
|
49
|
+
},
|
|
50
|
+
setRegisteredAgentNames: (names) => {
|
|
51
|
+
state.registeredAgentNames = new Set(names);
|
|
52
|
+
},
|
|
53
|
+
snapshotSummary: () => ({
|
|
54
|
+
skills: state.snapshot.skills.length,
|
|
55
|
+
agents: state.snapshot.agents.length,
|
|
56
|
+
fetchedAt: state.snapshot.fetchedAt,
|
|
57
|
+
}),
|
|
66
58
|
};
|
|
67
59
|
}
|
|
68
60
|
//# sourceMappingURL=assets-store.js.map
|
package/dist/assets-store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assets-store.js","sourceRoot":"","sources":["../src/assets-store.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"assets-store.js","sourceRoot":"","sources":["../src/assets-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAmCH,MAAM,cAAc,GAAmB,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;AA0BhF;;;;GAIG;AACH,MAAM,UAAU,iBAAiB;IAC/B,MAAM,KAAK,GAAG;QACZ,QAAQ,EAAE,cAAc;QACxB,gBAAgB,EAAE,IAAqB;QACvC,gBAAgB,EAAE,IAAqB;QACvC,oBAAoB,EAAE,IAAI,GAAG,EAAU;QACvC,oBAAoB,EAAE,IAAI,GAAG,EAAU;KACxC,CAAC;IAEF,OAAO;QACL,WAAW,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ;QACjC,sCAAsC;QACtC,aAAa,EAAE,CAAC,MAAM,EAAE,EAAE;YACxB,KAAK,CAAC,QAAQ,GAAG,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QACxE,CAAC;QACD,aAAa,EAAE,CAAC,MAAM,EAAE,EAAE;YACxB,KAAK,CAAC,QAAQ,GAAG,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QACxE,CAAC;QACD,mBAAmB,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,gBAAgB;QACjD,mBAAmB,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,gBAAgB;QACjD,mBAAmB,EAAE,CAAC,EAAE,EAAE,EAAE;YAC1B,KAAK,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC9B,CAAC;QACD,mBAAmB,EAAE,CAAC,EAAE,EAAE,EAAE;YAC1B,KAAK,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC9B,CAAC;QACD,uBAAuB,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,oBAAoB;QACzD,uBAAuB,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,oBAAoB;QACzD,uBAAuB,EAAE,CAAC,KAAK,EAAE,EAAE;YACjC,KAAK,CAAC,oBAAoB,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC;QACD,uBAAuB,EAAE,CAAC,KAAK,EAAE,EAAE;YACjC,KAAK,CAAC,oBAAoB,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC;QACD,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC;YACtB,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM;YACpC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM;YACpC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,SAAS;SACpC,CAAC;KACH,CAAC;AACJ,CAAC"}
|
package/dist/fetch-assets.d.ts
CHANGED
|
@@ -16,9 +16,21 @@ export interface FetchTarget {
|
|
|
16
16
|
token: string | null;
|
|
17
17
|
/** 工作区绑定项目 key(.siming/config.json defaultProject;无绑定=null) */
|
|
18
18
|
projectKey: string | null;
|
|
19
|
+
/** 工作区根(findWorkspaceDir 结果;无工作区=null)——缓存根推导复用,免二次祖先链发现 */
|
|
20
|
+
workspaceDir: string | null;
|
|
19
21
|
}
|
|
20
22
|
/** 四层 serverUrl 解析 + 三层 token 解析 + 工作区项目绑定发现(纯本地,无网络请求) */
|
|
21
23
|
export declare function resolveFetchTarget(startDir: string): FetchTarget;
|
|
24
|
+
/**
|
|
25
|
+
* 本 location 的技能附件缓存根(物化路径与宿主展示路径共用同一根,方案决策 B):
|
|
26
|
+
* - 已存在且可写的工作区 → <workspaceDir>/.siming/temp/siming-opencode-plugin——生命周期由
|
|
27
|
+
* 项目目录决定,不依赖系统临时目录清理时机;不自行创建 .siming(会改变工作区发现与项目
|
|
28
|
+
* 绑定语义,方案决策 A);
|
|
29
|
+
* - 无工作区 / 工作区不可写 / 命中用户级配置层 → tmpdir()/siming-opencode-plugin/loc-<目录哈希
|
|
30
|
+
* 前 16 hex>(回退场景仍按 location 分桶)。首次创建缓存子目录即失败(只读挂载、ENOSPC)
|
|
31
|
+
* 按技能域失败上报,不切换根——展示路径已在 setup 定格,运行期换根会让注册路径失效。
|
|
32
|
+
*/
|
|
33
|
+
export declare function referencesRootOf(directory: string): string;
|
|
22
34
|
interface FingerprintItem {
|
|
23
35
|
name: string;
|
|
24
36
|
scope: 'global' | 'project';
|
|
@@ -38,17 +50,30 @@ export declare function fetchAgentCheckFingerprint(plan: FetchPlan): Promise<str
|
|
|
38
50
|
/** 解析后的拉取计划(目标 + 项目 hex id;域名独立拉取共用同一计划) */
|
|
39
51
|
export interface FetchPlan {
|
|
40
52
|
target: FetchTarget;
|
|
41
|
-
/**
|
|
53
|
+
/** 项目解析成功(工作区绑定或实例默认兜底)为 hex id 时非 null;无解析结果=null(按仅全局继续) */
|
|
42
54
|
projectId: string | null;
|
|
55
|
+
/**
|
|
56
|
+
* 本 location 的附件缓存根(referencesRootOf(startDir)):物化路径与宿主展示路径共用,
|
|
57
|
+
* 由计划单点计算,消费方(fetchSkillsDomain / 注册路径)不再各自推导。
|
|
58
|
+
*/
|
|
59
|
+
referencesRoot: string;
|
|
43
60
|
}
|
|
44
61
|
/**
|
|
45
|
-
*
|
|
62
|
+
* 实例默认项目兜底 key(对齐 CLI resolveScopedProject 第④层寻址链):
|
|
63
|
+
* 工作区未配 defaultProject 时尝试 server 实例 key=default 的默认项目。
|
|
64
|
+
*/
|
|
65
|
+
export declare const INSTANCE_DEFAULT_PROJECT_KEY = "default";
|
|
66
|
+
/**
|
|
67
|
+
* 共享前置解析:目标四层/token 三层 + 项目 key→hex id(两层寻址)。
|
|
68
|
+
* 项目寻址链:① 工作区 defaultProject(有则解析之);② 无工作区绑定 → 兜底尝试实例默认项目
|
|
69
|
+
* (key=default,对齐 CLI resolveScopedProject 第④层——server 初始化时创建的默认项目,
|
|
70
|
+
* 工作区未显式绑定的场景插件与 CLI 行为一致,不再「插件仅全局、CLI 却有项目域」割裂)。
|
|
46
71
|
* projectIdOverride:调用方(revalidate)缓存的 key→id 命中时跳过网络解析,稳态检查保持 2 次列表请求。
|
|
47
72
|
*/
|
|
48
73
|
export declare function resolveFetchPlan(startDir: string, projectIdOverride?: {
|
|
49
74
|
key: string;
|
|
50
75
|
id: string;
|
|
51
|
-
} | null): Promise<FetchPlan>;
|
|
76
|
+
} | null, referencesRootOverride?: string): Promise<FetchPlan>;
|
|
52
77
|
export interface DomainFetchResult<T> {
|
|
53
78
|
assets: T[];
|
|
54
79
|
/** 从本次原始列表行(分作用域形,与检查的并集形枚举一致)构造的域指纹 */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-assets.d.ts","sourceRoot":"","sources":["../src/fetch-assets.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fetch-assets.d.ts","sourceRoot":"","sources":["../src/fetch-assets.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AA8BhE;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAW7D;AAoGD,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAErE,qBAAa,eAAgB,SAAQ,KAAK;IACxC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;gBACb,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;CAMrE;AAkCD,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,+DAA+D;IAC/D,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,4DAA4D;IAC5D,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,2DAA2D;AAC3D,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAwBhE;AAiHD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE1D;AAqDD,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,oEAAoE;AACpE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,aAAa,CAAC,eAAe,CAAC,GAAG,MAAM,CAK9E;AAED;;;;GAIG;AACH,wBAAsB,0BAA0B,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAGjF;AAED,wBAAsB,0BAA0B,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAGjF;AAQD,4CAA4C;AAC5C,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,WAAW,CAAC;IACpB,8DAA8D;IAC9D,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB;;;OAGG;IACH,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;GAGG;AACH,eAAO,MAAM,4BAA4B,YAAY,CAAC;AAEtD;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,iBAAiB,CAAC,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,EACtD,sBAAsB,CAAC,EAAE,MAAM,GAC9B,OAAO,CAAC,SAAS,CAAC,CAsCpB;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,MAAM,EAAE,CAAC,EAAE,CAAC;IACZ,wCAAwC;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAsC/F;AAED,mDAAmD;AACnD,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CA6B/F"}
|
package/dist/fetch-assets.js
CHANGED
|
@@ -15,7 +15,8 @@
|
|
|
15
15
|
* 拉取数据路径与 install 命令一致:列表概要投影(content 随列表下发、references 剥离出
|
|
16
16
|
* referenceCount)+ referenceCount>0 时 by-name 详情取全量 references。
|
|
17
17
|
*/
|
|
18
|
-
import {
|
|
18
|
+
import { createHash } from 'node:crypto';
|
|
19
|
+
import { accessSync, constants, existsSync, mkdirSync, readFileSync, readdirSync, rmSync, statSync, writeFileSync } from 'node:fs';
|
|
19
20
|
import { homedir, tmpdir } from 'node:os';
|
|
20
21
|
import { dirname, isAbsolute, join, resolve } from 'node:path';
|
|
21
22
|
import { parse } from 'jsonc-parser';
|
|
@@ -224,6 +225,7 @@ export function resolveFetchTarget(startDir) {
|
|
|
224
225
|
serverUrl,
|
|
225
226
|
token: resolveToken(workspaceDir),
|
|
226
227
|
projectKey: typeof defaultProject === 'string' && defaultProject !== '' ? defaultProject : null,
|
|
228
|
+
workspaceDir,
|
|
227
229
|
};
|
|
228
230
|
}
|
|
229
231
|
/** project key → hex id(GET /api/projects 找 key===input;24-hex 直接作 id)——镜像 CLI resolveProjectId */
|
|
@@ -258,20 +260,62 @@ async function fetchSkillDetail(target, name, scope, projectId) {
|
|
|
258
260
|
throw new AssetFetchError('parse', `skill ${name} 详情响应不是对象`);
|
|
259
261
|
return raw;
|
|
260
262
|
}
|
|
261
|
-
// ── references
|
|
262
|
-
|
|
263
|
-
|
|
263
|
+
// ── references 物化与缓存根(T202610220004:按工作区隔离 + 缓存内对账) ──
|
|
264
|
+
/** 无工作区 / 工作区不可写时的回退根(系统临时目录);工作区缓存根不复用它 */
|
|
265
|
+
const FALLBACK_TMP_ROOT = join(tmpdir(), 'siming-opencode-plugin');
|
|
266
|
+
/** 回退桶键:location 目录稳定哈希(同一目录跨进程重启复用同一桶) */
|
|
267
|
+
function locationBucketKey(directory) {
|
|
268
|
+
return createHash('sha256').update(resolve(directory)).digest('hex').slice(0, 16);
|
|
269
|
+
}
|
|
270
|
+
function isWritableDir(dir) {
|
|
271
|
+
try {
|
|
272
|
+
accessSync(dir, constants.W_OK);
|
|
273
|
+
return true;
|
|
274
|
+
}
|
|
275
|
+
catch {
|
|
276
|
+
return false;
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
/** `.siming` 及已存在的 temp 子树均可写才可用——探测面与实际写入面一致,否则写到 temp 时才失败 */
|
|
280
|
+
function isCacheWritable(workspaceDir) {
|
|
281
|
+
const simingDir = join(workspaceDir, '.siming');
|
|
282
|
+
if (!isWritableDir(simingDir))
|
|
283
|
+
return false;
|
|
284
|
+
const tempDir = join(simingDir, 'temp');
|
|
285
|
+
return !existsSync(tempDir) || isWritableDir(tempDir);
|
|
286
|
+
}
|
|
287
|
+
/** $HOME 下的 `.siming` 是 siming 全局配置层而非项目工作区:不作为缓存根,否则所有位于 home 下游且无自有 `.siming` 的 location 共用用户级目录 */
|
|
288
|
+
function isHomeDir(dir) {
|
|
289
|
+
return resolve(dir) === resolve(homedir());
|
|
290
|
+
}
|
|
291
|
+
function referencesRootFor(workspaceDir, directory) {
|
|
292
|
+
if (workspaceDir !== null && !isHomeDir(workspaceDir) && isCacheWritable(workspaceDir)) {
|
|
293
|
+
return join(workspaceDir, '.siming', 'temp', 'siming-opencode-plugin');
|
|
294
|
+
}
|
|
295
|
+
return join(FALLBACK_TMP_ROOT, `loc-${locationBucketKey(directory)}`);
|
|
296
|
+
}
|
|
297
|
+
/**
|
|
298
|
+
* 本 location 的技能附件缓存根(物化路径与宿主展示路径共用同一根,方案决策 B):
|
|
299
|
+
* - 已存在且可写的工作区 → <workspaceDir>/.siming/temp/siming-opencode-plugin——生命周期由
|
|
300
|
+
* 项目目录决定,不依赖系统临时目录清理时机;不自行创建 .siming(会改变工作区发现与项目
|
|
301
|
+
* 绑定语义,方案决策 A);
|
|
302
|
+
* - 无工作区 / 工作区不可写 / 命中用户级配置层 → tmpdir()/siming-opencode-plugin/loc-<目录哈希
|
|
303
|
+
* 前 16 hex>(回退场景仍按 location 分桶)。首次创建缓存子目录即失败(只读挂载、ENOSPC)
|
|
304
|
+
* 按技能域失败上报,不切换根——展示路径已在 setup 定格,运行期换根会让注册路径失效。
|
|
305
|
+
*/
|
|
306
|
+
export function referencesRootOf(directory) {
|
|
307
|
+
return referencesRootFor(findWorkspaceDir(directory), directory);
|
|
264
308
|
}
|
|
265
309
|
/**
|
|
266
|
-
* 物化某技能的引用文档到
|
|
310
|
+
* 物化某技能的引用文档到 <referencesRoot>/skills/<name>/references/<path>,
|
|
267
311
|
* 并把正文中出现的相对 path 文本改写为物化后的绝对路径(主文档以文本引用 path,
|
|
268
312
|
* 引用侧同源可证:server 侧 assertReferencesDeletable 即按「path 文本出现在正文」判定)。
|
|
269
313
|
* 幂等:每次重拉整目录重建(rmSync+重写),同一动作再验证复用。
|
|
270
314
|
*/
|
|
271
|
-
function materializeReferences(skillName, content, references) {
|
|
315
|
+
function materializeReferences(referencesRoot, skillName, content, references) {
|
|
272
316
|
if (references.length === 0)
|
|
273
317
|
return content;
|
|
274
|
-
const assetRoot = join(referencesRoot
|
|
318
|
+
const assetRoot = join(referencesRoot, 'skills', skillName, 'references');
|
|
275
319
|
rmSync(assetRoot, { recursive: true, force: true });
|
|
276
320
|
let rewritten = content;
|
|
277
321
|
for (const doc of references) {
|
|
@@ -283,6 +327,31 @@ function materializeReferences(skillName, content, references) {
|
|
|
283
327
|
}
|
|
284
328
|
return rewritten;
|
|
285
329
|
}
|
|
330
|
+
/**
|
|
331
|
+
* 缓存内对账(方案决策 C):技能域成功拉取后删除本轮未物化的 skills/<name>/ 目录
|
|
332
|
+
* (技能删除/停用/附件清零)。只在成功路径调用,失败路径保留原缓存;单个目录清理失败
|
|
333
|
+
* 只留痕、不阻断本轮注册。
|
|
334
|
+
*/
|
|
335
|
+
function reconcileSkillCache(referencesRoot, materialized) {
|
|
336
|
+
const skillsRoot = join(referencesRoot, 'skills');
|
|
337
|
+
let entries;
|
|
338
|
+
try {
|
|
339
|
+
entries = readdirSync(skillsRoot);
|
|
340
|
+
}
|
|
341
|
+
catch {
|
|
342
|
+
return; // 缓存尚未创建:无陈旧目录可清
|
|
343
|
+
}
|
|
344
|
+
for (const name of entries) {
|
|
345
|
+
if (materialized.has(name))
|
|
346
|
+
continue;
|
|
347
|
+
try {
|
|
348
|
+
rmSync(join(skillsRoot, name), { recursive: true, force: true });
|
|
349
|
+
}
|
|
350
|
+
catch (error) {
|
|
351
|
+
console.error(`[siming-plugin] 陈旧附件缓存清理失败(${join(skillsRoot, name)}):${String(error)}`);
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
}
|
|
286
355
|
/** 每条 name@scope|version|updatedAt|enabled 排序拼接(§4.C3 第 6 条契约形状) */
|
|
287
356
|
export function buildFingerprint(items) {
|
|
288
357
|
return items
|
|
@@ -307,22 +376,50 @@ function fingerprintQuery(projectId) {
|
|
|
307
376
|
return projectId !== null ? `?projectId=${projectId}` : '?scope=global';
|
|
308
377
|
}
|
|
309
378
|
/**
|
|
310
|
-
*
|
|
379
|
+
* 实例默认项目兜底 key(对齐 CLI resolveScopedProject 第④层寻址链):
|
|
380
|
+
* 工作区未配 defaultProject 时尝试 server 实例 key=default 的默认项目。
|
|
381
|
+
*/
|
|
382
|
+
export const INSTANCE_DEFAULT_PROJECT_KEY = 'default';
|
|
383
|
+
/**
|
|
384
|
+
* 共享前置解析:目标四层/token 三层 + 项目 key→hex id(两层寻址)。
|
|
385
|
+
* 项目寻址链:① 工作区 defaultProject(有则解析之);② 无工作区绑定 → 兜底尝试实例默认项目
|
|
386
|
+
* (key=default,对齐 CLI resolveScopedProject 第④层——server 初始化时创建的默认项目,
|
|
387
|
+
* 工作区未显式绑定的场景插件与 CLI 行为一致,不再「插件仅全局、CLI 却有项目域」割裂)。
|
|
311
388
|
* projectIdOverride:调用方(revalidate)缓存的 key→id 命中时跳过网络解析,稳态检查保持 2 次列表请求。
|
|
312
389
|
*/
|
|
313
|
-
export async function resolveFetchPlan(startDir, projectIdOverride) {
|
|
390
|
+
export async function resolveFetchPlan(startDir, projectIdOverride, referencesRootOverride) {
|
|
314
391
|
const target = resolveFetchTarget(startDir);
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
392
|
+
// 缓存根默认按目录推导;revalidator 传入 setup 时定格的根,保证物化与注册展示路径在会话内始终同源
|
|
393
|
+
const referencesRoot = referencesRootOverride ?? referencesRootFor(target.workspaceDir, startDir);
|
|
394
|
+
// 两层寻址统一为 key:工作区绑定优先,无绑定兜底实例默认项目
|
|
395
|
+
const key = target.projectKey ?? INSTANCE_DEFAULT_PROJECT_KEY;
|
|
396
|
+
if (projectIdOverride !== undefined && projectIdOverride !== null && projectIdOverride.key === key) {
|
|
397
|
+
return { target, projectId: projectIdOverride.id, referencesRoot };
|
|
398
|
+
}
|
|
399
|
+
// 兜底路径(无工作区绑定 → 实例默认项目):解析失败(网络/未命中)不得拖垮资产链路——
|
|
400
|
+
// 无绑定场景在兜底引入前不发任何 /api/projects 请求,兜底单点异常不能把 global 拉取一起打挂(方案 §2 D7:失败维持仅全局)
|
|
401
|
+
if (target.projectKey === null) {
|
|
402
|
+
let fallbackId = null;
|
|
403
|
+
try {
|
|
404
|
+
fallbackId = await resolveProjectId(target, INSTANCE_DEFAULT_PROJECT_KEY);
|
|
405
|
+
}
|
|
406
|
+
catch (error) {
|
|
407
|
+
const reason = error instanceof Error ? error.message : String(error);
|
|
408
|
+
console.error(`[siming-plugin] 实例默认项目(key=${INSTANCE_DEFAULT_PROJECT_KEY})解析失败(${reason})——本次按仅全局拉取`);
|
|
409
|
+
return { target, projectId: null, referencesRoot };
|
|
410
|
+
}
|
|
411
|
+
if (fallbackId === null) {
|
|
412
|
+
console.error(`[siming-plugin] 实例默认项目(key=${INSTANCE_DEFAULT_PROJECT_KEY})未命中——工作区未绑定 defaultProject 且 server 无默认项目,本次按仅全局拉取`);
|
|
413
|
+
}
|
|
414
|
+
return { target, projectId: fallbackId, referencesRoot };
|
|
319
415
|
}
|
|
416
|
+
// 绑定路径:网络/HTTP 异常上抛由调用方(revalidate)按域失败处理(保留现有注册,刷新报告可见——不静默降级);
|
|
417
|
+
// key 无命中(配置指向不存在的项目)按仅全局继续
|
|
320
418
|
const id = await resolveProjectId(target, target.projectKey);
|
|
321
419
|
if (id === null) {
|
|
322
|
-
// 绑定存在但解析失败(项目已删/不可达):按仅全局继续,如实留痕
|
|
323
420
|
console.error(`[siming-plugin] 工作区绑定项目 "${target.projectKey}" 解析失败(GET /api/projects 无此 key)——本次按仅全局拉取`);
|
|
324
421
|
}
|
|
325
|
-
return { target, projectId: id };
|
|
422
|
+
return { target, projectId: id, referencesRoot };
|
|
326
423
|
}
|
|
327
424
|
/**
|
|
328
425
|
* 技能域全链拉取:global 列表 +(有绑定时)project 列表 → 同名 project 胜 →
|
|
@@ -340,12 +437,14 @@ export async function fetchSkillsDomain(plan) {
|
|
|
340
437
|
for (const item of projectItems)
|
|
341
438
|
merged.set(item.name, item);
|
|
342
439
|
const skills = [];
|
|
440
|
+
const materialized = new Set();
|
|
343
441
|
for (const item of merged.values()) {
|
|
344
442
|
let content = item.content;
|
|
345
443
|
if (item.referenceCount > 0) {
|
|
346
444
|
const detail = await fetchSkillDetail(plan.target, item.name, item.scope, plan.projectId);
|
|
347
445
|
if (detail.references !== undefined && detail.references.length > 0) {
|
|
348
|
-
content = materializeReferences(item.name, content, detail.references);
|
|
446
|
+
content = materializeReferences(plan.referencesRoot, item.name, content, detail.references);
|
|
447
|
+
materialized.add(item.name);
|
|
349
448
|
}
|
|
350
449
|
}
|
|
351
450
|
skills.push({
|
|
@@ -358,6 +457,7 @@ export async function fetchSkillsDomain(plan) {
|
|
|
358
457
|
referenceCount: item.referenceCount,
|
|
359
458
|
});
|
|
360
459
|
}
|
|
460
|
+
reconcileSkillCache(plan.referencesRoot, materialized);
|
|
361
461
|
return {
|
|
362
462
|
assets: skills,
|
|
363
463
|
fingerprint: buildFingerprint([...globalItems, ...projectItems]),
|
package/dist/fetch-assets.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-assets.js","sourceRoot":"","sources":["../src/fetch-assets.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fetch-assets.js","sourceRoot":"","sources":["../src/fetch-assets.ts"],"names":[],"mappings":"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"}
|
package/dist/guide-skill.d.ts
CHANGED
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
*
|
|
4
4
|
* 正文 = 六步主链路插件版(v10 裁定 A):链上无 scaffold 步,引导全程不落任何本地产物文件——
|
|
5
5
|
* 仅两类本地写入均经 CLI 既有路径(工作区 .siming/config.json(init 绑定)与 ~/.siming/auth.json(token));
|
|
6
|
-
* references
|
|
6
|
+
* references 物化缓存走工作区 `.siming/temp`(无工作区/不可写回退 os.tmpdir),不在此限。
|
|
7
7
|
* 内容构建期定稿(随插件版本走,不运行时拉取);语义源 = cli onboarding-text.ts 链路 + 本方案 §4.F 逐轮裁定。
|
|
8
8
|
*/
|
|
9
9
|
import type { HostSkillInfo } from './host-api.js';
|
|
10
10
|
export declare const GUIDE_SKILL_NAME = "siming-guide";
|
|
11
|
-
export declare function guideSkillInfo(): HostSkillInfo;
|
|
11
|
+
export declare function guideSkillInfo(referencesRoot: string): HostSkillInfo;
|
|
12
12
|
//# sourceMappingURL=guide-skill.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guide-skill.d.ts","sourceRoot":"","sources":["../src/guide-skill.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAGnD,eAAO,MAAM,gBAAgB,iBAAiB,CAAC;AAE/C,wBAAgB,cAAc,
|
|
1
|
+
{"version":3,"file":"guide-skill.d.ts","sourceRoot":"","sources":["../src/guide-skill.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAGnD,eAAO,MAAM,gBAAgB,iBAAiB,CAAC;AAE/C,wBAAgB,cAAc,CAAC,cAAc,EAAE,MAAM,GAAG,aAAa,CAQpE"}
|
package/dist/guide-skill.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { skillDisplayPath } from './host-api.js';
|
|
2
2
|
export const GUIDE_SKILL_NAME = 'siming-guide';
|
|
3
|
-
export function guideSkillInfo() {
|
|
3
|
+
export function guideSkillInfo(referencesRoot) {
|
|
4
4
|
return {
|
|
5
5
|
id: GUIDE_SKILL_NAME,
|
|
6
6
|
name: GUIDE_SKILL_NAME,
|
|
7
7
|
description: 'siming 新项目接入引导:当用户要求接入/初始化 siming 时使用',
|
|
8
|
-
path: skillDisplayPath(GUIDE_SKILL_NAME),
|
|
8
|
+
path: skillDisplayPath(referencesRoot, GUIDE_SKILL_NAME),
|
|
9
9
|
content: GUIDE_CONTENT,
|
|
10
10
|
};
|
|
11
11
|
}
|
package/dist/guide-skill.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guide-skill.js","sourceRoot":"","sources":["../src/guide-skill.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,MAAM,CAAC,MAAM,gBAAgB,GAAG,cAAc,CAAC;AAE/C,MAAM,UAAU,cAAc;
|
|
1
|
+
{"version":3,"file":"guide-skill.js","sourceRoot":"","sources":["../src/guide-skill.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,MAAM,CAAC,MAAM,gBAAgB,GAAG,cAAc,CAAC;AAE/C,MAAM,UAAU,cAAc,CAAC,cAAsB;IACnD,OAAO;QACL,EAAE,EAAE,gBAAgB;QACpB,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,uCAAuC;QACpD,IAAI,EAAE,gBAAgB,CAAC,cAAc,EAAE,gBAAgB,CAAC;QACxD,OAAO,EAAE,aAAa;KACvB,CAAC;AACJ,CAAC;AAED,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8CrB,CAAC"}
|