@wirecat/cli-memo 0.15.0 → 0.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +314 -299
- package/dist/knowledge/command.d.ts.map +1 -1
- package/dist/knowledge/command.js +3 -1
- package/dist/knowledge/command.js.map +1 -1
- package/dist/knowledge/meeting-projects-command.d.ts +4 -0
- package/dist/knowledge/meeting-projects-command.d.ts.map +1 -0
- package/dist/knowledge/meeting-projects-command.js +44 -0
- package/dist/knowledge/meeting-projects-command.js.map +1 -0
- package/dist/mcp/server.d.ts +1 -10
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +6 -1
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/task-relations.d.ts +6 -0
- package/dist/mcp/task-relations.d.ts.map +1 -0
- package/dist/mcp/task-relations.js +30 -0
- package/dist/mcp/task-relations.js.map +1 -0
- package/dist/mcp/tool.d.ts +17 -0
- package/dist/mcp/tool.d.ts.map +1 -0
- package/dist/mcp/tool.js +2 -0
- package/dist/mcp/tool.js.map +1 -0
- package/dist/mcp/vocabulary.d.ts +7 -0
- package/dist/mcp/vocabulary.d.ts.map +1 -0
- package/dist/mcp/vocabulary.js +50 -0
- package/dist/mcp/vocabulary.js.map +1 -0
- package/dist/program.d.ts.map +1 -1
- package/dist/program.js +2 -0
- package/dist/program.js.map +1 -1
- package/dist/tasks/command.d.ts.map +1 -1
- package/dist/tasks/command.js +10 -2
- package/dist/tasks/command.js.map +1 -1
- package/dist/tasks/relations-command.d.ts +4 -0
- package/dist/tasks/relations-command.d.ts.map +1 -0
- package/dist/tasks/relations-command.js +51 -0
- package/dist/tasks/relations-command.js.map +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/vocabulary/command.d.ts +4 -0
- package/dist/vocabulary/command.d.ts.map +1 -0
- package/dist/vocabulary/command.js +96 -0
- package/dist/vocabulary/command.js.map +1 -0
- package/dist/vocabulary/project.d.ts +3 -0
- package/dist/vocabulary/project.d.ts.map +1 -0
- package/dist/vocabulary/project.js +17 -0
- package/dist/vocabulary/project.js.map +1 -0
- package/package.json +4 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/vocabulary/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAQ1E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAWxC,eAAO,MAAM,iBAAiB,YAAa,OAAO,WAAW,OAAO,OAAO,MAAM,CAAC,UAAU,KAAG,IAwG9F,CAAA"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { CliError, createRenderer } from "@wirecat/cli-core";
|
|
2
|
+
import { openStore, } from "@wirecat/cli-messaging/store";
|
|
3
|
+
import { oneOf, positive } from "../options.js";
|
|
4
|
+
const kinds = ["project", "tag", "topic"];
|
|
5
|
+
const targetOf = (reference) => {
|
|
6
|
+
const match = reference.match(/^(project|tag|topic):([1-9]\d*)$/);
|
|
7
|
+
if (!match)
|
|
8
|
+
throw new CliError("validation_error", "choose project:<id>, tag:<id> or topic:<id> from vocabulary list");
|
|
9
|
+
return { kind: match[1], id: match[2] };
|
|
10
|
+
};
|
|
11
|
+
export const vocabularyCommand = (program, streams, env) => {
|
|
12
|
+
const vocabulary = program
|
|
13
|
+
.command("vocabulary")
|
|
14
|
+
.description("Canonical projects, tags and topics with explicit aliases");
|
|
15
|
+
const execute = async (options, work) => {
|
|
16
|
+
const store = await openStore({ env });
|
|
17
|
+
try {
|
|
18
|
+
const result = await work(store);
|
|
19
|
+
if (options.json)
|
|
20
|
+
createRenderer({ format: "json", color: false, streams }).result(result);
|
|
21
|
+
else
|
|
22
|
+
streams.data(`${JSON.stringify(result, null, 2)}\n`);
|
|
23
|
+
}
|
|
24
|
+
finally {
|
|
25
|
+
await store.close();
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
const readOptions = (command) => command
|
|
29
|
+
.option("--kind <kind>", "project, tag or topic", oneOf(kinds))
|
|
30
|
+
.option("--scope <scope>", "personal or work projects", oneOf(["personal", "work"]))
|
|
31
|
+
.option("--max-entries <n>", "catalog input budget, not a page size", positive)
|
|
32
|
+
.option("--max-read-bytes <n>", "catalog input byte budget", positive)
|
|
33
|
+
.option("--json", "print JSON");
|
|
34
|
+
const catalogOptions = (options) => ({
|
|
35
|
+
...(options.kind === undefined ? {} : { kind: options.kind }),
|
|
36
|
+
...(options.scope === undefined ? {} : { scope: options.scope }),
|
|
37
|
+
...(options.maxEntries === undefined ? {} : { maxEntries: options.maxEntries }),
|
|
38
|
+
...(options.maxReadBytes === undefined ? {} : { maxReadBytes: options.maxReadBytes }),
|
|
39
|
+
});
|
|
40
|
+
readOptions(vocabulary.command("list").description("List canonical IDs, aliases, usage counts and a preview fingerprint")).action((options) => execute(options, (store) => store.knowledge.vocabulary(catalogOptions(options))));
|
|
41
|
+
readOptions(vocabulary
|
|
42
|
+
.command("resolve")
|
|
43
|
+
.argument("<name>")
|
|
44
|
+
.description("Resolve an exact name or alias; ambiguity is reported")).action((name, options) => execute(options, (store) => store.knowledge.resolveVocabulary(name, catalogOptions(options))));
|
|
45
|
+
readOptions(vocabulary.command("audit").description("Discover likely synonyms without accepting or merging them"))
|
|
46
|
+
.option("--min-similarity <n>", "minimum lexical similarity, 0.65–1", Number)
|
|
47
|
+
.option("--max-comparisons <n>", "bound name comparisons", positive)
|
|
48
|
+
.option("--limit <n>", "maximum candidate pairs", positive)
|
|
49
|
+
.action((options) => execute(options, (store) => store.knowledge.auditVocabulary({
|
|
50
|
+
...catalogOptions(options),
|
|
51
|
+
...(options.minSimilarity === undefined ? {} : { minSimilarity: options.minSimilarity }),
|
|
52
|
+
...(options.maxComparisons === undefined ? {} : { maxComparisons: options.maxComparisons }),
|
|
53
|
+
...(options.limit === undefined ? {} : { limit: options.limit }),
|
|
54
|
+
})));
|
|
55
|
+
vocabulary
|
|
56
|
+
.command("preflight")
|
|
57
|
+
.argument("<name>")
|
|
58
|
+
.description("Review an existing label or likely lexical duplicates before creation")
|
|
59
|
+
.option("--kind <kind>", "tag or topic", oneOf(["tag", "topic"]))
|
|
60
|
+
.option("--json", "print JSON")
|
|
61
|
+
.action((name, options) => execute(options, (store) => store.knowledge.tagPreflight(name, { ...(options.kind === undefined ? {} : { kind: options.kind }) })));
|
|
62
|
+
vocabulary
|
|
63
|
+
.command("create")
|
|
64
|
+
.argument("<name>")
|
|
65
|
+
.description("Owner: create a distinct tag or topic after reviewing its preflight")
|
|
66
|
+
.option("--kind <kind>", "tag or topic", oneOf(["tag", "topic"]))
|
|
67
|
+
.requiredOption("--expected <fingerprint>", "the current preflight creationFingerprint")
|
|
68
|
+
.option("--json", "print JSON")
|
|
69
|
+
.action((name, options) => execute(options, (store) => store.knowledge.createTag(name, {
|
|
70
|
+
by: "owner",
|
|
71
|
+
...(options.kind === undefined ? {} : { kind: options.kind }),
|
|
72
|
+
expectedCreationFingerprint: options.expected,
|
|
73
|
+
})));
|
|
74
|
+
const aliases = vocabulary.command("aliases").description("Owner-reviewed aliases on stable canonical IDs");
|
|
75
|
+
aliases
|
|
76
|
+
.command("add")
|
|
77
|
+
.argument("<reference>")
|
|
78
|
+
.argument("<name>")
|
|
79
|
+
.requiredOption("--expected <fingerprint>", "the current vocabulary preview fingerprint")
|
|
80
|
+
.option("--json", "print JSON")
|
|
81
|
+
.action((reference, name, options) => {
|
|
82
|
+
const target = targetOf(reference);
|
|
83
|
+
return execute(options, (store) => store.knowledge.addVocabularyAlias(target, name, { by: "owner", expectedFingerprint: options.expected }));
|
|
84
|
+
});
|
|
85
|
+
aliases
|
|
86
|
+
.command("remove")
|
|
87
|
+
.argument("<reference>")
|
|
88
|
+
.argument("<alias-id>")
|
|
89
|
+
.requiredOption("--expected <fingerprint>", "the current vocabulary preview fingerprint")
|
|
90
|
+
.option("--json", "print JSON")
|
|
91
|
+
.action((reference, aliasId, options) => {
|
|
92
|
+
const target = targetOf(reference);
|
|
93
|
+
return execute(options, (store) => store.knowledge.removeVocabularyAlias(target, aliasId, { by: "owner", expectedFingerprint: options.expected }));
|
|
94
|
+
});
|
|
95
|
+
};
|
|
96
|
+
//# sourceMappingURL=command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/vocabulary/command.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/vocabulary/project.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAEhE,eAAO,MAAM,gBAAgB,UAAiB,YAAY,aAAa,MAAM,KAAG,OAAO,CAAC,MAAM,CAiB7F,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { CliError } from "@wirecat/cli-core";
|
|
2
|
+
export const canonicalProject = async (store, reference) => {
|
|
3
|
+
if (/^project:[1-9]\d*$/.test(reference)) {
|
|
4
|
+
const catalog = await store.knowledge.vocabulary({ kind: "project" });
|
|
5
|
+
if (!catalog.entries.some((entry) => entry.id === reference.slice(8)))
|
|
6
|
+
throw new CliError("not_found", "the owner project is unavailable");
|
|
7
|
+
return reference;
|
|
8
|
+
}
|
|
9
|
+
const found = await store.knowledge.resolveVocabulary(reference, { kind: "project" });
|
|
10
|
+
if (found.matches.length !== 1)
|
|
11
|
+
throw new CliError(found.matches.length ? "validation_error" : "not_found", "choose one canonical project reference from vocabulary resolve", { candidates: found.matches.map((entry) => ({ id: entry.id, key: entry.key, name: entry.name })) });
|
|
12
|
+
const entry = found.matches[0];
|
|
13
|
+
if (!entry)
|
|
14
|
+
throw new CliError("not_found", "the owner project is unavailable");
|
|
15
|
+
return `project:${entry.id}`;
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=project.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/vocabulary/project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAG5C,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,KAAmB,EAAE,SAAiB,EAAmB,EAAE;IAChG,IAAI,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;QACrE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACnE,MAAM,IAAI,QAAQ,CAAC,WAAW,EAAE,kCAAkC,CAAC,CAAA;QACrE,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,iBAAiB,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;IACrF,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;QAC5B,MAAM,IAAI,QAAQ,CAChB,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,WAAW,EACvD,gEAAgE,EAChE,EAAE,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CACnG,CAAA;IACH,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IAC9B,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,QAAQ,CAAC,WAAW,EAAE,kCAAkC,CAAC,CAAA;IAC/E,OAAO,WAAW,KAAK,CAAC,EAAE,EAAE,CAAA;AAC9B,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wirecat/cli-memo",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.17.0",
|
|
4
4
|
"description": "Context about people across messengers, notes and mail, from a local store",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Viacheslav Ptsarev",
|
|
@@ -35,24 +35,24 @@
|
|
|
35
35
|
"prepublishOnly": "pnpm build",
|
|
36
36
|
"standards:check": "node config/wirecat/check.mjs",
|
|
37
37
|
"docs:lint": "markdownlint-cli2",
|
|
38
|
-
"docs:spell": "cspell lint --config cspell.json --no-progress README.md",
|
|
38
|
+
"docs:spell": "cspell lint --config cspell.json --no-progress README.md \"docs/*.md\"",
|
|
39
39
|
"ci:quick": "pnpm typecheck"
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
42
|
"@modelcontextprotocol/server": "2.1.0",
|
|
43
43
|
"@valibot/to-json-schema": "1.8.0",
|
|
44
44
|
"@wirecat/cli-core": "0.20.0",
|
|
45
|
-
"@wirecat/cli-messaging": "0.
|
|
45
|
+
"@wirecat/cli-messaging": "0.246.0",
|
|
46
46
|
"commander": "15.0.0",
|
|
47
47
|
"valibot": "1.5.0",
|
|
48
48
|
"yaml": "2.9.1"
|
|
49
49
|
},
|
|
50
50
|
"devDependencies": {
|
|
51
51
|
"@biomejs/biome": "2.5.15",
|
|
52
|
-
"@modelcontextprotocol/client": "2.2.0",
|
|
53
52
|
"@cspell/dict-en-gb": "5.0.34",
|
|
54
53
|
"@cspell/dict-es-es": "3.0.9",
|
|
55
54
|
"@cspell/dict-ru_ru": "2.3.3",
|
|
55
|
+
"@modelcontextprotocol/client": "2.2.0",
|
|
56
56
|
"@types/node": "^22.20.4",
|
|
57
57
|
"@vitest/coverage-v8": "5.0.3",
|
|
58
58
|
"cspell": "10.3.6",
|