mulch-cli 0.4.3 → 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.
Files changed (40) hide show
  1. package/README.md +12 -3
  2. package/dist/api.d.ts +65 -0
  3. package/dist/api.d.ts.map +1 -0
  4. package/dist/api.js +196 -0
  5. package/dist/api.js.map +1 -0
  6. package/dist/cli.js +1 -1
  7. package/dist/commands/edit.d.ts.map +1 -1
  8. package/dist/commands/edit.js +12 -24
  9. package/dist/commands/edit.js.map +1 -1
  10. package/dist/commands/query.d.ts.map +1 -1
  11. package/dist/commands/query.js +15 -0
  12. package/dist/commands/query.js.map +1 -1
  13. package/dist/commands/record.d.ts.map +1 -1
  14. package/dist/commands/record.js +13 -12
  15. package/dist/commands/record.js.map +1 -1
  16. package/dist/commands/search.js +3 -3
  17. package/dist/commands/search.js.map +1 -1
  18. package/dist/index.d.ts +3 -1
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +2 -0
  21. package/dist/index.js.map +1 -1
  22. package/dist/schemas/index.d.ts +1 -1
  23. package/dist/schemas/index.d.ts.map +1 -1
  24. package/dist/schemas/index.js.map +1 -1
  25. package/dist/schemas/record-schema.d.ts +37 -13
  26. package/dist/schemas/record-schema.d.ts.map +1 -1
  27. package/dist/schemas/record-schema.js +9 -7
  28. package/dist/schemas/record-schema.js.map +1 -1
  29. package/dist/schemas/record.d.ts +4 -2
  30. package/dist/schemas/record.d.ts.map +1 -1
  31. package/dist/utils/expertise.d.ts.map +1 -1
  32. package/dist/utils/expertise.js +13 -1
  33. package/dist/utils/expertise.js.map +1 -1
  34. package/dist/utils/format.d.ts.map +1 -1
  35. package/dist/utils/format.js +19 -13
  36. package/dist/utils/format.js.map +1 -1
  37. package/dist/utils/scoring.d.ts +5 -21
  38. package/dist/utils/scoring.d.ts.map +1 -1
  39. package/dist/utils/scoring.js.map +1 -1
  40. package/package.json +1 -1
package/README.md CHANGED
@@ -71,7 +71,7 @@ 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, `--classification`, `--file` filters) |
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
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`) |
@@ -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 core utilities for use as a library:
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`, `ScoredRecord`, `Outcome`, 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
@@ -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
@@ -24,7 +24,7 @@ const program = new Command();
24
24
  program
25
25
  .name("mulch")
26
26
  .description("Let your agents grow 🌱")
27
- .version("0.4.3")
27
+ .version("0.5.0")
28
28
  .option("--json", "output as structured JSON");
29
29
  registerInitCommand(program);
30
30
  registerAddCommand(program);
@@ -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,CAqO1D"}
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"}
@@ -23,7 +23,7 @@ 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"]))
26
+ .addOption(new Option("--outcome-status <status>", "set outcome status").choices(["success", "failure", "partial"]))
27
27
  .option("--outcome-duration <ms>", "set outcome duration in milliseconds")
28
28
  .option("--outcome-test-results <text>", "set outcome test results summary")
29
29
  .option("--outcome-agent <agent>", "set outcome agent name")
@@ -75,29 +75,17 @@ export function registerEditCommand(program) {
75
75
  .filter(Boolean);
76
76
  }
77
77
  if (options.outcomeStatus) {
78
- const existing = record.outcome ?? {};
79
- record.outcome = {
80
- ...existing,
81
- status: options.outcomeStatus,
82
- };
83
- }
84
- if (options.outcomeDuration !== undefined && record.outcome) {
85
- record.outcome = {
86
- ...record.outcome,
87
- duration: parseFloat(options.outcomeDuration),
88
- };
89
- }
90
- if (options.outcomeTestResults && record.outcome) {
91
- record.outcome = {
92
- ...record.outcome,
93
- test_results: options.outcomeTestResults,
94
- };
95
- }
96
- if (options.outcomeAgent && record.outcome) {
97
- record.outcome = {
98
- ...record.outcome,
99
- agent: options.outcomeAgent,
100
- };
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];
101
89
  }
102
90
  switch (record.type) {
103
91
  case "convention":
@@ -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,EAAU,MAAM,WAAW,CAAC;AAM5C,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA0G3D"}
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"}
@@ -3,6 +3,7 @@ import { readConfig, getExpertisePath } from "../utils/config.js";
3
3
  import { readExpertiseFile, getFileModTime, filterByType, filterByClassification, filterByFile } from "../utils/expertise.js";
4
4
  import { formatDomainExpertise } from "../utils/format.js";
5
5
  import { outputJson, outputJsonError } from "../utils/json-output.js";
6
+ import { sortByConfirmationScore } from "../utils/scoring.js";
6
7
  export function registerQueryCommand(program) {
7
8
  program
8
9
  .command("query")
@@ -15,6 +16,8 @@ export function registerQueryCommand(program) {
15
16
  "observational",
16
17
  ]))
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)")
18
21
  .option("--all", "show all domains")
