@co-engram/core 0.1.2 → 0.1.4
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/dist/bootstrap/classify.d.ts +73 -0
- package/dist/bootstrap/classify.d.ts.map +1 -0
- package/dist/bootstrap/classify.js +134 -0
- package/dist/bootstrap/classify.js.map +1 -0
- package/dist/bootstrap/index.d.ts +89 -0
- package/dist/bootstrap/index.d.ts.map +1 -0
- package/dist/bootstrap/index.js +158 -0
- package/dist/bootstrap/index.js.map +1 -0
- package/dist/concepts/dictionary.d.ts +260 -0
- package/dist/concepts/dictionary.d.ts.map +1 -0
- package/dist/concepts/dictionary.js +253 -0
- package/dist/concepts/dictionary.js.map +1 -0
- package/dist/concepts/index.d.ts +11 -0
- package/dist/concepts/index.d.ts.map +1 -0
- package/dist/concepts/index.js +10 -0
- package/dist/concepts/index.js.map +1 -0
- package/dist/concepts/types.d.ts +65 -0
- package/dist/concepts/types.d.ts.map +1 -0
- package/dist/concepts/types.js +15 -0
- package/dist/concepts/types.js.map +1 -0
- package/dist/config/defaults.d.ts +32 -3
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +53 -3
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/index.d.ts +18 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +75 -3
- package/dist/config/index.js.map +1 -1
- package/dist/config/loader.d.ts +10 -0
- package/dist/config/loader.d.ts.map +1 -0
- package/dist/config/loader.js +10 -0
- package/dist/config/loader.js.map +1 -0
- package/dist/config/types.d.ts +97 -1
- package/dist/config/types.d.ts.map +1 -1
- package/dist/contradiction/auto-degrade.d.ts +11 -2
- package/dist/contradiction/auto-degrade.d.ts.map +1 -1
- package/dist/contradiction/auto-degrade.js +22 -0
- package/dist/contradiction/auto-degrade.js.map +1 -1
- package/dist/contradiction/resolver.d.ts.map +1 -1
- package/dist/contradiction/resolver.js +7 -1
- package/dist/contradiction/resolver.js.map +1 -1
- package/dist/dreaming/index.d.ts +1 -0
- package/dist/dreaming/index.d.ts.map +1 -1
- package/dist/dreaming/index.js +1 -0
- package/dist/dreaming/index.js.map +1 -1
- package/dist/dreaming/llm-pattern-abstraction.d.ts +31 -0
- package/dist/dreaming/llm-pattern-abstraction.d.ts.map +1 -0
- package/dist/dreaming/llm-pattern-abstraction.js +70 -0
- package/dist/dreaming/llm-pattern-abstraction.js.map +1 -0
- package/dist/dreaming/rem.d.ts.map +1 -1
- package/dist/dreaming/rem.js +1 -0
- package/dist/dreaming/rem.js.map +1 -1
- package/dist/dreaming/scheduler.d.ts +13 -0
- package/dist/dreaming/scheduler.d.ts.map +1 -1
- package/dist/dreaming/scheduler.js +14 -2
- package/dist/dreaming/scheduler.js.map +1 -1
- package/dist/evolution/triggered.d.ts.map +1 -1
- package/dist/evolution/triggered.js +1 -0
- package/dist/evolution/triggered.js.map +1 -1
- package/dist/generative/hypothesis.d.ts.map +1 -1
- package/dist/generative/hypothesis.js +1 -0
- package/dist/generative/hypothesis.js.map +1 -1
- package/dist/i18n/en.d.ts.map +1 -1
- package/dist/i18n/en.js +1278 -33
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/index.d.ts +34 -1
- package/dist/i18n/index.d.ts.map +1 -1
- package/dist/i18n/index.js +36 -7
- package/dist/i18n/index.js.map +1 -1
- package/dist/i18n/zh.d.ts +709 -32
- package/dist/i18n/zh.d.ts.map +1 -1
- package/dist/i18n/zh.js +1282 -33
- package/dist/i18n/zh.js.map +1 -1
- package/dist/index/graph-builder.js +3 -3
- package/dist/index/graph-builder.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/learning/loop.d.ts +9 -0
- package/dist/learning/loop.d.ts.map +1 -1
- package/dist/learning/loop.js +42 -1
- package/dist/learning/loop.js.map +1 -1
- package/dist/maintenance/types.d.ts +11 -0
- package/dist/maintenance/types.d.ts.map +1 -1
- package/dist/maintenance/types.js.map +1 -1
- package/dist/merge/auto-onboard.d.ts +7 -1
- package/dist/merge/auto-onboard.d.ts.map +1 -1
- package/dist/merge/auto-onboard.js +35 -13
- package/dist/merge/auto-onboard.js.map +1 -1
- package/dist/merge/post-merge-hook.d.ts.map +1 -1
- package/dist/merge/post-merge-hook.js +16 -2
- package/dist/merge/post-merge-hook.js.map +1 -1
- package/dist/merge/synapse-merger.js +6 -0
- package/dist/merge/synapse-merger.js.map +1 -1
- package/dist/merge-driver.cjs +64 -5
- package/dist/observability/audit-log.d.ts +7 -1
- package/dist/observability/audit-log.d.ts.map +1 -1
- package/dist/observability/audit-log.js.map +1 -1
- package/dist/observability/necessity-evaluator.d.ts +29 -0
- package/dist/observability/necessity-evaluator.d.ts.map +1 -1
- package/dist/observability/necessity-evaluator.js +240 -13
- package/dist/observability/necessity-evaluator.js.map +1 -1
- package/dist/observability/proposal-engine.d.ts +81 -4
- package/dist/observability/proposal-engine.d.ts.map +1 -1
- package/dist/observability/proposal-engine.js +207 -13
- package/dist/observability/proposal-engine.js.map +1 -1
- package/dist/observability/runtime-description-check.d.ts +55 -0
- package/dist/observability/runtime-description-check.d.ts.map +1 -0
- package/dist/observability/runtime-description-check.js +63 -0
- package/dist/observability/runtime-description-check.js.map +1 -0
- package/dist/prompt-signals/cache.d.ts +73 -0
- package/dist/prompt-signals/cache.d.ts.map +1 -1
- package/dist/prompt-signals/cache.js +102 -0
- package/dist/prompt-signals/cache.js.map +1 -1
- package/dist/prompt-signals/event-bus.d.ts +82 -0
- package/dist/prompt-signals/event-bus.d.ts.map +1 -0
- package/dist/prompt-signals/event-bus.js +105 -0
- package/dist/prompt-signals/event-bus.js.map +1 -0
- package/dist/prompt-signals/index.d.ts +2 -1
- package/dist/prompt-signals/index.d.ts.map +1 -1
- package/dist/prompt-signals/index.js +2 -1
- package/dist/prompt-signals/index.js.map +1 -1
- package/dist/reinforcement/ltp.d.ts +15 -1
- package/dist/reinforcement/ltp.d.ts.map +1 -1
- package/dist/reinforcement/ltp.js +24 -5
- package/dist/reinforcement/ltp.js.map +1 -1
- package/dist/reinforcement/related.d.ts +31 -2
- package/dist/reinforcement/related.d.ts.map +1 -1
- package/dist/reinforcement/related.js +39 -3
- package/dist/reinforcement/related.js.map +1 -1
- package/dist/retrieval/filter.d.ts.map +1 -1
- package/dist/retrieval/filter.js +7 -0
- package/dist/retrieval/filter.js.map +1 -1
- package/dist/retrieval/fts.d.ts +6 -5
- package/dist/retrieval/fts.d.ts.map +1 -1
- package/dist/retrieval/fts.js +74 -22
- package/dist/retrieval/fts.js.map +1 -1
- package/dist/status/index.d.ts +7 -0
- package/dist/status/index.d.ts.map +1 -0
- package/dist/status/index.js +7 -0
- package/dist/status/index.js.map +1 -0
- package/dist/status/status.d.ts +132 -0
- package/dist/status/status.d.ts.map +1 -0
- package/dist/status/status.js +437 -0
- package/dist/status/status.js.map +1 -0
- package/dist/storage/engram-store.d.ts.map +1 -1
- package/dist/storage/engram-store.js +17 -2
- package/dist/storage/engram-store.js.map +1 -1
- package/dist/storage/git.d.ts +168 -0
- package/dist/storage/git.d.ts.map +1 -1
- package/dist/storage/git.js +616 -33
- package/dist/storage/git.js.map +1 -1
- package/dist/storage/index.d.ts +1 -0
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +1 -0
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/infra-doctor.d.ts +42 -0
- package/dist/storage/infra-doctor.d.ts.map +1 -0
- package/dist/storage/infra-doctor.js +92 -0
- package/dist/storage/infra-doctor.js.map +1 -0
- package/dist/storage/obsidian-links.d.ts +73 -0
- package/dist/storage/obsidian-links.d.ts.map +1 -0
- package/dist/storage/obsidian-links.js +177 -0
- package/dist/storage/obsidian-links.js.map +1 -0
- package/dist/storage/path.d.ts +24 -0
- package/dist/storage/path.d.ts.map +1 -1
- package/dist/storage/path.js +53 -0
- package/dist/storage/path.js.map +1 -1
- package/dist/storage/repository.d.ts +74 -5
- package/dist/storage/repository.d.ts.map +1 -1
- package/dist/storage/repository.js +337 -21
- package/dist/storage/repository.js.map +1 -1
- package/dist/storage/synapse-store.d.ts +7 -1
- package/dist/storage/synapse-store.d.ts.map +1 -1
- package/dist/storage/synapse-store.js +8 -0
- package/dist/storage/synapse-store.js.map +1 -1
- package/dist/tools/audit-query-tool.d.ts +53 -0
- package/dist/tools/audit-query-tool.d.ts.map +1 -0
- package/dist/tools/audit-query-tool.js +123 -0
- package/dist/tools/audit-query-tool.js.map +1 -0
- package/dist/tools/doctor-tools.d.ts +5 -0
- package/dist/tools/doctor-tools.d.ts.map +1 -1
- package/dist/tools/doctor-tools.js +11 -3
- package/dist/tools/doctor-tools.js.map +1 -1
- package/dist/tools/engram-tools.d.ts +13 -0
- package/dist/tools/engram-tools.d.ts.map +1 -1
- package/dist/tools/engram-tools.js +72 -8
- package/dist/tools/engram-tools.js.map +1 -1
- package/dist/tools/index.d.ts +3 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +3 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/llm-descriptions.d.ts +28 -28
- package/dist/tools/llm-descriptions.d.ts.map +1 -1
- package/dist/tools/llm-descriptions.js +56 -489
- package/dist/tools/llm-descriptions.js.map +1 -1
- package/dist/tools/normalization.d.ts +43 -0
- package/dist/tools/normalization.d.ts.map +1 -0
- package/dist/tools/normalization.js +68 -0
- package/dist/tools/normalization.js.map +1 -0
- package/dist/tools/proposal-tools.d.ts +23 -1
- package/dist/tools/proposal-tools.d.ts.map +1 -1
- package/dist/tools/proposal-tools.js +58 -17
- package/dist/tools/proposal-tools.js.map +1 -1
- package/dist/tools/registry.d.ts.map +1 -1
- package/dist/tools/registry.js +6 -0
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/schemas.d.ts +96 -22
- package/dist/tools/schemas.d.ts.map +1 -1
- package/dist/tools/schemas.js +84 -11
- package/dist/tools/schemas.js.map +1 -1
- package/dist/tools/skill-tools.js +1 -1
- package/dist/tools/skill-tools.js.map +1 -1
- package/dist/tools/synapse-tools.d.ts.map +1 -1
- package/dist/tools/synapse-tools.js +1 -0
- package/dist/tools/synapse-tools.js.map +1 -1
- package/dist/tools/sync-tools.d.ts +102 -0
- package/dist/tools/sync-tools.d.ts.map +1 -0
- package/dist/tools/sync-tools.js +309 -0
- package/dist/tools/sync-tools.js.map +1 -0
- package/dist/tools/synthesize-tools.d.ts +79 -0
- package/dist/tools/synthesize-tools.d.ts.map +1 -0
- package/dist/tools/synthesize-tools.js +297 -0
- package/dist/tools/synthesize-tools.js.map +1 -0
- package/dist/tools/tool-profile.d.ts +68 -0
- package/dist/tools/tool-profile.d.ts.map +1 -0
- package/dist/tools/tool-profile.js +174 -0
- package/dist/tools/tool-profile.js.map +1 -0
- package/dist/tools/tool.d.ts +17 -0
- package/dist/tools/tool.d.ts.map +1 -1
- package/dist/tools/tool.js.map +1 -1
- package/dist/types/disclosure.d.ts +7 -0
- package/dist/types/disclosure.d.ts.map +1 -1
- package/dist/types/repository-types.d.ts +17 -1
- package/dist/types/repository-types.d.ts.map +1 -1
- package/dist/types/synapse.d.ts +19 -1
- package/dist/types/synapse.d.ts.map +1 -1
- package/package.json +9 -9
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 输入规范化与校验管道(P0-3 / P1-72 / P1-78 修复)
|
|
3
|
+
*
|
|
4
|
+
* 单一抽象层,提供 validateInput 的强化版 parseAndNormalize:
|
|
5
|
+
* - `.strict()` 拒绝 unknown keys(P0-3 修复:Zod 默认 strip 让 filter 字段
|
|
6
|
+
* 错写都被静默吞,导致调试困难)
|
|
7
|
+
* - ULID 字段 `.toUpperCase()` 规范化(P1-78 修复:ULID 规范本身大小写不
|
|
8
|
+
* 敏感,但工具层未做规范化,小写输入会返回 INVALID_ID)
|
|
9
|
+
*
|
|
10
|
+
* 向后兼容:既有工具继续用 validateInput(schema, raw);新工具或修复后的
|
|
11
|
+
* 工具改用 parseAndNormalize(schema, raw, { ulidFields: [...] })。
|
|
12
|
+
*
|
|
13
|
+
* @module @co-engram/core/tools
|
|
14
|
+
*/
|
|
15
|
+
/** ULID canonical 字符集(Crockford base32,大小写不敏感) */
|
|
16
|
+
export const ULID_PATTERN = /^[0-9A-HJKMNP-TV-Z]{26}$/;
|
|
17
|
+
/**
|
|
18
|
+
* 把任何 ULID-like 字符串规范化为 canonical 大写形式。
|
|
19
|
+
*
|
|
20
|
+
* 用于工具入口的 id / synapseId / fromId / toId 字段。
|
|
21
|
+
* 输入不匹配 ULID 格式时返回原值(让下游 lookup 抛 INVALID_ID,不在此处校验)。
|
|
22
|
+
*/
|
|
23
|
+
export function normalizeUlid(input) {
|
|
24
|
+
const upper = input.toUpperCase();
|
|
25
|
+
return upper;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* 强化版输入校验。
|
|
29
|
+
*
|
|
30
|
+
* 行为:
|
|
31
|
+
* 1. 用 `schema.strict().safeParse(raw)`(拒绝 unknown keys)
|
|
32
|
+
* 2. 对 `opts.ulidFields` 列出的字段做 `.toUpperCase()` 规范化
|
|
33
|
+
* 3. 失败时抛与 validateInput 同样格式的错误(便于调用方统一捕获)
|
|
34
|
+
*
|
|
35
|
+
* 与 validateInput 的差异:
|
|
36
|
+
* - validateInput 默认 strip unknown keys(向后兼容,但隐藏 typo)
|
|
37
|
+
* - parseAndNormalize 强制 strict + 可选 ULID 规范化(显式安全)
|
|
38
|
+
*
|
|
39
|
+
* 建议新工具或修复后的工具用 parseAndNormalize;既有工具保持 validateInput。
|
|
40
|
+
*/
|
|
41
|
+
export function parseAndNormalize(schema, raw, options = {}) {
|
|
42
|
+
// 先做 ULID 规范化(如果 raw 是对象且有 ulidFields)
|
|
43
|
+
const normalized = raw !== null && typeof raw === "object" && !Array.isArray(raw)
|
|
44
|
+
? { ...raw }
|
|
45
|
+
: raw;
|
|
46
|
+
if (options.ulidFields && normalized && typeof normalized === "object") {
|
|
47
|
+
for (const field of options.ulidFields) {
|
|
48
|
+
const value = normalized[field];
|
|
49
|
+
if (typeof value === "string") {
|
|
50
|
+
normalized[field] =
|
|
51
|
+
normalizeUlid(value);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
const strictSchema = schema
|
|
56
|
+
.strict
|
|
57
|
+
? schema.strict()
|
|
58
|
+
: schema;
|
|
59
|
+
const result = strictSchema.safeParse(normalized);
|
|
60
|
+
if (!result.success) {
|
|
61
|
+
const issues = result.error.issues
|
|
62
|
+
.map((i) => `${i.path.join(".")}: ${i.message}`)
|
|
63
|
+
.join("; ");
|
|
64
|
+
throw new Error(`Invalid input: ${issues}`);
|
|
65
|
+
}
|
|
66
|
+
return result.data;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=normalization.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalization.js","sourceRoot":"","sources":["../../src/tools/normalization.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,kDAAkD;AAClD,MAAM,CAAC,MAAM,YAAY,GAAG,0BAA0B,CAAC;AAEvD;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAClC,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAAkB,EAClB,GAAY,EACZ,UAGI,EAAE;IAEN,uCAAuC;IACvC,MAAM,UAAU,GACd,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAC5D,CAAC,CAAC,EAAE,GAAI,GAA+B,EAAE;QACzC,CAAC,CAAE,GAA+B,CAAC;IAEvC,IAAI,OAAO,CAAC,UAAU,IAAI,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QACvE,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACvC,MAAM,KAAK,GAAI,UAAsC,CAAC,KAAK,CAAC,CAAC;YAC7D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC7B,UAAsC,CAAC,KAAK,CAAC;oBAC5C,aAAa,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAI,MAAkD;SACrE,MAAM;QACP,CAAC,CAAG,MAAkD,CAAC,MAAM,EAAiB;QAC9E,CAAC,CAAC,MAAM,CAAC;IAEX,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAClD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM;aAC/B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;aAC/C,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,kBAAkB,MAAM,EAAE,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,MAAM,CAAC,IAAS,CAAC;AAC1B,CAAC"}
|
|
@@ -6,11 +6,17 @@
|
|
|
6
6
|
* - engram_accept_proposal 接受提案 → 创建 engram
|
|
7
7
|
* - engram_dismiss_proposal 拒绝提案(带冷却期)
|
|
8
8
|
*
|
|
9
|
+
* Proposal 有两种来源(由 `source` 字段区分):
|
|
10
|
+
* - `conversation`:对话流聚类(ProposalEngine.observe)生成;payload=undefined,
|
|
11
|
+
* accept 时必须显式传 title/content/domainTags
|
|
12
|
+
* - `auto-memory`:Claude Code auto-memory 文件(AutoMemorySyncEngine)生成;
|
|
13
|
+
* payload 携带完整 engram 字段,accept 时可省略 title/content/domainTags/kind
|
|
14
|
+
*
|
|
9
15
|
* 详见 spec §2.2(候选提示机制)。
|
|
10
16
|
*
|
|
11
17
|
* @module @co-engram/core/tools
|
|
12
18
|
*/
|
|
13
|
-
import type { Proposal } from "../observability/proposal-engine.js";
|
|
19
|
+
import type { Proposal, ProposalSource } from "../observability/proposal-engine.js";
|
|
14
20
|
import type { Tool } from "./tool.js";
|
|
15
21
|
import { type EngramListProposalsToolInput, type EngramAcceptProposalToolInput, type EngramDismissProposalToolInput } from "./schemas.js";
|
|
16
22
|
export declare const engramListProposalsTool: Tool<EngramListProposalsToolInput, {
|
|
@@ -23,6 +29,22 @@ export declare const engramListProposalsTool: Tool<EngramListProposalsToolInput,
|
|
|
23
29
|
lastSeenAt: string;
|
|
24
30
|
createdAt: string;
|
|
25
31
|
status: Proposal["status"];
|
|
32
|
+
source: ProposalSource;
|
|
33
|
+
slug?: string;
|
|
34
|
+
proposedTitle?: string;
|
|
35
|
+
proposedSummary?: string;
|
|
36
|
+
proposedKind?: string;
|
|
37
|
+
proposedDomainTags?: readonly string[];
|
|
38
|
+
proposedContextTags?: readonly string[];
|
|
39
|
+
proposedImportance?: number;
|
|
40
|
+
proposedVisibility?: string;
|
|
41
|
+
proposedEncodingContext?: string;
|
|
42
|
+
proposedSourceType?: string;
|
|
43
|
+
proposedDecayHalfLifeDays?: number | null;
|
|
44
|
+
proposedCreatedBy?: string;
|
|
45
|
+
suggestedTitle?: string;
|
|
46
|
+
necessityReason?: string;
|
|
47
|
+
necessityRule?: string;
|
|
26
48
|
}>;
|
|
27
49
|
total: number;
|
|
28
50
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proposal-tools.d.ts","sourceRoot":"","sources":["../../src/tools/proposal-tools.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"proposal-tools.d.ts","sourceRoot":"","sources":["../../src/tools/proposal-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACpF,OAAO,KAAK,EAAE,IAAI,EAAe,MAAM,WAAW,CAAC;AAEnD,OAAO,EAIL,KAAK,4BAA4B,EACjC,KAAK,6BAA6B,EAClC,KAAK,8BAA8B,EACpC,MAAM,cAAc,CAAC;AAMtB,eAAO,MAAM,uBAAuB,EAAE,IAAI,CACxC,4BAA4B,EAC5B;IACE,SAAS,EAAE,aAAa,CAAC;QACvB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;QAChC,eAAe,EAAE,MAAM,CAAC;QACxB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC3B,MAAM,EAAE,cAAc,CAAC;QACvB,IAAI,CAAC,EAAE,MAAM,CAAC;QAEd,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QACvC,mBAAmB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QACxC,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,yBAAyB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1C,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAE3B,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC,CAAC;IACH,KAAK,EAAE,MAAM,CAAC;CACf,CAkFF,CAAC;AAMF,eAAO,MAAM,wBAAwB,EAAE,IAAI,CACzC,6BAA6B,EAC7B;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,CA2B3D,CAAC;AAMF,eAAO,MAAM,yBAAyB,EAAE,IAAI,CAC1C,8BAA8B,EAC9B;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,WAAW,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,CA4BlE,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,SAAS,IAAI,EAI7C,CAAC"}
|
|
@@ -6,6 +6,12 @@
|
|
|
6
6
|
* - engram_accept_proposal 接受提案 → 创建 engram
|
|
7
7
|
* - engram_dismiss_proposal 拒绝提案(带冷却期)
|
|
8
8
|
*
|
|
9
|
+
* Proposal 有两种来源(由 `source` 字段区分):
|
|
10
|
+
* - `conversation`:对话流聚类(ProposalEngine.observe)生成;payload=undefined,
|
|
11
|
+
* accept 时必须显式传 title/content/domainTags
|
|
12
|
+
* - `auto-memory`:Claude Code auto-memory 文件(AutoMemorySyncEngine)生成;
|
|
13
|
+
* payload 携带完整 engram 字段,accept 时可省略 title/content/domainTags/kind
|
|
14
|
+
*
|
|
9
15
|
* 详见 spec §2.2(候选提示机制)。
|
|
10
16
|
*
|
|
11
17
|
* @module @co-engram/core/tools
|
|
@@ -17,7 +23,7 @@ import { EngramListProposalsInputSchema, EngramAcceptProposalInputSchema, Engram
|
|
|
17
23
|
// ============================================================
|
|
18
24
|
export const engramListProposalsTool = {
|
|
19
25
|
name: "engram_list_proposals",
|
|
20
|
-
description: "列出主题候选提案。当某主题在对话中被多次提及但无匹配 engram 时,系统会生成 pending 提案等待确认。默认只返回 pending;传 includeAll=true 可查看历史 accepted/dismissed
|
|
26
|
+
description: "列出主题候选提案。当某主题在对话中被多次提及但无匹配 engram 时,系统会生成 pending 提案等待确认。默认只返回 pending;传 includeAll=true 可查看历史 accepted/dismissed。每条提案带 source 字段(conversation=对话流聚类 / auto-memory=Claude Code auto-memory 文件);auto-memory 来源还带 proposedTitle/proposedContent/proposedDomainTags 等预填字段,可直接 accept 无需重复填表。",
|
|
21
27
|
inputSchema: EngramListProposalsInputSchema,
|
|
22
28
|
execute(input, ctx) {
|
|
23
29
|
const parsed = validateInput(EngramListProposalsInputSchema, input);
|
|
@@ -28,16 +34,51 @@ export const engramListProposalsTool = {
|
|
|
28
34
|
? ctx.proposalEngine.listAll()
|
|
29
35
|
: ctx.proposalEngine.listPending();
|
|
30
36
|
return {
|
|
31
|
-
proposals: all.map((p) =>
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
37
|
+
proposals: all.map((p) => {
|
|
38
|
+
const base = {
|
|
39
|
+
entityId: p.entityId,
|
|
40
|
+
occurrences: p.occurrences,
|
|
41
|
+
sampleQuotes: p.sampleQuotes,
|
|
42
|
+
centroidExcerpt: p.centroidExcerpt,
|
|
43
|
+
firstSeenAt: p.firstSeenAt,
|
|
44
|
+
lastSeenAt: p.lastSeenAt,
|
|
45
|
+
createdAt: p.createdAt,
|
|
46
|
+
status: p.status,
|
|
47
|
+
source: p.source ?? "conversation",
|
|
48
|
+
};
|
|
49
|
+
if (p.slug)
|
|
50
|
+
base.slug = p.slug;
|
|
51
|
+
if (p.suggestedTitle)
|
|
52
|
+
base.suggestedTitle = p.suggestedTitle;
|
|
53
|
+
if (p.necessityReason)
|
|
54
|
+
base.necessityReason = p.necessityReason;
|
|
55
|
+
if (p.necessityRule)
|
|
56
|
+
base.necessityRule = p.necessityRule;
|
|
57
|
+
// payload 投影(仅 auto-memory 来源时填)
|
|
58
|
+
const payload = p.payload;
|
|
59
|
+
if (payload) {
|
|
60
|
+
base.proposedTitle = payload.title;
|
|
61
|
+
if (payload.summary)
|
|
62
|
+
base.proposedSummary = payload.summary;
|
|
63
|
+
base.proposedKind = payload.kind;
|
|
64
|
+
base.proposedDomainTags = payload.domainTags;
|
|
65
|
+
if (payload.contextTags)
|
|
66
|
+
base.proposedContextTags = payload.contextTags;
|
|
67
|
+
if (payload.importance !== undefined)
|
|
68
|
+
base.proposedImportance = payload.importance;
|
|
69
|
+
if (payload.visibility)
|
|
70
|
+
base.proposedVisibility = payload.visibility;
|
|
71
|
+
if (payload.encodingContext)
|
|
72
|
+
base.proposedEncodingContext = payload.encodingContext;
|
|
73
|
+
if (payload.sourceType)
|
|
74
|
+
base.proposedSourceType = payload.sourceType;
|
|
75
|
+
if (payload.decayHalfLifeDays !== undefined)
|
|
76
|
+
base.proposedDecayHalfLifeDays = payload.decayHalfLifeDays;
|
|
77
|
+
if (payload.createdBy)
|
|
78
|
+
base.proposedCreatedBy = payload.createdBy;
|
|
79
|
+
}
|
|
80
|
+
return base;
|
|
81
|
+
}),
|
|
41
82
|
total: all.length,
|
|
42
83
|
};
|
|
43
84
|
},
|
|
@@ -47,7 +88,7 @@ export const engramListProposalsTool = {
|
|
|
47
88
|
// ============================================================
|
|
48
89
|
export const engramAcceptProposalTool = {
|
|
49
90
|
name: "engram_accept_proposal",
|
|
50
|
-
description: "接受一个候选提案 → 系统自动创建对应 engram,并把提案标记为 accepted。后续相同主题不会再产生重复提案。",
|
|
91
|
+
description: "接受一个候选提案 → 系统自动创建对应 engram,并把提案标记为 accepted。后续相同主题不会再产生重复提案。auto-memory 来源(source='auto-memory')的提案自带 payload(title/content/domainTags/kind 等),可直接 accept 省略这些字段;conversation 来源必须显式传 title/content/domainTags。",
|
|
51
92
|
inputSchema: EngramAcceptProposalInputSchema,
|
|
52
93
|
execute(input, ctx) {
|
|
53
94
|
const parsed = validateInput(EngramAcceptProposalInputSchema, input);
|
|
@@ -59,11 +100,11 @@ export const engramAcceptProposalTool = {
|
|
|
59
100
|
// 修复前 Zod schema `.default('proposal-engine')` 把这里写死,绕过了整条链。
|
|
60
101
|
const createdBy = parsed.createdBy ?? ctx.defaultCreatedBy ?? "unknown";
|
|
61
102
|
const engramId = ctx.proposalEngine.accept(parsed.entityId, {
|
|
62
|
-
title: parsed.title,
|
|
63
|
-
content: parsed.content,
|
|
64
|
-
domainTags: parsed.domainTags,
|
|
103
|
+
...(parsed.title !== undefined ? { title: parsed.title } : {}),
|
|
104
|
+
...(parsed.content !== undefined ? { content: parsed.content } : {}),
|
|
105
|
+
...(parsed.domainTags !== undefined ? { domainTags: parsed.domainTags } : {}),
|
|
106
|
+
...(parsed.kind !== undefined ? { kind: parsed.kind } : {}),
|
|
65
107
|
createdBy,
|
|
66
|
-
kind: parsed.kind,
|
|
67
108
|
});
|
|
68
109
|
return { engramId, entityId: parsed.entityId, status: "accepted" };
|
|
69
110
|
},
|
|
@@ -73,7 +114,7 @@ export const engramAcceptProposalTool = {
|
|
|
73
114
|
// ============================================================
|
|
74
115
|
export const engramDismissProposalTool = {
|
|
75
116
|
name: "engram_dismiss_proposal",
|
|
76
|
-
description: "
|
|
117
|
+
description: "拒绝一个候选提案。默认永久不再提示;显式传 dismissDays > 0 时 N 天后可被新事件重新激活。审计日志始终保留。",
|
|
77
118
|
inputSchema: EngramDismissProposalInputSchema,
|
|
78
119
|
execute(input, ctx) {
|
|
79
120
|
const parsed = validateInput(EngramDismissProposalInputSchema, input);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proposal-tools.js","sourceRoot":"","sources":["../../src/tools/proposal-tools.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"proposal-tools.js","sourceRoot":"","sources":["../../src/tools/proposal-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAUtC;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,YAAY;IACZ,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACpC,aAAa;IACb,IAAI,IAAI,SAAS,IAAI,EAAE,CAAC;IACxB,mDAAmD;IACnD,eAAe,CACb,SAAS,EAAE,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,GACrD,SAAS,IAAI,EAAE,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,YAAY,CAwBjD;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,YAAmC,CAAC"}
|
package/dist/tools/registry.js
CHANGED
|
@@ -12,6 +12,9 @@ import { ALL_SYNAPSE_TOOLS } from "./synapse-tools.js";
|
|
|
12
12
|
import { ALL_SKILL_TOOLS } from "./skill-tools.js";
|
|
13
13
|
import { ALL_PROPOSAL_TOOLS } from "./proposal-tools.js";
|
|
14
14
|
import { ALL_DOCTOR_TOOLS } from "./doctor-tools.js";
|
|
15
|
+
import { ALL_SYNTHESIZE_TOOLS } from "./synthesize-tools.js";
|
|
16
|
+
import { ALL_SYNC_TOOLS } from "./sync-tools.js";
|
|
17
|
+
import { engramAuditQueryTool } from "./audit-query-tool.js";
|
|
15
18
|
/**
|
|
16
19
|
* 创建默认工具注册表(含所有 P0 工具)
|
|
17
20
|
*/
|
|
@@ -22,6 +25,9 @@ export function createToolRegistry() {
|
|
|
22
25
|
...ALL_SKILL_TOOLS,
|
|
23
26
|
...ALL_PROPOSAL_TOOLS,
|
|
24
27
|
...ALL_DOCTOR_TOOLS,
|
|
28
|
+
...ALL_SYNTHESIZE_TOOLS,
|
|
29
|
+
...ALL_SYNC_TOOLS,
|
|
30
|
+
engramAuditQueryTool,
|
|
25
31
|
];
|
|
26
32
|
const map = new Map(all.map((t) => [t.name, t]));
|
|
27
33
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAgB7D;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,GAAG,GAAoB;QAC3B,GAAG,gBAAgB;QACnB,GAAG,iBAAiB;QACpB,GAAG,eAAe;QAClB,GAAG,kBAAkB;QACrB,GAAG,gBAAgB;QACnB,GAAG,oBAAoB;QACvB,GAAG,cAAc;QACjB,oBAAoB;KACrB,CAAC;IACF,MAAM,GAAG,GAAG,IAAI,GAAG,CAAe,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAE/D,OAAO;QACL,GAAG,CAAC,IAAI;YACN,OAAO,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;QACD,IAAI;YACF,OAAO,GAAG,CAAC;QACb,CAAC;QACD,eAAe,CAAC,SAAS;YACvB,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC;QAC/D,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAiB,kBAAkB,EAAE,CAAC"}
|
package/dist/tools/schemas.d.ts
CHANGED
|
@@ -35,9 +35,9 @@ export declare const EngramCreateInputSchema: z.ZodObject<{
|
|
|
35
35
|
dedupe: z.ZodDefault<z.ZodBoolean>;
|
|
36
36
|
}, "strip", z.ZodTypeAny, {
|
|
37
37
|
content: string;
|
|
38
|
+
kind: "observation" | "fact" | "pattern" | "procedure" | "hypothesis";
|
|
38
39
|
title: string;
|
|
39
40
|
domainTags: string[];
|
|
40
|
-
kind: "observation" | "fact" | "pattern" | "procedure" | "hypothesis";
|
|
41
41
|
dedupe: boolean;
|
|
42
42
|
confidence?: number | undefined;
|
|
43
43
|
importance?: number | undefined;
|
|
@@ -52,9 +52,9 @@ export declare const EngramCreateInputSchema: z.ZodObject<{
|
|
|
52
52
|
visibility?: "public" | "team" | "private" | "restricted" | undefined;
|
|
53
53
|
}, {
|
|
54
54
|
content: string;
|
|
55
|
+
kind: "observation" | "fact" | "pattern" | "procedure" | "hypothesis";
|
|
55
56
|
title: string;
|
|
56
57
|
domainTags: string[];
|
|
57
|
-
kind: "observation" | "fact" | "pattern" | "procedure" | "hypothesis";
|
|
58
58
|
confidence?: number | undefined;
|
|
59
59
|
importance?: number | undefined;
|
|
60
60
|
summary?: string | undefined;
|
|
@@ -78,7 +78,7 @@ export declare const EngramCreateInputSchema: z.ZodObject<{
|
|
|
78
78
|
*/
|
|
79
79
|
export declare const EngramGetTierSchema: z.ZodEnum<["catalog", "digest", "content", "meta", "synapses", "auto"]>;
|
|
80
80
|
export declare const EngramGetInputSchema: z.ZodObject<{
|
|
81
|
-
id: z.ZodString
|
|
81
|
+
id: z.ZodEffects<z.ZodString, string, string>;
|
|
82
82
|
tier: z.ZodDefault<z.ZodEnum<["catalog", "digest", "content", "meta", "synapses", "auto"]>>;
|
|
83
83
|
/** tier='auto' 时使用的 token 预算;省略则用默认 4K */
|
|
84
84
|
contextBudget: z.ZodOptional<z.ZodObject<{
|
|
@@ -164,7 +164,7 @@ export declare const EngramDeleteInputSchema: z.ZodObject<{
|
|
|
164
164
|
id: string;
|
|
165
165
|
}>;
|
|
166
166
|
export declare const EngramReinforceInputSchema: z.ZodObject<{
|
|
167
|
-
id: z.ZodString
|
|
167
|
+
id: z.ZodEffects<z.ZodString, string, string>;
|
|
168
168
|
/** 有效性 [0,1],1=完全有效,0.5=部分有效 */
|
|
169
169
|
effectiveness: z.ZodDefault<z.ZodNumber>;
|
|
170
170
|
/** 可选:有效性说明(供审计) */
|
|
@@ -236,9 +236,11 @@ export declare const SearchFilterSchema: z.ZodObject<{
|
|
|
236
236
|
createdAfter: z.ZodOptional<z.ZodString>;
|
|
237
237
|
createdBefore: z.ZodOptional<z.ZodString>;
|
|
238
238
|
minImportance: z.ZodOptional<z.ZodNumber>;
|
|
239
|
-
|
|
239
|
+
contextTags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
240
|
+
}, "strict", z.ZodTypeAny, {
|
|
240
241
|
domainTags?: string[] | undefined;
|
|
241
242
|
kinds?: string[] | undefined;
|
|
243
|
+
contextTags?: string[] | undefined;
|
|
242
244
|
createdBy?: string[] | undefined;
|
|
243
245
|
emotionalValence?: string[] | undefined;
|
|
244
246
|
status?: string[] | undefined;
|
|
@@ -249,6 +251,7 @@ export declare const SearchFilterSchema: z.ZodObject<{
|
|
|
249
251
|
}, {
|
|
250
252
|
domainTags?: string[] | undefined;
|
|
251
253
|
kinds?: string[] | undefined;
|
|
254
|
+
contextTags?: string[] | undefined;
|
|
252
255
|
createdBy?: string[] | undefined;
|
|
253
256
|
emotionalValence?: string[] | undefined;
|
|
254
257
|
status?: string[] | undefined;
|
|
@@ -298,8 +301,8 @@ export declare const EngramRecomputeImportanceInputSchema: z.ZodObject<{
|
|
|
298
301
|
}>;
|
|
299
302
|
export declare const ContradictionVerdictSchema: z.ZodEnum<["keep_new", "keep_old", "merge", "archive"]>;
|
|
300
303
|
export declare const ContradictionResolveInputSchema: z.ZodObject<{
|
|
301
|
-
fromId: z.ZodString
|
|
302
|
-
synapseId: z.ZodString
|
|
304
|
+
fromId: z.ZodEffects<z.ZodString, string, string>;
|
|
305
|
+
synapseId: z.ZodEffects<z.ZodString, string, string>;
|
|
303
306
|
/** 裁决选项(必填) */
|
|
304
307
|
verdict: z.ZodEnum<["keep_new", "keep_old", "merge", "archive"]>;
|
|
305
308
|
/** 必填依据(供审计) */
|
|
@@ -402,9 +405,11 @@ export declare const EngramSearchInputSchema: z.ZodObject<{
|
|
|
402
405
|
createdAfter: z.ZodOptional<z.ZodString>;
|
|
403
406
|
createdBefore: z.ZodOptional<z.ZodString>;
|
|
404
407
|
minImportance: z.ZodOptional<z.ZodNumber>;
|
|
405
|
-
|
|
408
|
+
contextTags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
409
|
+
}, "strict", z.ZodTypeAny, {
|
|
406
410
|
domainTags?: string[] | undefined;
|
|
407
411
|
kinds?: string[] | undefined;
|
|
412
|
+
contextTags?: string[] | undefined;
|
|
408
413
|
createdBy?: string[] | undefined;
|
|
409
414
|
emotionalValence?: string[] | undefined;
|
|
410
415
|
status?: string[] | undefined;
|
|
@@ -415,6 +420,7 @@ export declare const EngramSearchInputSchema: z.ZodObject<{
|
|
|
415
420
|
}, {
|
|
416
421
|
domainTags?: string[] | undefined;
|
|
417
422
|
kinds?: string[] | undefined;
|
|
423
|
+
contextTags?: string[] | undefined;
|
|
418
424
|
createdBy?: string[] | undefined;
|
|
419
425
|
emotionalValence?: string[] | undefined;
|
|
420
426
|
status?: string[] | undefined;
|
|
@@ -430,6 +436,7 @@ export declare const EngramSearchInputSchema: z.ZodObject<{
|
|
|
430
436
|
filter?: {
|
|
431
437
|
domainTags?: string[] | undefined;
|
|
432
438
|
kinds?: string[] | undefined;
|
|
439
|
+
contextTags?: string[] | undefined;
|
|
433
440
|
createdBy?: string[] | undefined;
|
|
434
441
|
emotionalValence?: string[] | undefined;
|
|
435
442
|
status?: string[] | undefined;
|
|
@@ -443,6 +450,7 @@ export declare const EngramSearchInputSchema: z.ZodObject<{
|
|
|
443
450
|
filter?: {
|
|
444
451
|
domainTags?: string[] | undefined;
|
|
445
452
|
kinds?: string[] | undefined;
|
|
453
|
+
contextTags?: string[] | undefined;
|
|
446
454
|
createdBy?: string[] | undefined;
|
|
447
455
|
emotionalValence?: string[] | undefined;
|
|
448
456
|
status?: string[] | undefined;
|
|
@@ -464,9 +472,11 @@ export declare const EngramListInputSchema: z.ZodObject<{
|
|
|
464
472
|
createdAfter: z.ZodOptional<z.ZodString>;
|
|
465
473
|
createdBefore: z.ZodOptional<z.ZodString>;
|
|
466
474
|
minImportance: z.ZodOptional<z.ZodNumber>;
|
|
467
|
-
|
|
475
|
+
contextTags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
476
|
+
}, "strict", z.ZodTypeAny, {
|
|
468
477
|
domainTags?: string[] | undefined;
|
|
469
478
|
kinds?: string[] | undefined;
|
|
479
|
+
contextTags?: string[] | undefined;
|
|
470
480
|
createdBy?: string[] | undefined;
|
|
471
481
|
emotionalValence?: string[] | undefined;
|
|
472
482
|
status?: string[] | undefined;
|
|
@@ -477,6 +487,7 @@ export declare const EngramListInputSchema: z.ZodObject<{
|
|
|
477
487
|
}, {
|
|
478
488
|
domainTags?: string[] | undefined;
|
|
479
489
|
kinds?: string[] | undefined;
|
|
490
|
+
contextTags?: string[] | undefined;
|
|
480
491
|
createdBy?: string[] | undefined;
|
|
481
492
|
emotionalValence?: string[] | undefined;
|
|
482
493
|
status?: string[] | undefined;
|
|
@@ -491,6 +502,7 @@ export declare const EngramListInputSchema: z.ZodObject<{
|
|
|
491
502
|
filter?: {
|
|
492
503
|
domainTags?: string[] | undefined;
|
|
493
504
|
kinds?: string[] | undefined;
|
|
505
|
+
contextTags?: string[] | undefined;
|
|
494
506
|
createdBy?: string[] | undefined;
|
|
495
507
|
emotionalValence?: string[] | undefined;
|
|
496
508
|
status?: string[] | undefined;
|
|
@@ -503,6 +515,7 @@ export declare const EngramListInputSchema: z.ZodObject<{
|
|
|
503
515
|
filter?: {
|
|
504
516
|
domainTags?: string[] | undefined;
|
|
505
517
|
kinds?: string[] | undefined;
|
|
518
|
+
contextTags?: string[] | undefined;
|
|
506
519
|
createdBy?: string[] | undefined;
|
|
507
520
|
emotionalValence?: string[] | undefined;
|
|
508
521
|
status?: string[] | undefined;
|
|
@@ -556,9 +569,9 @@ export declare const SynapseCreateInputSchema: z.ZodObject<{
|
|
|
556
569
|
targetSemantic: z.ZodOptional<z.ZodString>;
|
|
557
570
|
}, "strip", z.ZodTypeAny, {
|
|
558
571
|
kind: "extends" | "part_of" | "similar_to" | "depends_on" | "causes" | "follows" | "derives_from" | "contradicts" | "exemplifies" | "supersedes" | "consolidates" | "contextualizes";
|
|
572
|
+
weight: number;
|
|
559
573
|
from: string;
|
|
560
574
|
to: string;
|
|
561
|
-
weight: number;
|
|
562
575
|
direction: "directional" | "bidirectional";
|
|
563
576
|
createdBy?: string | undefined;
|
|
564
577
|
evidence?: {
|
|
@@ -575,13 +588,13 @@ export declare const SynapseCreateInputSchema: z.ZodObject<{
|
|
|
575
588
|
to: string;
|
|
576
589
|
createdBy?: string | undefined;
|
|
577
590
|
weight?: number | undefined;
|
|
578
|
-
direction?: "directional" | "bidirectional" | undefined;
|
|
579
591
|
evidence?: {
|
|
580
592
|
description: string;
|
|
581
593
|
addedBy: string;
|
|
582
594
|
source?: string | undefined;
|
|
583
595
|
confidence?: number | undefined;
|
|
584
596
|
}[] | undefined;
|
|
597
|
+
direction?: "directional" | "bidirectional" | undefined;
|
|
585
598
|
sourceSemantic?: string | undefined;
|
|
586
599
|
targetSemantic?: string | undefined;
|
|
587
600
|
}>;
|
|
@@ -641,11 +654,29 @@ export declare const EngramListProposalsInputSchema: z.ZodObject<{
|
|
|
641
654
|
includeAll?: boolean | undefined;
|
|
642
655
|
}>;
|
|
643
656
|
export declare const EngramAcceptProposalInputSchema: z.ZodObject<{
|
|
644
|
-
/** 簇 id
|
|
657
|
+
/** 簇 id(= proposal.entityId;auto-memory 来源形如 `am:<slug>`) */
|
|
645
658
|
entityId: z.ZodString;
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
659
|
+
/**
|
|
660
|
+
* 可选:engram 标题。
|
|
661
|
+
*
|
|
662
|
+
* conversation 来源 proposal 必填。
|
|
663
|
+
* auto-memory 来源 proposal 可省略 —— 缺失时从 proposal.payload.title 兜底。
|
|
664
|
+
*/
|
|
665
|
+
title: z.ZodOptional<z.ZodString>;
|
|
666
|
+
/**
|
|
667
|
+
* 可选:engram 内容。
|
|
668
|
+
*
|
|
669
|
+
* conversation 来源 proposal 必填。
|
|
670
|
+
* auto-memory 来源 proposal 可省略 —— 缺失时从 proposal.payload.content 兜底。
|
|
671
|
+
*/
|
|
672
|
+
content: z.ZodOptional<z.ZodString>;
|
|
673
|
+
/**
|
|
674
|
+
* 可选:engram domainTags。
|
|
675
|
+
*
|
|
676
|
+
* conversation 来源 proposal 必填。
|
|
677
|
+
* auto-memory 来源 proposal 可省略 —— 缺失时从 proposal.payload.domainTags 兜底。
|
|
678
|
+
*/
|
|
679
|
+
domainTags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
649
680
|
/**
|
|
650
681
|
* 可选:创建者标识。
|
|
651
682
|
*
|
|
@@ -655,21 +686,21 @@ export declare const EngramAcceptProposalInputSchema: z.ZodObject<{
|
|
|
655
686
|
* 绕过了 ctx.defaultCreatedBy,导致采纳提案后的 engram 不走 git 身份解析。
|
|
656
687
|
*/
|
|
657
688
|
createdBy: z.ZodOptional<z.ZodString>;
|
|
658
|
-
/** 可选:engram kind
|
|
689
|
+
/** 可选:engram kind(默认 fact;auto-memory 来源也可从 payload 兜底) */
|
|
659
690
|
kind: z.ZodOptional<z.ZodEnum<["observation", "fact", "pattern", "procedure", "hypothesis"]>>;
|
|
660
691
|
}, "strip", z.ZodTypeAny, {
|
|
661
|
-
content: string;
|
|
662
|
-
title: string;
|
|
663
|
-
domainTags: string[];
|
|
664
692
|
entityId: string;
|
|
693
|
+
content?: string | undefined;
|
|
665
694
|
kind?: "observation" | "fact" | "pattern" | "procedure" | "hypothesis" | undefined;
|
|
695
|
+
title?: string | undefined;
|
|
696
|
+
domainTags?: string[] | undefined;
|
|
666
697
|
createdBy?: string | undefined;
|
|
667
698
|
}, {
|
|
668
|
-
content: string;
|
|
669
|
-
title: string;
|
|
670
|
-
domainTags: string[];
|
|
671
699
|
entityId: string;
|
|
700
|
+
content?: string | undefined;
|
|
672
701
|
kind?: "observation" | "fact" | "pattern" | "procedure" | "hypothesis" | undefined;
|
|
702
|
+
title?: string | undefined;
|
|
703
|
+
domainTags?: string[] | undefined;
|
|
673
704
|
createdBy?: string | undefined;
|
|
674
705
|
}>;
|
|
675
706
|
export declare const EngramDismissProposalInputSchema: z.ZodObject<{
|
|
@@ -687,6 +718,48 @@ export declare const EngramDismissProposalInputSchema: z.ZodObject<{
|
|
|
687
718
|
reason?: string | undefined;
|
|
688
719
|
dismissDays?: number | undefined;
|
|
689
720
|
}>;
|
|
721
|
+
export declare const EngramSynthesizeInputSchema: z.ZodObject<{
|
|
722
|
+
/**
|
|
723
|
+
* 待综合的源 engram id 列表。
|
|
724
|
+
*
|
|
725
|
+
* 至少 2 条(单条无综合价值),最多 20 条(防 LLM 上下文超长 + 成本失控)。
|
|
726
|
+
* id 重复会自动去重;不存在的 id 抛错并标明缺哪个。
|
|
727
|
+
*/
|
|
728
|
+
ids: z.ZodArray<z.ZodString, "many">;
|
|
729
|
+
/** 可选:综合结果归属的 domainTags;不传时由 LLM 推断 */
|
|
730
|
+
domainTags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
731
|
+
/**
|
|
732
|
+
* 可选:给 LLM 的综合提示(如"聚焦在测试稳定性")。
|
|
733
|
+
*
|
|
734
|
+
* 让用户在不对 LLM 输出做兜底修改的前提下引导综合方向。
|
|
735
|
+
*/
|
|
736
|
+
synthesisHints: z.ZodOptional<z.ZodString>;
|
|
737
|
+
/**
|
|
738
|
+
* 可选:综合产物的作者标识。
|
|
739
|
+
*
|
|
740
|
+
* 缺省时回退到 ctx.defaultCreatedBy,再缺省 "unknown"。
|
|
741
|
+
*/
|
|
742
|
+
createdBy: z.ZodOptional<z.ZodString>;
|
|
743
|
+
/**
|
|
744
|
+
* 可选:dry-run 模式(默认 false)。
|
|
745
|
+
*
|
|
746
|
+
* true 时只让 LLM 草拟 title/content/summary/domainTags 但不实际创建 engram/synapse,
|
|
747
|
+
* 供调用方预览综合质量;返回里会带 draft 字段,patternEngramId/synapseIds 为空。
|
|
748
|
+
*/
|
|
749
|
+
dryRun: z.ZodOptional<z.ZodBoolean>;
|
|
750
|
+
}, "strip", z.ZodTypeAny, {
|
|
751
|
+
ids: string[];
|
|
752
|
+
domainTags?: string[] | undefined;
|
|
753
|
+
createdBy?: string | undefined;
|
|
754
|
+
synthesisHints?: string | undefined;
|
|
755
|
+
dryRun?: boolean | undefined;
|
|
756
|
+
}, {
|
|
757
|
+
ids: string[];
|
|
758
|
+
domainTags?: string[] | undefined;
|
|
759
|
+
createdBy?: string | undefined;
|
|
760
|
+
synthesisHints?: string | undefined;
|
|
761
|
+
dryRun?: boolean | undefined;
|
|
762
|
+
}>;
|
|
690
763
|
export type EngramCreateToolInput = z.infer<typeof EngramCreateInputSchema>;
|
|
691
764
|
export type EngramGetToolInput = z.infer<typeof EngramGetInputSchema>;
|
|
692
765
|
export type EngramUpdateToolInput = z.infer<typeof EngramUpdateInputSchema>;
|
|
@@ -712,4 +785,5 @@ export type SkillInvokeToolInput = z.infer<typeof SkillInvokeInputSchema>;
|
|
|
712
785
|
export type EngramListProposalsToolInput = z.infer<typeof EngramListProposalsInputSchema>;
|
|
713
786
|
export type EngramAcceptProposalToolInput = z.infer<typeof EngramAcceptProposalInputSchema>;
|
|
714
787
|
export type EngramDismissProposalToolInput = z.infer<typeof EngramDismissProposalInputSchema>;
|
|
788
|
+
export type EngramSynthesizeToolInput = z.infer<typeof EngramSynthesizeInputSchema>;
|
|
715
789
|
//# sourceMappingURL=schemas.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/tools/schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/tools/schemas.ts"],"names":[],"mappings":"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"}
|