@roarpeng/graphflow 1.7.15 → 1.9.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/CHANGELOG.md +42 -0
- package/README.md +21 -10
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +3 -0
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/embedding-factory.d.ts +22 -0
- package/dist/config/embedding-factory.d.ts.map +1 -1
- package/dist/config/embedding-factory.js +81 -57
- package/dist/config/embedding-factory.js.map +1 -1
- package/dist/config/graphify-endpoint.d.ts +9 -0
- package/dist/config/graphify-endpoint.d.ts.map +1 -0
- package/dist/config/graphify-endpoint.js +24 -0
- package/dist/config/graphify-endpoint.js.map +1 -0
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +20 -4
- package/dist/config/loader.js.map +1 -1
- package/dist/config/schema.d.ts +16 -0
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/core/agent-delegation.d.ts +15 -1
- package/dist/core/agent-delegation.d.ts.map +1 -1
- package/dist/core/agent-delegation.js +99 -4
- package/dist/core/agent-delegation.js.map +1 -1
- package/dist/core/goal-anchor.d.ts +70 -0
- package/dist/core/goal-anchor.d.ts.map +1 -0
- package/dist/core/goal-anchor.js +253 -0
- package/dist/core/goal-anchor.js.map +1 -0
- package/dist/core/merge-agent-insight.d.ts +10 -0
- package/dist/core/merge-agent-insight.d.ts.map +1 -1
- package/dist/core/merge-agent-insight.js +36 -1
- package/dist/core/merge-agent-insight.js.map +1 -1
- package/dist/core/orchestrator-context.d.ts +7 -1
- package/dist/core/orchestrator-context.d.ts.map +1 -1
- package/dist/core/orchestrator-context.js +28 -3
- package/dist/core/orchestrator-context.js.map +1 -1
- package/dist/core/orchestrator-episode.d.ts +7 -0
- package/dist/core/orchestrator-episode.d.ts.map +1 -1
- package/dist/core/orchestrator-episode.js +18 -0
- package/dist/core/orchestrator-episode.js.map +1 -1
- package/dist/core/orchestrator.d.ts.map +1 -1
- package/dist/core/orchestrator.js +5 -1
- package/dist/core/orchestrator.js.map +1 -1
- package/dist/core/submit-agent-insight.d.ts +15 -0
- package/dist/core/submit-agent-insight.d.ts.map +1 -1
- package/dist/core/submit-agent-insight.js +43 -1
- package/dist/core/submit-agent-insight.js.map +1 -1
- package/dist/graph/client-factory.d.ts.map +1 -1
- package/dist/graph/client-factory.js +17 -1
- package/dist/graph/client-factory.js.map +1 -1
- package/dist/graph/graphify-mcp-client.d.ts +46 -4
- package/dist/graph/graphify-mcp-client.d.ts.map +1 -1
- package/dist/graph/graphify-mcp-client.js +99 -22
- package/dist/graph/graphify-mcp-client.js.map +1 -1
- package/dist/graph/language-indexers/plcopen-xml.d.ts.map +1 -1
- package/dist/graph/language-indexers/plcopen-xml.js +18 -1
- package/dist/graph/language-indexers/plcopen-xml.js.map +1 -1
- package/dist/graph/language-indexers/st-analyzer.d.ts.map +1 -1
- package/dist/graph/language-indexers/st-analyzer.js +4 -2
- package/dist/graph/language-indexers/st-analyzer.js.map +1 -1
- package/dist/learning/embedding-quality.d.ts.map +1 -1
- package/dist/learning/embedding-quality.js +2 -0
- package/dist/learning/embedding-quality.js.map +1 -1
- package/dist/learning/episodic-memory.d.ts +11 -1
- package/dist/learning/episodic-memory.d.ts.map +1 -1
- package/dist/learning/episodic-memory.js +16 -1
- package/dist/learning/episodic-memory.js.map +1 -1
- package/dist/learning/seed-skills.d.ts.map +1 -1
- package/dist/learning/seed-skills.js +8 -0
- package/dist/learning/seed-skills.js.map +1 -1
- package/dist/learning/skill-flywheel.d.ts +46 -3
- package/dist/learning/skill-flywheel.d.ts.map +1 -1
- package/dist/learning/skill-flywheel.js +225 -8
- package/dist/learning/skill-flywheel.js.map +1 -1
- package/dist/learning/skill-package.d.ts +49 -8
- package/dist/learning/skill-package.d.ts.map +1 -1
- package/dist/learning/skill-package.js +127 -20
- package/dist/learning/skill-package.js.map +1 -1
- package/dist/learning/skill-store.d.ts.map +1 -1
- package/dist/learning/skill-store.js +12 -0
- package/dist/learning/skill-store.js.map +1 -1
- package/dist/learning/skill-types.d.ts +29 -0
- package/dist/learning/skill-types.d.ts.map +1 -1
- package/dist/learning/skill-types.js.map +1 -1
- package/dist/routing/provider-executor.d.ts +6 -0
- package/dist/routing/provider-executor.d.ts.map +1 -1
- package/dist/routing/provider-executor.js +10 -1
- package/dist/routing/provider-executor.js.map +1 -1
- package/dist/surfaces/cli/index.js +16 -6
- package/dist/surfaces/cli/index.js.map +1 -1
- package/dist/surfaces/cli/output.js +2 -2
- package/dist/surfaces/cli/output.js.map +1 -1
- package/dist/surfaces/cli/runtime/facade.d.ts +2 -1
- package/dist/surfaces/cli/runtime/facade.d.ts.map +1 -1
- package/dist/surfaces/cli/runtime/facade.js +1 -0
- package/dist/surfaces/cli/runtime/facade.js.map +1 -1
- package/dist/surfaces/cli/runtime/graph.d.ts +41 -4
- package/dist/surfaces/cli/runtime/graph.d.ts.map +1 -1
- package/dist/surfaces/cli/runtime/graph.js +79 -8
- package/dist/surfaces/cli/runtime/graph.js.map +1 -1
- package/dist/surfaces/cli/runtime/routing.d.ts +2 -1
- package/dist/surfaces/cli/runtime/routing.d.ts.map +1 -1
- package/dist/surfaces/cli/runtime/routing.js +30 -3
- package/dist/surfaces/cli/runtime/routing.js.map +1 -1
- package/dist/surfaces/cli/runtime/types.d.ts +4 -0
- package/dist/surfaces/cli/runtime/types.d.ts.map +1 -1
- package/dist/surfaces/mcp/tool-definitions.d.ts.map +1 -1
- package/dist/surfaces/mcp/tool-definitions.js +5 -0
- package/dist/surfaces/mcp/tool-definitions.js.map +1 -1
- package/dist/surfaces/mcp/tool-handlers.d.ts.map +1 -1
- package/dist/surfaces/mcp/tool-handlers.js +4 -1
- package/dist/surfaces/mcp/tool-handlers.js.map +1 -1
- package/package.json +2 -1
|
@@ -1,18 +1,31 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* skill-package.ts — 技能包导入 /
|
|
2
|
+
* skill-package.ts — 技能包导入 / 导出(双向 MERGE)
|
|
3
3
|
*
|
|
4
4
|
* 将图存储中所有 Skill 类型节点导出为可移植的 JSON 技能包,
|
|
5
|
-
*
|
|
5
|
+
* 方便团队共享与跨工作区迁移。导入采用双向 MERGE(而非覆盖)。
|
|
6
6
|
*
|
|
7
7
|
* 技能包格式:
|
|
8
8
|
* ```json
|
|
9
9
|
* {
|
|
10
|
-
* "version": "1.
|
|
10
|
+
* "version": "1.1",
|
|
11
11
|
* "exportedAt": "2026-01-01T00:00:00.000Z",
|
|
12
|
-
* "skills": [ { "id": "skill:...", "type": "Skill", "content": "...", "metadata": {} } ]
|
|
12
|
+
* "skills": [ { "id": "skill:...", "type": "Skill", "content": "...", "metadata": {} } ],
|
|
13
|
+
* "goldenQueries": [ "自然语言检索查询 ..." ]
|
|
13
14
|
* }
|
|
14
15
|
* ```
|
|
15
16
|
*
|
|
17
|
+
* 冲突策略(import,默认 / 未带 --force 时):
|
|
18
|
+
* - 按技能 id 取并集(per-skill-id union)。
|
|
19
|
+
* - 同 id 冲突时 `updatedAt` 较新者胜(incoming.updatedAt > local.updatedAt 才覆盖)。
|
|
20
|
+
* - `updatedAt` 相同(并列)保留本地,不回写。
|
|
21
|
+
* - 仅本地存在的技能一律保留;仅包中存在的技能导入。
|
|
22
|
+
* - `--force` 恢复覆盖(overwrite)语义:包中所有技能无条件写入本地。
|
|
23
|
+
*
|
|
24
|
+
* goldenQueries(团队 golden 检索基准集,随包传递):
|
|
25
|
+
* - export:把 canonical 查询列表打包进 `goldenQueries` 字段。
|
|
26
|
+
* - import:把包内查询合并进本地集合(按查询文本去重、本地优先排序),
|
|
27
|
+
* 写入 `.graphflow/team-golden.json` 旁车文件(绝不写回测试文件)。
|
|
28
|
+
*
|
|
16
29
|
* 设计参考 src/graph/artifact-manager.ts 的导入/导出模式。
|
|
17
30
|
*/
|
|
18
31
|
import type { GraphNode } from "../core/types";
|
|
@@ -21,35 +34,63 @@ import type { GraphClient } from "../graph/client-factory";
|
|
|
21
34
|
export type SkillNode = GraphNode;
|
|
22
35
|
/** 技能包格式 */
|
|
23
36
|
export interface SkillPackage {
|
|
24
|
-
version: "1.
|
|
37
|
+
version: "1.1";
|
|
25
38
|
exportedAt: string;
|
|
26
39
|
skills: SkillNode[];
|
|
40
|
+
/** 团队 golden 检索基准查询(查询文本列表) */
|
|
41
|
+
goldenQueries?: string[];
|
|
42
|
+
}
|
|
43
|
+
/** 导出选项 */
|
|
44
|
+
export interface SkillExportOptions {
|
|
45
|
+
/** 打包进技能包的 golden 查询列表 */
|
|
46
|
+
goldenQueries?: string[];
|
|
47
|
+
}
|
|
48
|
+
/** 导入选项 */
|
|
49
|
+
export interface SkillImportOptions {
|
|
50
|
+
/** 恢复覆盖语义:包中技能无条件写入,golden 查询整组覆盖旁车文件 */
|
|
51
|
+
force?: boolean;
|
|
52
|
+
/** golden 旁车文件路径(.graphflow/team-golden.json) */
|
|
53
|
+
goldenPath?: string;
|
|
27
54
|
}
|
|
28
55
|
/** 导出结果 */
|
|
29
56
|
export interface SkillExportResult {
|
|
30
57
|
path: string;
|
|
31
58
|
skillCount: number;
|
|
32
59
|
bytes: number;
|
|
60
|
+
/** 打包的 golden 查询数(未打包时省略) */
|
|
61
|
+
goldenQueries?: number;
|
|
33
62
|
}
|
|
34
63
|
/** 导入结果 */
|
|
35
64
|
export interface SkillImportResult {
|
|
36
65
|
path: string;
|
|
37
66
|
imported: number;
|
|
38
67
|
skipped: number;
|
|
68
|
+
/** 冲突中 updatedAt 较新者胜、覆盖了本地版本的条数(计入 imported) */
|
|
69
|
+
updated: number;
|
|
39
70
|
total: number;
|
|
71
|
+
/** 合并后写入的 golden 旁车文件路径(技能包携带 goldenQueries 时) */
|
|
72
|
+
goldenPath?: string;
|
|
73
|
+
/** 合并后的 golden 查询数 */
|
|
74
|
+
goldenQueries?: number;
|
|
40
75
|
}
|
|
41
76
|
/**
|
|
42
77
|
* 导出所有 Skill 类型节点为 JSON 技能包。
|
|
43
78
|
*
|
|
44
79
|
* @param graphClient 图存储客户端
|
|
45
80
|
* @param outputPath 输出文件路径
|
|
81
|
+
* @param opts 导出选项(可携带 goldenQueries)
|
|
46
82
|
*/
|
|
47
|
-
export declare function exportSkillPackage(graphClient: GraphClient, outputPath: string): Promise<SkillExportResult>;
|
|
83
|
+
export declare function exportSkillPackage(graphClient: GraphClient, outputPath: string, opts?: SkillExportOptions): Promise<SkillExportResult>;
|
|
48
84
|
/**
|
|
49
|
-
*
|
|
85
|
+
* 导入技能包(双向 MERGE)。
|
|
86
|
+
*
|
|
87
|
+
* 冲突策略见文件头注释:per-skill-id union、updatedAt 较新者胜、
|
|
88
|
+
* 并列保留本地、本地独有技能保留;`opts.force` 恢复覆盖语义。
|
|
89
|
+
* 技能包携带 goldenQueries 时,合并进本地集合并写入 goldenPath 旁车文件。
|
|
50
90
|
*
|
|
51
91
|
* @param graphClient 图存储客户端
|
|
52
92
|
* @param inputPath 输入文件路径
|
|
93
|
+
* @param opts 导入选项(force / goldenPath)
|
|
53
94
|
*/
|
|
54
|
-
export declare function importSkillPackage(graphClient: GraphClient, inputPath: string): Promise<SkillImportResult>;
|
|
95
|
+
export declare function importSkillPackage(graphClient: GraphClient, inputPath: string, opts?: SkillImportOptions): Promise<SkillImportResult>;
|
|
55
96
|
//# sourceMappingURL=skill-package.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-package.d.ts","sourceRoot":"","sources":["../../src/learning/skill-package.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"skill-package.d.ts","sourceRoot":"","sources":["../../src/learning/skill-package.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAKH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAK3D,kCAAkC;AAClC,MAAM,MAAM,SAAS,GAAG,SAAS,CAAC;AAElC,YAAY;AACZ,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,KAAK,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,+BAA+B;IAC/B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,WAAW;AACX,MAAM,WAAW,kBAAkB;IACjC,0BAA0B;IAC1B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,WAAW;AACX,MAAM,WAAW,kBAAkB;IACjC,yCAAyC;IACzC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,iDAAiD;IACjD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,WAAW;AACX,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,WAAW;AACX,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,iDAAiD;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sBAAsB;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAkDD;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE,kBAAkB,GACxB,OAAO,CAAC,iBAAiB,CAAC,CAmC5B;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,kBAAkB,GACxB,OAAO,CAAC,iBAAiB,CAAC,CAmG5B"}
|
|
@@ -1,19 +1,32 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* skill-package.ts — 技能包导入 /
|
|
3
|
+
* skill-package.ts — 技能包导入 / 导出(双向 MERGE)
|
|
4
4
|
*
|
|
5
5
|
* 将图存储中所有 Skill 类型节点导出为可移植的 JSON 技能包,
|
|
6
|
-
*
|
|
6
|
+
* 方便团队共享与跨工作区迁移。导入采用双向 MERGE(而非覆盖)。
|
|
7
7
|
*
|
|
8
8
|
* 技能包格式:
|
|
9
9
|
* ```json
|
|
10
10
|
* {
|
|
11
|
-
* "version": "1.
|
|
11
|
+
* "version": "1.1",
|
|
12
12
|
* "exportedAt": "2026-01-01T00:00:00.000Z",
|
|
13
|
-
* "skills": [ { "id": "skill:...", "type": "Skill", "content": "...", "metadata": {} } ]
|
|
13
|
+
* "skills": [ { "id": "skill:...", "type": "Skill", "content": "...", "metadata": {} } ],
|
|
14
|
+
* "goldenQueries": [ "自然语言检索查询 ..." ]
|
|
14
15
|
* }
|
|
15
16
|
* ```
|
|
16
17
|
*
|
|
18
|
+
* 冲突策略(import,默认 / 未带 --force 时):
|
|
19
|
+
* - 按技能 id 取并集(per-skill-id union)。
|
|
20
|
+
* - 同 id 冲突时 `updatedAt` 较新者胜(incoming.updatedAt > local.updatedAt 才覆盖)。
|
|
21
|
+
* - `updatedAt` 相同(并列)保留本地,不回写。
|
|
22
|
+
* - 仅本地存在的技能一律保留;仅包中存在的技能导入。
|
|
23
|
+
* - `--force` 恢复覆盖(overwrite)语义:包中所有技能无条件写入本地。
|
|
24
|
+
*
|
|
25
|
+
* goldenQueries(团队 golden 检索基准集,随包传递):
|
|
26
|
+
* - export:把 canonical 查询列表打包进 `goldenQueries` 字段。
|
|
27
|
+
* - import:把包内查询合并进本地集合(按查询文本去重、本地优先排序),
|
|
28
|
+
* 写入 `.graphflow/team-golden.json` 旁车文件(绝不写回测试文件)。
|
|
29
|
+
*
|
|
17
30
|
* 设计参考 src/graph/artifact-manager.ts 的导入/导出模式。
|
|
18
31
|
*/
|
|
19
32
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -22,15 +35,63 @@ exports.importSkillPackage = importSkillPackage;
|
|
|
22
35
|
const node_fs_1 = require("node:fs");
|
|
23
36
|
const node_path_1 = require("node:path");
|
|
24
37
|
const logger_1 = require("../utils/logger");
|
|
25
|
-
/**
|
|
26
|
-
const SKILL_PACKAGE_VERSION = "1.
|
|
38
|
+
/** 技能包版本(v1.1 起携带 goldenQueries 与 MERGE 导入语义) */
|
|
39
|
+
const SKILL_PACKAGE_VERSION = "1.1";
|
|
40
|
+
/**
|
|
41
|
+
* 读取技能节点的 updatedAt(epoch ms)。
|
|
42
|
+
* 优先从 content JSON(SkillState.updatedAt)解析,回退到 metadata.updatedAt。
|
|
43
|
+
*/
|
|
44
|
+
function skillUpdatedAt(node) {
|
|
45
|
+
try {
|
|
46
|
+
const parsed = JSON.parse(node.content);
|
|
47
|
+
if (typeof parsed.updatedAt === "number") {
|
|
48
|
+
return parsed.updatedAt;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
// content 非 JSON,尝试 metadata
|
|
53
|
+
}
|
|
54
|
+
const meta = node.metadata?.updatedAt;
|
|
55
|
+
return typeof meta === "number" ? meta : 0;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* 合并 golden 查询:本地优先(保序),按查询文本精确去重,再追加包内新查询。
|
|
59
|
+
*/
|
|
60
|
+
function mergeGoldenQueries(local, incoming) {
|
|
61
|
+
const seen = new Set();
|
|
62
|
+
const merged = [];
|
|
63
|
+
for (const query of [...local, ...incoming]) {
|
|
64
|
+
if (typeof query !== "string" || query.trim() === "") {
|
|
65
|
+
continue;
|
|
66
|
+
}
|
|
67
|
+
if (!seen.has(query)) {
|
|
68
|
+
seen.add(query);
|
|
69
|
+
merged.push(query);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return merged;
|
|
73
|
+
}
|
|
74
|
+
/** 读取 golden 旁车文件,非法/缺失时返回空列表。 */
|
|
75
|
+
function readGoldenQueries(path) {
|
|
76
|
+
try {
|
|
77
|
+
const parsed = JSON.parse((0, node_fs_1.readFileSync)(path, "utf8"));
|
|
78
|
+
if (Array.isArray(parsed)) {
|
|
79
|
+
return parsed.filter((q) => typeof q === "string");
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
catch {
|
|
83
|
+
// 旁车文件缺失或损坏 → 视为空本地集合
|
|
84
|
+
}
|
|
85
|
+
return [];
|
|
86
|
+
}
|
|
27
87
|
/**
|
|
28
88
|
* 导出所有 Skill 类型节点为 JSON 技能包。
|
|
29
89
|
*
|
|
30
90
|
* @param graphClient 图存储客户端
|
|
31
91
|
* @param outputPath 输出文件路径
|
|
92
|
+
* @param opts 导出选项(可携带 goldenQueries)
|
|
32
93
|
*/
|
|
33
|
-
async function exportSkillPackage(graphClient, outputPath) {
|
|
94
|
+
async function exportSkillPackage(graphClient, outputPath, opts) {
|
|
34
95
|
// 收集所有 Skill 类型节点
|
|
35
96
|
let skills = [];
|
|
36
97
|
if (graphClient.readSnapshot) {
|
|
@@ -42,25 +103,36 @@ async function exportSkillPackage(graphClient, outputPath) {
|
|
|
42
103
|
const hits = await graphClient.queryByKeyword("skill");
|
|
43
104
|
skills = hits.filter((n) => n.type === "Skill");
|
|
44
105
|
}
|
|
106
|
+
const goldenQueries = opts?.goldenQueries?.filter((q) => typeof q === "string") ?? [];
|
|
45
107
|
const pkg = {
|
|
46
108
|
version: SKILL_PACKAGE_VERSION,
|
|
47
109
|
exportedAt: new Date().toISOString(),
|
|
48
110
|
skills,
|
|
111
|
+
...(goldenQueries.length > 0 ? { goldenQueries } : {}),
|
|
49
112
|
};
|
|
50
113
|
(0, node_fs_1.mkdirSync)((0, node_path_1.dirname)(outputPath), { recursive: true });
|
|
51
114
|
const json = JSON.stringify(pkg, null, 2);
|
|
52
115
|
(0, node_fs_1.writeFileSync)(outputPath, json, "utf8");
|
|
53
116
|
const bytes = (0, node_fs_1.statSync)(outputPath).size;
|
|
54
|
-
logger_1.logger.info({ path: outputPath, skillCount: skills.length, bytes }, "技能包导出完成");
|
|
55
|
-
|
|
117
|
+
logger_1.logger.info({ path: outputPath, skillCount: skills.length, bytes, goldenQueries: goldenQueries.length }, "技能包导出完成");
|
|
118
|
+
const result = { path: outputPath, skillCount: skills.length, bytes };
|
|
119
|
+
if (goldenQueries.length > 0) {
|
|
120
|
+
result.goldenQueries = goldenQueries.length;
|
|
121
|
+
}
|
|
122
|
+
return result;
|
|
56
123
|
}
|
|
57
124
|
/**
|
|
58
|
-
*
|
|
125
|
+
* 导入技能包(双向 MERGE)。
|
|
126
|
+
*
|
|
127
|
+
* 冲突策略见文件头注释:per-skill-id union、updatedAt 较新者胜、
|
|
128
|
+
* 并列保留本地、本地独有技能保留;`opts.force` 恢复覆盖语义。
|
|
129
|
+
* 技能包携带 goldenQueries 时,合并进本地集合并写入 goldenPath 旁车文件。
|
|
59
130
|
*
|
|
60
131
|
* @param graphClient 图存储客户端
|
|
61
132
|
* @param inputPath 输入文件路径
|
|
133
|
+
* @param opts 导入选项(force / goldenPath)
|
|
62
134
|
*/
|
|
63
|
-
async function importSkillPackage(graphClient, inputPath) {
|
|
135
|
+
async function importSkillPackage(graphClient, inputPath, opts) {
|
|
64
136
|
if (!(0, node_fs_1.existsSync)(inputPath)) {
|
|
65
137
|
throw new Error(`技能包文件不存在: ${inputPath}`);
|
|
66
138
|
}
|
|
@@ -76,40 +148,75 @@ async function importSkillPackage(graphClient, inputPath) {
|
|
|
76
148
|
logger_1.logger.warn({ expected: SKILL_PACKAGE_VERSION, got: pkg.version }, "技能包版本不匹配,仍尝试导入");
|
|
77
149
|
}
|
|
78
150
|
const skills = Array.isArray(pkg.skills) ? pkg.skills : [];
|
|
79
|
-
//
|
|
80
|
-
const
|
|
151
|
+
// 收集本地 Skill 节点(按 id),用于并集合并
|
|
152
|
+
const localById = new Map();
|
|
81
153
|
if (graphClient.readSnapshot) {
|
|
82
154
|
const snapshot = graphClient.readSnapshot();
|
|
83
155
|
for (const node of snapshot.nodes) {
|
|
84
156
|
if (node.type === "Skill") {
|
|
85
|
-
|
|
157
|
+
localById.set(node.id, node);
|
|
86
158
|
}
|
|
87
159
|
}
|
|
88
160
|
}
|
|
161
|
+
const force = opts?.force === true;
|
|
89
162
|
const toImport = [];
|
|
90
163
|
let skipped = 0;
|
|
164
|
+
let updated = 0;
|
|
91
165
|
for (const skill of skills) {
|
|
92
166
|
// 校验技能节点结构
|
|
93
167
|
if (!skill || typeof skill.id !== "string" || skill.type !== "Skill") {
|
|
94
168
|
skipped += 1;
|
|
95
169
|
continue;
|
|
96
170
|
}
|
|
97
|
-
|
|
98
|
-
|
|
171
|
+
const local = localById.get(skill.id);
|
|
172
|
+
if (!local) {
|
|
173
|
+
toImport.push(skill);
|
|
174
|
+
localById.set(skill.id, skill);
|
|
175
|
+
continue;
|
|
176
|
+
}
|
|
177
|
+
if (force) {
|
|
178
|
+
// --force:覆盖语义,无条件写入
|
|
179
|
+
toImport.push(skill);
|
|
180
|
+
localById.set(skill.id, skill);
|
|
99
181
|
continue;
|
|
100
182
|
}
|
|
101
|
-
|
|
102
|
-
|
|
183
|
+
// MERGE:updatedAt 较新者胜;并列或较旧保留本地
|
|
184
|
+
if (skillUpdatedAt(skill) > skillUpdatedAt(local)) {
|
|
185
|
+
toImport.push(skill);
|
|
186
|
+
updated += 1;
|
|
187
|
+
localById.set(skill.id, skill);
|
|
188
|
+
}
|
|
189
|
+
else {
|
|
190
|
+
skipped += 1;
|
|
191
|
+
}
|
|
103
192
|
}
|
|
104
193
|
if (toImport.length > 0 && graphClient.upsertNodes) {
|
|
105
194
|
await graphClient.upsertNodes(toImport);
|
|
106
195
|
}
|
|
107
|
-
|
|
108
|
-
|
|
196
|
+
// golden 查询合并 → 旁车文件(本地优先、按文本去重;force 整组覆盖)
|
|
197
|
+
let goldenPathWritten;
|
|
198
|
+
let goldenQueriesCount;
|
|
199
|
+
if (Array.isArray(pkg.goldenQueries) && opts?.goldenPath) {
|
|
200
|
+
const incomingQueries = pkg.goldenQueries.filter((q) => typeof q === "string");
|
|
201
|
+
const localQueries = force ? [] : readGoldenQueries(opts.goldenPath);
|
|
202
|
+
const merged = force ? incomingQueries : mergeGoldenQueries(localQueries, incomingQueries);
|
|
203
|
+
(0, node_fs_1.mkdirSync)((0, node_path_1.dirname)(opts.goldenPath), { recursive: true });
|
|
204
|
+
(0, node_fs_1.writeFileSync)(opts.goldenPath, JSON.stringify(merged, null, 2), "utf8");
|
|
205
|
+
goldenPathWritten = opts.goldenPath;
|
|
206
|
+
goldenQueriesCount = merged.length;
|
|
207
|
+
}
|
|
208
|
+
logger_1.logger.info({ path: inputPath, imported: toImport.length, skipped, updated, total: skills.length }, "技能包导入完成");
|
|
209
|
+
const result = {
|
|
109
210
|
path: inputPath,
|
|
110
211
|
imported: toImport.length,
|
|
111
212
|
skipped,
|
|
213
|
+
updated,
|
|
112
214
|
total: skills.length,
|
|
113
215
|
};
|
|
216
|
+
if (goldenPathWritten !== undefined && goldenQueriesCount !== undefined) {
|
|
217
|
+
result.goldenPath = goldenPathWritten;
|
|
218
|
+
result.goldenQueries = goldenQueriesCount;
|
|
219
|
+
}
|
|
220
|
+
return result;
|
|
114
221
|
}
|
|
115
222
|
//# sourceMappingURL=skill-package.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-package.js","sourceRoot":"","sources":["../../src/learning/skill-package.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"skill-package.js","sourceRoot":"","sources":["../../src/learning/skill-package.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;;AAmHH,gDAuCC;AAaD,gDAuGC;AA5QD,qCAAuF;AACvF,yCAAoC;AACpC,4CAAyC;AAIzC,iDAAiD;AACjD,MAAM,qBAAqB,GAAG,KAAc,CAAC;AAmD7C;;;GAGG;AACH,SAAS,cAAc,CAAC,IAAe;IACrC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAA4B,CAAC;QACnE,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YACzC,OAAO,MAAM,CAAC,SAAS,CAAC;QAC1B,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,6BAA6B;IAC/B,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC;IACtC,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,KAAe,EAAE,QAAkB;IAC7D,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC;QAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACrD,SAAS;QACX,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,kCAAkC;AAClC,SAAS,iBAAiB,CAAC,IAAY;IACrC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,sBAAY,EAAC,IAAI,EAAE,MAAM,CAAC,CAAY,CAAC;QACjE,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,sBAAsB;IACxB,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,kBAAkB,CACtC,WAAwB,EACxB,UAAkB,EAClB,IAAyB;IAEzB,kBAAkB;IAClB,IAAI,MAAM,GAAgB,EAAE,CAAC;IAC7B,IAAI,WAAW,CAAC,YAAY,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,WAAW,CAAC,YAAY,EAAE,CAAC;QAC5C,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;IAC5D,CAAC;SAAM,CAAC;QACN,mDAAmD;QACnD,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACvD,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;IACtF,MAAM,GAAG,GAAiB;QACxB,OAAO,EAAE,qBAAqB;QAC9B,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACpC,MAAM;QACN,GAAG,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACvD,CAAC;IAEF,IAAA,mBAAS,EAAC,IAAA,mBAAO,EAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC1C,IAAA,uBAAa,EAAC,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,IAAA,kBAAQ,EAAC,UAAU,CAAC,CAAC,IAAI,CAAC;IAExC,eAAM,CAAC,IAAI,CACT,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE,EAC3F,SAAS,CACV,CAAC;IAEF,MAAM,MAAM,GAAsB,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;IACzF,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,CAAC,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC;IAC9C,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;GAUG;AACI,KAAK,UAAU,kBAAkB,CACtC,WAAwB,EACxB,SAAiB,EACjB,IAAyB;IAEzB,IAAI,CAAC,IAAA,oBAAU,EAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,aAAa,SAAS,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,GAAG,GAAG,IAAA,sBAAY,EAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC5C,IAAI,GAAiB,CAAC;IACtB,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAiB,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,YAAY,SAAS,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,GAAG,CAAC,OAAO,KAAK,qBAAqB,EAAE,CAAC;QAC1C,eAAM,CAAC,IAAI,CACT,EAAE,QAAQ,EAAE,qBAAqB,EAAE,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,EACrD,gBAAgB,CACjB,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAE3D,6BAA6B;IAC7B,MAAM,SAAS,GAAG,IAAI,GAAG,EAAqB,CAAC;IAC/C,IAAI,WAAW,CAAC,YAAY,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,WAAW,CAAC,YAAY,EAAE,CAAC;QAC5C,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YAClC,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC1B,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,KAAK,IAAI,CAAC;IACnC,MAAM,QAAQ,GAAgB,EAAE,CAAC;IACjC,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,WAAW;QACX,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACrE,OAAO,IAAI,CAAC,CAAC;YACb,SAAS;QACX,CAAC;QACD,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YAC/B,SAAS;QACX,CAAC;QACD,IAAI,KAAK,EAAE,CAAC;YACV,qBAAqB;YACrB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YAC/B,SAAS;QACX,CAAC;QACD,iCAAiC;QACjC,IAAI,cAAc,CAAC,KAAK,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;YAClD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,OAAO,IAAI,CAAC,CAAC;YACb,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,CAAC;QACf,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,WAAW,EAAE,CAAC;QACnD,MAAM,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAED,4CAA4C;IAC5C,IAAI,iBAAqC,CAAC;IAC1C,IAAI,kBAAsC,CAAC;IAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,IAAI,EAAE,UAAU,EAAE,CAAC;QACzD,MAAM,eAAe,GAAG,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;QAC/E,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrE,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,kBAAkB,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;QAC3F,IAAA,mBAAS,EAAC,IAAA,mBAAO,EAAC,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,IAAA,uBAAa,EAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QACxE,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC;QACpC,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC;IACrC,CAAC;IAED,eAAM,CAAC,IAAI,CACT,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,EACtF,SAAS,CACV,CAAC;IAEF,MAAM,MAAM,GAAsB;QAChC,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,QAAQ,CAAC,MAAM;QACzB,OAAO;QACP,OAAO;QACP,KAAK,EAAE,MAAM,CAAC,MAAM;KACrB,CAAC;IACF,IAAI,iBAAiB,KAAK,SAAS,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;QACxE,MAAM,CAAC,UAAU,GAAG,iBAAiB,CAAC;QACtC,MAAM,CAAC,aAAa,GAAG,kBAAkB,CAAC;IAC5C,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-store.d.ts","sourceRoot":"","sources":["../../src/learning/skill-store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EACV,UAAU,EACV,mBAAmB,EACnB,SAAS,EACV,MAAM,eAAe,CAAC;AAMvB,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAEzD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM,CAErE;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"skill-store.d.ts","sourceRoot":"","sources":["../../src/learning/skill-store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EACV,UAAU,EACV,mBAAmB,EACnB,SAAS,EACV,MAAM,eAAe,CAAC;AAMvB,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAEzD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM,CAErE;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CA+BvE;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS,CA+BpF;AAED,wBAAsB,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAIrG;AAED,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,WAAW,EACnB,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAI1C;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAGnE;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,mBAAmB,GAAG,OAAO,CAQxE;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAUlD;AAED,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAEhD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CAM1D;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CAW1D"}
|
|
@@ -46,6 +46,13 @@ function parseSkillState(content) {
|
|
|
46
46
|
updatedAt: parsed.updatedAt ?? 0,
|
|
47
47
|
...(parsed.hidden === true ? { hidden: true } : {}),
|
|
48
48
|
...(typeof parsed.lastDecayedAt === "number" ? { lastDecayedAt: parsed.lastDecayedAt } : {}),
|
|
49
|
+
...(parsed.hasSymbolEvidence === true ? { hasSymbolEvidence: true } : {}),
|
|
50
|
+
...(parsed.linkedSuccess === true ? { linkedSuccess: true } : {}),
|
|
51
|
+
...(typeof parsed.failStreak === "number" && parsed.failStreak > 0 ? { failStreak: parsed.failStreak } : {}),
|
|
52
|
+
...(parsed.seeded === true ? { seeded: true } : {}),
|
|
53
|
+
...(parsed.outcomeKind === "proven" || parsed.outcomeKind === "correctable" || parsed.outcomeKind === "anti-pattern" || parsed.outcomeKind === "noise"
|
|
54
|
+
? { outcomeKind: parsed.outcomeKind }
|
|
55
|
+
: {}),
|
|
49
56
|
};
|
|
50
57
|
}
|
|
51
58
|
catch (error) {
|
|
@@ -74,6 +81,11 @@ function parseCompositeState(content) {
|
|
|
74
81
|
uses: parsed.uses ?? 0,
|
|
75
82
|
lastOutcome: parsed.lastOutcome === "fail" ? "fail" : "pass",
|
|
76
83
|
updatedAt: parsed.updatedAt ?? 0,
|
|
84
|
+
...(parsed.hasSymbolEvidence === true ? { hasSymbolEvidence: true } : {}),
|
|
85
|
+
...(parsed.seeded === true ? { seeded: true } : {}),
|
|
86
|
+
...(parsed.outcomeKind === "proven" || parsed.outcomeKind === "correctable" || parsed.outcomeKind === "anti-pattern" || parsed.outcomeKind === "noise"
|
|
87
|
+
? { outcomeKind: parsed.outcomeKind }
|
|
88
|
+
: {}),
|
|
77
89
|
};
|
|
78
90
|
}
|
|
79
91
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-store.js","sourceRoot":"","sources":["../../src/learning/skill-store.ts"],"names":[],"mappings":";;AAaA,oCAEC;AAED,kCAEC;AAED,0CAEC;AAED,gDAEC;AAED,
|
|
1
|
+
{"version":3,"file":"skill-store.js","sourceRoot":"","sources":["../../src/learning/skill-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,17 @@
|
|
|
1
1
|
import type { GraphEdge } from "../core/types";
|
|
2
|
+
/**
|
|
3
|
+
* P0-2 outcome taxonomy for learned skills. Replaces the single pass/fail score
|
|
4
|
+
* semantics with a four-way classification:
|
|
5
|
+
*
|
|
6
|
+
* - proven: symbol evidence + enough observations (>= 2 uses or a linked
|
|
7
|
+
* successful outcome). Only this class accrues positive score.
|
|
8
|
+
* - correctable: symbol evidence present but not yet proven. Never sinks score.
|
|
9
|
+
* - anti-pattern: repeated failures with symbol evidence. The ONLY class that
|
|
10
|
+
* accrues negative score.
|
|
11
|
+
* - noise: no symbol evidence (generic bare tokens like "update"/"readme").
|
|
12
|
+
* Never persisted as a node; pruned on load if already present.
|
|
13
|
+
*/
|
|
14
|
+
export type SkillOutcomeKind = "proven" | "correctable" | "anti-pattern" | "noise";
|
|
2
15
|
export interface SkillState {
|
|
3
16
|
id: string;
|
|
4
17
|
name: string;
|
|
@@ -9,6 +22,16 @@ export interface SkillState {
|
|
|
9
22
|
/** Soft-hidden from insights/hints after pruneFailedSkills (toxic fail streak). */
|
|
10
23
|
hidden?: boolean;
|
|
11
24
|
lastDecayedAt?: number;
|
|
25
|
+
/** Extraction gate: candidate referenced project symbols (file/function/class paths). */
|
|
26
|
+
hasSymbolEvidence?: boolean;
|
|
27
|
+
/** A successful outcome linked to this skill via the episode outcome loop. */
|
|
28
|
+
linkedSuccess?: boolean;
|
|
29
|
+
/** Consecutive failure count; classified anti-pattern at >= 2. */
|
|
30
|
+
failStreak?: number;
|
|
31
|
+
/** Curated baseline written by seedInitialSkills — never pruned as noise. */
|
|
32
|
+
seeded?: boolean;
|
|
33
|
+
/** Outcome taxonomy classification (persisted for observability). */
|
|
34
|
+
outcomeKind?: SkillOutcomeKind;
|
|
12
35
|
}
|
|
13
36
|
export interface CompositeSkillState {
|
|
14
37
|
id: string;
|
|
@@ -21,6 +44,12 @@ export interface CompositeSkillState {
|
|
|
21
44
|
uses: number;
|
|
22
45
|
lastOutcome: "pass" | "fail";
|
|
23
46
|
updatedAt: number;
|
|
47
|
+
/** Extraction gate: candidate referenced project symbols. */
|
|
48
|
+
hasSymbolEvidence?: boolean;
|
|
49
|
+
/** Curated baseline written by seedInitialSkills — never pruned as noise. */
|
|
50
|
+
seeded?: boolean;
|
|
51
|
+
/** Outcome taxonomy classification (persisted for observability). */
|
|
52
|
+
outcomeKind?: SkillOutcomeKind;
|
|
24
53
|
}
|
|
25
54
|
export type EdgeRelation = GraphEdge["relation"];
|
|
26
55
|
export type SkillEdge = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-types.d.ts","sourceRoot":"","sources":["../../src/learning/skill-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,mFAAmF;IACnF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"skill-types.d.ts","sourceRoot":"","sources":["../../src/learning/skill-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,aAAa,GAAG,cAAc,GAAG,OAAO,CAAC;AAEnF,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,mFAAmF;IACnF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yFAAyF;IACzF,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,8EAA8E;IAC9E,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6EAA6E;IAC7E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,qEAAqE;IACrE,WAAW,CAAC,EAAE,gBAAgB,CAAC;CAChC;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,6EAA6E;IAC7E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,qEAAqE;IACrE,WAAW,CAAC,EAAE,gBAAgB,CAAC;CAChC;AAED,MAAM,MAAM,YAAY,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;AACjD,MAAM,MAAM,SAAS,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,YAAY,CAAA;CAAE,CAAC;AAE7E,eAAO,MAAM,6BAA6B,IAAI,CAAC;AAC/C,eAAO,MAAM,6BAA6B,IAAI,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-types.js","sourceRoot":"","sources":["../../src/learning/skill-types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"skill-types.js","sourceRoot":"","sources":["../../src/learning/skill-types.ts"],"names":[],"mappings":";;;AA4Da,QAAA,6BAA6B,GAAG,CAAC,CAAC;AAClC,QAAA,6BAA6B,GAAG,CAAC,CAAC"}
|
|
@@ -16,6 +16,12 @@ export interface PromptContext {
|
|
|
16
16
|
summaryChannel?: string[];
|
|
17
17
|
skillHints?: string[];
|
|
18
18
|
extraInstructions?: string[];
|
|
19
|
+
/**
|
|
20
|
+
* Goal anchor lines (P0): the ORIGINAL requirement — coreProblem,
|
|
21
|
+
* successDefinition, nonGoals — rendered FIRST so every agent role sees
|
|
22
|
+
* what the task is ultimately for before any other context.
|
|
23
|
+
*/
|
|
24
|
+
goalAnchors?: string[];
|
|
19
25
|
}
|
|
20
26
|
export declare function getLastProviderUsage(): ProviderUsageStats | undefined;
|
|
21
27
|
export declare function formatPromptWithContext(role: AgentRole, prompt: string, context?: PromptContext): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-executor.d.ts","sourceRoot":"","sources":["../../src/routing/provider-executor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAI/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAMrD,OAAO,KAAK,EAAE,mBAAmB,EAAuB,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAI9G,qBAAa,aAAc,SAAQ,KAAK;IACtC,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;gBAEP,MAAM,EAAE;QAClB,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;QACrC,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;KACpB;CAOF;AAYD,MAAM,WAAW,aAAa;IAC5B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"provider-executor.d.ts","sourceRoot":"","sources":["../../src/routing/provider-executor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAI/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAMrD,OAAO,KAAK,EAAE,mBAAmB,EAAuB,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAI9G,qBAAa,aAAc,SAAQ,KAAK;IACtC,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;gBAEP,MAAM,EAAE;QAClB,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;QACrC,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;KACpB;CAOF;AAYD,MAAM,WAAW,aAAa;IAC5B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAQD,wBAAgB,oBAAoB,IAAI,kBAAkB,GAAG,SAAS,CAErE;AAaD,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,aAAa,GACtB,MAAM,CAwCR;AA4FD,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,cAAc,EACzB,OAAO,CAAC,EAAE,aAAa,EACvB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,CAAC,CA4GjB;AAED,4BAA4B;AAC5B,wBAAgB,+BAA+B,IAAI,IAAI,CAGtD;AAED,YAAY,EAAE,mBAAmB,EAAE,CAAC"}
|
|
@@ -34,6 +34,7 @@ const DEFAULT_CIRCUIT_FAILURE_THRESHOLD = 5;
|
|
|
34
34
|
const DEFAULT_CIRCUIT_OPEN_MS = 60_000;
|
|
35
35
|
const MAX_SUMMARY_LINES = 20;
|
|
36
36
|
const MAX_SKILL_HINTS = 8;
|
|
37
|
+
const MAX_GOAL_ANCHORS = 2;
|
|
37
38
|
let lastProviderUsage;
|
|
38
39
|
function getLastProviderUsage() {
|
|
39
40
|
return lastProviderUsage;
|
|
@@ -45,7 +46,8 @@ function hasAnyContext(context) {
|
|
|
45
46
|
const s = context.summaryChannel?.some((x) => x && x.trim().length > 0);
|
|
46
47
|
const k = context.skillHints?.some((x) => x && x.trim().length > 0);
|
|
47
48
|
const e = context.extraInstructions?.some((x) => x && x.trim().length > 0);
|
|
48
|
-
|
|
49
|
+
const g = context.goalAnchors?.some((x) => x && x.trim().length > 0);
|
|
50
|
+
return Boolean(s || k || e || g);
|
|
49
51
|
}
|
|
50
52
|
function formatPromptWithContext(role, prompt, context) {
|
|
51
53
|
const rolePrefix = `[role:${role}]`;
|
|
@@ -53,6 +55,13 @@ function formatPromptWithContext(role, prompt, context) {
|
|
|
53
55
|
return `${rolePrefix} ${prompt}`;
|
|
54
56
|
}
|
|
55
57
|
const lines = [rolePrefix];
|
|
58
|
+
const goals = (context?.goalAnchors ?? []).filter((line) => line && line.trim().length > 0);
|
|
59
|
+
if (goals.length > 0) {
|
|
60
|
+
lines.push("Goal anchor (original requirement — stay aligned):");
|
|
61
|
+
for (const item of goals.slice(0, MAX_GOAL_ANCHORS)) {
|
|
62
|
+
lines.push(`- ${item}`);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
56
65
|
const summaries = (context?.summaryChannel ?? []).filter((line) => line && line.trim().length > 0);
|
|
57
66
|
if (summaries.length > 0) {
|
|
58
67
|
lines.push("Knowledge graph context:");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-executor.js","sourceRoot":"","sources":["../../src/routing/provider-executor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"provider-executor.js","sourceRoot":"","sources":["../../src/routing/provider-executor.ts"],"names":[],"mappings":"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"}
|