19
22
  .action(async (domain, options) => {
20
23
  const jsonMode = program.opts().json === true;
@@ -70,6 +73,12 @@ export function registerQueryCommand(program) {
70
73
  if (options.file) {
71
74
  records = filterByFile(records, options.file);
72
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
+ }
73
82
  result.push({ domain: d, records });
74
83
  }
75
84
  outputJson({ success: true, command: "query", domains: result });
@@ -89,6 +98,12 @@ export function registerQueryCommand(program) {
89
98
  if (options.file) {
90
99
  records = filterByFile(records, options.file);
91
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
+ }
92
107
  sections.push(formatDomainExpertise(d, records, lastUpdated));
93
108
  }
94
109
  console.log(sections.join("\n\n"));
@@ -1 +1 @@
1
- {"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/commands/query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/commands/query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,MAAM,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,YAAY,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC9H,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAqB,MAAM,qBAAqB,CAAC;AAEjF,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,QAAQ,CAAC,UAAU,EAAE,2BAA2B,CAAC;SACjD,WAAW,CAAC,yBAAyB,CAAC;SACtC,MAAM,CAAC,eAAe,EAAE,uBAAuB,CAAC;SAChD,SAAS,CACR,IAAI,MAAM,CAAC,mCAAmC,EAAE,0BAA0B,CAAC,CAAC,OAAO,CAAC;QAClF,cAAc;QACd,UAAU;QACV,eAAe;KAChB,CAAC,CACH;SACA,MAAM,CAAC,eAAe,EAAE,kDAAkD,CAAC;SAC3E,SAAS,CACR,IAAI,MAAM,CAAC,2BAA2B,EAAE,0BAA0B,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CACpG;SACA,MAAM,CAAC,iBAAiB,EAAE,8DAA8D,CAAC;SACzF,MAAM,CAAC,OAAO,EAAE,kBAAkB,CAAC;SACnC,MAAM,CAAC,KAAK,EAAE,MAA0B,EAAE,OAAgC,EAAE,EAAE;QAC7E,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC;QAC9C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;YAElC,MAAM,cAAc,GAAa,EAAE,CAAC;YAEpC,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;gBAChB,cAAc,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;gBACvC,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAChC,IAAI,QAAQ,EAAE,CAAC;wBACb,UAAU,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;oBAC/D,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;oBACjF,CAAC;oBACD,OAAO;gBACT,CAAC;YACH,CAAC;iBAAM,IAAI,MAAM,EAAE,CAAC;gBAClB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBACrC,IAAI,QAAQ,EAAE,CAAC;wBACb,eAAe,CAAC,OAAO,EAAE,WAAW,MAAM,6CAA6C,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC;oBAClI,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,KAAK,CAAC,kBAAkB,MAAM,6CAA6C,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC;oBAC9H,CAAC;oBACD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;oBACrB,OAAO;gBACT,CAAC;gBACD,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,IAAI,QAAQ,EAAE,CAAC;oBACb,eAAe,CAAC,OAAO,EAAE,4DAA4D,CAAC,CAAC;gBACzF,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,KAAK,CAAC,mEAAmE,CAAC,CAAC;gBACrF,CAAC;gBACD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACrB,OAAO;YACT,CAAC;YAED,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,MAAM,GAAkD,EAAE,CAAC;gBACjE,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;oBAC/B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;oBACrC,IAAI,OAAO,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAC;oBAChD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;wBACjB,OAAO,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,IAAc,CAAC,CAAC;oBAC1D,CAAC;oBACD,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;wBAC3B,OAAO,GAAG,sBAAsB,CAAC,OAAO,EAAE,OAAO,CAAC,cAAwB,CAAC,CAAC;oBAC9E,CAAC;oBACD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;wBACjB,OAAO,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,IAAc,CAAC,CAAC;oBAC1D,CAAC;oBACD,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;wBAC1B,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAM,OAAO,CAAC,aAAwB,CAAC,CAAC,CAAC;oBAC3G,CAAC;oBACD,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;wBACxB,OAAO,GAAG,uBAAuB,CAAC,OAAyB,CAAC,CAAC;oBAC/D,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;gBACtC,CAAC;gBACD,UAAU,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YACnE,CAAC;iBAAM,CAAC;gBACN,MAAM,QAAQ,GAAa,EAAE,CAAC;gBAC9B,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;oBAC/B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;oBACrC,IAAI,OAAO,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAC;oBAChD,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,QAAQ,CAAC,CAAC;oBACnD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;wBACjB,OAAO,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,IAAc,CAAC,CAAC;oBAC1D,CAAC;oBACD,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;wBAC3B,OAAO,GAAG,sBAAsB,CAAC,OAAO,EAAE,OAAO,CAAC,cAAwB,CAAC,CAAC;oBAC9E,CAAC;oBACD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;wBACjB,OAAO,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,IAAc,CAAC,CAAC;oBAC1D,CAAC;oBACD,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;wBAC1B,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAM,OAAO,CAAC,aAAwB,CAAC,CAAC,CAAC;oBAC3G,CAAC;oBACD,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;wBACxB,OAAO,GAAG,uBAAuB,CAAC,OAAyB,CAAC,CAAC;oBAC/D,CAAC;oBACD,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;gBAChE,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACrD,IAAI,QAAQ,EAAE,CAAC;oBACb,eAAe,CAAC,OAAO,EAAE,qDAAqD,CAAC,CAAC;gBAClF,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;gBAC9E,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,QAAQ,EAAE,CAAC;oBACb,eAAe,CAAC,OAAO,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC;gBACnD,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,KAAK,CAAC,UAAW,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;gBACpD,CAAC;YACH,CAAC;YACD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -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;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,CAioB5D"}
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"}
@@ -143,7 +143,7 @@ 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"]))
146
+ .addOption(new Option("--outcome-status <status>", "outcome status").choices(["success", "failure", "partial"]))
147
147
  .option("--outcome-duration <ms>", "outcome duration in milliseconds")
148
148
  .option("--outcome-test-results <text>", "outcome test results summary")
149
149
  .option("--outcome-agent <agent>", "outcome agent name")
@@ -386,18 +386,19 @@ Batch recording examples:
386
386
  .map((id) => id.trim())
387
387
  .filter(Boolean)
388
388
  : undefined;
389
- let outcome;
389
+ let outcomes;
390
390
  if (options.outcomeStatus) {
391
- outcome = { status: options.outcomeStatus };
391
+ const o = { status: options.outcomeStatus };
392
392
  if (options.outcomeDuration !== undefined) {
393
- outcome.duration = parseFloat(options.outcomeDuration);
393
+ o.duration = parseFloat(options.outcomeDuration);
394
394
  }
395
395
  if (options.outcomeTestResults) {
396
- outcome.test_results = options.outcomeTestResults;
396
+ o.test_results = options.outcomeTestResults;
397
397
  }
398
398
  if (options.outcomeAgent) {
399
- outcome.agent = options.outcomeAgent;
399
+ o.agent = options.outcomeAgent;
400
400
  }
401
+ outcomes = [o];
401
402
  }
402
403
  let record;
403
404
  switch (recordType) {
@@ -422,7 +423,7 @@ Batch recording examples:
422
423
  ...(tags && tags.length > 0 && { tags }),
423
424
  ...(relatesTo && relatesTo.length > 0 && { relates_to: relatesTo }),
424
425
  ...(supersedes && supersedes.length > 0 && { supersedes }),
425
- ...(outcome && { outcome }),
426
+ ...(outcomes && { outcomes }),
426
427
  };
427
428
  break;
428
429
  }
@@ -452,7 +453,7 @@ Batch recording examples:
452
453
  ...(tags && tags.length > 0 && { tags }),
453
454
  ...(relatesTo && relatesTo.length > 0 && { relates_to: relatesTo }),
454
455
  ...(supersedes && supersedes.length > 0 && { supersedes }),
455
- ...(outcome && { outcome }),
456
+ ...(outcomes && { outcomes }),
456
457
  };
