mulch-cli 0.4.2 → 0.5.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 +14 -5
- package/dist/api.d.ts +65 -0
- package/dist/api.d.ts.map +1 -0
- package/dist/api.js +196 -0
- package/dist/api.js.map +1 -0
- package/dist/cli.js +1 -1
- package/dist/commands/edit.d.ts.map +1 -1
- package/dist/commands/edit.js +17 -0
- package/dist/commands/edit.js.map +1 -1
- package/dist/commands/query.d.ts.map +1 -1
- package/dist/commands/query.js +35 -1
- package/dist/commands/query.js.map +1 -1
- package/dist/commands/record.d.ts.map +1 -1
- package/dist/commands/record.js +24 -0
- package/dist/commands/record.js.map +1 -1
- package/dist/commands/search.d.ts.map +1 -1
- package/dist/commands/search.js +39 -6
- package/dist/commands/search.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/schemas/index.d.ts +1 -1
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js.map +1 -1
- package/dist/schemas/record-schema.d.ts +62 -0
- package/dist/schemas/record-schema.d.ts.map +1 -1
- package/dist/schemas/record-schema.js +19 -0
- package/dist/schemas/record-schema.js.map +1 -1
- package/dist/schemas/record.d.ts +9 -0
- package/dist/schemas/record.d.ts.map +1 -1
- package/dist/utils/budget.d.ts +3 -1
- package/dist/utils/budget.d.ts.map +1 -1
- package/dist/utils/budget.js +7 -3
- package/dist/utils/budget.js.map +1 -1
- package/dist/utils/expertise.d.ts +2 -0
- package/dist/utils/expertise.d.ts.map +1 -1
- package/dist/utils/expertise.js +25 -1
- package/dist/utils/expertise.js.map +1 -1
- package/dist/utils/format.d.ts.map +1 -1
- package/dist/utils/format.js +29 -6
- package/dist/utils/format.js.map +1 -1
- package/dist/utils/scoring.d.ts +57 -0
- package/dist/utils/scoring.d.ts.map +1 -0
- package/dist/utils/scoring.js +80 -0
- package/dist/utils/scoring.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -71,9 +71,9 @@ Everything is git-tracked. Clone a repo and your agents immediately have the pro
|
|
|
71
71
|
| `mulch record <domain> --type <type>` | Record an expertise record (`--tags`, `--force`, `--relates-to`, `--supersedes`, `--batch`, `--stdin`, `--dry-run`, `--evidence-bead`) |
|
|
72
72
|
| `mulch edit <domain> <id>` | Edit an existing record by ID or 1-based index |
|
|
73
73
|
| `mulch delete <domain> <id>` | Delete a record by ID or 1-based index |
|
|
74
|
-
| `mulch query [domain]` | Query expertise (use `--all` for all domains) |
|
|
74
|
+
| `mulch query [domain]` | Query expertise (use `--all` for all domains, `--classification`, `--file`, `--outcome-status`, `--sort-by-score` filters) |
|
|
75
75
|
| `mulch prime [domains...]` | Output AI-optimized expertise context (`--budget`, `--no-limit`, `--context`, `--files`, `--exclude-domain`, `--format`, `--export`) |
|
|
76
|
-
| `mulch search [query]` | Search records across domains with BM25 ranking (`--domain`, `--type`, `--tag` filters) |
|
|
76
|
+
| `mulch search [query]` | Search records across domains with BM25 ranking (`--domain`, `--type`, `--tag`, `--classification`, `--file`, `--sort-by-score` filters) |
|
|
77
77
|
| `mulch compact [domain]` | Analyze compaction candidates or apply a compaction (`--analyze`, `--auto`, `--apply`, `--dry-run`, `--min-group`, `--max-records`) |
|
|
78
78
|
| `mulch diff [ref]` | Show expertise changes between git refs (`mulch diff HEAD~3`, `mulch diff main..feature`) |
|
|
79
79
|
| `mulch status` | Show expertise freshness and counts (`--json` for health metrics) |
|
|
@@ -97,7 +97,7 @@ Everything is git-tracked. Clone a repo and your agents immediately have the pro
|
|
|
97
97
|
| `reference` | name, description | Key files, endpoints, or resources worth remembering |
|
|
98
98
|
| `guide` | name, description | Step-by-step procedures for recurring tasks |
|
|
99
99
|
|
|
100
|
-
All records support optional `--classification` (foundational / tactical / observational), evidence flags (`--evidence-commit`, `--evidence-issue`, `--evidence-file`), `--tags`, `--relates-to`, and `--
|
|
100
|
+
All records support optional `--classification` (foundational / tactical / observational), evidence flags (`--evidence-commit`, `--evidence-issue`, `--evidence-file`), `--tags`, `--relates-to`, `--supersedes` for linking, and `--outcome-status` (success/failure) for tracking application results. Cross-domain references use `domain:mx-hash` format (e.g., `--relates-to api:mx-abc123`).
|
|
101
101
|
|
|
102
102
|
## Example Output
|
|
103
103
|
|
|
@@ -197,9 +197,18 @@ The `--apply`, default (non-dry-run), and `--fix` variants acquire locks and are
|
|
|
197
197
|
|
|
198
198
|
## Programmatic API
|
|
199
199
|
|
|
200
|
-
Mulch exports
|
|
200
|
+
Mulch exports both low-level utilities and a high-level programmatic API:
|
|
201
201
|
|
|
202
202
|
```typescript
|
|
203
|
+
// High-level API — recommended for most use cases
|
|
204
|
+
import {
|
|
205
|
+
recordExpertise, // Record a new expertise entry (with dedup and locking)
|
|
206
|
+
searchExpertise, // Search records across domains
|
|
207
|
+
queryDomain, // Query all records for a domain
|
|
208
|
+
editRecord, // Edit an existing record by ID
|
|
209
|
+
} from "mulch-cli";
|
|
210
|
+
|
|
211
|
+
// Low-level utilities
|
|
203
212
|
import {
|
|
204
213
|
readConfig,
|
|
205
214
|
getExpertisePath,
|
|
@@ -213,7 +222,7 @@ import {
|
|
|
213
222
|
} from "mulch-cli";
|
|
214
223
|
```
|
|
215
224
|
|
|
216
|
-
Types (`ExpertiseRecord`, `MulchConfig`, `RecordType`, `Classification`, etc.) are also exported.
|
|
225
|
+
Types (`ExpertiseRecord`, `MulchConfig`, `RecordType`, `Classification`, `ScoredRecord`, `Outcome`, `RecordOptions`, `RecordResult`, `SearchOptions`, `SearchResult`, `QueryOptions`, `EditOptions`, `RecordUpdates`, etc.) are also exported.
|
|
217
226
|
|
|
218
227
|
## Contributing
|
|
219
228
|
|
package/dist/api.d.ts
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import type { ExpertiseRecord, Classification, Outcome } from "./schemas/record.js";
|
|
2
|
+
export interface RecordOptions {
|
|
3
|
+
force?: boolean;
|
|
4
|
+
cwd?: string;
|
|
5
|
+
}
|
|
6
|
+
export interface RecordResult {
|
|
7
|
+
action: "created" | "updated" | "skipped";
|
|
8
|
+
record: ExpertiseRecord;
|
|
9
|
+
}
|
|
10
|
+
export interface SearchOptions {
|
|
11
|
+
domain?: string;
|
|
12
|
+
type?: string;
|
|
13
|
+
tag?: string;
|
|
14
|
+
classification?: string;
|
|
15
|
+
file?: string;
|
|
16
|
+
cwd?: string;
|
|
17
|
+
}
|
|
18
|
+
export interface SearchResult {
|
|
19
|
+
domain: string;
|
|
20
|
+
records: ExpertiseRecord[];
|
|
21
|
+
}
|
|
22
|
+
export interface QueryOptions {
|
|
23
|
+
type?: string;
|
|
24
|
+
classification?: string;
|
|
25
|
+
file?: string;
|
|
26
|
+
cwd?: string;
|
|
27
|
+
}
|
|
28
|
+
export interface EditOptions {
|
|
29
|
+
cwd?: string;
|
|
30
|
+
}
|
|
31
|
+
export interface RecordUpdates {
|
|
32
|
+
classification?: Classification;
|
|
33
|
+
tags?: string[];
|
|
34
|
+
relates_to?: string[];
|
|
35
|
+
supersedes?: string[];
|
|
36
|
+
outcomes?: Outcome[];
|
|
37
|
+
content?: string;
|
|
38
|
+
name?: string;
|
|
39
|
+
description?: string;
|
|
40
|
+
resolution?: string;
|
|
41
|
+
title?: string;
|
|
42
|
+
rationale?: string;
|
|
43
|
+
files?: string[];
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Record an expertise record in the given domain.
|
|
47
|
+
* Named record types (pattern, decision, reference, guide) are upserted on
|
|
48
|
+
* duplicate key; convention and failure duplicates are skipped unless force=true.
|
|
49
|
+
*/
|
|
50
|
+
export declare function recordExpertise(domain: string, record: ExpertiseRecord, options?: RecordOptions): Promise<RecordResult>;
|
|
51
|
+
/**
|
|
52
|
+
* Search expertise records across domains using BM25 ranking.
|
|
53
|
+
* Returns domains with at least one matching record.
|
|
54
|
+
*/
|
|
55
|
+
export declare function searchExpertise(query: string, options?: SearchOptions): Promise<SearchResult[]>;
|
|
56
|
+
/**
|
|
57
|
+
* Query all records in a domain with optional filtering.
|
|
58
|
+
*/
|
|
59
|
+
export declare function queryDomain(domain: string, options?: QueryOptions): Promise<ExpertiseRecord[]>;
|
|
60
|
+
/**
|
|
61
|
+
* Edit an existing record by ID in the given domain.
|
|
62
|
+
* Only provided fields in updates are modified; all other fields are preserved.
|
|
63
|
+
*/
|
|
64
|
+
export declare function editRecord(domain: string, id: string, updates: RecordUpdates, options?: EditOptions): Promise<ExpertiseRecord>;
|
|
65
|
+
//# sourceMappingURL=api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAepF,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IAC1C,MAAM,EAAE,eAAe,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,eAAe,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,aAAa;IAC5B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IAErB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,eAAe,EACvB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC,CAmCvB;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,EAAE,CAAC,CA6CzB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,eAAe,EAAE,CAAC,CAwB5B;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,aAAa,EACtB,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,eAAe,CAAC,CAoG1B"}
|
package/dist/api.js
ADDED
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
import { readConfig, getExpertisePath } from "./utils/config.js";
|
|
2
|
+
import { readExpertiseFile, writeExpertiseFile, appendRecord, findDuplicate, resolveRecordId, searchRecords, filterByType, filterByClassification, filterByFile, } from "./utils/expertise.js";
|
|
3
|
+
import { withFileLock } from "./utils/lock.js";
|
|
4
|
+
/**
|
|
5
|
+
* Record an expertise record in the given domain.
|
|
6
|
+
* Named record types (pattern, decision, reference, guide) are upserted on
|
|
7
|
+
* duplicate key; convention and failure duplicates are skipped unless force=true.
|
|
8
|
+
*/
|
|
9
|
+
export async function recordExpertise(domain, record, options = {}) {
|
|
10
|
+
const { force = false, cwd } = options;
|
|
11
|
+
const config = await readConfig(cwd);
|
|
12
|
+
if (!config.domains.includes(domain)) {
|
|
13
|
+
throw new Error(`Domain "${domain}" not found in config. Available domains: ${config.domains.join(", ") || "(none)"}`);
|
|
14
|
+
}
|
|
15
|
+
const filePath = getExpertisePath(domain, cwd);
|
|
16
|
+
return withFileLock(filePath, async () => {
|
|
17
|
+
const existing = await readExpertiseFile(filePath);
|
|
18
|
+
const dup = findDuplicate(existing, record);
|
|
19
|
+
if (dup && !force) {
|
|
20
|
+
const isNamed = record.type === "pattern" ||
|
|
21
|
+
record.type === "decision" ||
|
|
22
|
+
record.type === "reference" ||
|
|
23
|
+
record.type === "guide";
|
|
24
|
+
if (isNamed) {
|
|
25
|
+
existing[dup.index] = record;
|
|
26
|
+
await writeExpertiseFile(filePath, existing);
|
|
27
|
+
return { action: "updated", record };
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
return { action: "skipped", record: dup.record };
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
await appendRecord(filePath, record);
|
|
35
|
+
return { action: "created", record };
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Search expertise records across domains using BM25 ranking.
|
|
41
|
+
* Returns domains with at least one matching record.
|
|
42
|
+
*/
|
|
43
|
+
export async function searchExpertise(query, options = {}) {
|
|
44
|
+
const { cwd } = options;
|
|
45
|
+
const config = await readConfig(cwd);
|
|
46
|
+
let domainsToSearch;
|
|
47
|
+
if (options.domain) {
|
|
48
|
+
if (!config.domains.includes(options.domain)) {
|
|
49
|
+
throw new Error(`Domain "${options.domain}" not found in config. Available domains: ${config.domains.join(", ")}`);
|
|
50
|
+
}
|
|
51
|
+
domainsToSearch = [options.domain];
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
domainsToSearch = config.domains;
|
|
55
|
+
}
|
|
56
|
+
const results = [];
|
|
57
|
+
for (const d of domainsToSearch) {
|
|
58
|
+
const filePath = getExpertisePath(d, cwd);
|
|
59
|
+
let records = await readExpertiseFile(filePath);
|
|
60
|
+
if (options.type) {
|
|
61
|
+
records = filterByType(records, options.type);
|
|
62
|
+
}
|
|
63
|
+
if (options.tag) {
|
|
64
|
+
const tagLower = options.tag.toLowerCase();
|
|
65
|
+
records = records.filter((r) => r.tags?.some((t) => t.toLowerCase() === tagLower));
|
|
66
|
+
}
|
|
67
|
+
if (options.classification) {
|
|
68
|
+
records = filterByClassification(records, options.classification);
|
|
69
|
+
}
|
|
70
|
+
if (options.file) {
|
|
71
|
+
records = filterByFile(records, options.file);
|
|
72
|
+
}
|
|
73
|
+
const matches = searchRecords(records, query);
|
|
74
|
+
if (matches.length > 0) {
|
|
75
|
+
results.push({ domain: d, records: matches });
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
return results;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Query all records in a domain with optional filtering.
|
|
82
|
+
*/
|
|
83
|
+
export async function queryDomain(domain, options = {}) {
|
|
84
|
+
const { cwd } = options;
|
|
85
|
+
const config = await readConfig(cwd);
|
|
86
|
+
if (!config.domains.includes(domain)) {
|
|
87
|
+
throw new Error(`Domain "${domain}" not found in config. Available domains: ${config.domains.join(", ") || "(none)"}`);
|
|
88
|
+
}
|
|
89
|
+
const filePath = getExpertisePath(domain, cwd);
|
|
90
|
+
let records = await readExpertiseFile(filePath);
|
|
91
|
+
if (options.type) {
|
|
92
|
+
records = filterByType(records, options.type);
|
|
93
|
+
}
|
|
94
|
+
if (options.classification) {
|
|
95
|
+
records = filterByClassification(records, options.classification);
|
|
96
|
+
}
|
|
97
|
+
if (options.file) {
|
|
98
|
+
records = filterByFile(records, options.file);
|
|
99
|
+
}
|
|
100
|
+
return records;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Edit an existing record by ID in the given domain.
|
|
104
|
+
* Only provided fields in updates are modified; all other fields are preserved.
|
|
105
|
+
*/
|
|
106
|
+
export async function editRecord(domain, id, updates, options = {}) {
|
|
107
|
+
const { cwd } = options;
|
|
108
|
+
const config = await readConfig(cwd);
|
|
109
|
+
if (!config.domains.includes(domain)) {
|
|
110
|
+
throw new Error(`Domain "${domain}" not found in config. Available domains: ${config.domains.join(", ") || "(none)"}`);
|
|
111
|
+
}
|
|
112
|
+
const filePath = getExpertisePath(domain, cwd);
|
|
113
|
+
return withFileLock(filePath, async () => {
|
|
114
|
+
const records = await readExpertiseFile(filePath);
|
|
115
|
+
const resolved = resolveRecordId(records, id);
|
|
116
|
+
if (!resolved.ok) {
|
|
117
|
+
throw new Error(resolved.error);
|
|
118
|
+
}
|
|
119
|
+
const targetIndex = resolved.index;
|
|
120
|
+
const record = { ...records[targetIndex] };
|
|
121
|
+
// Apply common updates
|
|
122
|
+
if (updates.classification !== undefined) {
|
|
123
|
+
record.classification = updates.classification;
|
|
124
|
+
}
|
|
125
|
+
if (updates.tags !== undefined) {
|
|
126
|
+
record.tags = updates.tags;
|
|
127
|
+
}
|
|
128
|
+
if (updates.relates_to !== undefined) {
|
|
129
|
+
record.relates_to = updates.relates_to;
|
|
130
|
+
}
|
|
131
|
+
if (updates.supersedes !== undefined) {
|
|
132
|
+
record.supersedes = updates.supersedes;
|
|
133
|
+
}
|
|
134
|
+
if (updates.outcomes !== undefined) {
|
|
135
|
+
record.outcomes = updates.outcomes;
|
|
136
|
+
}
|
|
137
|
+
// Apply type-specific updates
|
|
138
|
+
switch (record.type) {
|
|
139
|
+
case "convention":
|
|
140
|
+
if (updates.content !== undefined) {
|
|
141
|
+
record.content = updates.content;
|
|
142
|
+
}
|
|
143
|
+
break;
|
|
144
|
+
case "pattern":
|
|
145
|
+
if (updates.name !== undefined) {
|
|
146
|
+
record.name = updates.name;
|
|
147
|
+
}
|
|
148
|
+
if (updates.description !== undefined) {
|
|
149
|
+
record.description = updates.description;
|
|
150
|
+
}
|
|
151
|
+
if (updates.files !== undefined) {
|
|
152
|
+
record.files = updates.files;
|
|
153
|
+
}
|
|
154
|
+
break;
|
|
155
|
+
case "failure":
|
|
156
|
+
if (updates.description !== undefined) {
|
|
157
|
+
record.description = updates.description;
|
|
158
|
+
}
|
|
159
|
+
if (updates.resolution !== undefined) {
|
|
160
|
+
record.resolution = updates.resolution;
|
|
161
|
+
}
|
|
162
|
+
break;
|
|
163
|
+
case "decision":
|
|
164
|
+
if (updates.title !== undefined) {
|
|
165
|
+
record.title = updates.title;
|
|
166
|
+
}
|
|
167
|
+
if (updates.rationale !== undefined) {
|
|
168
|
+
record.rationale = updates.rationale;
|
|
169
|
+
}
|
|
170
|
+
break;
|
|
171
|
+
case "reference":
|
|
172
|
+
if (updates.name !== undefined) {
|
|
173
|
+
record.name = updates.name;
|
|
174
|
+
}
|
|
175
|
+
if (updates.description !== undefined) {
|
|
176
|
+
record.description = updates.description;
|
|
177
|
+
}
|
|
178
|
+
if (updates.files !== undefined) {
|
|
179
|
+
record.files = updates.files;
|
|
180
|
+
}
|
|
181
|
+
break;
|
|
182
|
+
case "guide":
|
|
183
|
+
if (updates.name !== undefined) {
|
|
184
|
+
record.name = updates.name;
|
|
185
|
+
}
|
|
186
|
+
if (updates.description !== undefined) {
|
|
187
|
+
record.description = updates.description;
|
|
188
|
+
}
|
|
189
|
+
break;
|
|
190
|
+
}
|
|
191
|
+
records[targetIndex] = record;
|
|
192
|
+
await writeExpertiseFile(filePath, records);
|
|
193
|
+
return record;
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
//# sourceMappingURL=api.js.map
|
package/dist/api.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edit.d.ts","sourceRoot":"","sources":["../../src/commands/edit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAe5C,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"edit.d.ts","sourceRoot":"","sources":["../../src/commands/edit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAe5C,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAyN1D"}
|
package/dist/commands/edit.js
CHANGED
|
@@ -23,6 +23,10 @@ export function registerEditCommand(program) {
|
|
|
23
23
|
.option("--files <files>", "update related files (comma-separated)")
|
|
24
24
|
.option("--relates-to <ids>", "update linked record IDs (comma-separated)")
|
|
25
25
|
.option("--supersedes <ids>", "update superseded record IDs (comma-separated)")
|
|
26
|
+
.addOption(new Option("--outcome-status <status>", "set outcome status").choices(["success", "failure", "partial"]))
|
|
27
|
+
.option("--outcome-duration <ms>", "set outcome duration in milliseconds")
|
|
28
|
+
.option("--outcome-test-results <text>", "set outcome test results summary")
|
|
29
|
+
.option("--outcome-agent <agent>", "set outcome agent name")
|
|
26
30
|
.action(async (domain, id, options) => {
|
|
27
31
|
const jsonMode = program.opts().json === true;
|
|
28
32
|
try {
|
|
@@ -70,6 +74,19 @@ export function registerEditCommand(program) {
|
|
|
70
74
|
.map((id) => id.trim())
|
|
71
75
|
.filter(Boolean);
|
|
72
76
|
}
|
|
77
|
+
if (options.outcomeStatus) {
|
|
78
|
+
const o = { status: options.outcomeStatus };
|
|
79
|
+
if (options.outcomeDuration !== undefined) {
|
|
80
|
+
o.duration = parseFloat(options.outcomeDuration);
|
|
81
|
+
}
|
|
82
|
+
if (options.outcomeTestResults) {
|
|
83
|
+
o.test_results = options.outcomeTestResults;
|
|
84
|
+
}
|
|
85
|
+
if (options.outcomeAgent) {
|
|
86
|
+
o.agent = options.outcomeAgent;
|
|
87
|
+
}
|
|
88
|
+
record.outcomes = [...(record.outcomes ?? []), o];
|
|
89
|
+
}
|
|
73
90
|
switch (record.type) {
|
|
74
91
|
case "convention":
|
|
75
92
|
if (options.content) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edit.js","sourceRoot":"","sources":["../../src/commands/edit.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"edit.js","sourceRoot":"","sources":["../../src/commands/edit.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/commands/query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/commands/query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAO5C,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA0H3D"}
|
package/dist/commands/query.js
CHANGED
|
@@ -1,13 +1,23 @@
|
|
|
1
|
+
import { Option } from "commander";
|
|
1
2
|
import { readConfig, getExpertisePath } from "../utils/config.js";
|
|
2
|
-
import { readExpertiseFile, getFileModTime, filterByType } from "../utils/expertise.js";
|
|
3
|
+
import { readExpertiseFile, getFileModTime, filterByType, filterByClassification, filterByFile } from "../utils/expertise.js";
|
|
3
4
|
import { formatDomainExpertise } from "../utils/format.js";
|
|
4
5
|
import { outputJson, outputJsonError } from "../utils/json-output.js";
|
|
6
|
+
import { sortByConfirmationScore } from "../utils/scoring.js";
|
|
5
7
|
export function registerQueryCommand(program) {
|
|
6
8
|
program
|
|
7
9
|
.command("query")
|
|
8
10
|
.argument("[domain]", "expertise domain to query")
|
|
9
11
|
.description("Query expertise records")
|
|
10
12
|
.option("--type <type>", "filter by record type")
|
|
13
|
+
.addOption(new Option("--classification <classification>", "filter by classification").choices([
|
|
14
|
+
"foundational",
|
|
15
|
+
"tactical",
|
|
16
|
+
"observational",
|
|
17
|
+
]))
|
|
18
|
+
.option("--file <file>", "filter by associated file path (substring match)")
|
|
19
|
+
.addOption(new Option("--outcome-status <status>", "filter by outcome status").choices(["success", "failure"]))
|
|
20
|
+
.option("--sort-by-score", "sort results by confirmation-frequency score (highest first)")
|
|
11
21
|
.option("--all", "show all domains")
|
|
12
22
|
.action(async (domain, options) => {
|
|
13
23
|
const jsonMode = program.opts().json === true;
|
|
@@ -57,6 +67,18 @@ export function registerQueryCommand(program) {
|
|
|
57
67
|
if (options.type) {
|
|
58
68
|
records = filterByType(records, options.type);
|
|
59
69
|
}
|
|
70
|
+
if (options.classification) {
|
|
71
|
+
records = filterByClassification(records, options.classification);
|
|
72
|
+
}
|
|
73
|
+
if (options.file) {
|
|
74
|
+
records = filterByFile(records, options.file);
|
|
75
|
+
}
|
|
76
|
+
if (options.outcomeStatus) {
|
|
77
|
+
records = records.filter((r) => r.outcomes?.some((o) => o.status === options.outcomeStatus));
|
|
78
|
+
}
|
|
79
|
+
if (options.sortByScore) {
|
|
80
|
+
records = sortByConfirmationScore(records);
|
|
81
|
+
}
|
|
60
82
|
result.push({ domain: d, records });
|
|
61
83
|
}
|
|
62
84
|
outputJson({ success: true, command: "query", domains: result });
|
|
@@ -70,6 +92,18 @@ export function registerQueryCommand(program) {
|
|
|
70
92
|
if (options.type) {
|
|
71
93
|
records = filterByType(records, options.type);
|
|
72
94
|
}
|
|
95
|
+
if (options.classification) {
|
|
96
|
+
records = filterByClassification(records, options.classification);
|
|
97
|
+
}
|
|
98
|
+
if (options.file) {
|
|
99
|
+
records = filterByFile(records, options.file);
|
|
100
|
+
}
|
|
101
|
+
if (options.outcomeStatus) {
|
|
102
|
+
records = records.filter((r) => r.outcomes?.some((o) => o.status === options.outcomeStatus));
|
|
103
|
+
}
|
|
104
|
+
if (options.sortByScore) {
|
|
105
|
+
records = sortByConfirmationScore(records);
|
|
106
|
+
}
|
|
73
107
|
sections.push(formatDomainExpertise(d, records, lastUpdated));
|
|
74
108
|
}
|
|
75
109
|
console.log(sections.join("\n\n"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/commands/query.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/commands/query.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../../src/commands/record.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../../src/commands/record.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAuB5C;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,OAAO,EACjB,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,OAAO,EACf,SAAS,CAAC,EAAE,MAAM,EAClB,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CA0HlF;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkoB5D"}
|
package/dist/commands/record.js
CHANGED
|
@@ -143,6 +143,10 @@ export function registerRecordCommand(program) {
|
|
|
143
143
|
.option("--evidence-bead <bead>", "evidence: bead ID")
|
|
144
144
|
.option("--relates-to <ids>", "comma-separated record IDs this relates to")
|
|
145
145
|
.option("--supersedes <ids>", "comma-separated record IDs this supersedes")
|
|
146
|
+
.addOption(new Option("--outcome-status <status>", "outcome status").choices(["success", "failure", "partial"]))
|
|
147
|
+
.option("--outcome-duration <ms>", "outcome duration in milliseconds")
|
|
148
|
+
.option("--outcome-test-results <text>", "outcome test results summary")
|
|
149
|
+
.option("--outcome-agent <agent>", "outcome agent name")
|
|
146
150
|
.option("--force", "force recording even if duplicate exists")
|
|
147
151
|
.option("--stdin", "read JSON record(s) from stdin (single object or array)")
|
|
148
152
|
.option("--batch <file>", "read JSON record(s) from file (single object or array)")
|
|
@@ -382,6 +386,20 @@ Batch recording examples:
|
|
|
382
386
|
.map((id) => id.trim())
|
|
383
387
|
.filter(Boolean)
|
|
384
388
|
: undefined;
|
|
389
|
+
let outcomes;
|
|
390
|
+
if (options.outcomeStatus) {
|
|
391
|
+
const o = { status: options.outcomeStatus };
|
|
392
|
+
if (options.outcomeDuration !== undefined) {
|
|
393
|
+
o.duration = parseFloat(options.outcomeDuration);
|
|
394
|
+
}
|
|
395
|
+
if (options.outcomeTestResults) {
|
|
396
|
+
o.test_results = options.outcomeTestResults;
|
|
397
|
+
}
|
|
398
|
+
if (options.outcomeAgent) {
|
|
399
|
+
o.agent = options.outcomeAgent;
|
|
400
|
+
}
|
|
401
|
+
outcomes = [o];
|
|
402
|
+
}
|
|
385
403
|
let record;
|
|
386
404
|
switch (recordType) {
|
|
387
405
|
case "convention": {
|
|
@@ -405,6 +423,7 @@ Batch recording examples:
|
|
|
405
423
|
...(tags && tags.length > 0 && { tags }),
|
|
406
424
|
...(relatesTo && relatesTo.length > 0 && { relates_to: relatesTo }),
|
|
407
425
|
...(supersedes && supersedes.length > 0 && { supersedes }),
|
|
426
|
+
...(outcomes && { outcomes }),
|
|
408
427
|
};
|
|
409
428
|
break;
|
|
410
429
|
}
|
|
@@ -434,6 +453,7 @@ Batch recording examples:
|
|
|
434
453
|
...(tags && tags.length > 0 && { tags }),
|
|
435
454
|
...(relatesTo && relatesTo.length > 0 && { relates_to: relatesTo }),
|
|
436
455
|
...(supersedes && supersedes.length > 0 && { supersedes }),
|
|
456
|
+
...(outcomes && { outcomes }),
|
|
437
457
|
};
|
|
438
458
|
break;
|
|
439
459
|
}
|
|
@@ -460,6 +480,7 @@ Batch recording examples:
|
|
|
460
480
|
...(tags && tags.length > 0 && { tags }),
|
|
461
481
|
...(relatesTo && relatesTo.length > 0 && { relates_to: relatesTo }),
|
|
462
482
|
...(supersedes && supersedes.length > 0 && { supersedes }),
|
|
483
|
+
...(outcomes && { outcomes }),
|
|
463
484
|
};
|
|
464
485
|
break;
|
|
465
486
|
}
|
|
@@ -486,6 +507,7 @@ Batch recording examples:
|
|
|
486
507
|
...(tags && tags.length > 0 && { tags }),
|
|
487
508
|
...(relatesTo && relatesTo.length > 0 && { relates_to: relatesTo }),
|
|
488
509
|
...(supersedes && supersedes.length > 0 && { supersedes }),
|
|
510
|
+
...(outcomes && { outcomes }),
|
|
489
511
|
};
|
|
490
512
|
break;
|
|
491
513
|
}
|
|
@@ -515,6 +537,7 @@ Batch recording examples:
|
|
|
515
537
|
...(tags && tags.length > 0 && { tags }),
|
|
516
538
|
...(relatesTo && relatesTo.length > 0 && { relates_to: relatesTo }),
|
|
517
539
|
...(supersedes && supersedes.length > 0 && { supersedes }),
|
|
540
|
+
...(outcomes && { outcomes }),
|
|
518
541
|
};
|
|
519
542
|
break;
|
|
520
543
|
}
|
|
@@ -541,6 +564,7 @@ Batch recording examples:
|
|
|
541
564
|
...(tags && tags.length > 0 && { tags }),
|
|
542
565
|
...(relatesTo && relatesTo.length > 0 && { relates_to: relatesTo }),
|
|
543
566
|
...(supersedes && supersedes.length > 0 && { supersedes }),
|
|
567
|
+
...(outcomes && { outcomes }),
|
|
544
568
|
};
|
|
545
569
|
break;
|
|
546
570
|
}
|