@wirecat/cli-template 0.16.0 → 0.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/.github/workflows/ci.yml +18 -0
  2. package/.github/workflows/release-pr.yml +37 -0
  3. package/CHANGELOG.md +39 -0
  4. package/bin/release +17 -3
  5. package/biome.json +6 -0
  6. package/contracts/plan.json +2 -1
  7. package/dist/bin/clidev.js +2 -2
  8. package/dist/bundle/{all-profiles-FS7AEOE7.js → all-profiles-I2I5Y47S.js} +7 -7
  9. package/dist/bundle/{anthropic-5RN7BGDI.js → anthropic-6KWLOH3O.js} +4 -4
  10. package/dist/bundle/{app-server-WGTKZQKJ.js → app-server-WDHIM77I.js} +42 -39
  11. package/dist/bundle/{bun-ILPS6AYA.js → bun-NQS22GBW.js} +2 -2
  12. package/dist/bundle/{bun-sqlite-WK2IGBGD.js → bun-sqlite-ZHYZDAFU.js} +3 -3
  13. package/dist/bundle/{chunk-VS5LGSTM.js → chunk-43KXTQB6.js} +1 -1
  14. package/dist/bundle/{chunk-C3GNOEJP.js → chunk-4DHYD37E.js} +3 -3
  15. package/dist/bundle/{chunk-ADFSSIV4.js → chunk-64DNKCG6.js} +4 -4
  16. package/dist/bundle/{chunk-ATHZEV2Z.js → chunk-6HV2ZUJ7.js} +3 -3
  17. package/dist/bundle/{chunk-BPMKAZSS.js → chunk-6K7LOCZA.js} +204 -79
  18. package/dist/bundle/{chunk-YNROUY3R.js → chunk-ALOTPATU.js} +11 -11
  19. package/dist/bundle/{chunk-ZSY4WAGI.js → chunk-AQGUIORH.js} +303 -261
  20. package/dist/bundle/{chunk-EA3TMI4A.js → chunk-CAX65NS4.js} +2477 -1235
  21. package/dist/bundle/{chunk-MEXT6XDP.js → chunk-CZB5RLXN.js} +3 -3
  22. package/dist/bundle/{chunk-VPCXYY46.js → chunk-E5O6R3NL.js} +1 -1
  23. package/dist/bundle/{chunk-TXHCL75B.js → chunk-EMPBFRAG.js} +32 -26
  24. package/dist/bundle/{chunk-RFJKNFVF.js → chunk-ERHKHYWL.js} +6 -6
  25. package/dist/bundle/{chunk-ORV4EGNC.js → chunk-F2KGCZQP.js} +8 -8
  26. package/dist/bundle/{chunk-5KAYQKBK.js → chunk-FGQC6DQK.js} +63 -63
  27. package/dist/bundle/{chunk-VOTEB3AN.js → chunk-FPC4ESDC.js} +1 -1
  28. package/dist/bundle/{chunk-QGOOPPEW.js → chunk-G7JA7YXK.js} +5 -5
  29. package/dist/bundle/{chunk-JJZCPBH3.js → chunk-GBXTIWAE.js} +53 -44
  30. package/dist/bundle/{chunk-3MDNAYQA.js → chunk-HMP5CI4F.js} +4 -2
  31. package/dist/bundle/{chunk-2MWNE4L3.js → chunk-I5HN34YA.js} +4 -4
  32. package/dist/bundle/{chunk-LRHX62ZF.js → chunk-IKFNRGSZ.js} +3 -3
  33. package/dist/bundle/{chunk-7Z4HR6GO.js → chunk-IKGARE4J.js} +1 -1
  34. package/dist/bundle/{chunk-3WDYHOAF.js → chunk-JECGG4TM.js} +1 -1
  35. package/dist/bundle/{chunk-WDWP5N6M.js → chunk-KMYKWHFH.js} +26 -26
  36. package/dist/bundle/{chunk-ENDBOYQR.js → chunk-KSABL7M2.js} +89 -45
  37. package/dist/bundle/{chunk-DEHBTFIC.js → chunk-KWQSDU3D.js} +2 -2
  38. package/dist/bundle/{chunk-CGFQT3LQ.js → chunk-L4U3V7OU.js} +1 -1
  39. package/dist/bundle/{chunk-HTYLT6ME.js → chunk-MJSZEF7M.js} +296 -173
  40. package/dist/bundle/{chunk-OGTRPW2K.js → chunk-MVWHCXYA.js} +7 -7
  41. package/dist/bundle/{chunk-ETJXPB6A.js → chunk-NVALUKZU.js} +4 -4
  42. package/dist/bundle/{chunk-6WOJIAYA.js → chunk-Q5J3LKRL.js} +2 -2
  43. package/dist/bundle/{chunk-7EUX7AZV.js → chunk-QHXHJ3BK.js} +3 -3
  44. package/dist/bundle/{chunk-NENYWEXF.js → chunk-RKZJ7ZKU.js} +1 -1
  45. package/dist/bundle/{chunk-JFXWLQ2L.js → chunk-RQPDYAHW.js} +2 -2
  46. package/dist/bundle/{chunk-RYOAQCVJ.js → chunk-RSCHWXF5.js} +2 -2
  47. package/dist/bundle/{chunk-FMO6F5Q2.js → chunk-RYBCV3CX.js} +2 -2
  48. package/dist/bundle/{chunk-G45R7M42.js → chunk-T6ZLWN7E.js} +1 -1
  49. package/dist/bundle/{chunk-5HHIPDNW.js → chunk-T7657XL5.js} +2 -2
  50. package/dist/bundle/{chunk-SKBRW5U3.js → chunk-TH6AVNNH.js} +2 -2
  51. package/dist/bundle/{chunk-MBBOINK4.js → chunk-TMFSNTR2.js} +3 -3
  52. package/dist/bundle/{chunk-Z5NL6YNU.js → chunk-UESBF7HN.js} +6 -6
  53. package/dist/bundle/{chunk-EILS4BTQ.js → chunk-UGPJDNVX.js} +26 -26
  54. package/dist/bundle/{chunk-OF56L2JU.js → chunk-UXLB5I2B.js} +4 -4
  55. package/dist/bundle/{chunk-CTBHQRX6.js → chunk-VDV3WS4O.js} +13 -13
  56. package/dist/bundle/{chunk-NVPWZF67.js → chunk-VDXS7GR7.js} +8 -8
  57. package/dist/bundle/{chunk-YIVY2WI3.js → chunk-YLN6DBJV.js} +1 -1
  58. package/dist/bundle/{chunk-WM5AMTRY.js → chunk-YMGJJG3W.js} +31 -13
  59. package/dist/bundle/clidev.js +3 -3
  60. package/dist/bundle/{command-contract-ZDU73EPH.js → command-contract-JGOS34WS.js} +11 -11
  61. package/dist/bundle/{decode-QMLOGZ6R.js → decode-HHZMCEZF.js} +3 -3
  62. package/dist/bundle/{echarts-DRDGGHJT.js → echarts-LYV2DLKU.js} +2 -2
  63. package/dist/bundle/{embed-PIR2LJR2.js → embed-BPN3SCZ7.js} +4 -4
  64. package/dist/bundle/{embedder-6KBRPAEQ.js → embedder-NZAL7DVD.js} +7 -7
  65. package/dist/bundle/{first-run-JO3CMY3Z.js → first-run-OKN7MVLP.js} +8 -8
  66. package/dist/bundle/first-screen-6XGF2AKF.js +26 -0
  67. package/dist/bundle/{instructions-EOQOXY6V.js → instructions-N2HYCEWN.js} +1 -1
  68. package/dist/bundle/{mcp-7HBLFGCW.js → mcp-OGWFYUDR.js} +2 -2
  69. package/dist/bundle/{node-52WF2326.js → node-MIHFH7T4.js} +2 -2
  70. package/dist/bundle/{node-sqlite-LIK6OYNF.js → node-sqlite-FF2SFXPZ.js} +4 -4
  71. package/dist/bundle/{oauth-7FVF7HQQ.js → oauth-72XUHG3K.js} +5 -5
  72. package/dist/bundle/{open-CRZDEATN.js → open-HL6SSRKY.js} +3 -3
  73. package/dist/bundle/{openai-WAJ6WREQ.js → openai-DSWDZHQA.js} +12 -12
  74. package/dist/bundle/{process-YIQPKLZI.js → process-5EQF2SZN.js} +1 -1
  75. package/dist/bundle/{program-ZFFFPBRS.js → program-QPXFRATG.js} +970 -503
  76. package/dist/bundle/{prompt-QQIVHO3M.js → prompt-VVRJDKQK.js} +3 -3
  77. package/dist/bundle/{recognize-4KLBZDEC.js → recognize-T6RIVTQL.js} +2 -2
  78. package/dist/bundle/{remote-BABMZTHA.js → remote-7Z3C3FOG.js} +5 -5
  79. package/dist/bundle/{rerank-P3IQQJIL.js → rerank-RUFDP7NP.js} +5 -5
  80. package/dist/bundle/{serve-25SSAKRZ.js → serve-YZQDRGZW.js} +7 -7
  81. package/dist/bundle/server-NDSKEME6.js +52 -0
  82. package/dist/bundle/{server-P4XUYY5A.js → server-WSFS656N.js} +28 -28
  83. package/dist/bundle/{state-QCQALQBJ.js → state-GOQ4J5RS.js} +4 -4
  84. package/dist/bundle/{store-ZECPRGGH.js → store-KRGXTPKQ.js} +12 -10
  85. package/dist/bundle/store-maintenance-command-FNNZ5YCX.js +42 -0
  86. package/dist/commands/session.js +1 -1
  87. package/dist/commands/session.js.map +1 -1
  88. package/dist/program.d.ts.map +1 -1
  89. package/dist/program.js +1 -0
  90. package/dist/program.js.map +1 -1
  91. package/dist/version.d.ts +1 -1
  92. package/dist/version.js +1 -1
  93. package/docs/dev/skills/release/SKILL.md +10 -3
  94. package/docs/dev/skills/release/fresh-audit.md +1 -1
  95. package/kit/dist/new.js +2 -1
  96. package/package.json +4 -4
  97. package/pnpm-workspace.yaml +2 -0
  98. package/src/commands/session.ts +1 -1
  99. package/src/program.ts +1 -0
  100. package/src/run-scope.test.ts +31 -0
  101. package/src/version.ts +1 -1
  102. package/dist/bundle/first-screen-3T5IXTFL.js +0 -26
  103. package/dist/bundle/server-G4GCDMYI.js +0 -52
  104. package/dist/bundle/store-maintenance-command-ECUO5G6L.js +0 -42
