@wirecat/cli-memo 0.131.17 → 0.131.19
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/bin/memo.js +2 -2
- package/dist/bundle/{all-profiles-T5FHXOPF.js → all-profiles-MVF2XGZK.js} +5 -4
- package/dist/bundle/{anthropic-PHVNLFRZ.js → anthropic-OPFHMF2S.js} +3 -3
- package/dist/bundle/{app-server-B3CY5NR7.js → app-server-VHVC55S3.js} +35 -34
- package/dist/bundle/auto-F53FUP45.js +82 -0
- package/dist/bundle/{bun-XU55PNTO.js → bun-P6TMDZGU.js} +2 -2
- package/dist/bundle/{bun-sqlite-KODHIZ3K.js → bun-sqlite-3G3NLK4O.js} +2 -2
- package/dist/bundle/{chunk-LQ5UAGPT.js → chunk-2KOVYXWK.js} +2291 -799
- package/dist/bundle/{chunk-XSILYUVP.js → chunk-2R25UBIH.js} +20 -20
- package/dist/bundle/{chunk-PBBADVLT.js → chunk-36ULPM2W.js} +2 -2
- package/dist/bundle/{chunk-EMI2IDP5.js → chunk-3ORDQ62F.js} +6 -6
- package/dist/bundle/{chunk-6ATZ453X.js → chunk-4MIPN37I.js} +459 -158
- package/dist/bundle/{chunk-GZ7QIMRX.js → chunk-4TERVG26.js} +7 -1
- package/dist/bundle/{chunk-SGVRFADD.js → chunk-4VKNUBD5.js} +5 -5
- package/dist/bundle/{chunk-47U4HRPP.js → chunk-57Q6NXQT.js} +3 -3
- package/dist/bundle/{chunk-CYFMLJRG.js → chunk-5KUPVC5M.js} +1 -1
- package/dist/bundle/{chunk-4WHPVXZ5.js → chunk-5XDYV2YT.js} +1 -1
- package/dist/bundle/{chunk-SSUQPDR7.js → chunk-63XICXGM.js} +1 -1
- package/dist/bundle/{chunk-OO5PSCYL.js → chunk-66YZUX2C.js} +4 -4
- package/dist/bundle/{chunk-7FCFK5A5.js → chunk-6DG7VK3H.js} +2 -2
- package/dist/bundle/{chunk-UXNGJ5KC.js → chunk-7J5HTZCM.js} +1 -1
- package/dist/bundle/{chunk-KLDHQWJ2.js → chunk-BINR6MJ5.js} +1 -1
- package/dist/bundle/{chunk-5VSLMXE2.js → chunk-BMHSGZNE.js} +4 -4
- package/dist/bundle/{chunk-JWZIP2UJ.js → chunk-BPYQYZXA.js} +10 -10
- package/dist/bundle/{chunk-S5HW37G6.js → chunk-D6G23NFJ.js} +1 -1
- package/dist/bundle/{chunk-JX2JC4VV.js → chunk-DLRLOGVU.js} +23 -4
- package/dist/bundle/{chunk-HR3GJMED.js → chunk-EFKEG2BA.js} +2 -2
- package/dist/bundle/{chunk-6N6FNKT4.js → chunk-EL4ZKQUN.js} +2 -2
- package/dist/bundle/{chunk-TPFPWZGB.js → chunk-EMKFG5BP.js} +2 -2
- package/dist/bundle/{chunk-G4H2CVWX.js → chunk-F5CQ2NVA.js} +10 -87
- package/dist/bundle/{chunk-Z7OTEPTP.js → chunk-FMSA2X3E.js} +1 -1
- package/dist/bundle/{chunk-DBSWX4D2.js → chunk-GJKM32WA.js} +20 -20
- package/dist/bundle/{chunk-XRXLLVM2.js → chunk-IW3U6XXI.js} +3 -3
- package/dist/bundle/chunk-JDJDNMCP.js +93 -0
- package/dist/bundle/{chunk-OFOATVS5.js → chunk-JHKTN6NL.js} +9 -9
- package/dist/bundle/{chunk-MP5VZZMR.js → chunk-KO455254.js} +12 -12
- package/dist/bundle/{chunk-5C6B3MNJ.js → chunk-KVVDRD7M.js} +1 -1
- package/dist/bundle/{chunk-2CDGVXXN.js → chunk-LDVU22MF.js} +5 -5
- package/dist/bundle/{chunk-QVM24RSA.js → chunk-LEUNYKL6.js} +2 -2
- package/dist/bundle/{chunk-ASULRGXI.js → chunk-LKYHSVQL.js} +7 -7
- package/dist/bundle/{chunk-PIIK4CAE.js → chunk-LQJ4KHXK.js} +8 -8
- package/dist/bundle/{chunk-EIJMXN2G.js → chunk-NKTAEBCU.js} +3 -3
- package/dist/bundle/{chunk-YTRGKGLT.js → chunk-OTHEM74Z.js} +5 -5
- package/dist/bundle/{chunk-QPARISUU.js → chunk-OVFMY6ZP.js} +1 -1
- package/dist/bundle/{chunk-X6BSGHTT.js → chunk-P22V2OLJ.js} +43 -9
- package/dist/bundle/{chunk-RXDMVHUB.js → chunk-P3TYFDMP.js} +4 -4
- package/dist/bundle/{chunk-HMPSGU4S.js → chunk-RFB5LOYR.js} +4 -4
- package/dist/bundle/{chunk-NZCKOPKU.js → chunk-RITXQKYG.js} +5 -5
- package/dist/bundle/{chunk-65VTPQQA.js → chunk-SHDZVM3B.js} +1 -1
- package/dist/bundle/{chunk-BXUDUNOK.js → chunk-SJLVBJ2L.js} +1 -1
- package/dist/bundle/{chunk-XJHY7NNU.js → chunk-SO6VNTF6.js} +1 -1
- package/dist/bundle/{chunk-YN4FBMXV.js → chunk-T557KUST.js} +2 -2
- package/dist/bundle/{chunk-KA2CKNGF.js → chunk-TQNQS6TR.js} +43 -43
- package/dist/bundle/{chunk-FITNKTJB.js → chunk-UC4IL2P7.js} +1 -1
- package/dist/bundle/{chunk-7AIR3RVV.js → chunk-V7DZG62U.js} +7 -7
- package/dist/bundle/{chunk-NCKQYO23.js → chunk-VQGVPDMH.js} +11 -11
- package/dist/bundle/{chunk-BNWPOSGL.js → chunk-VUWUSGSN.js} +4 -4
- package/dist/bundle/{chunk-RW2YXWQG.js → chunk-WOIRWVDJ.js} +644 -357
- package/dist/bundle/{chunk-LLC2SOAP.js → chunk-WRPRPVZF.js} +27 -27
- package/dist/bundle/{chunk-KPBZ6E3Q.js → chunk-XWS4PTES.js} +621 -466
- package/dist/bundle/{chunk-P4ALQIOM.js → chunk-XZWUBDBG.js} +1 -1
- package/dist/bundle/{chunk-365G3D33.js → chunk-Y3DGAYTD.js} +3 -3
- package/dist/bundle/{chunk-4LLG7DHY.js → chunk-YVECM7XA.js} +3 -3
- package/dist/bundle/{chunk-CUQA5KDN.js → chunk-Z54GPSVH.js} +82 -62
- package/dist/bundle/{chunk-EUIYRXNA.js → chunk-ZYM4M62Q.js} +1 -1
- package/dist/bundle/{command-contract-PX6KPRM4.js → command-contract-NMJKYTS4.js} +11 -10
- package/dist/bundle/{decode-5SW67NPU.js → decode-BUTF6VGO.js} +2 -2
- package/dist/bundle/{echarts-DGITZGC2.js → echarts-KH3YOWMK.js} +2 -2
- package/dist/bundle/{embed-ZNS6M27B.js → embed-WBVM7KQ2.js} +3 -3
- package/dist/bundle/{embedder-FJROMOX4.js → embedder-27HQIFHM.js} +6 -6
- package/dist/bundle/{entry-65WPL5AJ.js → entry-K2WWMF2B.js} +4 -4
- package/dist/bundle/failure-NHDQ5WEW.js +62 -0
- package/dist/bundle/{first-run-NRTHUTDT.js → first-run-7P5N72VR.js} +5 -5
- package/dist/bundle/{first-screen-RKNTSAJJ.js → first-screen-3GM5HC4Y.js} +12 -11
- package/dist/bundle/{instructions-AJ5VTQ2U.js → instructions-POJKHKRZ.js} +1 -1
- package/dist/bundle/mcp-YGWNSJUH.js +86 -0
- package/dist/bundle/memo.js +6 -6
- package/dist/bundle/{node-762GQ2RA.js → node-W245R2OP.js} +2 -2
- package/dist/bundle/{node-sqlite-4LKLWO2T.js → node-sqlite-FUYOXFW5.js} +3 -3
- package/dist/bundle/{oauth-P67IYAGN.js → oauth-ATB3NWQA.js} +4 -4
- package/dist/bundle/{open-ERD25J5M.js → open-HEBEWCYB.js} +2 -2
- package/dist/bundle/{openai-Z77SB2I5.js → openai-DN7NA2IU.js} +7 -7
- package/dist/bundle/{process-Q3NEJZWY.js → process-QTIDOJMF.js} +1 -1
- package/dist/bundle/{program-UF3YO2YK.js → program-WNFCYNGP.js} +3076 -1259
- package/dist/bundle/{prompt-7CVPYADG.js → prompt-RQXVPJ4A.js} +2 -2
- package/dist/bundle/{recognize-2TS3PRPO.js → recognize-G7NIZ3IT.js} +1 -1
- package/dist/bundle/{remote-NOBDTVJN.js → remote-H452UBSK.js} +4 -4
- package/dist/bundle/{rerank-ZQKXRS6O.js → rerank-77UYD2UD.js} +4 -4
- package/dist/bundle/{serve-BJGDW3AS.js → serve-L6R4ODZV.js} +6 -6
- package/dist/bundle/server-SWUSQSRW.js +44 -0
- package/dist/bundle/server-W4IKTTUY.js +57 -0
- package/dist/bundle/{server-XMDCBI42.js → server-ZBX4HFHT.js} +56 -50
- package/dist/bundle/{setup-L7OLXLWU.js → setup-ZGH5OZ7A.js} +39 -38
- package/dist/bundle/{state-Y2657WG3.js → state-KHMYDV4I.js} +3 -3
- package/dist/bundle/{store-YJBO6PVL.js → store-M7KGTLUG.js} +9 -8
- package/dist/bundle/store-maintenance-command-ZPN2ZUL4.js +44 -0
- package/dist/bundle/update-RFTADFRO.js +65 -0
- package/dist/context/command.d.ts +8 -1
- package/dist/context/command.d.ts.map +1 -1
- package/dist/context/command.js +15 -2
- package/dist/context/command.js.map +1 -1
- package/dist/discovery/command.d.ts.map +1 -1
- package/dist/discovery/command.js +3 -0
- package/dist/discovery/command.js.map +1 -1
- package/dist/examples.d.ts.map +1 -1
- package/dist/examples.js +44 -4
- package/dist/examples.js.map +1 -1
- package/dist/facts/fact.d.ts +1 -1
- package/dist/finance/command.d.ts +4 -0
- package/dist/finance/command.d.ts.map +1 -0
- package/dist/finance/command.js +126 -0
- package/dist/finance/command.js.map +1 -0
- package/dist/finance/finance.d.ts +38 -0
- package/dist/finance/finance.d.ts.map +1 -0
- package/dist/finance/finance.js +128 -0
- package/dist/finance/finance.js.map +1 -0
- package/dist/knowledge/command.js +1 -1
- package/dist/knowledge/command.js.map +1 -1
- package/dist/knowledge/project-actions-command.d.ts.map +1 -1
- package/dist/knowledge/project-actions-command.js +4 -1
- package/dist/knowledge/project-actions-command.js.map +1 -1
- package/dist/knowledge/project-actions.d.ts +1 -1
- package/dist/knowledge/project-context.d.ts +12 -2
- package/dist/knowledge/project-context.d.ts.map +1 -1
- package/dist/knowledge/project-context.js +6 -3
- package/dist/knowledge/project-context.js.map +1 -1
- package/dist/knowledge/project-status-command.d.ts.map +1 -1
- package/dist/knowledge/project-status-command.js +21 -10
- package/dist/knowledge/project-status-command.js.map +1 -1
- package/dist/mcp/catalogue.d.ts +3 -0
- package/dist/mcp/catalogue.d.ts.map +1 -1
- package/dist/mcp/catalogue.js +9 -2
- package/dist/mcp/catalogue.js.map +1 -1
- package/dist/program.d.ts.map +1 -1
- package/dist/program.js +75 -0
- package/dist/program.js.map +1 -1
- package/dist/reasons.d.ts.map +1 -1
- package/dist/reasons.js +6 -0
- package/dist/reasons.js.map +1 -1
- package/dist/records/import.d.ts +8 -0
- package/dist/records/import.d.ts.map +1 -0
- package/dist/records/import.js +72 -0
- package/dist/records/import.js.map +1 -0
- package/dist/review/command.d.ts +1 -0
- package/dist/review/command.d.ts.map +1 -1
- package/dist/review/command.js +49 -14
- package/dist/review/command.js.map +1 -1
- package/dist/review/kinds.d.ts +34 -0
- package/dist/review/kinds.d.ts.map +1 -0
- package/dist/review/kinds.js +230 -0
- package/dist/review/kinds.js.map +1 -0
- package/dist/review/review.d.ts +31 -7
- package/dist/review/review.d.ts.map +1 -1
- package/dist/review/review.js +69 -27
- package/dist/review/review.js.map +1 -1
- package/dist/review/status.d.ts +48 -0
- package/dist/review/status.d.ts.map +1 -0
- package/dist/review/status.js +88 -0
- package/dist/review/status.js.map +1 -0
- package/dist/rows.d.ts.map +1 -1
- package/dist/rows.js +19 -0
- package/dist/rows.js.map +1 -1
- package/dist/schedule/command.d.ts +7 -0
- package/dist/schedule/command.d.ts.map +1 -0
- package/dist/schedule/command.js +23 -0
- package/dist/schedule/command.js.map +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +2 -2
- package/scenarios/project-state.md +1 -1
- package/skills/cli-memo/SKILL.md +22 -3
- package/dist/bundle/auto-C7ZWP3WY.js +0 -81
- package/dist/bundle/failure-7GV6RULH.js +0 -61
- package/dist/bundle/mcp-FOL2IELJ.js +0 -85
- package/dist/bundle/server-6UZ7GQAX.js +0 -56
- package/dist/bundle/server-ECXA5HKO.js +0 -43
- package/dist/bundle/store-maintenance-command-5SK354IH.js +0 -43
- package/dist/bundle/update-VSANDEPL.js +0 -64
- /package/dist/bundle/{chunk-TCOQYXGZ.js → chunk-7YF2MSEC.js} +0 -0
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
import { CliError } from "@wirecat/cli-base";
|
|
2
|
+
import { MEETING_FINDINGS_KIND } from "@wirecat/cli-core/meetings";
|
|
3
|
+
import { FACT_SUMMARIES, proposalRegistry, } from "@wirecat/cli-core/services";
|
|
4
|
+
import { proposerOfAction, } from "@wirecat/cli-core/store";
|
|
5
|
+
import { closeTask } from "../tasks/tasks.js";
|
|
6
|
+
const ownerOnly = (row, source) => Object.assign(row, { source, ownerOnly: true });
|
|
7
|
+
const STORED_STATUS = {
|
|
8
|
+
proposed: "proposed",
|
|
9
|
+
approved: "confirmed",
|
|
10
|
+
executed: "confirmed",
|
|
11
|
+
failed: "confirmed",
|
|
12
|
+
rejected: "rejected",
|
|
13
|
+
};
|
|
14
|
+
const wanted = (row, filter) => ((filter.status ?? "proposed") === "all" || row.status === (filter.status ?? "proposed")) &&
|
|
15
|
+
(filter.project === undefined || row.project === filter.project);
|
|
16
|
+
const storedActions = (store, kind, filter) => store.proposedActions.list({
|
|
17
|
+
kinds: [kind],
|
|
18
|
+
...((filter.status ?? "proposed") === "proposed" ? { status: "proposed" } : {}),
|
|
19
|
+
...(filter.by === undefined ? {} : { proposedBy: filter.by }),
|
|
20
|
+
limit: Math.min(filter.offset + filter.limit, 500),
|
|
21
|
+
});
|
|
22
|
+
const accountName = (action) => action.account === null ? null : `${action.account.provider}:${action.account.account}`;
|
|
23
|
+
const meetingRow = (action, batch) => {
|
|
24
|
+
const findings = batch.input.findings;
|
|
25
|
+
const projects = [...new Set(findings.map((one) => ("project" in one ? one.project : undefined)))];
|
|
26
|
+
const outcome = (id) => batch.receipt?.items.find((item) => item.id === id)?.status ?? null;
|
|
27
|
+
const references = [...new Set(findings.flatMap((finding) => finding.evidence.map((one) => one.reference)))];
|
|
28
|
+
return ownerOnly({
|
|
29
|
+
id: action.id,
|
|
30
|
+
kind: "meeting_findings",
|
|
31
|
+
status: batch.status === "proposed" ? "proposed" : batch.receipt?.accepted.length ? "confirmed" : "rejected",
|
|
32
|
+
project: projects.length === 1 && typeof projects[0] === "string" ? projects[0] : null,
|
|
33
|
+
subject: references[0] ?? `meeting_findings:${action.id}`,
|
|
34
|
+
object: null,
|
|
35
|
+
summary: `${findings.length} finding${findings.length === 1 ? "" : "s"}`,
|
|
36
|
+
proposedBy: proposerOfAction(action),
|
|
37
|
+
reason: action.reason,
|
|
38
|
+
evidence: references.slice(0, 5),
|
|
39
|
+
score: null,
|
|
40
|
+
signals: null,
|
|
41
|
+
parts: findings.map((finding) => ({
|
|
42
|
+
id: finding.id,
|
|
43
|
+
kind: finding.kind,
|
|
44
|
+
summary: FACT_SUMMARIES[finding.kind]?.(finding) ?? finding.kind,
|
|
45
|
+
outcome: outcome(finding.id),
|
|
46
|
+
})),
|
|
47
|
+
createdAt: action.createdAt,
|
|
48
|
+
}, accountName(action));
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* A meeting's cited findings, staged by `meetings actions add`: the same review as `meetings actions confirm`, with
|
|
52
|
+
* the batch's current fingerprint. Owner only, as there.
|
|
53
|
+
*/
|
|
54
|
+
export const meetingFindingsKind = (store) => {
|
|
55
|
+
const batchOf = async (action) => {
|
|
56
|
+
if (action.account === null)
|
|
57
|
+
throw new CliError("not_found", `meeting findings ${action.id} name no account`);
|
|
58
|
+
return { account: action.account, batch: await store.meetingFindings.get(action.account, action.id) };
|
|
59
|
+
};
|
|
60
|
+
return {
|
|
61
|
+
kind: "meeting_findings",
|
|
62
|
+
stored: [MEETING_FINDINGS_KIND],
|
|
63
|
+
parts: true,
|
|
64
|
+
list: async (filter) => {
|
|
65
|
+
const rows = [];
|
|
66
|
+
for (const action of await storedActions(store, MEETING_FINDINGS_KIND, filter)) {
|
|
67
|
+
const { batch } = await batchOf(action);
|
|
68
|
+
rows.push(meetingRow(action, batch));
|
|
69
|
+
}
|
|
70
|
+
return rows.filter((row) => wanted(row, filter)).slice(0, filter.offset + filter.limit);
|
|
71
|
+
},
|
|
72
|
+
get: async (id) => {
|
|
73
|
+
const action = await store.proposedActions.get(id);
|
|
74
|
+
return meetingRow(action, (await batchOf(action)).batch);
|
|
75
|
+
},
|
|
76
|
+
decide: async (id, { confirm, by, parts }) => {
|
|
77
|
+
const { account, batch } = await batchOf(await store.proposedActions.get(id));
|
|
78
|
+
const turnedDown = new Set(batch.previous.filter((one) => one.status === "rejected").map((one) => one.id));
|
|
79
|
+
const accept = !confirm
|
|
80
|
+
? []
|
|
81
|
+
: (parts ?? batch.input.findings.map((finding) => finding.id).filter((one) => !turnedDown.has(one)));
|
|
82
|
+
const reviewed = await store.meetingFindings.review(account, id, { fingerprint: batch.fingerprint, accept, by });
|
|
83
|
+
const made = (reviewed.receipt?.items ?? []).flatMap((item) => item.status === "accepted" && item.reference && !item.reused ? [item.reference] : []);
|
|
84
|
+
return { id, kind: "meeting_findings", status: accept.length ? "confirmed" : "rejected", made };
|
|
85
|
+
},
|
|
86
|
+
};
|
|
87
|
+
};
|
|
88
|
+
/** `msg:telegram/1/77/42` → `telegram`, `1`: the account a task from a message is closed in. */
|
|
89
|
+
const accountOfSource = (source) => {
|
|
90
|
+
const match = /^msg:([a-z][a-z0-9-]*)\/([^/]+)\//.exec(source ?? "");
|
|
91
|
+
return match?.[1] && match[2] ? { provider: match[1], account: decodeURIComponent(match[2]) } : {};
|
|
92
|
+
};
|
|
93
|
+
const closeRow = (task) => {
|
|
94
|
+
const suggestion = task.closeSuggestion;
|
|
95
|
+
if (suggestion === null)
|
|
96
|
+
return undefined;
|
|
97
|
+
return ownerOnly({
|
|
98
|
+
id: `close:${task.key}`,
|
|
99
|
+
kind: "task_close",
|
|
100
|
+
status: "proposed",
|
|
101
|
+
project: task.project,
|
|
102
|
+
subject: task.ref,
|
|
103
|
+
object: null,
|
|
104
|
+
summary: `close as ${suggestion.as}: ${task.title}`,
|
|
105
|
+
proposedBy: { type: "bot", id: suggestion.by, name: suggestion.by, kind: "agent" },
|
|
106
|
+
reason: suggestion.reason,
|
|
107
|
+
evidence: task.source === null ? [] : [task.source],
|
|
108
|
+
score: suggestion.certainty,
|
|
109
|
+
signals: null,
|
|
110
|
+
parts: null,
|
|
111
|
+
createdAt: suggestion.at,
|
|
112
|
+
}, task.project);
|
|
113
|
+
};
|
|
114
|
+
/**
|
|
115
|
+
* An agent's close of an open task, waiting on the owner (`close_suggested_*`). Confirming closes it as suggested;
|
|
116
|
+
* rejecting clears the suggestion, as `tg tasks reject` does. Its id is `close:<task key>`.
|
|
117
|
+
*/
|
|
118
|
+
export const taskCloseKind = (store, env) => {
|
|
119
|
+
const suggested = async (limit) => store.tasks.find({
|
|
120
|
+
status: "open",
|
|
121
|
+
where: { sql: "t.close_suggested_as IS NOT NULL", params: [] },
|
|
122
|
+
limit,
|
|
123
|
+
});
|
|
124
|
+
const taskOf = async (id) => {
|
|
125
|
+
const key = id.slice("close:".length);
|
|
126
|
+
const task = await store.tasks.details(key).catch(() => undefined);
|
|
127
|
+
const row = task && closeRow(task);
|
|
128
|
+
if (!task || !row)
|
|
129
|
+
throw new CliError("not_found", `no close waits on task ${key}`);
|
|
130
|
+
return { task, row };
|
|
131
|
+
};
|
|
132
|
+
return {
|
|
133
|
+
kind: "task_close",
|
|
134
|
+
prefix: "close",
|
|
135
|
+
list: async (filter) => {
|
|
136
|
+
if ((filter.status ?? "proposed") !== "proposed" && filter.status !== "all")
|
|
137
|
+
return [];
|
|
138
|
+
const rows = (await suggested(filter.offset + filter.limit)).flatMap((task) => closeRow(task) ?? []);
|
|
139
|
+
const by = filter.by;
|
|
140
|
+
return rows
|
|
141
|
+
.filter((row) => wanted(row, filter))
|
|
142
|
+
.filter((row) => by === undefined ||
|
|
143
|
+
by === "agent" ||
|
|
144
|
+
(typeof by === "object" && row.proposedBy.type === "bot" && row.proposedBy.name === by.bot))
|
|
145
|
+
.sort((a, b) => b.createdAt.localeCompare(a.createdAt));
|
|
146
|
+
},
|
|
147
|
+
get: async (id) => (await taskOf(id)).row,
|
|
148
|
+
decide: async (id, { confirm, reason }) => {
|
|
149
|
+
const { task } = await taskOf(id);
|
|
150
|
+
const suggestion = task.closeSuggestion;
|
|
151
|
+
if (!confirm || suggestion === null) {
|
|
152
|
+
await store.tasks.suggestClose(task.id, null, "owner");
|
|
153
|
+
return { id, kind: "task_close", status: "rejected", made: [] };
|
|
154
|
+
}
|
|
155
|
+
await closeTask(store, env, task.id, {
|
|
156
|
+
...accountOfSource(task.source),
|
|
157
|
+
as: suggestion.as,
|
|
158
|
+
...(reason === undefined ? {} : { reason }),
|
|
159
|
+
});
|
|
160
|
+
return { id, kind: "task_close", status: "confirmed", made: [task.ref] };
|
|
161
|
+
},
|
|
162
|
+
};
|
|
163
|
+
};
|
|
164
|
+
/**
|
|
165
|
+
* The kind M3's mail pipeline stages (`proposed_actions.kind = mail_findings`). Until cli-core ships its contract
|
|
166
|
+
* the batch is listed and kept from the generic action kind, whose confirm would turn it into a task, and nobody
|
|
167
|
+
* may decide it here yet. Once cli-core registers the kind itself, its registration wins: see `reviewRegistry`.
|
|
168
|
+
*/
|
|
169
|
+
export const MAIL_FINDINGS_KIND = "mail_findings";
|
|
170
|
+
const mailFindingsKind = (store) => {
|
|
171
|
+
const rowOf = (action) => ownerOnly({
|
|
172
|
+
id: action.id,
|
|
173
|
+
kind: MAIL_FINDINGS_KIND,
|
|
174
|
+
status: STORED_STATUS[action.status],
|
|
175
|
+
project: null,
|
|
176
|
+
subject: action.target ?? `${MAIL_FINDINGS_KIND}:${action.id}`,
|
|
177
|
+
object: null,
|
|
178
|
+
summary: MAIL_FINDINGS_KIND,
|
|
179
|
+
proposedBy: proposerOfAction(action),
|
|
180
|
+
reason: action.reason,
|
|
181
|
+
evidence: [],
|
|
182
|
+
score: null,
|
|
183
|
+
signals: null,
|
|
184
|
+
parts: null,
|
|
185
|
+
createdAt: action.createdAt,
|
|
186
|
+
}, accountName(action));
|
|
187
|
+
return {
|
|
188
|
+
kind: MAIL_FINDINGS_KIND,
|
|
189
|
+
stored: [MAIL_FINDINGS_KIND],
|
|
190
|
+
list: async (filter) => (await storedActions(store, MAIL_FINDINGS_KIND, filter)).map(rowOf).filter((row) => wanted(row, filter)),
|
|
191
|
+
get: async (id) => rowOf(await store.proposedActions.get(id)),
|
|
192
|
+
decide: async () => {
|
|
193
|
+
throw new CliError("validation_error", "this memo cannot decide mail findings yet — memo upgrade", {
|
|
194
|
+
reason: "proposal.kind-unsupported",
|
|
195
|
+
});
|
|
196
|
+
},
|
|
197
|
+
};
|
|
198
|
+
};
|
|
199
|
+
/** Every kind `memo review` shows, as `kind:` takes them. */
|
|
200
|
+
export const REVIEW_KINDS = [
|
|
201
|
+
"relationship",
|
|
202
|
+
"relationship_update",
|
|
203
|
+
"key_document",
|
|
204
|
+
"fact",
|
|
205
|
+
"memory",
|
|
206
|
+
"findings",
|
|
207
|
+
"meeting_findings",
|
|
208
|
+
MAIL_FINDINGS_KIND,
|
|
209
|
+
"task_close",
|
|
210
|
+
"action",
|
|
211
|
+
"invoice",
|
|
212
|
+
"payment",
|
|
213
|
+
];
|
|
214
|
+
/**
|
|
215
|
+
* cli-core's registry with the kinds memo reviews too. A new kind is one more entry here; a kind cli-core
|
|
216
|
+
* registers itself later is kept, and memo's own copy is dropped.
|
|
217
|
+
*/
|
|
218
|
+
export const reviewRegistry = (store, env) => {
|
|
219
|
+
const registry = proposalRegistry(store);
|
|
220
|
+
for (const kind of [meetingFindingsKind(store), mailFindingsKind(store), taskCloseKind(store, env)])
|
|
221
|
+
try {
|
|
222
|
+
registry.register(kind);
|
|
223
|
+
}
|
|
224
|
+
catch (error) {
|
|
225
|
+
if (!(error instanceof CliError) || error.code !== "configuration_error")
|
|
226
|
+
throw error;
|
|
227
|
+
}
|
|
228
|
+
return registry;
|
|
229
|
+
};
|
|
230
|
+
//# sourceMappingURL=kinds.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kinds.js","sourceRoot":"","sources":["../../src/review/kinds.ts"],"names":[],"mappings":"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"}
|
package/dist/review/review.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { type Decided, type Decision, type ProposalFilter
|
|
1
|
+
import { type Decided, type Decision, type ProposalFilter } from "@wirecat/cli-core/services";
|
|
2
2
|
import type { Decider, MessageStore, Proposer } from "@wirecat/cli-core/store";
|
|
3
|
-
|
|
3
|
+
import { REVIEW_KINDS, type ReviewRow } from "./kinds.js";
|
|
4
|
+
export { REVIEW_KINDS };
|
|
4
5
|
export declare const REVIEW_QUERY: {
|
|
5
6
|
readonly entity: "memo_proposal";
|
|
6
7
|
readonly backend: "native";
|
|
@@ -11,13 +12,15 @@ export declare const proposerName: (proposer: Proposer) => string;
|
|
|
11
12
|
type Labels = (ref: string | null) => string | null;
|
|
12
13
|
/** Titles for every ref a page names, read in one batch; a ref the store does not know has none. */
|
|
13
14
|
export declare const labelsFor: (store: MessageStore, refs: readonly (string | null)[]) => Promise<Labels>;
|
|
14
|
-
export declare const reviewItem: (row:
|
|
15
|
+
export declare const reviewItem: (row: ReviewRow, label: Labels) => {
|
|
15
16
|
id: string;
|
|
16
17
|
kind: string;
|
|
17
18
|
status: "confirmed" | "proposed" | "rejected";
|
|
18
19
|
title: string;
|
|
19
20
|
project: string | null;
|
|
20
21
|
projectTitle: string | null;
|
|
22
|
+
source: string | null;
|
|
23
|
+
ownerOnly: boolean;
|
|
21
24
|
subject: string;
|
|
22
25
|
object: string | null;
|
|
23
26
|
summary: string | null;
|
|
@@ -40,7 +43,7 @@ export declare const reviewItem: (row: ProposalRow, label: Labels) => {
|
|
|
40
43
|
createdAt: string;
|
|
41
44
|
};
|
|
42
45
|
export type ReviewItem = ReturnType<typeof reviewItem>;
|
|
43
|
-
export declare const listReview: (store: MessageStore, words: readonly string[], { limit, page }: {
|
|
46
|
+
export declare const listReview: (store: MessageStore, env: NodeJS.ProcessEnv, words: readonly string[], { limit, page }: {
|
|
44
47
|
limit: number;
|
|
45
48
|
page: number;
|
|
46
49
|
}) => Promise<{
|
|
@@ -51,6 +54,8 @@ export declare const listReview: (store: MessageStore, words: readonly string[],
|
|
|
51
54
|
title: string;
|
|
52
55
|
project: string | null;
|
|
53
56
|
projectTitle: string | null;
|
|
57
|
+
source: string | null;
|
|
58
|
+
ownerOnly: boolean;
|
|
54
59
|
subject: string;
|
|
55
60
|
object: string | null;
|
|
56
61
|
summary: string | null;
|
|
@@ -74,13 +79,15 @@ export declare const listReview: (store: MessageStore, words: readonly string[],
|
|
|
74
79
|
}[];
|
|
75
80
|
hasMore: boolean;
|
|
76
81
|
}>;
|
|
77
|
-
export declare const showReview: (store: MessageStore, id: string) => Promise<{
|
|
82
|
+
export declare const showReview: (store: MessageStore, env: NodeJS.ProcessEnv, id: string) => Promise<{
|
|
78
83
|
id: string;
|
|
79
84
|
kind: string;
|
|
80
85
|
status: "confirmed" | "proposed" | "rejected";
|
|
81
86
|
title: string;
|
|
82
87
|
project: string | null;
|
|
83
88
|
projectTitle: string | null;
|
|
89
|
+
source: string | null;
|
|
90
|
+
ownerOnly: boolean;
|
|
84
91
|
subject: string;
|
|
85
92
|
object: string | null;
|
|
86
93
|
summary: string | null;
|
|
@@ -105,6 +112,21 @@ export declare const showReview: (store: MessageStore, id: string) => Promise<{
|
|
|
105
112
|
title: string | null;
|
|
106
113
|
}[];
|
|
107
114
|
}>;
|
|
115
|
+
/** Evidence text is written by others: an agent reads it as data, never as instructions. */
|
|
116
|
+
export declare const EVIDENCE_UNTRUSTED: string[];
|
|
117
|
+
/**
|
|
118
|
+
* Who sent an email cited as evidence: the sender's score, and whether the address is known — linked to a person
|
|
119
|
+
* who has another identity — so a stranger's "I am your accountant" stands out. `null` for anything not an email.
|
|
120
|
+
*/
|
|
121
|
+
export declare const senderOf: (store: MessageStore, ref: string) => Promise<{
|
|
122
|
+
address: string;
|
|
123
|
+
name: string | null;
|
|
124
|
+
person: string | null;
|
|
125
|
+
known: boolean;
|
|
126
|
+
score: number | null;
|
|
127
|
+
signals: string[];
|
|
128
|
+
demoted: boolean;
|
|
129
|
+
} | null>;
|
|
108
130
|
/** `17078,17079,17080,fact:5` → `17078-17080,fact:5`: what a confirm step names, short enough to read. */
|
|
109
131
|
export declare const idRanges: (ids: readonly string[]) => string;
|
|
110
132
|
export declare const reviewSteps: (items: readonly ReviewItem[]) => ({
|
|
@@ -123,7 +145,10 @@ export declare const reviewSteps: (items: readonly ReviewItem[]) => ({
|
|
|
123
145
|
why: string;
|
|
124
146
|
safe_to_auto_execute: false;
|
|
125
147
|
})[];
|
|
126
|
-
/**
|
|
148
|
+
/**
|
|
149
|
+
* Grouped by where each proposal came from, the group of the newest first; two lines a proposal, what it is, then
|
|
150
|
+
* why and the first evidence, and a batch's findings under it.
|
|
151
|
+
*/
|
|
127
152
|
export declare const reviewText: (items: readonly ReviewItem[], hasMore: boolean) => string;
|
|
128
153
|
export declare const decidedText: ({ decided, refused, }: {
|
|
129
154
|
decided: Decided[];
|
|
@@ -140,5 +165,4 @@ export declare const decisionOf: (confirm: boolean, by: Decider, reason?: string
|
|
|
140
165
|
* thrown as the error the store would have raised.
|
|
141
166
|
*/
|
|
142
167
|
export declare const decideOne: (store: MessageStore, id: string, decision: Decision) => Promise<Decided>;
|
|
143
|
-
export {};
|
|
144
168
|
//# sourceMappingURL=review.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../src/review/review.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../src/review/review.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,KAAK,cAAc,EAGpB,MAAM,4BAA4B,CAAA;AACnC,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAE9E,OAAO,EAAE,YAAY,EAAE,KAAK,SAAS,EAAkB,MAAM,YAAY,CAAA;AAEzE,OAAO,EAAE,YAAY,EAAE,CAAA;AAIvB,eAAO,MAAM,YAAY;qBACf,eAAe;sBACd,QAAQ;;CAOe,CAAA;AAElC,eAAO,MAAM,QAAQ,UACZ,YAAY,SACZ,SAAS,MAAM,EAAE,KACvB,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,QAAQ,CAAC,CAoBlD,CAAA;AAED,eAAO,MAAM,YAAY,aAAc,QAAQ,WAC2C,CAAA;AAE1F,KAAK,MAAM,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,KAAK,MAAM,GAAG,IAAI,CAAA;AAEnD,oGAAoG;AACpG,eAAO,MAAM,SAAS,UAAiB,YAAY,QAAQ,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,KAAG,OAAO,CAAC,MAAM,CAUrG,CAAA;AA8BD,eAAO,MAAM,UAAU,QAAS,SAAS,SAAS,MAAM;IACtD,EAAE;IACF,IAAI;IACJ,MAAM;IACN,KAAK;IACL,OAAO;IACP,YAAY;IACZ,MAAM;IACN,SAAS;IACT,OAAO;IACP,MAAM;IACN,OAAO;IACP,QAAQ;IACR,UAAU;IACV,MAAM;IACN,KAAK;IACL,OAAO;;;;;IACP,QAAQ;IACR,KAAK;;;;;;IACL,SAAS;CACT,CAAA;AAEF,MAAM,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAA;AAItD,eAAO,MAAM,UAAU,UACd,YAAY,OACd,MAAM,CAAC,UAAU,SACf,SAAS,MAAM,EAAE,mBACP;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMjD,CAAA;AAED,eAAO,MAAM,UAAU,UAAiB,YAAY,OAAO,MAAM,CAAC,UAAU,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOvF,CAAA;AAED,4FAA4F;AAC5F,eAAO,MAAM,kBAAkB,UAA6C,CAAA;AAE5E;;;GAGG;AACH,eAAO,MAAM,QAAQ,UAAiB,YAAY,OAAO,MAAM;;;;;;;;SAgB9D,CAAA;AAED,0GAA0G;AAC1G,eAAO,MAAM,QAAQ,QAAS,SAAS,MAAM,EAAE,WAa9C,CAAA;AAkBD,eAAO,MAAM,WAAW,UAAW,SAAS,UAAU,EAAE;;;;;;;;;;;;;;;IAWvD,CAAA;AAUD;;;GAGG;AACH,eAAO,MAAM,UAAU,UAAW,SAAS,UAAU,EAAE,WAAW,OAAO,WA6BxE,CAAA;AAED,eAAO,MAAM,WAAW,0BAGrB;IACD,OAAO,EAAE,OAAO,EAAE,CAAA;IAClB,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAC3D,WAIkC,CAAA;AAEnC,kGAAkG;AAClG,eAAO,MAAM,UAAU,YAAa,OAAO,MAAM,OAAO,WAAW,MAAM,KAAG,QAG3E,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,SAAS,UAAiB,YAAY,MAAM,MAAM,YAAY,QAAQ,KAAG,OAAO,CAAC,OAAO,CAKpG,CAAA"}
|
package/dist/review/review.js
CHANGED
|
@@ -1,17 +1,11 @@
|
|
|
1
1
|
import { CliError } from "@wirecat/cli-base";
|
|
2
2
|
import { stepOf } from "@wirecat/cli-base/standards";
|
|
3
3
|
import { queryTerms, refLabel, termField } from "@wirecat/cli-core/cli";
|
|
4
|
+
import { showMail } from "@wirecat/cli-core/mail";
|
|
4
5
|
import { proposalRegistry, } from "@wirecat/cli-core/services";
|
|
5
6
|
import { canonicalProject } from "../vocabulary/project.js";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
"relationship_update",
|
|
9
|
-
"key_document",
|
|
10
|
-
"fact",
|
|
11
|
-
"memory",
|
|
12
|
-
"findings",
|
|
13
|
-
"action",
|
|
14
|
-
];
|
|
7
|
+
import { REVIEW_KINDS, reviewRegistry } from "./kinds.js";
|
|
8
|
+
export { REVIEW_KINDS };
|
|
15
9
|
const STATUSES = ["proposed", "confirmed", "rejected", "all"];
|
|
16
10
|
export const REVIEW_QUERY = {
|
|
17
11
|
entity: "memo_proposal",
|
|
@@ -71,9 +65,16 @@ const titleOf = (row, label) => {
|
|
|
71
65
|
case "fact":
|
|
72
66
|
return row.summary === null ? subject : `"${row.summary}"`;
|
|
73
67
|
case "findings":
|
|
68
|
+
case "meeting_findings":
|
|
69
|
+
case "mail_findings":
|
|
74
70
|
return `${row.summary ?? "findings"}${row.parts?.length ? `: ${row.parts.map((part) => part.kind).join(" · ")}` : ""}`;
|
|
71
|
+
case "task_close":
|
|
72
|
+
return row.summary ?? subject;
|
|
75
73
|
case "action":
|
|
76
74
|
return `${row.summary ?? "action"} ${subject}`;
|
|
75
|
+
case "invoice":
|
|
76
|
+
case "payment":
|
|
77
|
+
return row.summary ?? subject;
|
|
77
78
|
default:
|
|
78
79
|
return object === null ? subject : `${subject} → ${object}`;
|
|
79
80
|
}
|
|
@@ -85,6 +86,8 @@ export const reviewItem = (row, label) => ({
|
|
|
85
86
|
title: titleOf(row, label),
|
|
86
87
|
project: row.project,
|
|
87
88
|
projectTitle: label(row.project),
|
|
89
|
+
source: row.source ?? row.project,
|
|
90
|
+
ownerOnly: row.ownerOnly === true,
|
|
88
91
|
subject: row.subject,
|
|
89
92
|
object: row.object,
|
|
90
93
|
summary: row.summary,
|
|
@@ -98,20 +101,45 @@ export const reviewItem = (row, label) => ({
|
|
|
98
101
|
createdAt: row.createdAt,
|
|
99
102
|
});
|
|
100
103
|
const rowRefs = (row) => [row.subject, row.object, row.project];
|
|
101
|
-
export const listReview = async (store, words, { limit, page }) => {
|
|
104
|
+
export const listReview = async (store, env, words, { limit, page }) => {
|
|
102
105
|
const filter = await filterOf(store, words);
|
|
103
|
-
const found = await
|
|
106
|
+
const found = await reviewRegistry(store, env).list({ ...filter, limit, offset: (page - 1) * limit });
|
|
104
107
|
const label = await labelsFor(store, found.items.flatMap(rowRefs));
|
|
105
108
|
return { items: found.items.map((row) => reviewItem(row, label)), hasMore: found.hasMore };
|
|
106
109
|
};
|
|
107
|
-
export const showReview = async (store, id) => {
|
|
108
|
-
const row = await
|
|
110
|
+
export const showReview = async (store, env, id) => {
|
|
111
|
+
const row = await reviewRegistry(store, env).get(id);
|
|
109
112
|
const label = await labelsFor(store, [...rowRefs(row), ...row.evidence]);
|
|
110
113
|
return {
|
|
111
114
|
...reviewItem(row, label),
|
|
112
115
|
evidence: row.evidence.map((ref) => ({ ref, title: label(ref) })),
|
|
113
116
|
};
|
|
114
117
|
};
|
|
118
|
+
/** Evidence text is written by others: an agent reads it as data, never as instructions. */
|
|
119
|
+
export const EVIDENCE_UNTRUSTED = ["title", "text", "around", "sender.name"];
|
|
120
|
+
/**
|
|
121
|
+
* Who sent an email cited as evidence: the sender's score, and whether the address is known — linked to a person
|
|
122
|
+
* who has another identity — so a stranger's "I am your accountant" stands out. `null` for anything not an email.
|
|
123
|
+
*/
|
|
124
|
+
export const senderOf = async (store, ref) => {
|
|
125
|
+
if (!ref.startsWith("msg:email/"))
|
|
126
|
+
return null;
|
|
127
|
+
const email = (await showMail(store, ref).catch(() => []))[0]?.email;
|
|
128
|
+
const from = email?.from;
|
|
129
|
+
if (!from)
|
|
130
|
+
return null;
|
|
131
|
+
const person = from.ref?.startsWith("person:") ? await store.people.personByUid(from.ref.slice(7)) : undefined;
|
|
132
|
+
const identities = person?.identities ?? [];
|
|
133
|
+
return {
|
|
134
|
+
address: from.address,
|
|
135
|
+
name: from.name,
|
|
136
|
+
person: from.ref,
|
|
137
|
+
known: identities.length > 1 || identities.some((one) => one.provider !== "email"),
|
|
138
|
+
score: email.senderScore?.score ?? null,
|
|
139
|
+
signals: email.senderScore?.signals ?? [],
|
|
140
|
+
demoted: email.senderScore?.demoted === true,
|
|
141
|
+
};
|
|
142
|
+
};
|
|
115
143
|
/** `17078,17079,17080,fact:5` → `17078-17080,fact:5`: what a confirm step names, short enough to read. */
|
|
116
144
|
export const idRanges = (ids) => {
|
|
117
145
|
const numbers = ids
|
|
@@ -160,24 +188,38 @@ const cut = (text, width) => {
|
|
|
160
188
|
const flat = text.replace(/\s+/g, " ").trim();
|
|
161
189
|
return flat.length > width ? `${flat.slice(0, width - 1)}…` : flat;
|
|
162
190
|
};
|
|
163
|
-
|
|
191
|
+
const sourceOf = (item) => item.projectTitle ?? item.source ?? "no project or account";
|
|
192
|
+
/**
|
|
193
|
+
* Grouped by where each proposal came from, the group of the newest first; two lines a proposal, what it is, then
|
|
194
|
+
* why and the first evidence, and a batch's findings under it.
|
|
195
|
+
*/
|
|
164
196
|
export const reviewText = (items, hasMore) => {
|
|
165
197
|
if (!items.length)
|
|
166
198
|
return "nothing waits for a decision";
|
|
167
199
|
const width = items.reduce((most, item) => Math.max(most, item.id.length), 0);
|
|
168
|
-
const
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
200
|
+
const groups = new Map();
|
|
201
|
+
for (const item of items)
|
|
202
|
+
groups.set(sourceOf(item), [...(groups.get(sourceOf(item)) ?? []), item]);
|
|
203
|
+
const pad = " ".repeat(width);
|
|
204
|
+
const lines = [...groups].flatMap(([source, group], at) => [
|
|
205
|
+
...(at === 0 ? [] : [""]),
|
|
206
|
+
source,
|
|
207
|
+
...group.flatMap((item) => {
|
|
208
|
+
const head = [
|
|
209
|
+
item.id.padEnd(width),
|
|
210
|
+
item.kind,
|
|
211
|
+
cut(item.title, 90),
|
|
212
|
+
...(item.score === null ? [] : [item.score.toFixed(2)]),
|
|
213
|
+
item.proposer,
|
|
214
|
+
day(item.createdAt),
|
|
215
|
+
...(item.ownerOnly ? ["owner only"] : []),
|
|
216
|
+
...(item.status === "proposed" ? [] : [item.status]),
|
|
217
|
+
].join(" ");
|
|
218
|
+
const why = [item.reason && cut(item.reason, 100), item.evidence[0]].filter(Boolean).join(" · ");
|
|
219
|
+
const parts = (item.parts ?? []).map((part) => `${pad} ${item.id}/${part.id} ${part.kind} ${cut(part.summary, 80)}${part.outcome ? ` ${part.outcome}` : ""}`);
|
|
220
|
+
return [head, ...(why ? [`${pad} ${why}`] : []), ...parts];
|
|
221
|
+
}),
|
|
222
|
+
]);
|
|
181
223
|
return [...lines, `${items.length} shown${hasMore ? ", more with --page" : ""}`].join("\n");
|
|
182
224
|
};
|
|
183
225
|
export const decidedText = ({ decided, refused, }) => [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review.js","sourceRoot":"","sources":["../../src/review/review.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"review.js","sourceRoot":"","sources":["../../src/review/review.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { MessageStore } from "@wirecat/cli-core/store";
|
|
2
|
+
/** How many proposals wait for the owner about these references: as subject, linked object or project. */
|
|
3
|
+
export declare const waitingAbout: (store: MessageStore, env: NodeJS.ProcessEnv, refs: readonly string[]) => Promise<{
|
|
4
|
+
count: number;
|
|
5
|
+
complete: boolean;
|
|
6
|
+
}>;
|
|
7
|
+
/**
|
|
8
|
+
* The owner's morning look, with no model call: per mail account the threads with new mail since `since`, what
|
|
9
|
+
* is owed and waiting now, and how far each agent has processed it; then what was proposed since, and what waits.
|
|
10
|
+
*/
|
|
11
|
+
export declare const reviewStatus: (store: MessageStore, env: NodeJS.ProcessEnv, since: number, now?: number) => Promise<{
|
|
12
|
+
since: string;
|
|
13
|
+
at: string;
|
|
14
|
+
mail: {
|
|
15
|
+
account: string;
|
|
16
|
+
threads: number;
|
|
17
|
+
owed: number;
|
|
18
|
+
waiting: number;
|
|
19
|
+
coverage: {
|
|
20
|
+
holder: string;
|
|
21
|
+
through_id: number;
|
|
22
|
+
through_received_at: string | null;
|
|
23
|
+
held: number;
|
|
24
|
+
read: number;
|
|
25
|
+
skipped: {
|
|
26
|
+
bulk: number;
|
|
27
|
+
envelope: number;
|
|
28
|
+
partial: number;
|
|
29
|
+
draft: number;
|
|
30
|
+
};
|
|
31
|
+
updated_at: string;
|
|
32
|
+
}[];
|
|
33
|
+
}[];
|
|
34
|
+
proposed: {
|
|
35
|
+
count: number;
|
|
36
|
+
kinds: Record<string, number>;
|
|
37
|
+
complete: boolean;
|
|
38
|
+
};
|
|
39
|
+
waiting: {
|
|
40
|
+
count: number;
|
|
41
|
+
kinds: Record<string, number>;
|
|
42
|
+
complete: boolean;
|
|
43
|
+
};
|
|
44
|
+
quiet: boolean;
|
|
45
|
+
}>;
|
|
46
|
+
export type ReviewStatus = Awaited<ReturnType<typeof reviewStatus>>;
|
|
47
|
+
export declare const reviewStatusText: (status: ReviewStatus) => string;
|
|
48
|
+
//# sourceMappingURL=status.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/review/status.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAyB3D,0GAA0G;AAC1G,eAAO,MAAM,YAAY,UAAiB,YAAY,OAAO,MAAM,CAAC,UAAU,QAAQ,SAAS,MAAM,EAAE;;;EAYtG,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,UAAiB,YAAY,OAAO,MAAM,CAAC,UAAU,SAAS,MAAM;;;;;;;;;;;;;;;;;;;;;;;;QAsB7E,KAAK;QAAkB,KAAK;QAAmB,QAAQ;;;QACxD,KAAK;QAAiB,KAAK;QAAkB,QAAQ;;;EAMnE,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,CAAA;AAUnE,eAAO,MAAM,gBAAgB,WAAY,YAAY,KAAG,MA0BvD,CAAA"}
|