457
458
  break;
458
459
  }
@@ -479,7 +480,7 @@ Batch recording examples:
479
480
  ...(tags && tags.length > 0 && { tags }),
480
481
  ...(relatesTo && relatesTo.length > 0 && { relates_to: relatesTo }),
481
482
  ...(supersedes && supersedes.length > 0 && { supersedes }),
482
- ...(outcome && { outcome }),
483
+ ...(outcomes && { outcomes }),
483
484
  };
484
485
  break;
485
486
  }
@@ -506,7 +507,7 @@ Batch recording examples:
506
507
  ...(tags && tags.length > 0 && { tags }),
507
508
  ...(relatesTo && relatesTo.length > 0 && { relates_to: relatesTo }),
508
509
  ...(supersedes && supersedes.length > 0 && { supersedes }),
509
- ...(outcome && { outcome }),
510
+ ...(outcomes && { outcomes }),
510
511
  };
511
512
  break;
512
513
  }
@@ -536,7 +537,7 @@ Batch recording examples:
536
537
  ...(tags && tags.length > 0 && { tags }),
537
538
  ...(relatesTo && relatesTo.length > 0 && { relates_to: relatesTo }),
538
539
  ...(supersedes && supersedes.length > 0 && { supersedes }),
539
- ...(outcome && { outcome }),
540
+ ...(outcomes && { outcomes }),
540
541
  };
541
542
  break;
542
543
  }
@@ -563,7 +564,7 @@ Batch recording examples:
563
564
  ...(tags && tags.length > 0 && { tags }),
564
565
  ...(relatesTo && relatesTo.length > 0 && { relates_to: relatesTo }),
565
566
  ...(supersedes && supersedes.length > 0 && { supersedes }),
566
- ...(outcome && { outcome }),
567
+ ...(outcomes && { outcomes }),
567
568
  };
568
569
  break;
569
570
  }