@@ -7,10 +7,10 @@ import {
7
7
  agentJson,
8
8
  commandAvailability,
9
9
  failureContext
10
- } from "./chunk-WM5AMTRY.js";
10
+ } from "./chunk-YMGJJG3W.js";
11
11
  import {
12
12
  callerOf
13
- } from "./chunk-JFXWLQ2L.js";
13
+ } from "./chunk-RQPDYAHW.js";
14
14
  import {
15
15
  QUERY_ARGUMENT,
16
16
  lentConnection,
@@ -18,10 +18,10 @@ import {
18
18
  refuseLacking,
19
19
  servicesFor,
20
20
  storeModeDeps
21
- } from "./chunk-ZSY4WAGI.js";
21
+ } from "./chunk-AQGUIORH.js";
22
22
  import {
23
23
  MAX_BUFFERED_INPUT
24
- } from "./chunk-5HHIPDNW.js";
24
+ } from "./chunk-T7657XL5.js";
25
25
  import {
26
26
  DEFAULT_OUTPUT_BYTES,
27
27
  ENTITIES,
@@ -45,16 +45,16 @@ import {
45
45
  sealed,
46
46
  startRecording,
47
47
  traceOf
48
- } from "./chunk-HTYLT6ME.js";
48
+ } from "./chunk-MJSZEF7M.js";
49
49
  import {
50
50
  currentCaller,
51
51
  keepsSuccess,
52
52
  runContextOf,
53
53
  withCaller
54
- } from "./chunk-ORV4EGNC.js";
54
+ } from "./chunk-F2KGCZQP.js";
55
55
  import {
56
56
  queryDescription
57
- } from "./chunk-5KAYQKBK.js";
57
+ } from "./chunk-FGQC6DQK.js";
58
58
  import {
59
59
  COMPACT_FLAG,
60
60
  CliError,
@@ -97,15 +97,15 @@ import {
97
97
  unknown,
98
98
  word,
99
99
  writes
100
- } from "./chunk-WDWP5N6M.js";
100
+ } from "./chunk-KMYKWHFH.js";
101
101
  import {
102
102
  __name
103
103
  } from "./chunk-ZVVMGPBJ.js";
