@wirecat/cli-memo 0.131.25 → 0.131.26
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/actions/actions.d.ts +1 -1
- package/dist/actions/actions.d.ts.map +1 -1
- package/dist/actions/actions.js +27 -8
- package/dist/actions/actions.js.map +1 -1
- package/dist/actions/command.d.ts +1 -1
- package/dist/actions/command.d.ts.map +1 -1
- package/dist/actions/command.js +1 -12
- package/dist/actions/command.js.map +1 -1
- package/dist/bin/memo.js +2 -2
- package/dist/bundle/{all-profiles-L2T7PQ7S.js → all-profiles-VULFSNYE.js} +5 -5
- package/dist/bundle/{anthropic-KWI2B4O2.js → anthropic-VXQ6ST2U.js} +3 -3
- package/dist/bundle/{app-server-GLDIS3HE.js → app-server-HQPELIPY.js} +35 -35
- package/dist/bundle/auto-3R4RFJGK.js +86 -0
- package/dist/bundle/{bun-SMKYTOGI.js → bun-2NMWL5YB.js} +2 -2
- package/dist/bundle/{bun-sqlite-PKY3JXMR.js → bun-sqlite-CT544OXO.js} +2 -2
- package/dist/bundle/{chunk-T3R6QHD2.js → chunk-254TXVLA.js} +1 -1
- package/dist/bundle/{chunk-VZ3K7IYC.js → chunk-2ND2XYME.js} +12 -9
- package/dist/bundle/{chunk-JVNSHN2J.js → chunk-3CVDHJER.js} +1 -1
- package/dist/bundle/{chunk-6OP743NB.js → chunk-3ZJE5TIG.js} +1 -1
- package/dist/bundle/{chunk-MZS3LIMW.js → chunk-4ENVJFRM.js} +27 -27
- package/dist/bundle/{chunk-KFZGI7BU.js → chunk-5FPQGUJA.js} +1 -1
- package/dist/bundle/{chunk-ENU2556X.js → chunk-6PRRZC7Z.js} +1 -1
- package/dist/bundle/{chunk-I5LIEFQR.js → chunk-6TJCRDNZ.js} +3 -3
- package/dist/bundle/{chunk-FS3ABWVX.js → chunk-7ISENDNK.js} +10 -10
- package/dist/bundle/{chunk-5ANNUWNM.js → chunk-7LMTWOTP.js} +1 -1
- package/dist/bundle/{chunk-XFDE6AL4.js → chunk-A4NZ2XOG.js} +7 -7
- package/dist/bundle/{chunk-WHVH72AD.js → chunk-A6PITALJ.js} +3 -1
- package/dist/bundle/{chunk-JLBKAIVT.js → chunk-AGMYCYSG.js} +150 -150
- package/dist/bundle/{chunk-ERQHZZNF.js → chunk-ARDUJR5Z.js} +1 -1
- package/dist/bundle/{chunk-NFTWNCEL.js → chunk-BELLQAWL.js} +7 -7
- package/dist/bundle/{chunk-D5ZV7PRP.js → chunk-BO4FN4UB.js} +2 -2
- package/dist/bundle/{chunk-UQS6Y2A7.js → chunk-CRC3AW6N.js} +2 -2
- package/dist/bundle/{chunk-EFTJ4RTT.js → chunk-CUWI6JIX.js} +5 -5
- package/dist/bundle/{chunk-ZVEGLXYB.js → chunk-CW3NJ764.js} +4 -4
- package/dist/bundle/{chunk-EEVUVWHW.js → chunk-DKKWZMR7.js} +1 -1
- package/dist/bundle/{chunk-QOWGFGG3.js → chunk-DUHXWFCB.js} +4 -4
- package/dist/bundle/{chunk-OGMTUMB7.js → chunk-FHY664YS.js} +3 -3
- package/dist/bundle/{chunk-MAUKGKRA.js → chunk-GJBK3M6X.js} +28 -4
- package/dist/bundle/{chunk-MWX7UJCL.js → chunk-GOEHJK2R.js} +4 -4
- package/dist/bundle/{chunk-5SKYUS4U.js → chunk-GPYGMETC.js} +284 -279
- package/dist/bundle/{chunk-PCT2CIYR.js → chunk-H6O6IQND.js} +3 -3
- package/dist/bundle/{chunk-UWUP3A5H.js → chunk-HN3EDDVX.js} +12 -12
- package/dist/bundle/{chunk-POXCMAM7.js → chunk-HVVBSM2C.js} +601 -396
- package/dist/bundle/{chunk-4AONXXP2.js → chunk-IJ34FAES.js} +11 -11
- package/dist/bundle/{chunk-LFNJ6CG6.js → chunk-IUM5XZWV.js} +5 -5
- package/dist/bundle/{chunk-QA674BMY.js → chunk-J57DDKF4.js} +1 -1
- package/dist/bundle/{chunk-RKLZQVKL.js → chunk-KFDPW2AR.js} +2 -2
- package/dist/bundle/{chunk-ILUTSRU3.js → chunk-KMZRXGTF.js} +1 -1
- package/dist/bundle/{chunk-ZUV337F2.js → chunk-KTDNFSXC.js} +20 -20
- package/dist/bundle/{chunk-7Y6O4UQB.js → chunk-LJZFMXDC.js} +20 -20
- package/dist/bundle/{chunk-E2WPSRCI.js → chunk-LMN7SYX4.js} +1 -1
- package/dist/bundle/{chunk-J7T6RSR5.js → chunk-M4QN77GH.js} +3 -3
- package/dist/bundle/{chunk-SBMBBVXF.js → chunk-M6O4DH5F.js} +1 -1
- package/dist/bundle/{chunk-INA5WGY7.js → chunk-MQAHMAJB.js} +1 -1
- package/dist/bundle/{chunk-RTII6JWI.js → chunk-NAM2Y63Z.js} +2 -2
- package/dist/bundle/{chunk-ZLB2CM7Z.js → chunk-NH2JSH24.js} +4 -4
- package/dist/bundle/{chunk-5GMOYTJQ.js → chunk-OYB3FUYQ.js} +1 -1
- package/dist/bundle/{chunk-YMAS7U5X.js → chunk-PWA3RNXN.js} +256 -257
- package/dist/bundle/{chunk-VGYXKQJE.js → chunk-QFW4MJIH.js} +219 -221
- package/dist/bundle/{chunk-ON5SHKHB.js → chunk-QKQ7A4L7.js} +43 -43
- package/dist/bundle/{chunk-QYDCVWD4.js → chunk-S3RBWUUA.js} +5 -5
- package/dist/bundle/{chunk-BNF2ZUNS.js → chunk-SY7M2DLJ.js} +8 -8
- package/dist/bundle/{chunk-5JYB6QKS.js → chunk-TKVRZZE3.js} +1 -13
- package/dist/bundle/{chunk-SW5YJCHC.js → chunk-TPFWNOPG.js} +4 -4
- package/dist/bundle/{chunk-JDDLDKC7.js → chunk-TXANQZEG.js} +2 -2
- package/dist/bundle/{chunk-BX7DVBWD.js → chunk-UZXCBBDC.js} +9 -9
- package/dist/bundle/{chunk-ZKZT6PCF.js → chunk-VL3YCTZD.js} +6 -6
- package/dist/bundle/{chunk-H5QHU5LZ.js → chunk-WRZ7JDA2.js} +5 -5
- package/dist/bundle/{chunk-IE27DJP3.js → chunk-XKGXVVYV.js} +4 -4
- package/dist/bundle/{chunk-QJJSMLBR.js → chunk-YFBKS5BW.js} +2 -2
- package/dist/bundle/{chunk-47EZNSMD.js → chunk-Z3YGDBBS.js} +2 -2
- package/dist/bundle/{chunk-WGHQXJHL.js → chunk-ZR3BPBS6.js} +7 -7
- package/dist/bundle/{command-contract-47EKA67S.js → command-contract-RQMIQKBS.js} +11 -11
- package/dist/bundle/{decode-EEDEXCHR.js → decode-7VB3CHK2.js} +2 -2
- package/dist/bundle/{echarts-36MD3UZF.js → echarts-45D6USAX.js} +2 -2
- package/dist/bundle/{embed-R6JZ4CDW.js → embed-KU2RGB24.js} +3 -3
- package/dist/bundle/{embedder-XUIOKCH6.js → embedder-E7YZDZ5Y.js} +6 -6
- package/dist/bundle/{entry-WOAZRQ5F.js → entry-N42HJMIN.js} +4 -4
- package/dist/bundle/failure-R355OCVE.js +66 -0
- package/dist/bundle/{first-run-3ZUSIFQJ.js → first-run-Y5YNAAO3.js} +5 -5
- package/dist/bundle/{first-screen-WQ2IDXDP.js → first-screen-SNPGBQFZ.js} +12 -12
- package/dist/bundle/{instructions-7VMPJMUM.js → instructions-6EFSPC7C.js} +1 -1
- package/dist/bundle/{mcp-I7LL7AJG.js → mcp-6Z7UKX7E.js} +35 -35
- package/dist/bundle/memo.js +6 -6
- package/dist/bundle/{node-SBHCG4ZC.js → node-OXC26QXO.js} +2 -2
- package/dist/bundle/{node-sqlite-EMKROM5U.js → node-sqlite-FNTICDEN.js} +3 -3
- package/dist/bundle/{oauth-OJPTUA5K.js → oauth-4JFOFCBB.js} +4 -4
- package/dist/bundle/{open-XI2AVS5B.js → open-WXFCCY7S.js} +2 -2
- package/dist/bundle/{openai-NCYTRZB6.js → openai-TPQKQNM7.js} +7 -7
- package/dist/bundle/{process-373B2EBA.js → process-YWPAOI6G.js} +1 -1
- package/dist/bundle/{program-VW7IJ755.js → program-WFUPN7XO.js} +560 -660
- package/dist/bundle/{prompt-L3KQBPNH.js → prompt-HJUH4EP4.js} +2 -2
- package/dist/bundle/{recognize-GFWZX4F6.js → recognize-DAIRHALM.js} +1 -1
- package/dist/bundle/{remote-5IGAYQBB.js → remote-MJLWTLAX.js} +4 -4
- package/dist/bundle/{rerank-6HWHGDFX.js → rerank-VAK5HSJE.js} +4 -4
- package/dist/bundle/{serve-AA7RKEOM.js → serve-M2A66WOW.js} +6 -6
- package/dist/bundle/server-33FB7QXW.js +48 -0
- package/dist/bundle/server-AIPDQO57.js +61 -0
- package/dist/bundle/{server-Z6L4U6HO.js → server-NN2CBVSX.js} +50 -50
- package/dist/bundle/{state-3WTPOBXR.js → state-6TBUXJOX.js} +3 -3
- package/dist/bundle/{store-LNP5BXUL.js → store-TJCL3QBY.js} +9 -9
- package/dist/bundle/store-maintenance-command-NKJV5A3G.js +48 -0
- package/dist/bundle/update-OXR3SNM2.js +69 -0
- package/dist/config.d.ts +13 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +21 -1
- package/dist/config.js.map +1 -1
- package/dist/context/command.d.ts.map +1 -1
- package/dist/context/command.js +6 -2
- package/dist/context/command.js.map +1 -1
- package/dist/context/context.d.ts +2 -0
- package/dist/context/context.d.ts.map +1 -1
- package/dist/context/context.js +15 -0
- package/dist/context/context.js.map +1 -1
- package/dist/examples.d.ts.map +1 -1
- package/dist/examples.js +2 -1
- package/dist/examples.js.map +1 -1
- package/dist/mail/messages-command.d.ts.map +1 -1
- package/dist/mail/messages-command.js +9 -2
- package/dist/mail/messages-command.js.map +1 -1
- package/dist/mail/review-command.d.ts.map +1 -1
- package/dist/mail/review-command.js +5 -8
- package/dist/mail/review-command.js.map +1 -1
- package/dist/reasons.d.ts.map +1 -1
- package/dist/reasons.js +0 -12
- package/dist/reasons.js.map +1 -1
- package/dist/review/command.d.ts +0 -1
- package/dist/review/command.d.ts.map +1 -1
- package/dist/review/command.js +2 -10
- package/dist/review/command.js.map +1 -1
- package/dist/review/kinds.d.ts +4 -21
- package/dist/review/kinds.d.ts.map +1 -1
- package/dist/review/kinds.js +13 -174
- package/dist/review/kinds.js.map +1 -1
- package/dist/review/review.js +2 -2
- package/dist/review/review.js.map +1 -1
- package/dist/review/status.js +2 -2
- package/dist/review/status.js.map +1 -1
- package/dist/schedule/command.d.ts +2 -2
- package/dist/schedule/command.d.ts.map +1 -1
- package/dist/schedule/command.js +9 -4
- package/dist/schedule/command.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +2 -2
- package/skills/mail-triage/SKILL.md +19 -11
- package/dist/bundle/auto-QFG57LR6.js +0 -86
- package/dist/bundle/failure-BHRE5S75.js +0 -66
- package/dist/bundle/server-MWUCYBJF.js +0 -61
- package/dist/bundle/server-XEY5AKKG.js +0 -48
- package/dist/bundle/store-maintenance-command-6HEGTKPL.js +0 -48
- package/dist/bundle/update-6GWVILUX.js +0 -69
- /package/dist/bundle/{chunk-MNDLWYNQ.js → chunk-DF7NE4ZG.js} +0 -0
|
@@ -311,8 +311,8 @@ var queryFieldsOf = /* @__PURE__ */ __name((schema, annotations = {}) => {
|
|
|
311
311
|
|
|
312
312
|
// node_modules/.pnpm/@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_typescript@7.0.2_vitest@5.0.5/node_modules/@wirecat/cli-base/dist/query/help.js
|
|
313
313
|
var shownOf = /* @__PURE__ */ __name((registry) => registry.backend === "native" ? registry.fields.filter((field) => field.native) : registry.fields, "shownOf");
|
|
314
|
-
var leftOut = /* @__PURE__ */ __name((
|
|
315
|
-
var has = /* @__PURE__ */ __name((
|
|
314
|
+
var leftOut = /* @__PURE__ */ __name((fields) => fields.filter((field) => field.negatable).map((field) => field.name), "leftOut");
|
|
315
|
+
var has = /* @__PURE__ */ __name((fields, operator) => fields.some((field) => field.operators.includes(operator)), "has");
|
|
316
316
|
var syntaxOf = /* @__PURE__ */ __name((shown, backend) => [
|
|
317
317
|
"field:value",
|
|
318
318
|
...has(shown, "phrase") ? ['"a phrase"'] : [],
|
|
@@ -341,9 +341,9 @@ var queryDescription = /* @__PURE__ */ __name((registry) => {
|
|
|
341
341
|
return "field:value terms; this list filters by none yet, so any term is refused";
|
|
342
342
|
const negatable = leftOut(shown);
|
|
343
343
|
const terms = registry.backend === "native" ? `field:value terms joined by AND that narrow the list${negatable.length > 0 ? `; -field:value or NOT field:value leaves out what matches, for ${negatable.join(", ")} only` : ""}` : `field:value terms that narrow the list (Lucene: AND OR NOT, -field:value${has(shown, "range") ? ", [a TO b], > <" : ""})`;
|
|
344
|
-
const
|
|
344
|
+
const fields = shown.map((field) => field.values ? `${field.name} (${field.values.join("|")})` : field.name);
|
|
345
345
|
const defaults = registry.defaults?.length ? `; unless named: ${registry.defaults.join(" ")}` : "";
|
|
346
|
-
return `${terms}; fields: ${
|
|
346
|
+
return `${terms}; fields: ${fields.join(", ")}; e.g. ${shown[0]?.example ?? ""}${defaults}`;
|
|
347
347
|
}, "queryDescription");
|
|
348
348
|
|
|
349
349
|
// node_modules/.pnpm/@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_typescript@7.0.2_vitest@5.0.5/node_modules/@wirecat/cli-base/dist/query/parser.js
|
|
@@ -389,13 +389,13 @@ var decodeEscapes = /* @__PURE__ */ __name((raw, span, fail) => {
|
|
|
389
389
|
}
|
|
390
390
|
return out;
|
|
391
391
|
}, "decodeEscapes");
|
|
392
|
-
var tokensOf = /* @__PURE__ */ __name((
|
|
392
|
+
var tokensOf = /* @__PURE__ */ __name((text5, fail = queryError) => {
|
|
393
393
|
const tokens = [];
|
|
394
394
|
let at = 0;
|
|
395
395
|
let range = false;
|
|
396
|
-
while (at <
|
|
396
|
+
while (at < text5.length) {
|
|
397
397
|
const start = at;
|
|
398
|
-
const c =
|
|
398
|
+
const c = text5[at] ?? "";
|
|
399
399
|
if (whitespace(c)) {
|
|
400
400
|
at++;
|
|
401
401
|
continue;
|
|
@@ -403,30 +403,30 @@ var tokensOf = /* @__PURE__ */ __name((text6, fail = queryError) => {
|
|
|
403
403
|
let kind = c;
|
|
404
404
|
if (c === '"' || !range && c === "/") {
|
|
405
405
|
at++;
|
|
406
|
-
while (at <
|
|
407
|
-
if (
|
|
406
|
+
while (at < text5.length && text5[at] !== c) {
|
|
407
|
+
if (text5[at] === "\\" && (c === '"' || text5[at + 1] === "/"))
|
|
408
408
|
at++;
|
|
409
409
|
at++;
|
|
410
410
|
}
|
|
411
|
-
if (at >=
|
|
412
|
-
fail("query.unclosed-literal", { start, end: at }, c === "/" ? regexHint(
|
|
411
|
+
if (at >= text5.length)
|
|
412
|
+
fail("query.unclosed-literal", { start, end: at }, c === "/" ? regexHint(text5, start) : void 0);
|
|
413
413
|
at++;
|
|
414
|
-
if (c === "/" && /^[dgimsuvy]+(?:$|[ \t\n\r)])/.test(
|
|
414
|
+
if (c === "/" && /^[dgimsuvy]+(?:$|[ \t\n\r)])/.test(text5.slice(at)))
|
|
415
415
|
fail("query.unsupported-regex-flags", { start: at, end: at + 1 }, "Lucene regex does not take JavaScript flags");
|
|
416
416
|
kind = c === '"' ? "quoted" : "regex";
|
|
417
417
|
} else if (range && c !== "]" && c !== "}") {
|
|
418
|
-
while (at <
|
|
418
|
+
while (at < text5.length && !whitespace(text5[at] ?? "") && !["]", "}"].includes(text5[at] ?? ""))
|
|
419
419
|
at++;
|
|
420
420
|
kind = "rangeValue";
|
|
421
421
|
} else if (reserved.has(c)) {
|
|
422
422
|
if (c === "\\") {
|
|
423
423
|
at += 2;
|
|
424
|
-
while (at <
|
|
424
|
+
while (at < text5.length && !whitespace(text5[at] ?? "") && (!reserved.has(text5[at] ?? "") || ["+", "-"].includes(text5[at] ?? "")))
|
|
425
425
|
at++;
|
|
426
426
|
kind = "term";
|
|
427
427
|
} else {
|
|
428
428
|
at++;
|
|
429
|
-
if ((c === "<" || c === ">") &&
|
|
429
|
+
if ((c === "<" || c === ">") && text5[at] === "=") {
|
|
430
430
|
at++;
|
|
431
431
|
kind += "=";
|
|
432
432
|
}
|
|
@@ -437,15 +437,15 @@ var tokensOf = /* @__PURE__ */ __name((text6, fail = queryError) => {
|
|
|
437
437
|
}
|
|
438
438
|
} else {
|
|
439
439
|
at++;
|
|
440
|
-
while (at <
|
|
441
|
-
const next =
|
|
440
|
+
while (at < text5.length) {
|
|
441
|
+
const next = text5[at] ?? "";
|
|
442
442
|
if (next === "\\") {
|
|
443
|
-
if (at + 1 >=
|
|
443
|
+
if (at + 1 >= text5.length)
|
|
444
444
|
fail("query.invalid-escape", { start: at, end: at + 1 });
|
|
445
445
|
at += 2;
|
|
446
446
|
continue;
|
|
447
447
|
}
|
|
448
|
-
if (next === "@" && new RegExp("^@(?:\\p{L}|[\\p{L}\\p{N}][^\\s@]*\\.[\\p{L}\\p{N}])", "u").test(
|
|
448
|
+
if (next === "@" && new RegExp("^@(?:\\p{L}|[\\p{L}\\p{N}][^\\s@]*\\.[\\p{L}\\p{N}])", "u").test(text5.slice(at))) {
|
|
449
449
|
at++;
|
|
450
450
|
continue;
|
|
451
451
|
}
|
|
@@ -454,19 +454,19 @@ var tokensOf = /* @__PURE__ */ __name((text6, fail = queryError) => {
|
|
|
454
454
|
at++;
|
|
455
455
|
}
|
|
456
456
|
const [field, colon] = tokens.slice(-2);
|
|
457
|
-
if (field?.kind === "term" && colon?.kind === ":" && colon.span.end === start &&
|
|
458
|
-
while (at <
|
|
457
|
+
if (field?.kind === "term" && colon?.kind === ":" && colon.span.end === start && text5[at] === ":" && /^[a-z][a-z_-]*$/u.test(text5.slice(start, at)) && /^:[^\s()"]/u.test(text5.slice(at)))
|
|
458
|
+
while (at < text5.length && !whitespace(text5[at] ?? "") && !["(", ")", '"'].includes(text5[at] ?? ""))
|
|
459
459
|
at++;
|
|
460
|
-
const raw =
|
|
460
|
+
const raw = text5.slice(start, at);
|
|
461
461
|
kind = { AND: "AND", OR: "OR", NOT: "NOT", "&&": "AND", "||": "OR" }[raw] ?? (/^\d+(?:\.\d+)?$/u.test(raw) ? "number" : "term");
|
|
462
462
|
}
|
|
463
|
-
tokens.push({ kind, raw:
|
|
463
|
+
tokens.push({ kind, raw: text5.slice(start, at), span: { start, end: at } });
|
|
464
464
|
}
|
|
465
465
|
tokens.push({ kind: "EOF", raw: "", span: { start: at, end: at } });
|
|
466
466
|
return tokens;
|
|
467
467
|
}, "tokensOf");
|
|
468
|
-
var quoteHint = /* @__PURE__ */ __name((
|
|
469
|
-
for (const match of
|
|
468
|
+
var quoteHint = /* @__PURE__ */ __name((text5, at) => {
|
|
469
|
+
for (const match of text5.matchAll(/(?<=^|[\s(])([\p{L}\p{N}_.-]+):([^\s"()]+)/gu)) {
|
|
470
470
|
const [whole, field, value = ""] = match;
|
|
471
471
|
if (at < match.index || at > match.index + whole.length)
|
|
472
472
|
continue;
|
|
@@ -474,15 +474,15 @@ var quoteHint = /* @__PURE__ */ __name((text6, at) => {
|
|
|
474
474
|
}
|
|
475
475
|
return void 0;
|
|
476
476
|
}, "quoteHint");
|
|
477
|
-
var regexHint = /* @__PURE__ */ __name((
|
|
478
|
-
const word = `${/[^\s()"]*$/u.exec(
|
|
479
|
-
return quoteHint(
|
|
477
|
+
var regexHint = /* @__PURE__ */ __name((text5, at) => {
|
|
478
|
+
const word = `${/[^\s()"]*$/u.exec(text5.slice(0, at))?.[0] ?? ""}${/^[^\s()"]*/u.exec(text5.slice(at))?.[0] ?? ""}`;
|
|
479
|
+
return quoteHint(text5, at) ?? `/ starts a regular expression; put the value in quotes: "${word}"`;
|
|
480
480
|
}, "regexHint");
|
|
481
|
-
var parseLucene = /* @__PURE__ */ __name((
|
|
482
|
-
const fail = /* @__PURE__ */ __name((reason, span, alternative) => queryError(reason, span, alternative ?? quoteHint(
|
|
483
|
-
if (
|
|
484
|
-
fail("query.too-large", { start: 0, end:
|
|
485
|
-
const tokens = tokensOf(
|
|
481
|
+
var parseLucene = /* @__PURE__ */ __name((text5, { defaultField = "text", proximity = false, ...context3 } = {}) => {
|
|
482
|
+
const fail = /* @__PURE__ */ __name((reason, span, alternative) => queryError(reason, span, alternative ?? quoteHint(text5, span.start), context3), "fail");
|
|
483
|
+
if (text5.length > QUERY_LIMITS.bytes || new TextEncoder().encode(text5).length > QUERY_LIMITS.bytes)
|
|
484
|
+
fail("query.too-large", { start: 0, end: text5.length });
|
|
485
|
+
const tokens = tokensOf(text5, fail);
|
|
486
486
|
let at = 0;
|
|
487
487
|
let count6 = 0;
|
|
488
488
|
let depth = 0;
|
|
@@ -648,8 +648,8 @@ var parseLucene = /* @__PURE__ */ __name((text6, { defaultField = "text", proxim
|
|
|
648
648
|
}
|
|
649
649
|
return { version: 1, language: "lucene-v1", root };
|
|
650
650
|
}, "parseLucene");
|
|
651
|
-
var implicitTextTerms = /* @__PURE__ */ __name((
|
|
652
|
-
const tokens = tokensOf(
|
|
651
|
+
var implicitTextTerms = /* @__PURE__ */ __name((text5) => {
|
|
652
|
+
const tokens = tokensOf(text5);
|
|
653
653
|
if (tokens.some(({ kind }) => ["AND", "OR", "NOT", "+", "-", "!", "(", ")"].includes(kind)))
|
|
654
654
|
return /* @__PURE__ */ new Set();
|
|
655
655
|
return new Set(tokens.flatMap((token, index) => (token.kind === "term" || token.kind === "number") && ![":", "=", "<", ">", "<=", ">="].includes(tokens[index - 1]?.kind ?? "") && ![":", "=", "<", ">", "<=", ">="].includes(tokens[index + 1]?.kind ?? "") ? [token.span.start] : []));
|
|
@@ -739,14 +739,14 @@ var describeQuery = /* @__PURE__ */ __name((registry) => ({
|
|
|
739
739
|
}), "describeQuery");
|
|
740
740
|
var exampleProblems = /* @__PURE__ */ __name((registry) => {
|
|
741
741
|
const syntaxOnly = { ...registry, backend: "sql" };
|
|
742
|
-
const problem = /* @__PURE__ */ __name((
|
|
742
|
+
const problem = /* @__PURE__ */ __name((text5, field) => {
|
|
743
743
|
try {
|
|
744
|
-
const named = walkQuery(validateQuery(parseLucene(
|
|
745
|
-
return named.every((node) => node.field === field) ? void 0 : `"${
|
|
744
|
+
const named = walkQuery(validateQuery(parseLucene(text5, { defaultField: "none" }), syntaxOnly).root);
|
|
745
|
+
return named.every((node) => node.field === field) ? void 0 : `"${text5}" does not name ${field}`;
|
|
746
746
|
} catch (failure) {
|
|
747
747
|
if (!isCliError(failure))
|
|
748
748
|
throw failure;
|
|
749
|
-
return `"${
|
|
749
|
+
return `"${text5}": ${failure.message}`;
|
|
750
750
|
}
|
|
751
751
|
}, "problem");
|
|
752
752
|
const defaults = (registry.defaults ?? []).map((term) => {
|
|
@@ -802,7 +802,7 @@ var QUERY_REASONS = defineReasons([
|
|
|
802
802
|
})));
|
|
803
803
|
|
|
804
804
|
// node_modules/.pnpm/@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_typescript@7.0.2_vitest@5.0.5/node_modules/@wirecat/cli-base/dist/query/evaluate.js
|
|
805
|
-
var wordsOf = /* @__PURE__ */ __name((
|
|
805
|
+
var wordsOf = /* @__PURE__ */ __name((text5) => text5.toLowerCase().match(/[\p{L}\p{N}]+/gu) ?? [], "wordsOf");
|
|
806
806
|
var pattern = /* @__PURE__ */ __name((value) => new RegExp(`^${[...value].map((char) => char === "*" ? ".*" : char === "?" ? "." : char.replace(/[.+^${}()|[\]\\]/, "\\$&")).join("")}$`, "iu"), "pattern");
|
|
807
807
|
var present = /* @__PURE__ */ __name((value) => value !== void 0 && value !== null && value !== "", "present");
|
|
808
808
|
var matchOne = /* @__PURE__ */ __name((field, node, value, options) => {
|
|
@@ -810,10 +810,10 @@ var matchOne = /* @__PURE__ */ __name((field, node, value, options) => {
|
|
|
810
810
|
return false;
|
|
811
811
|
if (node.operator === "wildcard" && node.value === "*")
|
|
812
812
|
return true;
|
|
813
|
-
const
|
|
813
|
+
const text5 = String(value);
|
|
814
814
|
switch (field.type) {
|
|
815
815
|
case "txt": {
|
|
816
|
-
const words2 = wordsOf(
|
|
816
|
+
const words2 = wordsOf(text5);
|
|
817
817
|
if (node.operator === "wildcard")
|
|
818
818
|
return words2.some((word) => pattern(node.value).test(word));
|
|
819
819
|
const wanted = wordsOf(node.value);
|
|
@@ -827,13 +827,13 @@ var matchOne = /* @__PURE__ */ __name((field, node, value, options) => {
|
|
|
827
827
|
return (lower === "*" || (lowerInclusive ? number2 >= Number(lower) : number2 > Number(lower))) && (upper === "*" || (upperInclusive ? number2 <= Number(upper) : number2 < Number(upper)));
|
|
828
828
|
}
|
|
829
829
|
case "time": {
|
|
830
|
-
const time = Date.parse(
|
|
830
|
+
const time = Date.parse(text5);
|
|
831
831
|
const [lower, upper, lowerInclusive, upperInclusive] = node.operator === "range" ? [node.value, node.upper ?? "*", node.lower_inclusive ?? true, node.upper_inclusive ?? true] : [node.value, node.value, true, true];
|
|
832
832
|
const range = dateRange(lower, upper, lowerInclusive, upperInclusive, options.zone ?? "UTC", node.span, options.now);
|
|
833
833
|
return (range.lower === void 0 || (range.lower_inclusive ? time >= range.lower : time > range.lower)) && (range.upper === void 0 || (range.upper_inclusive ? time <= range.upper : time < range.upper));
|
|
834
834
|
}
|
|
835
835
|
default:
|
|
836
|
-
return node.operator === "wildcard" ? pattern(node.value).test(
|
|
836
|
+
return node.operator === "wildcard" ? pattern(node.value).test(text5) : text5.toLowerCase() === node.value.toLowerCase();
|
|
837
837
|
}
|
|
838
838
|
}, "matchOne");
|
|
839
839
|
var matches = /* @__PURE__ */ __name((node, item, byName, options) => {
|
|
@@ -854,9 +854,9 @@ var matches = /* @__PURE__ */ __name((node, item, byName, options) => {
|
|
|
854
854
|
const value = item[node.field];
|
|
855
855
|
return Array.isArray(value) ? value.some((one) => matchOne(field, node, one, options)) : matchOne(field, node, value, options);
|
|
856
856
|
}, "matches");
|
|
857
|
-
var evaluate = /* @__PURE__ */ __name((ast,
|
|
857
|
+
var evaluate = /* @__PURE__ */ __name((ast, fields, item, options = {}) => matches(ast.root, item, new Map(fields.map((field) => [field.name, field])), options), "evaluate");
|
|
858
858
|
|
|
859
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
859
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.569.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_8785fed449bbc2a6b34fc086f24a8413/node_modules/@wirecat/cli-core/dist/meetings/reference.js
|
|
860
860
|
var invalid = /* @__PURE__ */ __name(() => new CliError("validation_error", "expected meeting:<accountId>/<meetingId>[/<transcriptId>[/<cuePosition>]] with safe integer IDs"), "invalid");
|
|
861
861
|
var integer2 = /* @__PURE__ */ __name((value, minimum = 1) => {
|
|
862
862
|
if (!Number.isSafeInteger(value) || value < minimum)
|
|
@@ -874,8 +874,8 @@ var formatMeetingReference = /* @__PURE__ */ __name((reference2) => {
|
|
|
874
874
|
}
|
|
875
875
|
return `meeting:${parts.join("/")}`;
|
|
876
876
|
}, "formatMeetingReference");
|
|
877
|
-
var parseMeetingReference = /* @__PURE__ */ __name((
|
|
878
|
-
const value =
|
|
877
|
+
var parseMeetingReference = /* @__PURE__ */ __name((text5) => {
|
|
878
|
+
const value = text5.trim();
|
|
879
879
|
if (!value.startsWith("meeting:"))
|
|
880
880
|
throw invalid();
|
|
881
881
|
const parts = value.slice(8).split("/");
|
|
@@ -891,9 +891,9 @@ var parseMeetingReference = /* @__PURE__ */ __name((text6) => {
|
|
|
891
891
|
};
|
|
892
892
|
return reference2;
|
|
893
893
|
}, "parseMeetingReference");
|
|
894
|
-
var canonicalMeetingReference = /* @__PURE__ */ __name((
|
|
894
|
+
var canonicalMeetingReference = /* @__PURE__ */ __name((text5) => formatMeetingReference(parseMeetingReference(text5)), "canonicalMeetingReference");
|
|
895
895
|
|
|
896
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
896
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.569.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_8785fed449bbc2a6b34fc086f24a8413/node_modules/@wirecat/cli-core/dist/meetings/item.js
|
|
897
897
|
var text = string();
|
|
898
898
|
var count = pipe(number(), integer(), minValue(0));
|
|
899
899
|
var MEETING_ISSUES = ["time_without_zone"];
|
|
@@ -958,7 +958,7 @@ var MEETING_QUERY = {
|
|
|
958
958
|
})
|
|
959
959
|
};
|
|
960
960
|
|
|
961
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
961
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.569.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_8785fed449bbc2a6b34fc086f24a8413/node_modules/@wirecat/cli-core/dist/meetings/join-key.js
|
|
962
962
|
var joinKeyOf = /* @__PURE__ */ __name((url) => {
|
|
963
963
|
const parsed = urlOf(url);
|
|
964
964
|
if (!parsed)
|
|
@@ -992,15 +992,15 @@ var urlOf = /* @__PURE__ */ __name((url) => {
|
|
|
992
992
|
}
|
|
993
993
|
}, "urlOf");
|
|
994
994
|
|
|
995
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
995
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.569.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_8785fed449bbc2a6b34fc086f24a8413/node_modules/@wirecat/cli-core/dist/meetings/calendar-text.js
|
|
996
996
|
var ENTITIES = { amp: "&", lt: "<", gt: ">", quot: '"', "#39": "'", apos: "'", nbsp: " " };
|
|
997
997
|
var SECRET_LINE = /(?<![\p{L}\p{N}])(pass ?codes?|passwords?|pwd|pins?|access ?codes?|meeting ?codes?|kennwort|пароль|пин-?код|код доступа)(?![\p{L}\p{N}])|pwd=/iu;
|
|
998
998
|
var htmlToText = /* @__PURE__ */ __name((html) => html.replace(/<\s*br\s*\/?>/giu, "\n").replace(/<\/\s*(p|div|li|tr|h[1-6])\s*>/giu, "\n").replace(/<a\s[^>]*href\s*=\s*"([^"]*)"[^>]*>/giu, " $1 ").replace(/<[^>]+>/gu, "").replace(/&(amp|lt|gt|quot|#39|apos|nbsp);/gu, (_, name) => ENTITIES[name] ?? ""), "htmlToText");
|
|
999
|
-
var withoutLinkQueries = /* @__PURE__ */ __name((
|
|
1000
|
-
var calendarText = /* @__PURE__ */ __name((
|
|
1001
|
-
if (!
|
|
999
|
+
var withoutLinkQueries = /* @__PURE__ */ __name((text5) => text5.replace(/https?:\/\/[^\s<>"')\]]+/giu, (url) => joinUrlWithoutQuery(url) ?? ""), "withoutLinkQueries");
|
|
1000
|
+
var calendarText = /* @__PURE__ */ __name((text5, { dropSecretLines = true } = {}) => {
|
|
1001
|
+
if (!text5)
|
|
1002
1002
|
return null;
|
|
1003
|
-
const kept = htmlToText(
|
|
1003
|
+
const kept = htmlToText(text5).split(/\r?\n/u).map((line2) => withoutLinkQueries(line2).replace(/[ \t]+/gu, " ").trim()).filter((line2) => !dropSecretLines || !SECRET_LINE.test(line2));
|
|
1004
1004
|
const joined = kept.join("\n").replace(/\n{3,}/gu, "\n\n").trim();
|
|
1005
1005
|
return joined || null;
|
|
1006
1006
|
}, "calendarText");
|
|
@@ -1025,7 +1025,7 @@ var entryMetadata = /* @__PURE__ */ __name((metadata) => {
|
|
|
1025
1025
|
return kept;
|
|
1026
1026
|
}, "entryMetadata");
|
|
1027
1027
|
|
|
1028
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
1028
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.569.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_8785fed449bbc2a6b34fc086f24a8413/node_modules/@wirecat/cli-core/dist/meetings/cue-fingerprint.js
|
|
1029
1029
|
import { createHash } from "node:crypto";
|
|
1030
1030
|
var meetingCueFingerprint = /* @__PURE__ */ __name((cue2) => createHash("sha256").update(JSON.stringify({
|
|
1031
1031
|
reference: cue2.reference,
|
|
@@ -1039,7 +1039,7 @@ var meetingCueFingerprint = /* @__PURE__ */ __name((cue2) => createHash("sha256"
|
|
|
1039
1039
|
text: cue2.text
|
|
1040
1040
|
})).digest("hex"), "meetingCueFingerprint");
|
|
1041
1041
|
|
|
1042
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
1042
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.569.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_8785fed449bbc2a6b34fc086f24a8413/node_modules/@wirecat/cli-core/dist/meetings/event-store.js
|
|
1043
1043
|
var UNTIL = /(?:^|;)UNTIL=(\d{4})(\d{2})(\d{2})(?:T(\d{2})(\d{2})(\d{2})Z?)?(?:;|$)/iu;
|
|
1044
1044
|
var seriesEnd = /* @__PURE__ */ __name((entry) => {
|
|
1045
1045
|
if (entry.recurrenceEndsAt !== null)
|
|
@@ -1062,7 +1062,7 @@ var entryInWindow = /* @__PURE__ */ __name((entry, window) => {
|
|
|
1062
1062
|
return Math.max(entry.endsAt ?? start, start + 1) > window.from;
|
|
1063
1063
|
}, "entryInWindow");
|
|
1064
1064
|
|
|
1065
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
1065
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.569.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_8785fed449bbc2a6b34fc086f24a8413/node_modules/@wirecat/cli-core/dist/meetings/answers.js
|
|
1066
1066
|
var text2 = string();
|
|
1067
1067
|
var count2 = pipe(number(), integer(), minValue(0));
|
|
1068
1068
|
var iso2 = /* @__PURE__ */ __name((ms) => ms === null ? null : new Date(ms).toISOString(), "iso");
|
|
@@ -1176,7 +1176,7 @@ var meetingSummaryItem = /* @__PURE__ */ __name((accountId, summary) => ({
|
|
|
1176
1176
|
source: summary.source,
|
|
1177
1177
|
title: summary.title,
|
|
1178
1178
|
overview: summary.overview,
|
|
1179
|
-
sections: summary.sections.map(({ label, text:
|
|
1179
|
+
sections: summary.sections.map(({ label, text: text5 }) => ({ label, text: text5 })),
|
|
1180
1180
|
next_steps: summary.nextSteps,
|
|
1181
1181
|
content: summary.content,
|
|
1182
1182
|
url: summary.docUrl,
|
|
@@ -1297,8 +1297,8 @@ var meetingHitsList = /* @__PURE__ */ __name((found, limit, command = "search me
|
|
|
1297
1297
|
};
|
|
1298
1298
|
}, "meetingHitsList");
|
|
1299
1299
|
|
|
1300
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
1301
|
-
var normalizeMeetingParticipantQuery = /* @__PURE__ */ __name((
|
|
1300
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.569.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_8785fed449bbc2a6b34fc086f24a8413/node_modules/@wirecat/cli-core/dist/meetings/participant-search.js
|
|
1301
|
+
var normalizeMeetingParticipantQuery = /* @__PURE__ */ __name((text5) => text5.normalize("NFKC").toLowerCase(), "normalizeMeetingParticipantQuery");
|
|
1302
1302
|
var validateMeetingParticipantQuery = /* @__PURE__ */ __name((query) => {
|
|
1303
1303
|
if (typeof query !== "string" || !query.trim() || query.length > 500 || query.includes("\0"))
|
|
1304
1304
|
throw new CliError("validation_error", "participant query must contain 1\u2013500 characters without NUL");
|
|
@@ -1321,7 +1321,7 @@ var validateMeetingParticipantSearch = /* @__PURE__ */ __name((query, input) =>
|
|
|
1321
1321
|
};
|
|
1322
1322
|
}, "validateMeetingParticipantSearch");
|
|
1323
1323
|
|
|
1324
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
1324
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.569.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_8785fed449bbc2a6b34fc086f24a8413/node_modules/@wirecat/cli-core/dist/meetings/reads.js
|
|
1325
1325
|
var MeetingError = class extends CliError {
|
|
1326
1326
|
static {
|
|
1327
1327
|
__name(this, "MeetingError");
|
|
@@ -1425,11 +1425,11 @@ var meetingsList = /* @__PURE__ */ __name(async (store, filter = {}, page = 1) =
|
|
|
1425
1425
|
} : {}
|
|
1426
1426
|
};
|
|
1427
1427
|
}, "meetingsList");
|
|
1428
|
-
var meetingsQuery = /* @__PURE__ */ __name((
|
|
1429
|
-
if (
|
|
1428
|
+
var meetingsQuery = /* @__PURE__ */ __name((text5) => {
|
|
1429
|
+
if (text5 === void 0 || text5.trim() === "")
|
|
1430
1430
|
return void 0;
|
|
1431
1431
|
const context3 = { command: "meetings list", guide: MEETING_QUERY_GUIDE };
|
|
1432
|
-
const query = parseLucene(
|
|
1432
|
+
const query = parseLucene(text5, { defaultField: "none", ...context3 });
|
|
1433
1433
|
validateQuery(query, MEETING_QUERY, context3);
|
|
1434
1434
|
return query;
|
|
1435
1435
|
}, "meetingsQuery");
|
|
@@ -1453,7 +1453,7 @@ var meetingSummaryAnswer = /* @__PURE__ */ __name(async (store, id3, accountId)
|
|
|
1453
1453
|
return wholeList(details.summaries.map((one) => meetingSummaryItem(details.meeting.accountId, one)));
|
|
1454
1454
|
}, "meetingSummaryAnswer");
|
|
1455
1455
|
|
|
1456
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
1456
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.569.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_8785fed449bbc2a6b34fc086f24a8413/node_modules/@wirecat/cli-core/dist/meetings/export.js
|
|
1457
1457
|
var timestamp = /* @__PURE__ */ __name((milliseconds) => {
|
|
1458
1458
|
if (!Number.isSafeInteger(milliseconds) || milliseconds < 0)
|
|
1459
1459
|
throw new MeetingError("validation_error", "transcript times must be nonnegative integer milliseconds");
|
|
@@ -1462,10 +1462,10 @@ var timestamp = /* @__PURE__ */ __name((milliseconds) => {
|
|
|
1462
1462
|
const seconds = Math.floor(milliseconds % 6e4 / 1e3);
|
|
1463
1463
|
return `${String(hours).padStart(2, "0")}:${String(minutes).padStart(2, "0")}:${String(seconds).padStart(2, "0")}.${String(milliseconds % 1e3).padStart(3, "0")}`;
|
|
1464
1464
|
}, "timestamp");
|
|
1465
|
-
var vttText = /* @__PURE__ */ __name((
|
|
1466
|
-
if (visibleControls(
|
|
1465
|
+
var vttText = /* @__PURE__ */ __name((text5) => {
|
|
1466
|
+
if (visibleControls(text5) !== text5 || /\n\s*\n/.test(text5))
|
|
1467
1467
|
throw new MeetingError("validation_error", "cue paragraphs or control characters require Markdown export");
|
|
1468
|
-
return
|
|
1468
|
+
return text5.replaceAll("&", "&").replaceAll("<", "<").replaceAll(">", ">");
|
|
1469
1469
|
}, "vttText");
|
|
1470
1470
|
var serializeVtt = /* @__PURE__ */ __name((lines) => `WEBVTT
|
|
1471
1471
|
|
|
@@ -1483,9 +1483,9 @@ ${speaker}${vttText(line2.text)}
|
|
|
1483
1483
|
|
|
1484
1484
|
`;
|
|
1485
1485
|
}).join("")}`, "serializeVtt");
|
|
1486
|
-
var markdown = /* @__PURE__ */ __name((
|
|
1487
|
-
var heading = /* @__PURE__ */ __name((
|
|
1488
|
-
var quote = /* @__PURE__ */ __name((
|
|
1486
|
+
var markdown = /* @__PURE__ */ __name((text5) => visibleControls(text5).replace(/[\\`*_{}[\]()<>#+.!|~]/g, "\\$&"), "markdown");
|
|
1487
|
+
var heading = /* @__PURE__ */ __name((text5) => markdown(singleLine(text5)), "heading");
|
|
1488
|
+
var quote = /* @__PURE__ */ __name((text5) => markdown(text5).split(/\r\n|\r|\n/).map((line2) => `> ${line2}`).join("\n"), "quote");
|
|
1489
1489
|
var transcriptsOf = /* @__PURE__ */ __name((details, transcriptId) => {
|
|
1490
1490
|
if (transcriptId !== void 0) {
|
|
1491
1491
|
positiveInteger(transcriptId);
|
|
@@ -1549,7 +1549,7 @@ var exportMeeting = /* @__PURE__ */ __name(async (store, id3, options) => {
|
|
|
1549
1549
|
};
|
|
1550
1550
|
}, "exportMeeting");
|
|
1551
1551
|
|
|
1552
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
1552
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.569.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_8785fed449bbc2a6b34fc086f24a8413/node_modules/@wirecat/cli-core/dist/meetings/payment.js
|
|
1553
1553
|
var FACT_TYPES = ["fact", "statement", "question", "decision", "promise"];
|
|
1554
1554
|
var PAYMENT_DIRECTIONS = ["to_us", "from_us"];
|
|
1555
1555
|
var PAYMENT_STATES = ["expected", "paid", "cancelled"];
|
|
@@ -1643,10 +1643,10 @@ var paymentTitle = /* @__PURE__ */ __name((fact) => {
|
|
|
1643
1643
|
return `${grouped(payment.amount)} ${payment.currency} ${way}${party}${item}${due} (${payment.state})`;
|
|
1644
1644
|
}, "paymentTitle");
|
|
1645
1645
|
|
|
1646
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
1646
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.569.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_8785fed449bbc2a6b34fc086f24a8413/node_modules/@wirecat/cli-core/dist/meetings/findings-rules.js
|
|
1647
1647
|
import { createHash as createHash2 } from "node:crypto";
|
|
1648
1648
|
|
|
1649
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
1649
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.569.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_8785fed449bbc2a6b34fc086f24a8413/node_modules/@wirecat/cli-core/dist/meetings/timestamp.js
|
|
1650
1650
|
var meetingTimestamp = /* @__PURE__ */ __name((value, name) => {
|
|
1651
1651
|
if (typeof value !== "string" || !/^\d{4}-\d{2}-\d{2}T.+(?:Z|[+-]\d{2}:\d{2})$/i.test(value) || !Number.isFinite(Date.parse(value)))
|
|
1652
1652
|
throw new CliError("validation_error", `${name} must be an ISO timestamp with a timezone`);
|
|
@@ -1657,21 +1657,21 @@ var meetingTimestamp = /* @__PURE__ */ __name((value, name) => {
|
|
|
1657
1657
|
return new Date(value).toISOString();
|
|
1658
1658
|
}, "meetingTimestamp");
|
|
1659
1659
|
|
|
1660
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
1660
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.569.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_8785fed449bbc2a6b34fc086f24a8413/node_modules/@wirecat/cli-core/dist/meetings/findings-rules.js
|
|
1661
1661
|
var TASK_TYPES = ["bug", "feature", "chore"];
|
|
1662
1662
|
var invalid3 = /* @__PURE__ */ __name((message) => {
|
|
1663
1663
|
throw new CliError("validation_error", message);
|
|
1664
1664
|
}, "invalid");
|
|
1665
|
-
var
|
|
1665
|
+
var findingText = /* @__PURE__ */ __name((value, limit) => {
|
|
1666
1666
|
if (typeof value !== "string" || !value.trim() || value.includes("\0") || value.length > limit)
|
|
1667
1667
|
return invalid3(`finding text must contain 1\u2013${limit} characters without NUL`);
|
|
1668
1668
|
return value.trim();
|
|
1669
|
-
}, "
|
|
1669
|
+
}, "findingText");
|
|
1670
1670
|
var findingHash = /* @__PURE__ */ __name((value) => createHash2("sha256").update(JSON.stringify(value)).digest("hex"), "findingHash");
|
|
1671
|
-
var
|
|
1671
|
+
var findingFields = /* @__PURE__ */ __name((value, allowed, noun) => {
|
|
1672
1672
|
if (Object.keys(value).some((key) => !allowed.includes(key)))
|
|
1673
1673
|
invalid3(`unknown ${noun} field`);
|
|
1674
|
-
}, "
|
|
1674
|
+
}, "findingFields");
|
|
1675
1675
|
var SUBJECT = /^(person|organization|project):[1-9]\d*$|^task:[A-Za-z0-9][A-Za-z0-9_.-]{0,63}$/;
|
|
1676
1676
|
var validEvidence = /* @__PURE__ */ __name((raw, rules) => {
|
|
1677
1677
|
if (!Array.isArray(raw) || raw.length < 1 || raw.length > 8)
|
|
@@ -1679,7 +1679,7 @@ var validEvidence = /* @__PURE__ */ __name((raw, rules) => {
|
|
|
1679
1679
|
const evidence = raw.map((item) => {
|
|
1680
1680
|
if (!item || typeof item !== "object")
|
|
1681
1681
|
return invalid3("finding evidence is a reference and fingerprint");
|
|
1682
|
-
|
|
1682
|
+
findingFields(item, ["reference", "fingerprint"], rules.singular);
|
|
1683
1683
|
if (typeof item.reference !== "string" || typeof item.fingerprint !== "string")
|
|
1684
1684
|
return invalid3("evidence requires a reference and fingerprint");
|
|
1685
1685
|
const reference2 = rules.reference(item.reference);
|
|
@@ -1702,10 +1702,10 @@ var validateFinding = /* @__PURE__ */ __name((finding, rules, ids2) => {
|
|
|
1702
1702
|
if (!finding || typeof finding !== "object")
|
|
1703
1703
|
return invalid3("a finding is an object");
|
|
1704
1704
|
const id3 = findingId(finding.id, ids2);
|
|
1705
|
-
const project = finding.project === void 0 && rules.anySubject ? void 0 :
|
|
1705
|
+
const project = finding.project === void 0 && rules.anySubject ? void 0 : findingText(finding.project, 64);
|
|
1706
1706
|
if (project !== void 0 && !/^project:[1-9]\d*$/.test(project))
|
|
1707
1707
|
return invalid3("a finding names a project reference");
|
|
1708
|
-
if (finding.subject !== void 0 && (!rules.anySubject || !SUBJECT.test(
|
|
1708
|
+
if (finding.subject !== void 0 && (!rules.anySubject || !SUBJECT.test(findingText(finding.subject, 80))))
|
|
1709
1709
|
return invalid3("a finding's subject is a person:, organization:, task: or project: reference");
|
|
1710
1710
|
if (finding.kind === "task" && project === void 0 && !rules.inboxTasks)
|
|
1711
1711
|
return invalid3("a task finding names the project the task goes in");
|
|
@@ -1717,15 +1717,15 @@ var validateFinding = /* @__PURE__ */ __name((finding, rules, ids2) => {
|
|
|
1717
1717
|
evidence
|
|
1718
1718
|
};
|
|
1719
1719
|
if (finding.kind === "fact") {
|
|
1720
|
-
|
|
1720
|
+
findingFields(finding, ["id", "project", "subject", "evidence", "kind", "type", "statement"], rules.singular);
|
|
1721
1721
|
if (finding.type === "payment")
|
|
1722
1722
|
return invalid3("a payment is a finding of kind payment; money is a payments row, not a fact");
|
|
1723
1723
|
if (!FACT_TYPES.includes(finding.type))
|
|
1724
1724
|
return invalid3("unknown fact finding type");
|
|
1725
|
-
return { ...base, kind: "fact", type: finding.type, statement:
|
|
1725
|
+
return { ...base, kind: "fact", type: finding.type, statement: findingText(finding.statement, 2e3) };
|
|
1726
1726
|
}
|
|
1727
1727
|
if (finding.kind === "payment" && rules.payments) {
|
|
1728
|
-
|
|
1728
|
+
findingFields(finding, ["id", "project", "subject", "evidence", "kind", "statement", "payment", "supersedes"], rules.singular);
|
|
1729
1729
|
if (finding.supersedes !== void 0 && !/^invoice:[1-9]\d*$/.test(String(finding.supersedes)))
|
|
1730
1730
|
return invalid3("a payment finding supersedes an invoice: reference, the expected payment it settles or voids");
|
|
1731
1731
|
const payment = validatePayment(finding.payment);
|
|
@@ -1738,14 +1738,14 @@ var validateFinding = /* @__PURE__ */ __name((finding, rules, ids2) => {
|
|
|
1738
1738
|
return {
|
|
1739
1739
|
...base,
|
|
1740
1740
|
kind: "payment",
|
|
1741
|
-
...finding.statement === void 0 ? {} : { statement:
|
|
1741
|
+
...finding.statement === void 0 ? {} : { statement: findingText(finding.statement, 2e3) },
|
|
1742
1742
|
payment,
|
|
1743
1743
|
...finding.supersedes === void 0 ? {} : { supersedes: finding.supersedes }
|
|
1744
1744
|
};
|
|
1745
1745
|
}
|
|
1746
1746
|
if (finding.kind !== "task")
|
|
1747
1747
|
return invalid3(`a finding is a fact${rules.payments ? ", payment" : ""} or task`);
|
|
1748
|
-
|
|
1748
|
+
findingFields(finding, [
|
|
1749
1749
|
"id",
|
|
1750
1750
|
"project",
|
|
1751
1751
|
"evidence",
|
|
@@ -1771,8 +1771,8 @@ var validateFinding = /* @__PURE__ */ __name((finding, rules, ids2) => {
|
|
|
1771
1771
|
...base,
|
|
1772
1772
|
kind: "task",
|
|
1773
1773
|
type: finding.type,
|
|
1774
|
-
title:
|
|
1775
|
-
reason:
|
|
1774
|
+
title: findingText(finding.title, 300),
|
|
1775
|
+
reason: findingText(finding.reason, 2e3),
|
|
1776
1776
|
commitment: finding.commitment,
|
|
1777
1777
|
...finding.dueAt === void 0 ? {} : {
|
|
1778
1778
|
dueAt: meetingTimestamp(finding.dueAt, "finding due date"),
|
|
@@ -1789,22 +1789,20 @@ var support = /* @__PURE__ */ __name((value, evidence) => {
|
|
|
1789
1789
|
var validateBatch = /* @__PURE__ */ __name((input, rules, most, one) => {
|
|
1790
1790
|
if (!input || typeof input !== "object" || Buffer.byteLength(JSON.stringify(input), "utf8") > 65536)
|
|
1791
1791
|
return invalid3(`${rules.plural} take at most 65536 UTF-8 bytes`);
|
|
1792
|
-
|
|
1792
|
+
findingFields(input, ["schemaVersion", "key", "extractor", "findings"], rules.singular);
|
|
1793
1793
|
if (input.schemaVersion !== 1 || !Array.isArray(input.findings) || input.findings.length < 1 || input.findings.length > most)
|
|
1794
1794
|
return invalid3(`schemaVersion 1 takes 1\u2013${most} ${rules.plural}`);
|
|
1795
|
-
const key =
|
|
1795
|
+
const key = findingText(input.key, 64);
|
|
1796
1796
|
if (!/^[a-zA-Z0-9][a-zA-Z0-9_.:-]*$/.test(key))
|
|
1797
1797
|
return invalid3("a findings key uses letters, digits, dot, colon, underscore or hyphen");
|
|
1798
1798
|
const ids2 = /* @__PURE__ */ new Set();
|
|
1799
1799
|
const findings = input.findings.map((finding) => one(finding, ids2));
|
|
1800
|
-
return { schemaVersion: 1, key, extractor:
|
|
1800
|
+
return { schemaVersion: 1, key, extractor: findingText(input.extractor, 200), findings };
|
|
1801
1801
|
}, "validateBatch");
|
|
1802
1802
|
var validateFindings = /* @__PURE__ */ __name((input, rules) => validateBatch(input, rules, 16, (finding, ids2) => validateFinding(finding, rules, ids2)), "validateFindings");
|
|
1803
|
-
var findingText = /* @__PURE__ */ __name((value, limit) => text3(value, limit), "findingText");
|
|
1804
|
-
var findingFields = /* @__PURE__ */ __name((value, allowed, noun) => fields(value, allowed, noun), "findingFields");
|
|
1805
1803
|
var findingFingerprint = /* @__PURE__ */ __name(({ id: _id, ...finding }) => findingHash(finding), "findingFingerprint");
|
|
1806
1804
|
|
|
1807
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
1805
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.569.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_8785fed449bbc2a6b34fc086f24a8413/node_modules/@wirecat/cli-core/dist/meetings/findings.js
|
|
1808
1806
|
var MEETING_FINDINGS_KIND = "meeting_findings";
|
|
1809
1807
|
var cue = /* @__PURE__ */ __name((raw) => {
|
|
1810
1808
|
const reference2 = canonicalMeetingReference(raw);
|
|
@@ -1815,24 +1813,24 @@ var cue = /* @__PURE__ */ __name((raw) => {
|
|
|
1815
1813
|
var validateMeetingFindings = /* @__PURE__ */ __name((input) => validateFindings(input, { plural: "meeting findings", singular: "meeting finding", cited: "cue", reference: cue }), "validateMeetingFindings");
|
|
1816
1814
|
var meetingFindingFingerprint = findingFingerprint;
|
|
1817
1815
|
|
|
1818
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
1819
|
-
var
|
|
1820
|
-
var identifier = pipe(
|
|
1821
|
-
var nullableText = nullable(
|
|
1816
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.569.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_8785fed449bbc2a6b34fc086f24a8413/node_modules/@wirecat/cli-core/dist/meetings/result-items.js
|
|
1817
|
+
var text3 = string();
|
|
1818
|
+
var identifier = pipe(text3, minLength(1));
|
|
1819
|
+
var nullableText = nullable(text3);
|
|
1822
1820
|
var count3 = pipe(number(), integer(), minValue(0));
|
|
1823
1821
|
var flag = boolean();
|
|
1824
|
-
var scope = strictObject({ provider:
|
|
1822
|
+
var scope = strictObject({ provider: text3, account: text3 });
|
|
1825
1823
|
var run = strictObject({
|
|
1826
1824
|
meetings: count3,
|
|
1827
1825
|
participants: count3,
|
|
1828
1826
|
transcript_rows: count3,
|
|
1829
1827
|
summaries: count3,
|
|
1830
|
-
warnings: array(strictObject({ external_id:
|
|
1831
|
-
timezone: optional(
|
|
1828
|
+
warnings: array(strictObject({ external_id: text3, message: text3 })),
|
|
1829
|
+
timezone: optional(text3)
|
|
1832
1830
|
});
|
|
1833
1831
|
var exported = union([
|
|
1834
|
-
strictObject({ meeting_id: identifier, format: picklist(["markdown", "vtt"]), filename:
|
|
1835
|
-
strictObject({ meeting_id: identifier, format: picklist(["markdown", "vtt"]), output:
|
|
1832
|
+
strictObject({ meeting_id: identifier, format: picklist(["markdown", "vtt"]), filename: text3, content: text3 }),
|
|
1833
|
+
strictObject({ meeting_id: identifier, format: picklist(["markdown", "vtt"]), output: text3 })
|
|
1836
1834
|
]);
|
|
1837
1835
|
var eventChange = strictObject({
|
|
1838
1836
|
action: literal("event.link"),
|
|
@@ -1842,7 +1840,7 @@ var eventChange = strictObject({
|
|
|
1842
1840
|
var personChange = strictObject({
|
|
1843
1841
|
action: literal("person.link"),
|
|
1844
1842
|
participant_id: identifier,
|
|
1845
|
-
person_uid:
|
|
1843
|
+
person_uid: text3,
|
|
1846
1844
|
expected_person_uid: optional(nullableText),
|
|
1847
1845
|
target_account_ids: optional(array(identifier))
|
|
1848
1846
|
});
|
|
@@ -1855,7 +1853,7 @@ var eventResult = strictObject({
|
|
|
1855
1853
|
var personResult = strictObject({
|
|
1856
1854
|
meeting_id: identifier,
|
|
1857
1855
|
participant_id: identifier,
|
|
1858
|
-
person_uid:
|
|
1856
|
+
person_uid: text3,
|
|
1859
1857
|
previous_person_uid: nullableText,
|
|
1860
1858
|
changed: flag
|
|
1861
1859
|
});
|
|
@@ -1868,23 +1866,23 @@ var meetingChange = strictObject({
|
|
|
1868
1866
|
result: optional(union([eventResult, personResult]))
|
|
1869
1867
|
});
|
|
1870
1868
|
var recognition = strictObject({
|
|
1871
|
-
engine:
|
|
1872
|
-
model:
|
|
1873
|
-
version: optional(
|
|
1869
|
+
engine: text3,
|
|
1870
|
+
model: text3,
|
|
1871
|
+
version: optional(text3),
|
|
1874
1872
|
timing: optional(picklist(["fixed-windows", "recognition-segments"]))
|
|
1875
1873
|
});
|
|
1876
1874
|
var transcription = union([
|
|
1877
1875
|
strictObject({
|
|
1878
1876
|
applied: literal(false),
|
|
1879
1877
|
account_id: identifier,
|
|
1880
|
-
external_id:
|
|
1878
|
+
external_id: text3,
|
|
1881
1879
|
segments: count3,
|
|
1882
1880
|
media: strictObject({
|
|
1883
|
-
id:
|
|
1884
|
-
content_hash:
|
|
1881
|
+
id: text3,
|
|
1882
|
+
content_hash: text3,
|
|
1885
1883
|
size: count3,
|
|
1886
1884
|
duration_ms: count3,
|
|
1887
|
-
format:
|
|
1885
|
+
format: text3,
|
|
1888
1886
|
sample_rate: count3,
|
|
1889
1887
|
channels: count3,
|
|
1890
1888
|
recognition
|
|
@@ -1893,21 +1891,21 @@ var transcription = union([
|
|
|
1893
1891
|
strictObject({
|
|
1894
1892
|
applied: literal(true),
|
|
1895
1893
|
account_id: identifier,
|
|
1896
|
-
external_id:
|
|
1894
|
+
external_id: text3,
|
|
1897
1895
|
meeting_id: identifier,
|
|
1898
1896
|
created: flag,
|
|
1899
1897
|
inserted_transcripts: count3,
|
|
1900
1898
|
replayed_transcripts: count3,
|
|
1901
1899
|
superseded_transcripts: count3,
|
|
1902
1900
|
segments: count3,
|
|
1903
|
-
media_sha256:
|
|
1904
|
-
engine:
|
|
1905
|
-
model:
|
|
1901
|
+
media_sha256: text3,
|
|
1902
|
+
engine: text3,
|
|
1903
|
+
model: text3,
|
|
1906
1904
|
model_version: nullableText,
|
|
1907
1905
|
timing: picklist(["fixed-windows", "recognition-segments"])
|
|
1908
1906
|
})
|
|
1909
1907
|
]);
|
|
1910
|
-
var embeddingModel = strictObject({ key:
|
|
1908
|
+
var embeddingModel = strictObject({ key: text3, dims: count3, kind: picklist(["local", "remote"]), model: text3 });
|
|
1911
1909
|
var embedding = union([
|
|
1912
1910
|
strictObject({
|
|
1913
1911
|
account_id: identifier,
|
|
@@ -1923,7 +1921,7 @@ var embedding = union([
|
|
|
1923
1921
|
saved: count3,
|
|
1924
1922
|
skipped: count3,
|
|
1925
1923
|
has_more: flag,
|
|
1926
|
-
next_hash: optional(
|
|
1924
|
+
next_hash: optional(text3),
|
|
1927
1925
|
applied: literal(true),
|
|
1928
1926
|
rebuild: strictObject({
|
|
1929
1927
|
transcripts: count3,
|
|
@@ -1948,7 +1946,7 @@ var MEETING_RESULT_ENTITIES = {
|
|
|
1948
1946
|
meeting_repair: repair
|
|
1949
1947
|
};
|
|
1950
1948
|
|
|
1951
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
1949
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.569.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_8785fed449bbc2a6b34fc086f24a8413/node_modules/@wirecat/cli-core/dist/meetings/event-query.js
|
|
1952
1950
|
var EVENT_QUERY = defineQuery({
|
|
1953
1951
|
entity: "event",
|
|
1954
1952
|
backend: "sql",
|
|
@@ -1964,7 +1962,7 @@ var EVENT_QUERY = defineQuery({
|
|
|
1964
1962
|
]
|
|
1965
1963
|
});
|
|
1966
1964
|
|
|
1967
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
1965
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.569.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_8785fed449bbc2a6b34fc086f24a8413/node_modules/@wirecat/cli-core/dist/meetings/events.js
|
|
1968
1966
|
var linkEvent = /* @__PURE__ */ __name(async (store, details, now = Date.now()) => {
|
|
1969
1967
|
const current = await store.meeting(details.meeting.id);
|
|
1970
1968
|
if (!current)
|
|
@@ -2007,7 +2005,7 @@ var linkEvent = /* @__PURE__ */ __name(async (store, details, now = Date.now())
|
|
|
2007
2005
|
return (await store.events()).find((e) => e.id === linked?.meeting.eventId) ?? null;
|
|
2008
2006
|
}, "linkEvent");
|
|
2009
2007
|
|
|
2010
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
2008
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.569.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_8785fed449bbc2a6b34fc086f24a8413/node_modules/@wirecat/cli-core/dist/meetings/hit-query.js
|
|
2011
2009
|
var context = {
|
|
2012
2010
|
command: "search meetings",
|
|
2013
2011
|
guide: "https://github.com/WireCatLabs/cli-core/blob/main/docs/search/query-language.md#\u0432\u0441\u0442\u0440\u0435\u0447\u0438"
|
|
@@ -2115,9 +2113,9 @@ var liftMeetingFields = /* @__PURE__ */ __name((query, request, now) => {
|
|
|
2115
2113
|
return { query: rest, request: next };
|
|
2116
2114
|
}, "liftMeetingFields");
|
|
2117
2115
|
var parseMeetingQuery = /* @__PURE__ */ __name((query) => validateQuery(parseLucene(query, { defaultField: "text", proximity: true, ...context }), MEETING_HIT_QUERY, context), "parseMeetingQuery");
|
|
2118
|
-
var meetingWordsQuery = /* @__PURE__ */ __name((
|
|
2119
|
-
const found =
|
|
2120
|
-
const span = { start: 0, end:
|
|
2116
|
+
var meetingWordsQuery = /* @__PURE__ */ __name((text5) => {
|
|
2117
|
+
const found = text5.match(/[\p{L}\p{N}\p{M}]+/gu) ?? [];
|
|
2118
|
+
const span = { start: 0, end: text5.length };
|
|
2121
2119
|
const clauses = found.map((value) => ({
|
|
2122
2120
|
occur: "must",
|
|
2123
2121
|
node: { kind: "predicate", field: "text", operator: "term", value, span }
|
|
@@ -2126,7 +2124,7 @@ var meetingWordsQuery = /* @__PURE__ */ __name((text6) => {
|
|
|
2126
2124
|
return { version: 1, language: "lucene-v1", root };
|
|
2127
2125
|
}, "meetingWordsQuery");
|
|
2128
2126
|
|
|
2129
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
2127
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.569.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_8785fed449bbc2a6b34fc086f24a8413/node_modules/@wirecat/cli-core/dist/meetings/language.js
|
|
2130
2128
|
var LATIN_WORDS = {
|
|
2131
2129
|
en: ["the", "and", "is", "that", "you", "this", "what", "have", "with", "are"],
|
|
2132
2130
|
es: ["el", "los", "las", "por", "pero", "para", "est\xE1", "muy", "tambi\xE9n", "hay"],
|
|
@@ -2141,11 +2139,11 @@ var CYRILLIC = new RegExp("\\p{Script=Cyrillic}", "gu");
|
|
|
2141
2139
|
var LATIN = new RegExp("\\p{Script=Latin}", "gu");
|
|
2142
2140
|
var MIN_LETTERS = 20;
|
|
2143
2141
|
var DOMINANT = 0.75;
|
|
2144
|
-
var countOf = /* @__PURE__ */ __name((
|
|
2142
|
+
var countOf = /* @__PURE__ */ __name((text5, pattern2) => text5.match(pattern2)?.length ?? 0, "countOf");
|
|
2145
2143
|
var latinLanguage = /* @__PURE__ */ __name((texts) => {
|
|
2146
2144
|
const votes = /* @__PURE__ */ new Map();
|
|
2147
|
-
for (const
|
|
2148
|
-
for (const word of
|
|
2145
|
+
for (const text5 of texts)
|
|
2146
|
+
for (const word of text5.toLowerCase().split(/[^\p{L}]+/u)) {
|
|
2149
2147
|
const language = LATIN_LANGUAGE.get(word);
|
|
2150
2148
|
if (language)
|
|
2151
2149
|
votes.set(language, (votes.get(language) ?? 0) + 1);
|
|
@@ -2160,10 +2158,10 @@ var transcriptLanguage = /* @__PURE__ */ __name((texts) => {
|
|
|
2160
2158
|
let cyrillic = 0;
|
|
2161
2159
|
let latin = 0;
|
|
2162
2160
|
let ukrainian = 0;
|
|
2163
|
-
for (const
|
|
2164
|
-
cyrillic += countOf(
|
|
2165
|
-
latin += countOf(
|
|
2166
|
-
ukrainian += countOf(
|
|
2161
|
+
for (const text5 of all) {
|
|
2162
|
+
cyrillic += countOf(text5, CYRILLIC);
|
|
2163
|
+
latin += countOf(text5, LATIN);
|
|
2164
|
+
ukrainian += countOf(text5, UKRAINIAN);
|
|
2167
2165
|
}
|
|
2168
2166
|
const letters = cyrillic + latin;
|
|
2169
2167
|
if (letters < MIN_LETTERS)
|
|
@@ -2175,9 +2173,9 @@ var transcriptLanguage = /* @__PURE__ */ __name((texts) => {
|
|
|
2175
2173
|
return null;
|
|
2176
2174
|
}, "transcriptLanguage");
|
|
2177
2175
|
|
|
2178
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
2179
|
-
var contentHash = /* @__PURE__ */ __name(async (
|
|
2180
|
-
const bytes = await crypto.subtle.digest("SHA-256", new TextEncoder().encode(
|
|
2176
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.569.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_8785fed449bbc2a6b34fc086f24a8413/node_modules/@wirecat/cli-core/dist/meetings/ingest.js
|
|
2177
|
+
var contentHash = /* @__PURE__ */ __name(async (text5) => {
|
|
2178
|
+
const bytes = await crypto.subtle.digest("SHA-256", new TextEncoder().encode(text5));
|
|
2181
2179
|
return Array.from(new Uint8Array(bytes), (byte) => byte.toString(16).padStart(2, "0")).join("");
|
|
2182
2180
|
}, "contentHash");
|
|
2183
2181
|
var speakerPosition = /* @__PURE__ */ __name((name, participants) => {
|
|
@@ -2212,7 +2210,7 @@ var timestamp2 = /* @__PURE__ */ __name((value) => {
|
|
|
2212
2210
|
return time;
|
|
2213
2211
|
}, "timestamp");
|
|
2214
2212
|
|
|
2215
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
2213
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.569.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_8785fed449bbc2a6b34fc086f24a8413/node_modules/@wirecat/cli-core/dist/meetings/transcript-text.js
|
|
2216
2214
|
var TranscriptTextError = class extends Error {
|
|
2217
2215
|
static {
|
|
2218
2216
|
__name(this, "TranscriptTextError");
|
|
@@ -2229,10 +2227,10 @@ var LINE = /^\[(\d{2,}):([0-5]\d):([0-5]\d)\]\s*(?:([^:\n]{1,60}):\s*)?([\s\S]*)
|
|
|
2229
2227
|
var RULE = /^[—–-]{10,}[^\n]*(?:\n|$)/;
|
|
2230
2228
|
var EMPTY = /* @__PURE__ */ new Set(["", "\u2014", "-"]);
|
|
2231
2229
|
var parseTranscriptText = /* @__PURE__ */ __name((input) => {
|
|
2232
|
-
const
|
|
2230
|
+
const text5 = input.replace(/^/, "").replace(/\r\n?/g, "\n");
|
|
2233
2231
|
const header = { title: null, date: null, meetingId: null, speakers: [] };
|
|
2234
2232
|
let sawHeader = false;
|
|
2235
|
-
for (const line2 of
|
|
2233
|
+
for (const line2 of text5.split("\n")) {
|
|
2236
2234
|
if (!line2.trim())
|
|
2237
2235
|
break;
|
|
2238
2236
|
for (const [prefix, key] of Object.entries(HEADER)) {
|
|
@@ -2249,7 +2247,7 @@ var parseTranscriptText = /* @__PURE__ */ __name((input) => {
|
|
|
2249
2247
|
if (!sawHeader)
|
|
2250
2248
|
throw new TranscriptTextError('a text transcript starts with a header such as "\u0412\u0441\u0442\u0440\u0435\u0447\u0430: \u2026"');
|
|
2251
2249
|
const found = [];
|
|
2252
|
-
for (const block of
|
|
2250
|
+
for (const block of text5.split(/\n\s*\n/)) {
|
|
2253
2251
|
const match = LINE.exec(block.trim().replace(RULE, ""));
|
|
2254
2252
|
if (!match)
|
|
2255
2253
|
continue;
|
|
@@ -2267,7 +2265,7 @@ var parseTranscriptText = /* @__PURE__ */ __name((input) => {
|
|
|
2267
2265
|
return { header, lines };
|
|
2268
2266
|
}, "parseTranscriptText");
|
|
2269
2267
|
|
|
2270
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
2268
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.569.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_8785fed449bbc2a6b34fc086f24a8413/node_modules/@wirecat/cli-core/dist/meetings/vtt.js
|
|
2271
2269
|
var VttError = class extends Error {
|
|
2272
2270
|
static {
|
|
2273
2271
|
__name(this, "VttError");
|
|
@@ -2283,12 +2281,12 @@ var millis = /* @__PURE__ */ __name((stamp, lineNo) => {
|
|
|
2283
2281
|
const [, hours = "0", minutes = "0", seconds = "0", ms = "0"] = match;
|
|
2284
2282
|
return ((Number(hours) * 60 + Number(minutes)) * 60 + Number(seconds)) * 1e3 + Number(ms);
|
|
2285
2283
|
}, "millis");
|
|
2286
|
-
var splitSpeaker = /* @__PURE__ */ __name((
|
|
2287
|
-
const firstLine =
|
|
2284
|
+
var splitSpeaker = /* @__PURE__ */ __name((text5) => {
|
|
2285
|
+
const firstLine = text5.split("\n", 1)[0] ?? "";
|
|
2288
2286
|
const at = firstLine.indexOf(": ");
|
|
2289
2287
|
if (at <= 0)
|
|
2290
|
-
return { speaker: null, text:
|
|
2291
|
-
return { speaker: firstLine.slice(0, at).trim(), text:
|
|
2288
|
+
return { speaker: null, text: text5 };
|
|
2289
|
+
return { speaker: firstLine.slice(0, at).trim(), text: text5.slice(at + 2) };
|
|
2292
2290
|
}, "splitSpeaker");
|
|
2293
2291
|
var parseVtt = /* @__PURE__ */ __name((input) => {
|
|
2294
2292
|
const lines = input.replace(/^/, "").split(/\r\n|\r|\n/);
|
|
@@ -2313,13 +2311,13 @@ var parseVtt = /* @__PURE__ */ __name((input) => {
|
|
|
2313
2311
|
const lineNo = start + timingAt + 1;
|
|
2314
2312
|
const [from = "", rest = ""] = (block[timingAt] ?? "").split("-->");
|
|
2315
2313
|
const to = rest.trim().split(/\s+/)[0] ?? "";
|
|
2316
|
-
const
|
|
2317
|
-
cues.push({ startMs: millis(from.trim(), lineNo), endMs: millis(to, lineNo), ...splitSpeaker(
|
|
2314
|
+
const text5 = block.slice(timingAt + 1).join("\n").trim();
|
|
2315
|
+
cues.push({ startMs: millis(from.trim(), lineNo), endMs: millis(to, lineNo), ...splitSpeaker(text5) });
|
|
2318
2316
|
}
|
|
2319
2317
|
return cues;
|
|
2320
2318
|
}, "parseVtt");
|
|
2321
2319
|
|
|
2322
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
2320
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.569.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_8785fed449bbc2a6b34fc086f24a8413/node_modules/@wirecat/cli-core/dist/meetings/import.js
|
|
2323
2321
|
var importFiles = /* @__PURE__ */ __name(async (files, store, now = Date.now()) => {
|
|
2324
2322
|
const report = { meetings: 0, participants: 0, transcriptRows: 0, summaries: 0, warnings: [] };
|
|
2325
2323
|
for (const file of files) {
|
|
@@ -2352,10 +2350,10 @@ var importFiles = /* @__PURE__ */ __name(async (files, store, now = Date.now())
|
|
|
2352
2350
|
return report;
|
|
2353
2351
|
}, "importFiles");
|
|
2354
2352
|
|
|
2355
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
2353
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.569.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_8785fed449bbc2a6b34fc086f24a8413/node_modules/@wirecat/cli-core/dist/meetings/links.js
|
|
2356
2354
|
var CHAT_MESSAGES_READ = 1e5;
|
|
2357
2355
|
|
|
2358
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
2356
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.569.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_8785fed449bbc2a6b34fc086f24a8413/node_modules/@wirecat/cli-core/dist/meetings/provider.js
|
|
2359
2357
|
var snapshotMeetingScope = /* @__PURE__ */ __name((scope2) => {
|
|
2360
2358
|
const provider = scope2?.provider;
|
|
2361
2359
|
const account = scope2?.account;
|
|
@@ -2364,7 +2362,7 @@ var snapshotMeetingScope = /* @__PURE__ */ __name((scope2) => {
|
|
|
2364
2362
|
return Object.freeze({ provider, account });
|
|
2365
2363
|
}, "snapshotMeetingScope");
|
|
2366
2364
|
|
|
2367
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
2365
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.569.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_8785fed449bbc2a6b34fc086f24a8413/node_modules/@wirecat/cli-core/dist/meetings/meeting-management.js
|
|
2368
2366
|
var nonempty = /* @__PURE__ */ __name((value, name) => {
|
|
2369
2367
|
if (typeof value !== "string" || !value.trim())
|
|
2370
2368
|
throw new CliError("validation_error", `${name} must be nonempty`);
|
|
@@ -2415,7 +2413,7 @@ var validateMeetingChange = /* @__PURE__ */ __name((change, create) => {
|
|
|
2415
2413
|
return Object.freeze(result);
|
|
2416
2414
|
}, "validateMeetingChange");
|
|
2417
2415
|
|
|
2418
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
2416
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.569.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_8785fed449bbc2a6b34fc086f24a8413/node_modules/@wirecat/cli-core/dist/meetings/passage.js
|
|
2419
2417
|
var meetingHitContextLimits = /* @__PURE__ */ __name((options = {}) => {
|
|
2420
2418
|
const { before = 3, after = 3, bytes = 65536, max_read_bytes = 4194304, expected_fingerprint } = options;
|
|
2421
2419
|
if (![before, after].every((value) => Number.isSafeInteger(value) && value >= 0) || before + after > 999 || !Number.isSafeInteger(bytes) || bytes < 2 || bytes > 4194304 || !Number.isSafeInteger(max_read_bytes) || max_read_bytes < 1 || max_read_bytes > 67108864 || expected_fingerprint !== void 0 && (typeof expected_fingerprint !== "string" || !/^[a-f0-9]{64}$/.test(expected_fingerprint)))
|
|
@@ -2428,7 +2426,7 @@ var validateMeetingPassage = /* @__PURE__ */ __name((reference2, options) => {
|
|
|
2428
2426
|
throw new CliError("validation_error", "choose a cue reference and json, text or markdown output");
|
|
2429
2427
|
}, "validateMeetingPassage");
|
|
2430
2428
|
|
|
2431
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
2429
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.569.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_8785fed449bbc2a6b34fc086f24a8413/node_modules/@wirecat/cli-core/dist/meetings/preparation-context.js
|
|
2432
2430
|
var validateMeetingPreparationContext = /* @__PURE__ */ __name((original) => {
|
|
2433
2431
|
if (!original || typeof original !== "object" || Array.isArray(original))
|
|
2434
2432
|
throw new CliError("validation_error", "meeting preparation context is required");
|
|
@@ -2453,7 +2451,7 @@ var validateMeetingPreparationContext = /* @__PURE__ */ __name((original) => {
|
|
|
2453
2451
|
return { ...input, limit, maxReadBytes };
|
|
2454
2452
|
}, "validateMeetingPreparationContext");
|
|
2455
2453
|
|
|
2456
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
2454
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.569.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_8785fed449bbc2a6b34fc086f24a8413/node_modules/@wirecat/cli-core/dist/meetings/project-evidence-answer.js
|
|
2457
2455
|
var count4 = pipe(number(), integer(), minValue(0));
|
|
2458
2456
|
var id = pipe(string(), minLength(1));
|
|
2459
2457
|
var meetingProjectEvidence = strictObject({
|
|
@@ -2574,7 +2572,7 @@ var meetingProjectEvidenceAnswer = /* @__PURE__ */ __name((page, prepared, comma
|
|
|
2574
2572
|
};
|
|
2575
2573
|
}, "meetingProjectEvidenceAnswer");
|
|
2576
2574
|
|
|
2577
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
2575
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.569.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_8785fed449bbc2a6b34fc086f24a8413/node_modules/@wirecat/cli-core/dist/meetings/search-validation.js
|
|
2578
2576
|
var validateMeetingHitSearch = /* @__PURE__ */ __name((query, options = {}) => {
|
|
2579
2577
|
const integer3 = /* @__PURE__ */ __name((value, low, high) => Number.isSafeInteger(value) && value >= low && value <= high, "integer");
|
|
2580
2578
|
if (typeof query !== "string" || !query.trim() || query.includes("\0") || new TextEncoder().encode(query).byteLength > 65536 || !integer3(options.limit ?? 100, 1, 1e3) || !integer3(options.maxReadBytes ?? 4194304, 1, 67108864) || [
|
|
@@ -2594,7 +2592,7 @@ var validateMeetingHitSearch = /* @__PURE__ */ __name((query, options = {}) => {
|
|
|
2594
2592
|
throw new CliError("validation_error", "choose one project selector and one tag or topic selector");
|
|
2595
2593
|
}, "validateMeetingHitSearch");
|
|
2596
2594
|
|
|
2597
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
2595
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.569.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_8785fed449bbc2a6b34fc086f24a8413/node_modules/@wirecat/cli-core/dist/meetings/project-evidence-query.js
|
|
2598
2596
|
var ids = {
|
|
2599
2597
|
meeting_id: "meetingId",
|
|
2600
2598
|
identity_id: "participantIdentityId",
|
|
@@ -2685,7 +2683,7 @@ var prepareMeetingProjectEvidence = /* @__PURE__ */ __name((project, request = {
|
|
|
2685
2683
|
return { project: project.trim(), options, query: frozen.join(" AND ") };
|
|
2686
2684
|
}, "prepareMeetingProjectEvidence");
|
|
2687
2685
|
|
|
2688
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
2686
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.569.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_8785fed449bbc2a6b34fc086f24a8413/node_modules/@wirecat/cli-core/dist/meetings/project-evidence.js
|
|
2689
2687
|
var readMeetingProjectEvidence = /* @__PURE__ */ __name(async (read, project, request = {}, now = Date.now()) => {
|
|
2690
2688
|
const prepared = prepareMeetingProjectEvidence(project, request, now);
|
|
2691
2689
|
const page = await read(prepared.project, prepared.options);
|
|
@@ -2693,12 +2691,12 @@ var readMeetingProjectEvidence = /* @__PURE__ */ __name(async (read, project, re
|
|
|
2693
2691
|
return meetingProjectEvidenceAnswer(page, prepared);
|
|
2694
2692
|
}, "readMeetingProjectEvidence");
|
|
2695
2693
|
|
|
2696
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
2694
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.569.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_8785fed449bbc2a6b34fc086f24a8413/node_modules/@wirecat/cli-core/dist/meetings/pull.js
|
|
2697
2695
|
var participantInput = /* @__PURE__ */ __name((p, provider, occurrenceId2, position, accountId) => {
|
|
2698
|
-
const { identityExternalId, ...
|
|
2696
|
+
const { identityExternalId, ...fields } = p;
|
|
2699
2697
|
const externalId = identityExternalId ?? (p.email ? `email:${p.email.toLowerCase()}` : p.externalId) ?? `name:${p.displayName ?? "unknown"}@${accountId}/${occurrenceId2}:${position}`;
|
|
2700
2698
|
return {
|
|
2701
|
-
...
|
|
2699
|
+
...fields,
|
|
2702
2700
|
identity: {
|
|
2703
2701
|
provider,
|
|
2704
2702
|
externalId,
|
|
@@ -2832,47 +2830,47 @@ unlinked`, format)],
|
|
|
2832
2830
|
return report;
|
|
2833
2831
|
}, "pull");
|
|
2834
2832
|
|
|
2835
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
2836
|
-
var
|
|
2833
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.569.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_8785fed449bbc2a6b34fc086f24a8413/node_modules/@wirecat/cli-core/dist/meetings/read-answers.js
|
|
2834
|
+
var text4 = string();
|
|
2837
2835
|
var count5 = pipe(number(), integer(), minValue(0));
|
|
2838
2836
|
var id2 = pipe(number(), integer(), minValue(1));
|
|
2839
2837
|
var iso3 = /* @__PURE__ */ __name((ms) => ms === null ? null : new Date(ms).toISOString(), "iso");
|
|
2840
2838
|
var meetingReview = strictObject({
|
|
2841
2839
|
ref: reference,
|
|
2842
2840
|
id: pipe(string(), minLength(1)),
|
|
2843
|
-
title: nullable(
|
|
2841
|
+
title: nullable(text4),
|
|
2844
2842
|
started_at: nullable(isoTime),
|
|
2845
2843
|
duration_ms: nullable(count5),
|
|
2846
2844
|
participants_count: nullable(count5),
|
|
2847
|
-
projects: array(
|
|
2845
|
+
projects: array(text4),
|
|
2848
2846
|
/** Null when the meeting has no current transcript. */
|
|
2849
2847
|
transcript: nullable(strictObject({ lines: count5, words: count5 })),
|
|
2850
2848
|
/** The three who talked longest. */
|
|
2851
|
-
speakers: array(strictObject({ name: nullable(
|
|
2849
|
+
speakers: array(strictObject({ name: nullable(text4), talk_ms: count5 })),
|
|
2852
2850
|
/** The newest stored summary; null when there is none. */
|
|
2853
2851
|
summary: nullable(strictObject({
|
|
2854
|
-
source:
|
|
2855
|
-
title: nullable(
|
|
2856
|
-
overview: nullable(
|
|
2857
|
-
next_steps: array(
|
|
2858
|
-
url: nullable(
|
|
2852
|
+
source: text4,
|
|
2853
|
+
title: nullable(text4),
|
|
2854
|
+
overview: nullable(text4),
|
|
2855
|
+
next_steps: array(text4),
|
|
2856
|
+
url: nullable(text4)
|
|
2859
2857
|
}))
|
|
2860
2858
|
});
|
|
2861
2859
|
var meetingLink = strictObject({
|
|
2862
|
-
url:
|
|
2863
|
-
domain: nullable(
|
|
2860
|
+
url: text4,
|
|
2861
|
+
domain: nullable(text4),
|
|
2864
2862
|
/** The Google Docs, Sheets, Slides, Forms or Drive file it names. */
|
|
2865
|
-
document_id: nullable(
|
|
2863
|
+
document_id: nullable(text4),
|
|
2866
2864
|
count: count5,
|
|
2867
2865
|
first_at: isoTime,
|
|
2868
2866
|
last_at: isoTime,
|
|
2869
|
-
senders: array(
|
|
2870
|
-
meetings: array(strictObject({ ref: reference, title: nullable(
|
|
2867
|
+
senders: array(text4),
|
|
2868
|
+
meetings: array(strictObject({ ref: reference, title: nullable(text4) }))
|
|
2871
2869
|
});
|
|
2872
2870
|
var meetingSpeaker = strictObject({
|
|
2873
2871
|
/** `person:<id>`, `identity:<id>`, `name:<lowercased name>` or `unknown`. */
|
|
2874
|
-
key:
|
|
2875
|
-
name: nullable(
|
|
2872
|
+
key: text4,
|
|
2873
|
+
name: nullable(text4),
|
|
2876
2874
|
person_id: nullable(id2),
|
|
2877
2875
|
identity_id: nullable(id2),
|
|
2878
2876
|
meetings: count5,
|
|
@@ -2883,18 +2881,18 @@ var meetingSpeaker = strictObject({
|
|
|
2883
2881
|
share: pipe(number(), minValue(0), maxValue(1))
|
|
2884
2882
|
});
|
|
2885
2883
|
var meetingStats = strictObject({
|
|
2886
|
-
time_zone:
|
|
2884
|
+
time_zone: text4,
|
|
2887
2885
|
meetings: count5,
|
|
2888
2886
|
lines: count5,
|
|
2889
2887
|
words: count5,
|
|
2890
2888
|
talk_ms: count5,
|
|
2891
2889
|
/** `week_start` is the Monday, as a date in `time_zone`. */
|
|
2892
|
-
weeks: array(strictObject({ week_start:
|
|
2890
|
+
weeks: array(strictObject({ week_start: text4, meetings: count5, talk_ms: count5 })),
|
|
2893
2891
|
top_speakers: array(meetingSpeaker)
|
|
2894
2892
|
});
|
|
2895
2893
|
var meetingCountsRow = strictObject({
|
|
2896
|
-
key:
|
|
2897
|
-
name: nullable(
|
|
2894
|
+
key: text4,
|
|
2895
|
+
name: nullable(text4),
|
|
2898
2896
|
meetings: count5,
|
|
2899
2897
|
minutes: count5,
|
|
2900
2898
|
mean_minutes: nullable(number()),
|
|
@@ -2914,13 +2912,13 @@ var meetingParticipants = strictObject({
|
|
|
2914
2912
|
schema_version: literal(1),
|
|
2915
2913
|
kind: literal("meeting_participants"),
|
|
2916
2914
|
account_id: id2,
|
|
2917
|
-
query:
|
|
2915
|
+
query: text4,
|
|
2918
2916
|
items: array(strictObject({
|
|
2919
2917
|
participant_id: id2,
|
|
2920
2918
|
meeting_id: id2,
|
|
2921
2919
|
identity_id: id2,
|
|
2922
|
-
display_name: nullable(
|
|
2923
|
-
email: nullable(
|
|
2920
|
+
display_name: nullable(text4),
|
|
2921
|
+
email: nullable(text4)
|
|
2924
2922
|
})),
|
|
2925
2923
|
/** Several identities on one page are observations, never speaker attribution or person links. */
|
|
2926
2924
|
ambiguity: strictObject({ scope: literal("page"), multiple_identities: boolean(), identity_ids: array(id2) }),
|
|
@@ -2934,7 +2932,7 @@ var meetingParticipants = strictObject({
|
|
|
2934
2932
|
mode: literal("cursor"),
|
|
2935
2933
|
limit: count5,
|
|
2936
2934
|
has_more: boolean(),
|
|
2937
|
-
next_cursor: optional(
|
|
2935
|
+
next_cursor: optional(text4)
|
|
2938
2936
|
})
|
|
2939
2937
|
});
|
|
2940
2938
|
var revision = picklist(["current", "superseded"]);
|
|
@@ -2943,8 +2941,8 @@ var meetingPassage = strictObject({
|
|
|
2943
2941
|
kind: literal("meeting_context"),
|
|
2944
2942
|
source: reference,
|
|
2945
2943
|
target_ref: reference,
|
|
2946
|
-
target_fingerprint:
|
|
2947
|
-
fingerprint:
|
|
2944
|
+
target_fingerprint: text4,
|
|
2945
|
+
fingerprint: text4,
|
|
2948
2946
|
revision,
|
|
2949
2947
|
limits: strictObject({ before: count5, after: count5, bytes: count5, max_read_bytes: count5 }),
|
|
2950
2948
|
content_bytes: count5,
|
|
@@ -2963,30 +2961,30 @@ var meetingPassage = strictObject({
|
|
|
2963
2961
|
}),
|
|
2964
2962
|
items: array(strictObject({
|
|
2965
2963
|
ref: reference,
|
|
2966
|
-
fingerprint:
|
|
2964
|
+
fingerprint: text4,
|
|
2967
2965
|
transcript_id: id2,
|
|
2968
|
-
content_hash: nullable(
|
|
2966
|
+
content_hash: nullable(text4),
|
|
2969
2967
|
position: count5,
|
|
2970
2968
|
start_ms: count5,
|
|
2971
2969
|
end_ms: count5,
|
|
2972
2970
|
speaker_participant_id: nullable(id2),
|
|
2973
|
-
speaker_name: nullable(
|
|
2974
|
-
text:
|
|
2971
|
+
speaker_name: nullable(text4),
|
|
2972
|
+
text: text4,
|
|
2975
2973
|
revision
|
|
2976
2974
|
}))
|
|
2977
2975
|
});
|
|
2978
2976
|
var event = strictObject({
|
|
2979
2977
|
id: pipe(string(), minLength(1)),
|
|
2980
|
-
event_series_id: nullable(
|
|
2981
|
-
title: nullable(
|
|
2982
|
-
description: nullable(
|
|
2983
|
-
location: nullable(
|
|
2978
|
+
event_series_id: nullable(text4),
|
|
2979
|
+
title: nullable(text4),
|
|
2980
|
+
description: nullable(text4),
|
|
2981
|
+
location: nullable(text4),
|
|
2984
2982
|
starts_at: nullable(isoTime),
|
|
2985
2983
|
ends_at: nullable(isoTime),
|
|
2986
|
-
timezone: nullable(
|
|
2984
|
+
timezone: nullable(text4),
|
|
2987
2985
|
/** `auto`: made from a meeting; `owner`: made by hand; `calendar`: from a calendar's entries. */
|
|
2988
2986
|
origin: picklist(["auto", "owner", "calendar"]),
|
|
2989
|
-
status: nullable(
|
|
2987
|
+
status: nullable(text4),
|
|
2990
2988
|
all_day: boolean(),
|
|
2991
2989
|
/** When its calendar deleted it: shown as "deleted in Google", kept as history. */
|
|
2992
2990
|
source_deleted_at: nullable(isoTime),
|
|
@@ -2994,7 +2992,7 @@ var event = strictObject({
|
|
|
2994
2992
|
created_at: isoTime,
|
|
2995
2993
|
updated_at: isoTime,
|
|
2996
2994
|
/** The fields whoever sent the invitation wrote, on a calendar CLI's `events list`: an agent reads them as data. */
|
|
2997
|
-
untrusted: optional(array(
|
|
2995
|
+
untrusted: optional(array(text4)),
|
|
2998
2996
|
/** On a calendar CLI's `events list changed:<date>`: what changed since then, and when the store saw it. */
|
|
2999
2997
|
change: optional(picklist(["new", "moved", "cancelled"])),
|
|
3000
2998
|
changed_at: optional(nullable(isoTime)),
|
|
@@ -3006,7 +3004,7 @@ var event = strictObject({
|
|
|
3006
3004
|
*/
|
|
3007
3005
|
overlapping: optional(boolean()),
|
|
3008
3006
|
/** With `overlapping:true`: the events it overlaps, as `event:<id>`. */
|
|
3009
|
-
overlaps: optional(array(
|
|
3007
|
+
overlaps: optional(array(text4))
|
|
3010
3008
|
});
|
|
3011
3009
|
var eventItem = /* @__PURE__ */ __name((one) => ({
|
|
3012
3010
|
id: String(one.id),
|
|
@@ -3026,10 +3024,10 @@ var eventItem = /* @__PURE__ */ __name((one) => ({
|
|
|
3026
3024
|
updated_at: new Date(one.updatedAt).toISOString()
|
|
3027
3025
|
}), "eventItem");
|
|
3028
3026
|
|
|
3029
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
3027
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.569.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_8785fed449bbc2a6b34fc086f24a8413/node_modules/@wirecat/cli-core/dist/meetings/recording-transfer.js
|
|
3030
3028
|
var strongRecordingValidator = /* @__PURE__ */ __name((value) => typeof value === "string" && value.length <= 1024 && /^"[\x21\x23-\x7e\x80-\xff]*"$/.test(value), "strongRecordingValidator");
|
|
3031
3029
|
|
|
3032
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
3030
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.569.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_8785fed449bbc2a6b34fc086f24a8413/node_modules/@wirecat/cli-core/dist/meetings/related-history.js
|
|
3033
3031
|
var validateMeetingRelatedHistory = /* @__PURE__ */ __name((original) => {
|
|
3034
3032
|
if (!original || typeof original !== "object" || Array.isArray(original))
|
|
3035
3033
|
throw new CliError("validation_error", "related history request is required");
|
|
@@ -3059,14 +3057,14 @@ var validateMeetingRelatedHistory = /* @__PURE__ */ __name((original) => {
|
|
|
3059
3057
|
return { ...input, anchorIds: [...new Set(input.anchorIds)], limit, maxReadBytes };
|
|
3060
3058
|
}, "validateMeetingRelatedHistory");
|
|
3061
3059
|
|
|
3062
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
3060
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.569.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_8785fed449bbc2a6b34fc086f24a8413/node_modules/@wirecat/cli-core/dist/meetings/review.js
|
|
3063
3061
|
var REVIEW_LIMIT = { default: 50, most: 200 };
|
|
3064
3062
|
|
|
3065
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
3063
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.569.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_8785fed449bbc2a6b34fc086f24a8413/node_modules/@wirecat/cli-core/dist/meetings/save-hints.js
|
|
3066
3064
|
var SAVE_HELP = `Worth keeping \u2014 a decision, a promise, a preference? Record it with \`memo facts add\` or
|
|
3067
3065
|
\`memo memories add\`, citing the msg: locator or meeting: reference as --evidence.`;
|
|
3068
3066
|
|
|
3069
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
3067
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.569.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_8785fed449bbc2a6b34fc086f24a8413/node_modules/@wirecat/cli-core/dist/meetings/series-history.js
|
|
3070
3068
|
var validateMeetingSeriesHistory = /* @__PURE__ */ __name((input) => {
|
|
3071
3069
|
input.signal?.throwIfAborted();
|
|
3072
3070
|
if (!Number.isSafeInteger(input.accountId) || input.accountId <= 0)
|
|
@@ -3087,7 +3085,7 @@ var validateMeetingSeriesHistory = /* @__PURE__ */ __name((input) => {
|
|
|
3087
3085
|
return { ...input, limit, maxReadBytes };
|
|
3088
3086
|
}, "validateMeetingSeriesHistory");
|
|
3089
3087
|
|
|
3090
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
3088
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.569.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_8785fed449bbc2a6b34fc086f24a8413/node_modules/@wirecat/cli-core/dist/meetings/upcoming-validation.js
|
|
3091
3089
|
var invalid4 = /* @__PURE__ */ __name((field) => {
|
|
3092
3090
|
throw new CliError("invalid_response", `meeting occurrence ${field} is invalid`);
|
|
3093
3091
|
}, "invalid");
|
|
@@ -3156,16 +3154,16 @@ var readOccurrenceSchedule = /* @__PURE__ */ __name((input, meetingId, limit, ma
|
|
|
3156
3154
|
return result;
|
|
3157
3155
|
}, "readOccurrenceSchedule");
|
|
3158
3156
|
|
|
3159
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
3157
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.569.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_8785fed449bbc2a6b34fc086f24a8413/node_modules/@wirecat/cli-core/dist/meetings/series-inventory-validation.js
|
|
3160
3158
|
function invalid5(field, response = false) {
|
|
3161
3159
|
throw new CliError(response ? "invalid_response" : "validation_error", `invalid meeting inventory ${field}`);
|
|
3162
3160
|
}
|
|
3163
3161
|
__name(invalid5, "invalid");
|
|
3164
|
-
var object2 = /* @__PURE__ */ __name((value,
|
|
3162
|
+
var object2 = /* @__PURE__ */ __name((value, fields, field, response = false) => {
|
|
3165
3163
|
if (!value || typeof value !== "object" || Array.isArray(value))
|
|
3166
3164
|
invalid5(field, response);
|
|
3167
3165
|
for (const key of Object.keys(value))
|
|
3168
|
-
if (!
|
|
3166
|
+
if (!fields.includes(key))
|
|
3169
3167
|
invalid5(`${field}.${key}`, response);
|
|
3170
3168
|
}, "object");
|
|
3171
3169
|
var cursorDetails = /* @__PURE__ */ __name((value) => {
|
|
@@ -3185,7 +3183,7 @@ var validateMeetingSeriesInventoryCursor = /* @__PURE__ */ __name((value) => {
|
|
|
3185
3183
|
cursorDetails(value);
|
|
3186
3184
|
}, "validateMeetingSeriesInventoryCursor");
|
|
3187
3185
|
|
|
3188
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
3186
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.569.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_8785fed449bbc2a6b34fc086f24a8413/node_modules/@wirecat/cli-core/dist/meetings/stats.js
|
|
3189
3187
|
var MEETING_COUNTS_GROUPINGS = ["day", "week", "series"];
|
|
3190
3188
|
var zoneOf = /* @__PURE__ */ __name((timeZone) => {
|
|
3191
3189
|
const zone = timeZone ?? "UTC";
|
|
@@ -3320,7 +3318,7 @@ var aggregateMeetingStats = /* @__PURE__ */ __name((rows, timeZone) => {
|
|
|
3320
3318
|
};
|
|
3321
3319
|
}, "aggregateMeetingStats");
|
|
3322
3320
|
|
|
3323
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
3321
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.569.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_8785fed449bbc2a6b34fc086f24a8413/node_modules/@wirecat/cli-core/dist/meetings/upcoming.js
|
|
3324
3322
|
var cancelled = /* @__PURE__ */ __name((signal) => {
|
|
3325
3323
|
if (!signal?.aborted)
|
|
3326
3324
|
return;
|
|
@@ -3390,7 +3388,7 @@ var createUpcomingMeetingReader = /* @__PURE__ */ __name((scope2, port) => {
|
|
|
3390
3388
|
};
|
|
3391
3389
|
}, "createUpcomingMeetingReader");
|
|
3392
3390
|
|
|
3393
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
3391
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.569.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_8785fed449bbc2a6b34fc086f24a8413/node_modules/@wirecat/cli-core/dist/domain/tags.js
|
|
3394
3392
|
var TAG_TYPES = ["chat", "contact", "message", "task"];
|
|
3395
3393
|
var TAG = /^[a-z0-9-]{1,32}$/;
|
|
3396
3394
|
var tagOf = /* @__PURE__ */ __name((value) => {
|
|
@@ -3404,7 +3402,7 @@ var normalizeTag = /* @__PURE__ */ __name((value) => {
|
|
|
3404
3402
|
return tag;
|
|
3405
3403
|
}, "normalizeTag");
|
|
3406
3404
|
|
|
3407
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
3405
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.569.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_8785fed449bbc2a6b34fc086f24a8413/node_modules/@wirecat/cli-core/dist/store/sqlite/link-kinds.js
|
|
3408
3406
|
var LINK_KINDS = [
|
|
3409
3407
|
"links-to",
|
|
3410
3408
|
"blocked-by",
|
|
@@ -3425,7 +3423,7 @@ var LINK_SOURCES = [...LINK_ORIGINS, "calendar"];
|
|
|
3425
3423
|
var RELATION_KINDS = ["member-of", "related-to"];
|
|
3426
3424
|
var linkKind = /* @__PURE__ */ __name((kind) => `'${kind}'`, "linkKind");
|
|
3427
3425
|
|
|
3428
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
3426
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.569.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_8785fed449bbc2a6b34fc086f24a8413/node_modules/@wirecat/cli-core/dist/tasks/model.js
|
|
3429
3427
|
var TASK_KINDS = ["question", "request", "mention", "promise"];
|
|
3430
3428
|
var TASK_STATES = ["open", "todo", "in_progress", "done", "dismissed"];
|
|
3431
3429
|
var CLOSED_STATES = ["done", "dismissed"];
|
|
@@ -3440,7 +3438,7 @@ function closeTask(task, state, by, at, reason) {
|
|
|
3440
3438
|
}
|
|
3441
3439
|
__name(closeTask, "closeTask");
|
|
3442
3440
|
|
|
3443
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
3441
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.569.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_8785fed449bbc2a6b34fc086f24a8413/node_modules/@wirecat/cli-core/dist/tasks/priority.js
|
|
3444
3442
|
var PRIORITY_LABELS = ["low", "medium", "high", "critical"];
|
|
3445
3443
|
var MIDDLE = { low: 0.125, medium: 0.375, high: 0.625, critical: 0.875 };
|
|
3446
3444
|
var LEGACY_PRIORITY_SCORES = [0.875, 0.625, 0.375, 0.1875, 0.0625];
|
|
@@ -3469,13 +3467,13 @@ var priorityOf = /* @__PURE__ */ __name((value) => {
|
|
|
3469
3467
|
}, "priorityOf");
|
|
3470
3468
|
var priorityOption = /* @__PURE__ */ __name((value) => priorityOf(value) ?? "none", "priorityOption");
|
|
3471
3469
|
|
|
3472
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
3470
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.569.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_8785fed449bbc2a6b34fc086f24a8413/node_modules/@wirecat/cli-core/dist/tasks/store.js
|
|
3473
3471
|
function matches2(task, filter) {
|
|
3474
3472
|
return (filter.account === void 0 || task.account === filter.account) && (filter.state === void 0 || task.state === filter.state) && (filter.group === void 0 || task.group === filter.group) && (filter.kind === void 0 || task.kind === filter.kind) && (filter.createdBefore === void 0 || task.createdAt < filter.createdBefore);
|
|
3475
3473
|
}
|
|
3476
3474
|
__name(matches2, "matches");
|
|
3477
3475
|
|
|
3478
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
3476
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.569.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_8785fed449bbc2a6b34fc086f24a8413/node_modules/@wirecat/cli-core/dist/tasks/service.js
|
|
3479
3477
|
function createTaskService({ store, now = /* @__PURE__ */ __name(() => /* @__PURE__ */ new Date(), "now"), newId = /* @__PURE__ */ __name(() => crypto.randomUUID(), "newId") }) {
|
|
3480
3478
|
async function find(id3) {
|
|
3481
3479
|
const task = await store.get(id3);
|
|
@@ -3535,7 +3533,7 @@ function median(values) {
|
|
|
3535
3533
|
}
|
|
3536
3534
|
__name(median, "median");
|
|
3537
3535
|
|
|
3538
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
3536
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.569.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_8785fed449bbc2a6b34fc086f24a8413/node_modules/@wirecat/cli-core/dist/domain/knowledge.js
|
|
3539
3537
|
var FACT_STATUSES = ["proposed", "accepted", "superseded", "reversed", "rejected"];
|
|
3540
3538
|
var MEMORY_KINDS = ["summary", "digest", "preference"];
|
|
3541
3539
|
var MEMORY_STATUSES = ["proposed", "confirmed", "stale", "superseded"];
|
|
@@ -3599,14 +3597,14 @@ export {
|
|
|
3599
3597
|
validatePayment,
|
|
3600
3598
|
paymentTitle,
|
|
3601
3599
|
meetingTimestamp,
|
|
3600
|
+
findingText,
|
|
3602
3601
|
findingHash,
|
|
3602
|
+
findingFields,
|
|
3603
3603
|
validEvidence,
|
|
3604
3604
|
findingId,
|
|
3605
3605
|
validateFinding,
|
|
3606
3606
|
validateBatch,
|
|
3607
3607
|
validateFindings,
|
|
3608
|
-
findingText,
|
|
3609
|
-
findingFields,
|
|
3610
3608
|
findingFingerprint,
|
|
3611
3609
|
MEETING_FINDINGS_KIND,
|
|
3612
3610
|
validateMeetingFindings,
|