@wirecat/cli-memo 0.131.62 → 0.131.63
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/{auto-Z4MEU5OY.js → auto-LGA3VXKQ.js} +4 -4
- package/dist/bundle/{chunk-FD3OQYFL.js → chunk-4BKSE3CG.js} +2 -2
- package/dist/bundle/{chunk-2VDRVJCR.js → chunk-5Q534L4I.js} +2 -2
- package/dist/bundle/{chunk-SJ36WSEI.js → chunk-BOMHJR2E.js} +1 -1
- package/dist/bundle/{chunk-H3COKFXP.js → chunk-GNHDE7FH.js} +1643 -3
- package/dist/bundle/{chunk-KREN56SX.js → chunk-K4WCDPDL.js} +2 -2
- package/dist/bundle/{chunk-XX37LSNV.js → chunk-RSG7BRXI.js} +1 -1
- package/dist/bundle/chunk-YVJAD5E7.js +268 -0
- package/dist/bundle/{failure-B33C3BFU.js → failure-OGSLUNT6.js} +2 -2
- package/dist/bundle/memo.js +5 -5
- package/dist/bundle/{program-DSQWICNB.js → program-ZHLCEVWB.js} +43 -18
- package/dist/bundle/{server-ZHFC3PIP.js → server-I5BPRS5C.js} +5 -5
- package/dist/bundle/{update-LR5BVLBD.js → update-YMILPFRY.js} +3 -3
- package/dist/contract-overrides/search.js +2 -2
- package/dist/contract-overrides/search.js.map +1 -1
- package/dist/search/command.d.ts.map +1 -1
- package/dist/search/command.js +9 -4
- package/dist/search/command.js.map +1 -1
- package/dist/search/lane-gates.d.ts +3 -0
- package/dist/search/lane-gates.d.ts.map +1 -1
- package/dist/search/lane-gates.js +8 -2
- package/dist/search/lane-gates.js.map +1 -1
- package/dist/search/search.d.ts +3 -1
- package/dist/search/search.d.ts.map +1 -1
- package/dist/search/search.js +2 -1
- package/dist/search/search.js.map +1 -1
- package/dist/show/command.d.ts +3 -1
- package/dist/show/command.d.ts.map +1 -1
- package/dist/show/command.js +28 -3
- package/dist/show/command.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
- package/dist/bundle/chunk-HMJ3D7XE.js +0 -1901
|
@@ -2,7 +2,7 @@ import { createRequire as __bundleRequire } from "node:module";
|
|
|
2
2
|
const require = __bundleRequire(import.meta.url);
|
|
3
3
|
import {
|
|
4
4
|
loadConfig
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-GNHDE7FH.js";
|
|
6
6
|
import {
|
|
7
7
|
upgradeCommand
|
|
8
8
|
} from "./chunk-TBSWOVM3.js";
|
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
import {
|
|
20
20
|
APP,
|
|
21
21
|
VERSION
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-RSG7BRXI.js";
|
|
23
23
|
import {
|
|
24
24
|
installerOf
|
|
25
25
|
} from "./chunk-IK6KH3RE.js";
|
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
import { createRequire as __bundleRequire } from "node:module";
|
|
2
|
+
const require = __bundleRequire(import.meta.url);
|
|
3
|
+
import {
|
|
4
|
+
decisionPolicy
|
|
5
|
+
} from "./chunk-GNHDE7FH.js";
|
|
6
|
+
import {
|
|
7
|
+
compactText,
|
|
8
|
+
currentRun,
|
|
9
|
+
itemOf,
|
|
10
|
+
listOf,
|
|
11
|
+
renderAnswer,
|
|
12
|
+
resolveOutput,
|
|
13
|
+
rootOf,
|
|
14
|
+
rowShapeOf,
|
|
15
|
+
rowsOfEntity,
|
|
16
|
+
sealed,
|
|
17
|
+
snakeKeysKeeping
|
|
18
|
+
} from "./chunk-WDWKG7FJ.js";
|
|
19
|
+
import {
|
|
20
|
+
openStore
|
|
21
|
+
} from "./chunk-HGNWJJDT.js";
|
|
22
|
+
import {
|
|
23
|
+
STORE_CLIENT
|
|
24
|
+
} from "./chunk-RSG7BRXI.js";
|
|
25
|
+
import {
|
|
26
|
+
createRenderer
|
|
27
|
+
} from "./chunk-EMNQPMZO.js";
|
|
28
|
+
import {
|
|
29
|
+
COMPACT_FLAG
|
|
30
|
+
} from "./chunk-RCGFSWZE.js";
|
|
31
|
+
import {
|
|
32
|
+
CliError
|
|
33
|
+
} from "./chunk-4ZW6ZJ2V.js";
|
|
34
|
+
import {
|
|
35
|
+
__name
|
|
36
|
+
} from "./chunk-ZVVMGPBJ.js";
|
|
37
|
+
|
|
38
|
+
// dist/output.js
|
|
39
|
+
var snakeKeys = snakeKeysKeeping(["front_matter", "metadata", "headers"]);
|
|
40
|
+
var atDetail = /* @__PURE__ */ __name((value, level) => {
|
|
41
|
+
let picked = "";
|
|
42
|
+
resolveOutput({
|
|
43
|
+
json: true,
|
|
44
|
+
streams: { data: /* @__PURE__ */ __name((chunk) => picked += chunk, "data"), diagnostic: /* @__PURE__ */ __name(() => void 0, "diagnostic"), progress: /* @__PURE__ */ __name(() => void 0, "progress") },
|
|
45
|
+
...level === void 0 ? {} : { hitDetail: level }
|
|
46
|
+
}).renderer.result(value);
|
|
47
|
+
return JSON.parse(picked);
|
|
48
|
+
}, "atDetail");
|
|
49
|
+
|
|
50
|
+
// dist/rows.js
|
|
51
|
+
var sender = { field: ["sender_is_me", "sender_name"], tag: "me" };
|
|
52
|
+
var fact = {
|
|
53
|
+
columns: [
|
|
54
|
+
{ field: "ref" },
|
|
55
|
+
{ field: "kind" },
|
|
56
|
+
{ field: "status" },
|
|
57
|
+
{ field: "subject_name" },
|
|
58
|
+
{ field: "project_name" },
|
|
59
|
+
{ field: ["occurred_at", "created_at"], as: "day" }
|
|
60
|
+
],
|
|
61
|
+
text: ["text"]
|
|
62
|
+
};
|
|
63
|
+
var ROWS = {
|
|
64
|
+
"search all": {
|
|
65
|
+
columns: [{ field: "ref" }, { field: "kind" }, { field: "timestamp", as: "time" }, { field: "title" }, sender],
|
|
66
|
+
text: ["excerpt"]
|
|
67
|
+
},
|
|
68
|
+
"search notes": {
|
|
69
|
+
columns: [{ field: "ref" }, { field: "updated_at", as: "day" }, { field: ["title", "path"] }],
|
|
70
|
+
text: ["excerpt"]
|
|
71
|
+
},
|
|
72
|
+
"search memories": fact,
|
|
73
|
+
"search people": { columns: [{ field: "ref" }, { field: "name" }] },
|
|
74
|
+
"notes list": {
|
|
75
|
+
columns: [
|
|
76
|
+
{ field: "ref" },
|
|
77
|
+
{ field: "updated_at", as: "day" },
|
|
78
|
+
{ field: "source" },
|
|
79
|
+
{ field: ["title", "path"] },
|
|
80
|
+
{ field: "via" }
|
|
81
|
+
],
|
|
82
|
+
text: ["text"]
|
|
83
|
+
},
|
|
84
|
+
"facts list": fact,
|
|
85
|
+
"invoices list": {
|
|
86
|
+
columns: [{ field: "ref" }, { field: "project_name" }, { field: ["issue_date", "created_at"], as: "day" }],
|
|
87
|
+
text: ["title"]
|
|
88
|
+
},
|
|
89
|
+
"payments list": {
|
|
90
|
+
columns: [{ field: "ref" }, { field: "project_name" }, { field: "date", as: "day" }],
|
|
91
|
+
text: ["title"]
|
|
92
|
+
},
|
|
93
|
+
"deals list": {
|
|
94
|
+
columns: [{ field: "ref" }, { field: "project_name" }, { field: "close_date", as: "day" }],
|
|
95
|
+
text: ["summary"]
|
|
96
|
+
},
|
|
97
|
+
"leads list": {
|
|
98
|
+
columns: [{ field: "ref" }, { field: "project_name" }, { field: "created_at", as: "day" }],
|
|
99
|
+
text: ["summary"]
|
|
100
|
+
},
|
|
101
|
+
"memories list": fact,
|
|
102
|
+
"people list": {
|
|
103
|
+
columns: [
|
|
104
|
+
{ field: "ref" },
|
|
105
|
+
{ field: "name" },
|
|
106
|
+
{ field: "owner", tag: "owner" },
|
|
107
|
+
{ field: "tasks", as: "count", tag: "tasks" }
|
|
108
|
+
]
|
|
109
|
+
},
|
|
110
|
+
"organizations list": { columns: [{ field: "ref" }, { field: "name" }, { field: "kind" }] },
|
|
111
|
+
"projects list": { columns: [{ field: "ref" }, { field: "key" }, { field: "name" }, { field: "kind" }] },
|
|
112
|
+
"relationships list": {
|
|
113
|
+
columns: [
|
|
114
|
+
{ field: "id" },
|
|
115
|
+
{ field: "from" },
|
|
116
|
+
{ field: "kind" },
|
|
117
|
+
{ field: "to" },
|
|
118
|
+
{ field: "role" },
|
|
119
|
+
{ field: "purpose" },
|
|
120
|
+
{ field: "confirmed", tag: "confirmed" }
|
|
121
|
+
]
|
|
122
|
+
},
|
|
123
|
+
"tasks list": {
|
|
124
|
+
columns: [
|
|
125
|
+
{ field: ["key", "ref", "id"] },
|
|
126
|
+
{ field: "state" },
|
|
127
|
+
{ field: "kind" },
|
|
128
|
+
{ field: "priority_label" },
|
|
129
|
+
{ field: "project_key" },
|
|
130
|
+
{ field: "due_at", as: "day" },
|
|
131
|
+
{ field: "source" }
|
|
132
|
+
],
|
|
133
|
+
text: ["title", "message.text"]
|
|
134
|
+
},
|
|
135
|
+
"messages show": {
|
|
136
|
+
columns: [
|
|
137
|
+
{ field: "ref" },
|
|
138
|
+
{ field: ["timestamp", "date"], as: "time" },
|
|
139
|
+
{ field: "chat_title" },
|
|
140
|
+
{ field: ["from", "sender_is_me", "sender_name"], tag: "me" },
|
|
141
|
+
{ field: "subject" },
|
|
142
|
+
{ field: "attachments", as: "files" }
|
|
143
|
+
],
|
|
144
|
+
text: ["text", "excerpt"]
|
|
145
|
+
},
|
|
146
|
+
"projects evidence": {
|
|
147
|
+
columns: [{ field: "project_ref" }],
|
|
148
|
+
sections: { items: "memo_evidence_item", people: "memo_evidence_person", linked_chats: "linked_chat" }
|
|
149
|
+
},
|
|
150
|
+
show: {
|
|
151
|
+
columns: [{ field: "ref" }, { field: "kind" }, { field: "state" }, { field: "title" }, { field: "open.line" }]
|
|
152
|
+
}
|
|
153
|
+
};
|
|
154
|
+
var SECTION_ROWS = {
|
|
155
|
+
memo_evidence_item: {
|
|
156
|
+
columns: [{ field: "ref" }, { field: "context" }, { field: "kind" }, { field: "title" }],
|
|
157
|
+
text: ["text"]
|
|
158
|
+
},
|
|
159
|
+
memo_finance: {
|
|
160
|
+
columns: [
|
|
161
|
+
{ field: "direction" },
|
|
162
|
+
{ field: "currency" },
|
|
163
|
+
{ field: "billed" },
|
|
164
|
+
{ field: "paid" },
|
|
165
|
+
{ field: "owed" },
|
|
166
|
+
{ field: "invoices", as: "count", tag: "invoices" },
|
|
167
|
+
{ field: "payments", as: "count", tag: "payments" }
|
|
168
|
+
]
|
|
169
|
+
},
|
|
170
|
+
memo_deal: {
|
|
171
|
+
columns: [
|
|
172
|
+
{ field: "ref" },
|
|
173
|
+
{ field: "stage" },
|
|
174
|
+
{ field: "amount" },
|
|
175
|
+
{ field: "currency" },
|
|
176
|
+
{ field: "close_date", as: "day" }
|
|
177
|
+
],
|
|
178
|
+
text: ["title"]
|
|
179
|
+
},
|
|
180
|
+
memo_evidence_person: {
|
|
181
|
+
columns: [{ field: "person" }, { field: "name" }, { field: "items", as: "count", tag: "items" }]
|
|
182
|
+
}
|
|
183
|
+
};
|
|
184
|
+
var shared = rowsOfEntity();
|
|
185
|
+
var sectionRowOf = /* @__PURE__ */ __name((entity) => SECTION_ROWS[entity] ?? shared(entity), "sectionRowOf");
|
|
186
|
+
var pathOf = /* @__PURE__ */ __name((command) => {
|
|
187
|
+
const words = [];
|
|
188
|
+
for (let at = command; at?.parent; at = at.parent)
|
|
189
|
+
words.unshift(at.name());
|
|
190
|
+
return words.join(" ");
|
|
191
|
+
}, "pathOf");
|
|
192
|
+
var rowOf = /* @__PURE__ */ __name((command) => command && ROWS[pathOf(command)] || rowShapeOf(command), "rowOf");
|
|
193
|
+
|
|
194
|
+
// dist/answer.js
|
|
195
|
+
var itemAnswer = /* @__PURE__ */ __name((value, extra) => itemOf(snakeKeys(value), extra), "itemAnswer");
|
|
196
|
+
var listAnswer = /* @__PURE__ */ __name((command, input) => {
|
|
197
|
+
const body = listOf(command, { ...input, items: snakeKeys(input.items) });
|
|
198
|
+
if (input.cursor !== void 0 || input.page !== void 0)
|
|
199
|
+
return body;
|
|
200
|
+
if (body.page.mode === "page")
|
|
201
|
+
delete body.page.next_page;
|
|
202
|
+
const next = body.next?.filter(({ step }) => step !== "page.next") ?? [];
|
|
203
|
+
if (next.length > 0)
|
|
204
|
+
body.next = next;
|
|
205
|
+
else
|
|
206
|
+
delete body.next;
|
|
207
|
+
return body;
|
|
208
|
+
}, "listAnswer");
|
|
209
|
+
var wholeList = /* @__PURE__ */ __name((command, items) => listAnswer(command, { items, limit: Math.max(1, items.length), has_more: false }), "wholeList");
|
|
210
|
+
var withStore = /* @__PURE__ */ __name(async (env, work) => {
|
|
211
|
+
const store = await openStore({ env, ...STORE_CLIENT, decisions: decisionPolicy(env) });
|
|
212
|
+
try {
|
|
213
|
+
return await work(store);
|
|
214
|
+
} finally {
|
|
215
|
+
await store.close();
|
|
216
|
+
}
|
|
217
|
+
}, "withStore");
|
|
218
|
+
var running = /* @__PURE__ */ new WeakMap();
|
|
219
|
+
var timezone = /* @__PURE__ */ __name(() => Intl.DateTimeFormat().resolvedOptions().timeZone, "timezone");
|
|
220
|
+
var plainText = /* @__PURE__ */ __name((body, command) => {
|
|
221
|
+
const { next: _, ...rest } = body;
|
|
222
|
+
return compactText(rest, rowOf(command), { timezone: timezone() }, sectionRowOf);
|
|
223
|
+
}, "plainText");
|
|
224
|
+
var compactView = /* @__PURE__ */ __name((command, full) => (kept) => {
|
|
225
|
+
const whole = sealed(kept);
|
|
226
|
+
const next = whole.next?.map((step) => step.kind === "command" && step.line ? { ...step, line: `${step.line} ${COMPACT_FLAG}` } : step);
|
|
227
|
+
return compactText(next ? { ...whole, next } : whole, rowOf(command), {
|
|
228
|
+
timezone: timezone(),
|
|
229
|
+
...full ? { textChars: 0 } : {}
|
|
230
|
+
}, sectionRowOf);
|
|
231
|
+
}, "compactView");
|
|
232
|
+
var trackAnswers = /* @__PURE__ */ __name((program) => {
|
|
233
|
+
currentRun();
|
|
234
|
+
program.option(COMPACT_FLAG, "one line per item for an agent: reference first, text last, paging and next steps as # lines").hook("preAction", (root, leaf) => {
|
|
235
|
+
const { compact, json, brief } = leaf.optsWithGlobals();
|
|
236
|
+
if (compact && (json || brief))
|
|
237
|
+
throw new CliError("validation_error", `${COMPACT_FLAG} and ${json ? "--json" : "--brief"} are two forms \u2014 pick one`);
|
|
238
|
+
running.set(root, leaf);
|
|
239
|
+
});
|
|
240
|
+
}, "trackAnswers");
|
|
241
|
+
var answers = /* @__PURE__ */ __name((program, streams, env) => {
|
|
242
|
+
const print = /* @__PURE__ */ __name((json, body, text, asked) => {
|
|
243
|
+
const format = json ? "json" : "pretty";
|
|
244
|
+
const root = rootOf(program);
|
|
245
|
+
const leaf = running.get(root) ?? root;
|
|
246
|
+
const { compact = asked, full } = leaf.optsWithGlobals();
|
|
247
|
+
const renderer = createRenderer({ format, color: false, streams });
|
|
248
|
+
const drawn = compact === true && !json;
|
|
249
|
+
renderAnswer(leaf, { renderer: drawn ? { ...renderer, note: /* @__PURE__ */ __name(() => void 0, "note") } : renderer, format, streams }, body, drawn ? compactView(leaf, full === true) : () => `${text ?? plainText(body, leaf)}
|
|
250
|
+
`);
|
|
251
|
+
}, "print");
|
|
252
|
+
return {
|
|
253
|
+
print,
|
|
254
|
+
run: /* @__PURE__ */ __name(async (json, work) => print(json, await withStore(env, work)), "run")
|
|
255
|
+
};
|
|
256
|
+
}, "answers");
|
|
257
|
+
|
|
258
|
+
export {
|
|
259
|
+
snakeKeys,
|
|
260
|
+
atDetail,
|
|
261
|
+
itemAnswer,
|
|
262
|
+
listAnswer,
|
|
263
|
+
wholeList,
|
|
264
|
+
withStore,
|
|
265
|
+
plainText,
|
|
266
|
+
trackAnswers,
|
|
267
|
+
answers
|
|
268
|
+
};
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
recognisable,
|
|
7
7
|
reportFailure,
|
|
8
8
|
throwParseFailures
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-BOMHJR2E.js";
|
|
10
10
|
import "./chunk-TBSWOVM3.js";
|
|
11
11
|
import "./chunk-RLX5SC2X.js";
|
|
12
12
|
import "./chunk-SIBQ34LX.js";
|
|
@@ -44,7 +44,7 @@ import "./chunk-K5VF47E2.js";
|
|
|
44
44
|
import "./chunk-347UBASY.js";
|
|
45
45
|
import "./chunk-NZJUMLTD.js";
|
|
46
46
|
import "./chunk-BPGYTJNB.js";
|
|
47
|
-
import "./chunk-
|
|
47
|
+
import "./chunk-RSG7BRXI.js";
|
|
48
48
|
import "./chunk-IK6KH3RE.js";
|
|
49
49
|
import "./chunk-SW6C6WH5.js";
|
|
50
50
|
import "./chunk-D72URWJE.js";
|
package/dist/bundle/memo.js
CHANGED
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
} from "./chunk-BPGYTJNB.js";
|
|
7
7
|
import {
|
|
8
8
|
APP
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-RSG7BRXI.js";
|
|
10
10
|
import {
|
|
11
11
|
installerOf
|
|
12
12
|
} from "./chunk-IK6KH3RE.js";
|
|
@@ -197,15 +197,15 @@ if (wcat.code !== void 0) {
|
|
|
197
197
|
interactive: interactiveOf,
|
|
198
198
|
reasons: APP.errors.reasons,
|
|
199
199
|
run: /* @__PURE__ */ __name(async (entry) => {
|
|
200
|
-
failure = await import("./failure-
|
|
201
|
-
const { createProgram, refuseJoinedPath } = await import("./program-
|
|
202
|
-
const { autoNotice, followInstall } = await import("./auto-
|
|
200
|
+
failure = await import("./failure-OGSLUNT6.js");
|
|
201
|
+
const { createProgram, refuseJoinedPath } = await import("./program-ZHLCEVWB.js");
|
|
202
|
+
const { autoNotice, followInstall } = await import("./auto-LGA3VXKQ.js");
|
|
203
203
|
if (entry.args[0] !== "jobs") {
|
|
204
204
|
const notice2 = autoNotice(entry.env);
|
|
205
205
|
if (notice2)
|
|
206
206
|
processStreams.diagnostic(notice2);
|
|
207
207
|
}
|
|
208
|
-
const { updateNotice } = await import("./update-
|
|
208
|
+
const { updateNotice } = await import("./update-YMILPFRY.js");
|
|
209
209
|
const notice = updateNotice(entry.args);
|
|
210
210
|
program = createProgram({ signal: entry.signal });
|
|
211
211
|
program.hook("preAction", (_root, command) => entry.atStart(command));
|
|
@@ -6,17 +6,17 @@ import {
|
|
|
6
6
|
autoState,
|
|
7
7
|
lastAutoRun,
|
|
8
8
|
recordAutoRun
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-4BKSE3CG.js";
|
|
10
10
|
import {
|
|
11
11
|
installer,
|
|
12
12
|
latest,
|
|
13
13
|
upgradeCommand
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-K4WCDPDL.js";
|
|
15
15
|
import {
|
|
16
16
|
mcpOwnerAllowed,
|
|
17
17
|
readOnlyAvailability,
|
|
18
18
|
refuseWritesUnderLock
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-5Q534L4I.js";
|
|
20
20
|
import {
|
|
21
21
|
answers,
|
|
22
22
|
atDetail,
|
|
@@ -27,7 +27,7 @@ import {
|
|
|
27
27
|
trackAnswers,
|
|
28
28
|
wholeList,
|
|
29
29
|
withStore
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-YVJAD5E7.js";
|
|
31
31
|
import {
|
|
32
32
|
ATTACHMENT_CHARS,
|
|
33
33
|
DIALECTS,
|
|
@@ -39,6 +39,7 @@ import {
|
|
|
39
39
|
configPath,
|
|
40
40
|
decisionPolicy,
|
|
41
41
|
dialectOf,
|
|
42
|
+
grantedLevel,
|
|
42
43
|
hitText,
|
|
43
44
|
inspectConfig,
|
|
44
45
|
isReference,
|
|
@@ -58,7 +59,7 @@ import {
|
|
|
58
59
|
showMail,
|
|
59
60
|
unsetConfigKey,
|
|
60
61
|
updateConfig
|
|
61
|
-
} from "./chunk-
|
|
62
|
+
} from "./chunk-GNHDE7FH.js";
|
|
62
63
|
import "./chunk-QP3KNC5D.js";
|
|
63
64
|
import "./chunk-FWRBJAQZ.js";
|
|
64
65
|
import "./chunk-MWAXS4BX.js";
|
|
@@ -66,7 +67,7 @@ import "./chunk-PKUBC2ME.js";
|
|
|
66
67
|
import {
|
|
67
68
|
errorObject,
|
|
68
69
|
recognisable
|
|
69
|
-
} from "./chunk-
|
|
70
|
+
} from "./chunk-BOMHJR2E.js";
|
|
70
71
|
import {
|
|
71
72
|
AGENT_INPUT_MAX_CHARS,
|
|
72
73
|
DISCOVERY_DESCRIPTIONS,
|
|
@@ -342,7 +343,7 @@ import {
|
|
|
342
343
|
REASONS,
|
|
343
344
|
STORE_CLIENT,
|
|
344
345
|
VERSION
|
|
345
|
-
} from "./chunk-
|
|
346
|
+
} from "./chunk-RSG7BRXI.js";
|
|
346
347
|
import "./chunk-IK6KH3RE.js";
|
|
347
348
|
import "./chunk-SW6C6WH5.js";
|
|
348
349
|
import "./chunk-D72URWJE.js";
|
|
@@ -1670,7 +1671,7 @@ var allowedPage = /* @__PURE__ */ __name(async (ask, limit, shows) => {
|
|
|
1670
1671
|
const { nextOffset: _, ...rest } = first;
|
|
1671
1672
|
return { ...rest, items: items.slice(0, limit), hasMore: items.length > limit || page.hasMore };
|
|
1672
1673
|
}, "allowedPage");
|
|
1673
|
-
var searchEverywhere = /* @__PURE__ */ __name(async (store, env, { text: text3, limit, only, exact, timezone, plainOrder, shows }) => {
|
|
1674
|
+
var searchEverywhere = /* @__PURE__ */ __name(async (store, env, { text: text3, limit, only, crmKinds, exact, timezone, plainOrder, shows }) => {
|
|
1674
1675
|
const accounts = await store.accounts.accounts();
|
|
1675
1676
|
const messenger2 = { app: { ...APP, command: "tg" }, hintCommand: "memo" };
|
|
1676
1677
|
const ask = /* @__PURE__ */ __name((offset) => searchAll(store, MEMO, {
|
|
@@ -1679,6 +1680,7 @@ var searchEverywhere = /* @__PURE__ */ __name(async (store, env, { text: text3,
|
|
|
1679
1680
|
env,
|
|
1680
1681
|
...offset === void 0 ? {} : { offset },
|
|
1681
1682
|
...only === void 0 ? {} : { only },
|
|
1683
|
+
...crmKinds === void 0 ? {} : { crmKinds },
|
|
1682
1684
|
...exact ? { exact: true } : {},
|
|
1683
1685
|
...timezone === void 0 ? {} : { timezone }
|
|
1684
1686
|
}, messenger2, (query) => searchStore(store, MEMO, query, messenger2), meaningLane({ env, store: /* @__PURE__ */ __name(async () => store, "store"), messenger: { app: { command: "memo" } } })), "ask");
|
|
@@ -3495,7 +3497,7 @@ var search = [
|
|
|
3495
3497
|
command: ["search", "all"],
|
|
3496
3498
|
field: "description",
|
|
3497
3499
|
before: "search messenger messages and notes in the local store, calendar events when the store holds a calendar, and a meeting account's transcripts when --source names one \u2014 best match first; not mail (the separate memo CLI searches it: memo search mail), tasks, people, memories or projects. Use it when you do not know where something was written; search messages or notes reads one kind with all its fields",
|
|
3498
|
-
after: "messages, mail, notes
|
|
3500
|
+
after: "messages, mail, notes, calendar events, deals, leads and business data ranked together; not people, memories, projects or decisions. A kind you know reads better with its own search, with all its fields",
|
|
3499
3501
|
reason: "Memo searches imported accounts, mail and native notes without a live messenger; its scope, ranking and output controls are explicit provider differences."
|
|
3500
3502
|
},
|
|
3501
3503
|
{
|
|
@@ -3614,7 +3616,7 @@ var search = [
|
|
|
3614
3616
|
},
|
|
3615
3617
|
{
|
|
3616
3618
|
flags: "--only <resources>",
|
|
3617
|
-
description: "messages,mail,notes,events, separated by commas",
|
|
3619
|
+
description: "messages,mail,notes,events,crm,business, separated by commas",
|
|
3618
3620
|
takes_value: true,
|
|
3619
3621
|
mandatory: false
|
|
3620
3622
|
},
|
|
@@ -6974,7 +6976,7 @@ var mcpCommandDefinition = /* @__PURE__ */ __name((program, streams, env, create
|
|
|
6974
6976
|
}).summary("serve this profile's commands to an AI agent").description("serve memo commands over MCP on stdio or authenticated HTTP, limited by saved permissions").option("--permission <key=level>", "tighten one saved permission for this server; repeat for more keys", (value, previous = []) => [...previous, value]).option("--http", "serve on 127.0.0.1 behind an HTTPS tunnel with an owner access-code login").option("--port <port>", `local HTTP port (default ${DEFAULT_PORT}); requires --http`).option("--public-url <url>", "tunnel's HTTPS address without /mcp, or a path of it such as https://<name>.ts.net/memo; requires --http").action(async (options) => {
|
|
6975
6977
|
if (!options.http && (options.port !== void 0 || options.publicUrl !== void 0))
|
|
6976
6978
|
throw new CliError("validation_error", "--port and --public-url require --http");
|
|
6977
|
-
const { createMemoServer } = await import("./server-
|
|
6979
|
+
const { createMemoServer } = await import("./server-I5BPRS5C.js");
|
|
6978
6980
|
const build = /* @__PURE__ */ __name(() => createMemoServer(env, createProgram2, options.permission), "build");
|
|
6979
6981
|
if (options.http) {
|
|
6980
6982
|
const { httpLockFile, mcpUrlOf, portOf, publicUrlOf, serveOverHttp } = await import("./mcp-Y4XMDC5Q.js");
|
|
@@ -9604,10 +9606,11 @@ var peopleText = /* @__PURE__ */ __name((found) => found.items.map((hit) => [
|
|
|
9604
9606
|
].join("\n")).join("\n") || "nobody found", "peopleText");
|
|
9605
9607
|
|
|
9606
9608
|
// dist/search/command.js
|
|
9609
|
+
var ONLY = ["messages", "mail", "notes", "events", "crm", "business"];
|
|
9607
9610
|
var onlyOf2 = /* @__PURE__ */ __name((value) => {
|
|
9608
9611
|
const selected = value.split(",").map((part) => part.trim());
|
|
9609
|
-
if (!selected.length || selected.some((part) => !
|
|
9610
|
-
throw new InvalidArgumentError(
|
|
9612
|
+
if (!selected.length || selected.some((part) => !ONLY.includes(part)))
|
|
9613
|
+
throw new InvalidArgumentError(`choose ${ONLY.join(",")}, separated by commas`);
|
|
9611
9614
|
return [...new Set(selected)];
|
|
9612
9615
|
}, "onlyOf");
|
|
9613
9616
|
var levelOf = /* @__PURE__ */ __name(({ brief, full }) => {
|
|
@@ -9626,9 +9629,11 @@ var searchCommandDefinition = /* @__PURE__ */ __name((program, streams, env) =>
|
|
|
9626
9629
|
throw new InvalidArgumentError("at most 100");
|
|
9627
9630
|
return limit;
|
|
9628
9631
|
}, 20).option("--exact", "words as written; skip meaning search").option("--timezone <zone>", "IANA timezone for calendar date boundaries").option("--json", "print JSON; --json=id,title keeps only those fields"), "queryOptions");
|
|
9629
|
-
queryOptions(annotate(group.command("all"), { effects: LOCAL_READ, output: { entity: "hit" } }).description("messages, mail, notes
|
|
9632
|
+
queryOptions(annotate(group.command("all"), { effects: LOCAL_READ, output: { entity: "hit" } }).description("messages, mail, notes, calendar events, deals, leads and business data ranked together; not people, memories, projects or decisions. A kind you know reads better with its own search, with all its fields").summary("messages, mail, notes and calendar events ranked together")).option("--only <resources>", `${ONLY.join(",")}, separated by commas`, onlyOf2).option("--plain-order", "best first by the words alone, without moving mail from suspicious senders down").option("--project <project>", PROJECT_ORDER_HELP).addHelpText("after", `
|
|
9630
9633
|
content: narrows a search to the text of files, transcript: to voice transcripts, filename: to file names \u2014 memo search all 'content:invoice'.
|
|
9631
9634
|
Calendar events come from every calendar gcal stored; an event's title, description and place are written by whoever sent the invitation.
|
|
9635
|
+
crm finds deals and leads by the words of their title only.
|
|
9636
|
+
business finds invoices, payments, orders, contracts, subscriptions, products and wallets by the words of their numbers and names.
|
|
9632
9637
|
--json: the list is items, each a hit as in tg search all: ref, kind, title, timestamp, excerpt.`).action(async (words, options, command) => {
|
|
9633
9638
|
const gate = lanesFor(command, options.only);
|
|
9634
9639
|
const answer = await withStore(env, async (store) => {
|
|
@@ -9637,6 +9642,7 @@ Calendar events come from every calendar gcal stored; an event's title, descript
|
|
|
9637
9642
|
limit: options.limit,
|
|
9638
9643
|
...gate.only === void 0 ? {} : { only: gate.only },
|
|
9639
9644
|
...gate.shows === void 0 ? {} : { shows: gate.shows },
|
|
9645
|
+
...gate.crmKinds === void 0 ? {} : { crmKinds: gate.crmKinds },
|
|
9640
9646
|
...options.exact ? { exact: true } : {},
|
|
9641
9647
|
...options.plainOrder ? { plainOrder: true } : {},
|
|
9642
9648
|
...options.timezone === void 0 ? {} : { timezone: options.timezone }
|
|
@@ -9754,8 +9760,25 @@ var LOCAL_OPENS = {
|
|
|
9754
9760
|
task: ["memo", "tasks", "show"],
|
|
9755
9761
|
fact: ["memo", "facts", "show"],
|
|
9756
9762
|
memory: ["memo", "memories", "show"],
|
|
9757
|
-
message: ["memo", "messages", "show"]
|
|
9763
|
+
message: ["memo", "messages", "show"],
|
|
9764
|
+
invoice: ["memo", "invoices", "show"],
|
|
9765
|
+
payment: ["memo", "payments", "show"],
|
|
9766
|
+
order: ["memo", "orders", "show"],
|
|
9767
|
+
deal: ["memo", "deals", "show"],
|
|
9768
|
+
lead: ["memo", "leads", "show"],
|
|
9769
|
+
pipeline: ["memo", "pipelines", "show"]
|
|
9758
9770
|
};
|
|
9771
|
+
var openKeyOf = /* @__PURE__ */ __name((kind) => LOCAL_OPENS[kind]?.slice(1).join("."), "openKeyOf");
|
|
9772
|
+
var refuseDenied = /* @__PURE__ */ __name((command, summaries) => {
|
|
9773
|
+
for (const { ref, kind } of summaries) {
|
|
9774
|
+
const key = openKeyOf(kind);
|
|
9775
|
+
if (key !== void 0 && grantedLevel(command, key) === "deny")
|
|
9776
|
+
throw new CliError("permission_error", `${ref}: memo's MCP server denies ${key}`, {
|
|
9777
|
+
reason: "access.denied",
|
|
9778
|
+
permission: key
|
|
9779
|
+
});
|
|
9780
|
+
}
|
|
9781
|
+
}, "refuseDenied");
|
|
9759
9782
|
var OTHERS = /* @__PURE__ */ new Set(["message", "chat", "contact", "email", "email_thread", "document", "event", "meeting", "bot"]);
|
|
9760
9783
|
var ACCOUNT_KEY = /^[a-z][a-z-]*:\S+$/;
|
|
9761
9784
|
var taskOpen = /* @__PURE__ */ __name((summary, open) => {
|
|
@@ -9773,7 +9796,7 @@ var profilesFor = /* @__PURE__ */ __name((env) => (provider, account2) => {
|
|
|
9773
9796
|
return { why: `${provider} names no account here`, profiles: [] };
|
|
9774
9797
|
return profileFor(provider, account2, env) ?? { why: `memo cannot read which profiles ${provider} has`, profiles: [] };
|
|
9775
9798
|
}, "profilesFor");
|
|
9776
|
-
var showReferences = /* @__PURE__ */ __name(async (store, env, texts) => {
|
|
9799
|
+
var showReferences = /* @__PURE__ */ __name(async (store, env, texts, command) => {
|
|
9777
9800
|
if (texts.length > MAX_REFS)
|
|
9778
9801
|
throw new CliError("validation_error", `at most ${MAX_REFS} references at once`);
|
|
9779
9802
|
for (const text3 of texts)
|
|
@@ -9781,6 +9804,8 @@ var showReferences = /* @__PURE__ */ __name(async (store, env, texts) => {
|
|
|
9781
9804
|
for (const text3 of texts)
|
|
9782
9805
|
parseReference(text3);
|
|
9783
9806
|
const summaries = await store.refs.summaries(texts);
|
|
9807
|
+
if (command !== void 0)
|
|
9808
|
+
refuseDenied(command, [...summaries.values()]);
|
|
9784
9809
|
const ports = { profilesFor: profilesFor(env), local: LOCAL_OPENS };
|
|
9785
9810
|
return texts.map((text3) => {
|
|
9786
9811
|
const summary = summaries.get(text3) ?? {
|
|
@@ -9818,8 +9843,8 @@ var blockOf = /* @__PURE__ */ __name((one2) => [
|
|
|
9818
9843
|
].join("\n"), "blockOf");
|
|
9819
9844
|
var showCommand = /* @__PURE__ */ __name((program, streams, env) => {
|
|
9820
9845
|
const { print } = answers(program, streams, env);
|
|
9821
|
-
annotate(program.command("show"), { effects: LOCAL_READ, partial: true }).description("what any reference names, and the command that opens it").argument("<ref...>", "1 to 100 references any WireCat CLI printed: chat:, msg:, note:, document:, person:, task:\u2026").option("--json", "print JSON; --json=ref,title keeps only those fields").action(async (refs, options) => {
|
|
9822
|
-
const items = await withStore(env, (store) => showReferences(store, env, refs));
|
|
9846
|
+
annotate(program.command("show"), { effects: LOCAL_READ, partial: true }).description("what any reference names, and the command that opens it").argument("<ref...>", "1 to 100 references any WireCat CLI printed: chat:, msg:, note:, document:, person:, task:\u2026").option("--json", "print JSON; --json=ref,title keeps only those fields").action(async (refs, options, command) => {
|
|
9847
|
+
const items = await withStore(env, (store) => showReferences(store, env, refs, command));
|
|
9823
9848
|
const gone = items.filter((one2) => one2.state !== "available");
|
|
9824
9849
|
const body = wholeList("show", items);
|
|
9825
9850
|
if (gone.length > 0) {
|
|
@@ -6,20 +6,20 @@ import {
|
|
|
6
6
|
memoLevels,
|
|
7
7
|
readOnly,
|
|
8
8
|
refuseUnknownPermissions
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-5Q534L4I.js";
|
|
10
10
|
import {
|
|
11
11
|
itemAnswer
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-YVJAD5E7.js";
|
|
13
13
|
import {
|
|
14
14
|
grantLevels
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-GNHDE7FH.js";
|
|
16
16
|
import "./chunk-QP3KNC5D.js";
|
|
17
17
|
import "./chunk-OXBETHGN.js";
|
|
18
18
|
import {
|
|
19
19
|
errorObject,
|
|
20
20
|
mcpFailure,
|
|
21
21
|
throwParseFailures
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-BOMHJR2E.js";
|
|
23
23
|
import "./chunk-TBSWOVM3.js";
|
|
24
24
|
import "./chunk-RLX5SC2X.js";
|
|
25
25
|
import "./chunk-FG4Q6T72.js";
|
|
@@ -91,7 +91,7 @@ import {
|
|
|
91
91
|
APP,
|
|
92
92
|
STORE_CLIENT,
|
|
93
93
|
VERSION
|
|
94
|
-
} from "./chunk-
|
|
94
|
+
} from "./chunk-RSG7BRXI.js";
|
|
95
95
|
import "./chunk-IK6KH3RE.js";
|
|
96
96
|
import "./chunk-SW6C6WH5.js";
|
|
97
97
|
import "./chunk-D72URWJE.js";
|
|
@@ -7,8 +7,8 @@ import {
|
|
|
7
7
|
runUpdate,
|
|
8
8
|
updateNotice,
|
|
9
9
|
upgradeCommand
|
|
10
|
-
} from "./chunk-
|
|
11
|
-
import "./chunk-
|
|
10
|
+
} from "./chunk-K4WCDPDL.js";
|
|
11
|
+
import "./chunk-GNHDE7FH.js";
|
|
12
12
|
import "./chunk-QP3KNC5D.js";
|
|
13
13
|
import "./chunk-TBSWOVM3.js";
|
|
14
14
|
import "./chunk-RLX5SC2X.js";
|
|
@@ -46,7 +46,7 @@ import "./chunk-VX4HNQLN.js";
|
|
|
46
46
|
import "./chunk-K5VF47E2.js";
|
|
47
47
|
import "./chunk-347UBASY.js";
|
|
48
48
|
import "./chunk-NZJUMLTD.js";
|
|
49
|
-
import "./chunk-
|
|
49
|
+
import "./chunk-RSG7BRXI.js";
|
|
50
50
|
import "./chunk-IK6KH3RE.js";
|
|
51
51
|
import "./chunk-SW6C6WH5.js";
|
|
52
52
|
import "./chunk-D72URWJE.js";
|
|
@@ -32,7 +32,7 @@ export const search = [
|
|
|
32
32
|
command: ["search", "all"],
|
|
33
33
|
field: "description",
|
|
34
34
|
before: "search messenger messages and notes in the local store, calendar events when the store holds a calendar, and a meeting account's transcripts when --source names one — best match first; not mail (the separate memo CLI searches it: memo search mail), tasks, people, memories or projects. Use it when you do not know where something was written; search messages or notes reads one kind with all its fields",
|
|
35
|
-
after: "messages, mail, notes
|
|
35
|
+
after: "messages, mail, notes, calendar events, deals, leads and business data ranked together; not people, memories, projects or decisions. A kind you know reads better with its own search, with all its fields",
|
|
36
36
|
reason: "Memo searches imported accounts, mail and native notes without a live messenger; its scope, ranking and output controls are explicit provider differences.",
|
|
37
37
|
},
|
|
38
38
|
{
|
|
@@ -151,7 +151,7 @@ export const search = [
|
|
|
151
151
|
},
|
|
152
152
|
{
|
|
153
153
|
flags: "--only <resources>",
|
|
154
|
-
description: "messages,mail,notes,events, separated by commas",
|
|
154
|
+
description: "messages,mail,notes,events,crm,business, separated by commas",
|
|
155
155
|
takes_value: true,
|
|
156
156
|
mandatory: false,
|
|
157
157
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/contract-overrides/search.ts"],"names":[],"mappings":"AAEA,gFAAgF;AAChF,MAAM,CAAC,MAAM,MAAM,GAAsC;IACvD;QACE,OAAO,EAAE,CAAC,QAAQ,CAAC;QACnB,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,0BAA0B;QAClC,KAAK,EAAE,IAAI;QACX,MAAM,EACJ,4JAA4J;KAC/J;IACD;QACE,OAAO,EAAE,CAAC,QAAQ,CAAC;QACnB,KAAK,EAAE,aAAa;QACpB,MAAM,EACJ,kKAAkK;QACpK,KAAK,EAAE,iFAAiF;QACxF,MAAM,EACJ,4JAA4J;KAC/J;IACD;QACE,OAAO,EAAE,CAAC,QAAQ,CAAC;QACnB,KAAK,EAAE,UAAU;QACjB,MAAM,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,CAAC;QAC7D,KAAK,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC;QACnC,MAAM,EACJ,4JAA4J;KAC/J;IACD;QACE,OAAO,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC;QAC1B,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,iFAAiF;QACzF,KAAK,EAAE,2DAA2D;QAClE,MAAM,EACJ,4JAA4J;KAC/J;IACD;QACE,OAAO,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC;QAC1B,KAAK,EAAE,aAAa;QACpB,MAAM,EACJ,oZAAoZ;QACtZ,KAAK,EACH
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/contract-overrides/search.ts"],"names":[],"mappings":"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"}
|