104
104
 
105
- // node_modules/.pnpm/@wirecat+cli-core@0.584.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_ab8c0b68b8b4768d5b87d6e249ef10da/node_modules/@wirecat/cli-core/dist/mcp/agent.js
105
+ // node_modules/.pnpm/@wirecat+cli-core@0.598.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_273187b89e8ba0142d0426b4a9bc937e/node_modules/@wirecat/cli-core/dist/mcp/agent.js
106
106
  import { Readable } from "node:stream";
107
107
 
108
- // 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/standards/lint.js
108
+ // node_modules/.pnpm/@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_typescript@7.0.2_vitest@5.0.5/node_modules/@wirecat/cli-base/dist/standards/lint.js
109
109
  var LINT_SEVERITIES = ["high", "medium", "low"];
110
110
  var lintRuleSchema = strictObject({
111
111
  id: word,
@@ -233,7 +233,7 @@ var overrideSchema = strictObject({
233
233
  });
234
234
  var overridesSchema = array(overrideSchema);
235
235
 
236
- // 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/standards/audit.js
236
+ // node_modules/.pnpm/@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_typescript@7.0.2_vitest@5.0.5/node_modules/@wirecat/cli-base/dist/standards/audit.js
237
237
  var auditRuleSchema = strictObject({ id: word, severity: picklist(LINT_SEVERITIES), summary: text });
238
238
  var defineAuditRules = /* @__PURE__ */ __name((input) => parseRegistry("audit rules", array(auditRuleSchema), input, (rules) => duplicates(rules.map((rule) => rule.id)).map((id) => `"${id}" is listed twice`)), "defineAuditRules");
239
239
  var AUDIT_RULES = defineAuditRules([
@@ -329,6 +329,14 @@ var PARITY_GROUPS = defineParityGroups([
329
329
  members: ["tg", "max", "memo", "drive", "zm", "wa", "gcal"],
330
330
  covers: ["commands", "upgrade", "notes", "meetings"],
331
331
  differences: []
332
+ },
333
+ // bitrix24-cli's search is cli-core's CRM `search all`, and beeline-cli's meetings take call recordings, not
334
+ // zoom-cli's: both are compared on the root commands every CLI shares, the way gcal and mail are on theirs.
335
+ {
336
+ name: "shared-roots",
337
+ members: ["tg", "max", "memo", "drive", "zm", "wa", "b24", "beeline"],
338
+ covers: ["commands", "doctor", "skill", "mcp", "upgrade"],
339
+ differences: MEMO_HAS_NO_PROFILES
332
340
  }
333
341
  ]);
334
342
  var requiredRootSchema = strictObject({ path: pipe(array(segment), minLength(1)), meaning: text });
@@ -342,7 +350,7 @@ var REQUIRED_ROOTS = defineRequiredRoots([
342
350
  { path: ["upgrade"], meaning: "updates the CLI" }
343
351
  ]);
344
352
 
345
- // 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/standards/fields.js
353
+ // node_modules/.pnpm/@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_typescript@7.0.2_vitest@5.0.5/node_modules/@wirecat/cli-base/dist/standards/fields.js
346
354
  var fieldRuleSchema = strictObject({ id: word, rule: text });
347
355
  var defineFieldRules = /* @__PURE__ */ __name((input) => parseRegistry("output field rules", array(fieldRuleSchema), input, (rules) => duplicates(rules.map((rule) => rule.id)).map((id) => `"${id}" is listed twice`)), "defineFieldRules");
348
356
  var FIELD_RULES = defineFieldRules([
@@ -358,7 +366,7 @@ var FIELD_RULES = defineFieldRules([
358
366
  }
359
367
  ]);
360
368
 
361
- // 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/standards/identifiers.js
369
+ // node_modules/.pnpm/@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_typescript@7.0.2_vitest@5.0.5/node_modules/@wirecat/cli-base/dist/standards/identifiers.js
362
370
  var key = pipe(string(), regex(SNAKE_CASE, "a snake_case key"));
363
371
  var identifierSchema = strictObject({ key, meaning: text, replaces: optional(array(key)) });
364
372
  var defineIdentifiers = /* @__PURE__ */ __name((input) => parseRegistry("identifiers", array(identifierSchema), input, (identifiers) => {
@@ -380,7 +388,7 @@ var IDENTIFIERS = defineIdentifiers([
380
388
  { key: "trace_id", meaning: "the distributed trace a run belongs to, from `traceparent`" }
381
389
  ]);
382
390
 
383
- // 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/standards/flags-calendar.js
391
+ // node_modules/.pnpm/@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_typescript@7.0.2_vitest@5.0.5/node_modules/@wirecat/cli-base/dist/standards/flags-calendar.js
384
392
  var CALENDAR_FLAGS = [
385
393
  { name: "--end-time", value: "<time>", role: "value", type: "time", meaning: "when it ends" },
386
394
  {
@@ -454,7 +462,47 @@ var CALENDAR_FLAGS = [
454
462
  }
455
463
  ];
456
464
 
457
- // 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/standards/flags-how.js
465
+ // node_modules/.pnpm/@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_typescript@7.0.2_vitest@5.0.5/node_modules/@wirecat/cli-base/dist/standards/flags-crm.js
466
+ var CRM_FLAGS = [
467
+ {
468
+ name: "--pipeline",
469
+ value: "<pipeline>",
470
+ role: "value",
471
+ type: "string",
472
+ meaning: "a CRM pipeline: pipeline:<id>, or a name only one pipeline has"
473
+ },
474
+ {
475
+ name: "--stage",
476
+ value: "<stage>",
477
+ role: "value",
478
+ type: "string",
479
+ meaning: "a stage of the record's pipeline, by the CRM's id or its name"
480
+ },
481
+ {
482
+ name: "--amount",
483
+ value: "<decimal>",
484
+ role: "value",
485
+ type: "string",
486
+ meaning: "a sum of money as a decimal, such as 1500.50, in --currency"
487
+ },
488
+ { name: "--currency", value: "<code>", role: "value", type: "string", meaning: "an ISO 4217 code, such as EUR" },
489
+ {
490
+ name: "--close-date",
491
+ value: "<date>",
492
+ role: "value",
493
+ type: "time",
494
+ meaning: "the day a deal or lead is expected to close, YYYY-MM-DD"
495
+ },
496
+ {
497
+ name: "--owner",
498
+ value: "<user>",
499
+ role: "value",
500
+ type: "id",
501
+ meaning: "the CRM user a record is assigned to, by the CRM's id"
502
+ }
503
+ ];
504
+
505
+ // node_modules/.pnpm/@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_typescript@7.0.2_vitest@5.0.5/node_modules/@wirecat/cli-base/dist/standards/flags-how.js
458
506
  var HOW_FLAGS = [
459
507
  {
460
508
  name: "--limit",
@@ -779,6 +827,7 @@ var HOW_FLAGS = [
779
827
  meaning: "tell the people it concerns about it: the chat's members, or an event's attendees"
780
828
  },
781
829
  { name: "--no-notify", role: "mode", type: "switch", meaning: "tell nobody about it" },
830
+ { name: "--open-new", role: "mode", type: "switch", meaning: "a read again for tasks also opens new tasks" },
782
831
  { name: "--offline", role: "mode", type: "switch", meaning: "answer from what was recorded and never connect" },
783
832
  {
784
833
  name: "--operation-id",
@@ -1448,7 +1497,7 @@ var HOW_FLAGS = [
1448
1497
  }
1449
1498
  ];
1450
1499
 
1451
- // 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/standards/flags-mail.js
1500
+ // node_modules/.pnpm/@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_typescript@7.0.2_vitest@5.0.5/node_modules/@wirecat/cli-base/dist/standards/flags-mail.js
1452
1501
  var MAIL_FLAGS = [
1453
1502
  {
1454
1503
  name: "--cc",
@@ -1478,7 +1527,94 @@ var MAIL_FLAGS = [
1478
1527
  }
1479
1528
  ];
1480
1529
 
1481
- // 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/standards/flags-what.js
1530
+ // node_modules/.pnpm/@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_typescript@7.0.2_vitest@5.0.5/node_modules/@wirecat/cli-base/dist/standards/flags-privacy.js
1531
+ var PRIVACY_FLAGS = [
1532
+ {
1533
+ name: "--about-text",
1534
+ value: "<who>",
1535
+ role: "value",
1536
+ type: "choice",
1537
+ meaning: "who sees the about text: everyone, contacts or nobody"
1538
+ },
1539
+ {
1540
+ name: "--calls",
1541
+ value: "<who>",
1542
+ role: "value",
1543
+ type: "choice",
1544
+ meaning: "whose calls ring: everyone, contacts or nobody"
1545
+ },
1546
+ {
1547
+ name: "--chat-invites",
1548
+ value: "<who>",
1549
+ role: "value",
1550
+ type: "choice",
1551
+ meaning: "who may add the account to groups and channels: everyone, contacts or nobody"
1552
+ },
1553
+ {
1554
+ name: "--find-by-phone",
1555
+ value: "<who>",
1556
+ role: "value",
1557
+ type: "choice",
1558
+ meaning: "who finds the account by its number: everyone, contacts or nobody"
1559
+ },
1560
+ {
1561
+ name: "--hide-online",
1562
+ value: "<on|off>",
1563
+ role: "value",
1564
+ type: "choice",
1565
+ meaning: "hide online status and last seen"
1566
+ },
1567
+ {
1568
+ name: "--last-seen",
1569
+ value: "<who>",
1570
+ role: "value",
1571
+ type: "choice",
1572
+ meaning: "who sees when the account was last online: everyone, contacts or nobody"
1573
+ },
1574
+ {
1575
+ name: "--phone-number",
1576
+ value: "<who>",
1577
+ role: "value",
1578
+ type: "choice",
1579
+ meaning: "who sees the number: everyone, contacts or nobody"
1580
+ },
1581
+ {
1582
+ name: "--profile-photo",
1583
+ value: "<who>",
1584
+ role: "value",
1585
+ type: "choice",
1586
+ meaning: "who sees the profile photo: everyone, contacts or nobody"
1587
+ },
1588
+ { name: "--read-receipts", value: "<on|off>", role: "value", type: "choice", meaning: "send read receipts" }
1589
+ ];
1590
+
1591
+ // node_modules/.pnpm/@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_typescript@7.0.2_vitest@5.0.5/node_modules/@wirecat/cli-base/dist/standards/flags-schedule.js
1592
+ var SCHEDULE_FLAGS = [
1593
+ {
1594
+ name: "--notify-on",
1595
+ value: "<when>",
1596
+ role: "value",
1597
+ type: "choice",
1598
+ meaning: "when a scheduled run tells the owner: always, failures or never"
1599
+ },
1600
+ {
1601
+ name: "--deliver-to",
1602
+ value: "<route>",
1603
+ role: "value",
1604
+ type: "string",
1605
+ meaning: "where a scheduled run's result also goes, by the owner's own CLI: telegram-bot:<profile>/<chat> or email:<profile>/<address>; repeat it for more. Not --to, which names who a message is for"
1606
+ },
1607
+ {
1608
+ name: "--max-cost-per-day",
1609
+ value: "<usd>",
1610
+ role: "budget",
1611
+ type: "number",
1612
+ meaning: "start no run for the rest of the day once the day's runs cost this much; 0 for no cap",
1613
+ unit: "US dollars"
1614
+ }
1615
+ ];
1616
+
1617
+ // node_modules/.pnpm/@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_typescript@7.0.2_vitest@5.0.5/node_modules/@wirecat/cli-base/dist/standards/flags-what.js
1482
1618
  var WHAT_FLAGS = [
1483
1619
  {
1484
1620
  name: "--analysis-provider",
@@ -1901,6 +2037,20 @@ var WHAT_FLAGS = [
1901
2037
  meaning: "look again from this day, for what arrived late"
1902
2038
  },
1903
2039
  { name: "--run", value: "<id>", role: "target", type: "id", meaning: "the run it is about" },
2040
+ {
2041
+ name: "--who",
2042
+ value: "<side>",
2043
+ role: "target",
2044
+ type: "choice",
2045
+ meaning: "whose replies are measured: me (the owner's) or others (the other side's)"
2046
+ },
2047
+ {
2048
+ name: "--write",
2049
+ value: "<id>",
2050
+ role: "target",
2051
+ type: "id",
2052
+ meaning: "one write of a run, by the operation_id its answer listed: undo or act on that write alone"
2053
+ },
1904
2054
  {
1905
2055
  name: "--target",
1906
2056
  value: "<ref>",
@@ -2103,63 +2253,6 @@ var WHAT_FLAGS = [
2103
2253
  type: "path",
2104
2254
  meaning: "an Ogg Opus file sent as a voice message"
2105
2255
  },
2106
- {
2107
- name: "--about-text",
2108
- value: "<who>",
2109
- role: "value",
2110
- type: "choice",
2111
- meaning: "who sees the about text: everyone, contacts or nobody"
2112
- },
2113
- {
2114
- name: "--calls",
2115
- value: "<who>",
2116
- role: "value",
2117
- type: "choice",
2118
- meaning: "whose calls ring: everyone, contacts or nobody"
2119
- },
2120
- {
2121
- name: "--chat-invites",
2122
- value: "<who>",
2123
- role: "value",
2124
- type: "choice",
2125
- meaning: "who may add the account to groups and channels: everyone, contacts or nobody"
2126
- },
2127
- {
2128
- name: "--find-by-phone",
2129
- value: "<who>",
2130
- role: "value",
2131
- type: "choice",
2132
- meaning: "who finds the account by its number: everyone, contacts or nobody"
2133
- },
2134
- {
2135
- name: "--hide-online",
2136
- value: "<on|off>",
2137
- role: "value",
2138
- type: "choice",
2139
- meaning: "hide online status and last seen"
2140
- },
2141
- {
2142
- name: "--last-seen",
2143
- value: "<who>",
2144
- role: "value",
2145
- type: "choice",
2146
- meaning: "who sees when the account was last online: everyone, contacts or nobody"
2147
- },
2148
- {
2149
- name: "--phone-number",
2150
- value: "<who>",
2151
- role: "value",
2152
- type: "choice",
2153
- meaning: "who sees the number: everyone, contacts or nobody"
2154
- },
2155
- {
2156
- name: "--profile-photo",
2157
- value: "<who>",
2158
- role: "value",
2159
- type: "choice",
2160
- meaning: "who sees the profile photo: everyone, contacts or nobody"
2161
- },
2162
- { name: "--read-receipts", value: "<on|off>", role: "value", type: "choice", meaning: "send read receipts" },
2163
2256
  {
2164
2257
  name: "--until",
2165
2258
  value: "<time>",
@@ -2262,6 +2355,13 @@ var WHAT_FLAGS = [
2262
2355
  type: "id",
2263
2356
  meaning: "never show this chat in it; repeat it for more"
2264
2357
  },
2358
+ {
2359
+ name: "--field",
2360
+ value: "<key=value>",
2361
+ role: "value",
2362
+ type: "string",
2363
+ meaning: "set one named field on a write, as key=value; repeat it for more"
2364
+ },
2265
2365
  {
2266
2366
  name: "--file",
2267
2367
  value: "<file>",
@@ -2476,7 +2576,7 @@ var WHAT_FLAGS = [
2476
2576
  }
2477
2577
  ];
2478
2578
 
2479
- // 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/standards/vocabulary.js
2579
+ // node_modules/.pnpm/@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_typescript@7.0.2_vitest@5.0.5/node_modules/@wirecat/cli-base/dist/standards/vocabulary.js
2480
2580
  var FLAG_TYPES = [
2481
2581
  "switch",
2482
2582
  "count",
@@ -2617,6 +2717,7 @@ var verbs = [
2617
2717
  // Only when someone asks, never from a matching name: WC-ACCT-11 in docs/standards/accounts.md.
2618
2718
  ["link", "record that two identities are one person"],
2619
2719
  ["unlink", "undo a link"],
2720
+ ["allocate", "match a payment to the invoice or order it settles, in whole or in part"],
2620
2721
  ["lookup", "ask the messenger who is behind a phone number"],
2621
2722
  [
2622
2723
  "inspect",
@@ -2717,6 +2818,20 @@ var collections = [
2717
2818
  "derived records attached to a selected entity, with explicit coverage of included and omitted facets"
2718
2819
  ],
2719
2820
  ["organizations", "companies, teams, families or communities"],
2821
+ [
2822
+ "records",
2823
+ "documents of the owner's business, such as an invoice or a receipt, kept with the things they are about"
2824
+ ],
2825
+ ["invoices", "bills the owner sends or receives, with their amounts and due dates"],
2826
+ ["orders", "what a customer asked for and the owner owes or delivers"],
2827
+ ["payments", "money that moved in or out, each one matched to the invoices it settles"],
2828
+ ["deals", "sales the owner works on, each at a stage of a pipeline, with an amount and an outcome"],
2829
+ ["leads", "possible customers not yet qualified into a deal"],
2830
+ ["pipelines", "ordered sets of stages a deal moves through"],
2831
+ ["stages", "steps of a pipeline, each open, won or lost"],
2832
+ ["products", "goods and services the owner sells, with their prices"],
2833
+ ["users", "people who work in the owner's account at a service, such as a CRM's employees"],
2834
+ ["fields", "a record type's field definitions: code, label, type and options, such as a CRM's custom fields"],
2720
2835
  [
2721
2836
  "identities",
2722
2837
  "ways to reach a person or an organization: an account in one messenger or mailbox, an e-mail address, a phone"
@@ -2811,6 +2926,7 @@ var views = [
2811
2926
  ["newcomers", "members observed joining during the selected time window"],
2812
2927
  ["retention", "whether members of a selected cohort remain or return over time"],
2813
2928
  ["responses", "observed replies between participants and the time taken to answer"],
2929
+ ["waiting", "chats whose newest message waits on the owner's reply"],
2814
2930
  ["discussion", "source posts compared by known views and observed discussion replies"],
2815
2931
  ["unanswered", "questions without an observed qualifying answer"],
2816
2932
  ["me", "the account a profile's token belongs to"],
@@ -2825,6 +2941,7 @@ var roots = [
2825
2941
  ["serve", "the long-running process"],
2826
2942
  ["setup", "the guided first run: log in or link the account, then install the agent skill"],
2827
2943
  ["doctor", "check this machine's setup"],
2944
+ ["recover", "repair a damaged store: what it would do, then its run subcommand does it"],
2828
2945
  ["upgrade", "install a newer version of this tool"],
2829
2946
  ["commands", "the command tree as data"],
2830
2947
  ["guide", "scenarios: the commands for a common task, in order, and why each"],
@@ -2846,10 +2963,18 @@ var VOCABULARY = defineVocabulary({
2846
2963
  ],
2847
2964
  views: views.map(([entry, meaning]) => ({ word: entry, meaning })),
2848
2965
  roots: roots.map(([entry, meaning]) => ({ word: entry, meaning })),
2849
- flags: [...HOW_FLAGS, ...WHAT_FLAGS, ...CALENDAR_FLAGS, ...MAIL_FLAGS]
2966
+ flags: [
2967
+ ...HOW_FLAGS,
2968
+ ...WHAT_FLAGS,
2969
+ ...PRIVACY_FLAGS,
2970
+ ...CALENDAR_FLAGS,
2971
+ ...MAIL_FLAGS,
2972
+ ...CRM_FLAGS,
2973
+ ...SCHEDULE_FLAGS
2974
+ ]
2850
2975
  });
2851
2976
 
2852
- // node_modules/.pnpm/@wirecat+cli-core@0.584.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_ab8c0b68b8b4768d5b87d6e249ef10da/node_modules/@wirecat/cli-core/dist/mcp/agent.js
2977
+ // node_modules/.pnpm/@wirecat+cli-core@0.598.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_273187b89e8ba0142d0426b4a9bc937e/node_modules/@wirecat/cli-core/dist/mcp/agent.js
2853
2978
  var TYPES = new Map(VOCABULARY.flags.map((flag) => [flag.name, flag.type]));
2854
2979
  var snake = /* @__PURE__ */ __name((name) => name.replaceAll("|", "_or_").replace(/[^a-z0-9]+/gi, "_"), "snake");
2855
2980
  var longOf = /* @__PURE__ */ __name((option) => option.flags.match(/--[a-z0-9][a-z0-9-]*/)?.[0], "longOf");
@@ -3072,7 +3197,7 @@ var runCommandForAgent = /* @__PURE__ */ __name(async (program, path, input, ctx
3072
3197
  }
3073
3198
  }, "runCommandForAgent");
3074
3199
 
3075
- // node_modules/.pnpm/@wirecat+cli-core@0.584.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_ab8c0b68b8b4768d5b87d6e249ef10da/node_modules/@wirecat/cli-core/dist/mcp/tool.js
3200
+ // node_modules/.pnpm/@wirecat+cli-core@0.598.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_273187b89e8ba0142d0426b4a9bc937e/node_modules/@wirecat/cli-core/dist/mcp/tool.js
3076
3201
  var limit = optional(pipe(number(), integer(), minValue(1), maxValue(100), description("how many")));
3077
3202
  var page = optional(pipe(number(), integer(), minValue(1), description("which page, from 1")));
3078
3203
  var message = pipe(
@@ -3331,7 +3456,7 @@ var failed = /* @__PURE__ */ __name((error, errors, effects) => {
3331
3456
  return mcpErrorResult(JSON.parse(agentJson(errorObjectOf(error, context))));
3332
3457
  }, "failed");
3333
3458
 
3334
- // node_modules/.pnpm/@wirecat+cli-core@0.584.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_ab8c0b68b8b4768d5b87d6e249ef10da/node_modules/@wirecat/cli-core/dist/mcp/surface.js
3459
+ // node_modules/.pnpm/@wirecat+cli-core@0.598.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_273187b89e8ba0142d0426b4a9bc937e/node_modules/@wirecat/cli-core/dist/mcp/surface.js
3335
3460
  import { randomUUID } from "node:crypto";
3336
3461
  var MATCHES = 8;
3337
3462
  var ANSWER = answerSchema();
@@ -3,28 +3,28 @@ const require = __bundleRequire(import.meta.url);
3
3
  import {
4
4
  installerOf,
5
5
  updateCommand
6
- } from "./chunk-2MWNE4L3.js";
6
+ } from "./chunk-I5HN34YA.js";
7
7
  import {
8
8
  QUESTIONS,
9
9
  readSetupAnswers,
10
10
  unanswered,
11
11
  writeSetupAnswers
12
- } from "./chunk-ATHZEV2Z.js";
12
+ } from "./chunk-6HV2ZUJ7.js";
13
13
  import {
14
14
  DEFAULT_STEMMERS,
15
15
  LANGUAGES
16
- } from "./chunk-NVPWZF67.js";
16
+ } from "./chunk-VDXS7GR7.js";
17
17
  import {
18
18
  sharedConfigPath
19
- } from "./chunk-QGOOPPEW.js";
19
+ } from "./chunk-G7JA7YXK.js";
20
20
  import {
21
21
  storePath
22
- } from "./chunk-6WOJIAYA.js";
22
+ } from "./chunk-Q5J3LKRL.js";
23
23
  import {
24
24
  __name
25
25
  } from "./chunk-ZVVMGPBJ.js";
26
26
 
27
- // node_modules/.pnpm/@wirecat+cli-core@0.584.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_ab8c0b68b8b4768d5b87d6e249ef10da/node_modules/@wirecat/cli-core/dist/cli/first-run.js
27
+ // node_modules/.pnpm/@wirecat+cli-core@0.598.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_273187b89e8ba0142d0426b4a9bc937e/node_modules/@wirecat/cli-core/dist/cli/first-run.js
28
28
  import { spawnSync } from "node:child_process";
29
29
  import { accessSync, constants, realpathSync } from "node:fs";
30
30
  import { delimiter, join } from "node:path";
@@ -82,7 +82,7 @@ var suggested = /* @__PURE__ */ __name((env, contentLanguages) => {
82
82
  return (own.length ? own : LANGUAGES.filter(({ code }) => code === "en" || code === system)).map(({ name }) => name);
83
83
  }, "suggested");
84
84
  var askLanguages = /* @__PURE__ */ __name(async ({ command, env, io, contentLanguages }) => {
85
- const { openStore } = await import("./store-ZECPRGGH.js");
85
+ const { openStore } = await import("./store-KRGXTPKQ.js");
86
86
  const store = await openStore({ env });
87
87
  let rebuild = false;
88
88
  try {
@@ -111,8 +111,8 @@ var askLanguages = /* @__PURE__ */ __name(async ({ command, env, io, contentLang
111
111
  if (!rebuild)
112
112
  return;
113
113
  const [{ openCache }, { buildStems }] = await Promise.all([
114
- import("./open-CRZDEATN.js"),
115
- import("./store-maintenance-command-ECUO5G6L.js")
114
+ import("./open-HL6SSRKY.js"),
115
+ import("./store-maintenance-command-FNNZ5YCX.js")
116
116
  ]);
117
117
  const database = await openCache(storePath(env));
118
118
  try {
@@ -124,7 +124,7 @@ var askLanguages = /* @__PURE__ */ __name(async ({ command, env, io, contentLang
124
124
  var askTools = /* @__PURE__ */ __name(async (run) => {
125
125
  const { command, env, io } = run;
126
126
  const installed = run.installed ?? ((name) => onPath(name, env));
127
- const { WIRECAT_TOOLS } = await import("./first-screen-3T5IXTFL.js");
127
+ const { WIRECAT_TOOLS } = await import("./first-screen-6XGF2AKF.js");
128
128
  const others = WIRECAT_TOOLS.filter((tool) => tool.command !== command);
129
129
  const missing = others.filter((tool) => !installed(tool.command));
130
130
  io.say("Other WireCat tools \u2014 they share this store, so one search finds everything:");
@@ -197,7 +197,7 @@ var setupAtStart = /* @__PURE__ */ __name(async (start) => {
197
197
  contentLanguages: start.contentLanguages,
198
198
  all: start.path[0] === "setup",
199
199
  io: {
200
- ask: /* @__PURE__ */ __name(async (prompt) => (await import("./prompt-QQIVHO3M.js")).readSecret(prompt, { input, echo: true }), "ask"),
200
+ ask: /* @__PURE__ */ __name(async (prompt) => (await import("./prompt-VVRJDKQK.js")).readSecret(prompt, { input, echo: true }), "ask"),
201
201
  say: /* @__PURE__ */ __name((text) => process.stderr.write(`${text}
202
202
  `), "say")
203
203
  }