@wirecat/cli-core 0.470.0 → 0.472.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 (62) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/dist/cli/app-doctor-command.d.ts +107 -0
  3. package/dist/cli/app-doctor-command.js +101 -0
  4. package/dist/cli/app-mcp-command.d.ts +23 -0
  5. package/dist/cli/app-mcp-command.js +49 -0
  6. package/dist/cli/index.d.ts +4 -2
  7. package/dist/cli/index.js +2 -1
  8. package/dist/cli/messenger/mcp-command.d.ts +29 -3
  9. package/dist/cli/messenger/mcp-command.js +59 -39
  10. package/dist/cli/shared-command-exports.d.ts +348 -0
  11. package/dist/cli/shared-command-exports.js +4 -0
  12. package/dist/errors/reasons.js +1 -0
  13. package/dist/mail/bulk.d.ts +7 -0
  14. package/dist/mail/bulk.js +3 -0
  15. package/dist/mail/facts.d.ts +9 -0
  16. package/dist/mail/facts.js +22 -0
  17. package/dist/mail/folders.d.ts +10 -0
  18. package/dist/mail/folders.js +13 -0
  19. package/dist/mail/gone.d.ts +20 -0
  20. package/dist/mail/gone.js +53 -0
  21. package/dist/mail/headers.d.ts +43 -0
  22. package/dist/mail/headers.js +88 -0
  23. package/dist/mail/index.d.ts +17 -0
  24. package/dist/mail/index.js +16 -0
  25. package/dist/mail/parse.d.ts +24 -0
  26. package/dist/mail/parse.js +79 -0
  27. package/dist/mail/presets.d.ts +30 -0
  28. package/dist/mail/presets.js +95 -0
  29. package/dist/mail/probe.d.ts +49 -0
  30. package/dist/mail/probe.js +81 -0
  31. package/dist/mail/resume.d.ts +61 -0
  32. package/dist/mail/resume.js +61 -0
  33. package/dist/mail/rule-input.d.ts +14 -0
  34. package/dist/mail/rule-input.js +32 -0
  35. package/dist/mail/rule-tags.d.ts +40 -0
  36. package/dist/mail/rule-tags.js +87 -0
  37. package/dist/mail/rules.d.ts +83 -0
  38. package/dist/mail/rules.js +108 -0
  39. package/dist/mail/score.d.ts +67 -0
  40. package/dist/mail/score.js +174 -0
  41. package/dist/mail/sender-scores.d.ts +30 -0
  42. package/dist/mail/sender-scores.js +96 -0
  43. package/dist/mail/source.d.ts +67 -0
  44. package/dist/mail/source.js +1 -0
  45. package/dist/mail/stored.d.ts +7 -0
  46. package/dist/mail/stored.js +36 -0
  47. package/dist/mail/sync.d.ts +91 -0
  48. package/dist/mail/sync.js +572 -0
  49. package/dist/mail/testing/contract.d.ts +20 -0
  50. package/dist/mail/testing/contract.js +106 -0
  51. package/dist/mail/testing/fake.d.ts +61 -0
  52. package/dist/mail/testing/fake.js +136 -0
  53. package/dist/mail/testing/index.d.ts +2 -0
  54. package/dist/mail/testing/index.js +2 -0
  55. package/dist/mcp/agent.js +14 -2
  56. package/dist/mcp/app-server.d.ts +42 -0
  57. package/dist/mcp/app-server.js +162 -0
  58. package/dist/mcp/instructions.d.ts +12 -0
  59. package/dist/mcp/instructions.js +23 -0
  60. package/dist/mcp/server.d.ts +4 -0
  61. package/dist/mcp/server.js +2 -2
  62. package/package.json +12 -1
@@ -1,3 +1,351 @@
1
+ export declare const appDoctorCommand: (app: import("./entry.js").AppIdentity, configuration: {
2
+ resolveSettings: (flags?: import("./settings.js").GlobalFlags, options?: import("./settings.js").ResolveOptions) => import("./settings.js").Settings & object;
3
+ configuredProfiles: (options?: import("./settings.js").ResolveOptions) => string[];
4
+ changeSetting: (path: string, { profile, setting, value, kind, root, }: {
5
+ profile: string | undefined;
6
+ setting: string;
7
+ value: string | undefined;
8
+ kind?: import("./settings.js").ProfileKind | undefined;
9
+ root?: boolean;
10
+ }) => unknown;
11
+ allSettings: string[];
12
+ defaultsOnlyKeys: string[];
13
+ schema: import("valibot").StrictObjectSchema<{
14
+ defaults: import("valibot").OptionalSchema<import("valibot").StrictObjectSchema<{
15
+ embedding_provider: ({
16
+ embeddingProvider: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["local", "openai"], undefined>, undefined>;
17
+ embeddingModel: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 200, undefined>]>, undefined>;
18
+ embeddingBaseUrl: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
19
+ embeddingDims: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<undefined>, import("valibot").IntegerAction<number, undefined>, import("valibot").MinValueAction<number, 1, undefined>, import("valibot").MaxValueAction<number, 65536, undefined>]>, undefined>;
20
+ models: import("valibot").OptionalSchema<import("valibot").RecordSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").RegexAction<string, undefined>]>, import("valibot").StrictObjectSchema<{
21
+ readonly provider: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["off", "openai", "anthropic"], undefined>, undefined>;
22
+ readonly model: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 200, undefined>]>, undefined>;
23
+ readonly base_url: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
24
+ }, undefined>, undefined>, undefined>;
25
+ })["embeddingProvider"];
26
+ embedding_model: ({
27
+ embeddingProvider: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["local", "openai"], undefined>, undefined>;
28
+ embeddingModel: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 200, undefined>]>, undefined>;
29
+ embeddingBaseUrl: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
30
+ embeddingDims: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<undefined>, import("valibot").IntegerAction<number, undefined>, import("valibot").MinValueAction<number, 1, undefined>, import("valibot").MaxValueAction<number, 65536, undefined>]>, undefined>;
31
+ models: import("valibot").OptionalSchema<import("valibot").RecordSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").RegexAction<string, undefined>]>, import("valibot").StrictObjectSchema<{
32
+ readonly provider: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["off", "openai", "anthropic"], undefined>, undefined>;
33
+ readonly model: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 200, undefined>]>, undefined>;
34
+ readonly base_url: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
35
+ }, undefined>, undefined>, undefined>;
36
+ })["embeddingModel"];
37
+ embedding_base_url: ({
38
+ embeddingProvider: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["local", "openai"], undefined>, undefined>;
39
+ embeddingModel: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 200, undefined>]>, undefined>;
40
+ embeddingBaseUrl: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
41
+ embeddingDims: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<undefined>, import("valibot").IntegerAction<number, undefined>, import("valibot").MinValueAction<number, 1, undefined>, import("valibot").MaxValueAction<number, 65536, undefined>]>, undefined>;
42
+ models: import("valibot").OptionalSchema<import("valibot").RecordSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").RegexAction<string, undefined>]>, import("valibot").StrictObjectSchema<{
43
+ readonly provider: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["off", "openai", "anthropic"], undefined>, undefined>;
44
+ readonly model: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 200, undefined>]>, undefined>;
45
+ readonly base_url: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
46
+ }, undefined>, undefined>, undefined>;
47
+ })["embeddingBaseUrl"];
48
+ embedding_dims: ({
49
+ embeddingProvider: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["local", "openai"], undefined>, undefined>;
50
+ embeddingModel: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 200, undefined>]>, undefined>;
51
+ embeddingBaseUrl: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
52
+ embeddingDims: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<undefined>, import("valibot").IntegerAction<number, undefined>, import("valibot").MinValueAction<number, 1, undefined>, import("valibot").MaxValueAction<number, 65536, undefined>]>, undefined>;
53
+ models: import("valibot").OptionalSchema<import("valibot").RecordSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").RegexAction<string, undefined>]>, import("valibot").StrictObjectSchema<{
54
+ readonly provider: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["off", "openai", "anthropic"], undefined>, undefined>;
55
+ readonly model: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 200, undefined>]>, undefined>;
56
+ readonly base_url: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
57
+ }, undefined>, undefined>, undefined>;
58
+ })["embeddingDims"];
59
+ models: ({
60
+ embeddingProvider: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["local", "openai"], undefined>, undefined>;
61
+ embeddingModel: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 200, undefined>]>, undefined>;
62
+ embeddingBaseUrl: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
63
+ embeddingDims: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<undefined>, import("valibot").IntegerAction<number, undefined>, import("valibot").MinValueAction<number, 1, undefined>, import("valibot").MaxValueAction<number, 65536, undefined>]>, undefined>;
64
+ models: import("valibot").OptionalSchema<import("valibot").RecordSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").RegexAction<string, undefined>]>, import("valibot").StrictObjectSchema<{
65
+ readonly provider: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["off", "openai", "anthropic"], undefined>, undefined>;
66
+ readonly model: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 200, undefined>]>, undefined>;
67
+ readonly base_url: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
68
+ }, undefined>, undefined>, undefined>;
69
+ })["models"];
70
+ limit: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<(issue: import("valibot").BaseIssue<unknown>) => string>, import("valibot").IntegerAction<number, (issue: import("valibot").BaseIssue<unknown>) => string>, import("valibot").MinValueAction<number, 1, (issue: import("valibot").BaseIssue<unknown>) => string>]>, undefined>;
71
+ timeout_ms: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<(issue: import("valibot").BaseIssue<unknown>) => string>, import("valibot").IntegerAction<number, (issue: import("valibot").BaseIssue<unknown>) => string>, import("valibot").MinValueAction<number, 1, (issue: import("valibot").BaseIssue<unknown>) => string>]>, undefined>;
72
+ color: import("valibot").OptionalSchema<import("valibot").BooleanSchema<(issue: import("valibot").BaseIssue<unknown>) => string>, undefined>;
73
+ sender_colors: import("valibot").OptionalSchema<import("valibot").BooleanSchema<(issue: import("valibot").BaseIssue<unknown>) => string>, undefined>;
74
+ record: import("valibot").OptionalSchema<import("valibot").BooleanSchema<(issue: import("valibot").BaseIssue<unknown>) => string>, undefined>;
75
+ record_input: import("valibot").OptionalSchema<import("valibot").UnionSchema<[import("valibot").BooleanSchema<undefined>, import("valibot").LiteralSchema<"failed", undefined>], (issue: import("valibot").BaseIssue<unknown>) => string>, undefined>;
76
+ keep_runs_for_days: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<(issue: import("valibot").BaseIssue<unknown>) => string>, import("valibot").IntegerAction<number, (issue: import("valibot").BaseIssue<unknown>) => string>, import("valibot").MinValueAction<number, 1, (issue: import("valibot").BaseIssue<unknown>) => string>]>, undefined>;
77
+ keep_successful_runs_for_days: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<(issue: import("valibot").BaseIssue<unknown>) => string>, import("valibot").IntegerAction<number, (issue: import("valibot").BaseIssue<unknown>) => string>, import("valibot").MinValueAction<number, 1, (issue: import("valibot").BaseIssue<unknown>) => string>]>, undefined>;
78
+ runs_size_limit_mb: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<(issue: import("valibot").BaseIssue<unknown>) => string>, import("valibot").IntegerAction<number, (issue: import("valibot").BaseIssue<unknown>) => string>, import("valibot").MinValueAction<number, 1, (issue: import("valibot").BaseIssue<unknown>) => string>]>, undefined>;
79
+ permissions: import("valibot").OptionalSchema<import("valibot").RecordSchema<import("valibot").GenericSchema<string>, import("valibot").PicklistSchema<readonly ["deny", "readonly", "ask", "allow"], (issue: import("valibot").PicklistIssue) => string>, (issue: import("valibot").BaseIssue<unknown>) => string>, undefined>;
80
+ sends_per_hour: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<(issue: import("valibot").BaseIssue<unknown>) => string>, import("valibot").IntegerAction<number, (issue: import("valibot").BaseIssue<unknown>) => string>, import("valibot").MinValueAction<number, 1, (issue: import("valibot").BaseIssue<unknown>) => string>]>, undefined>;
81
+ requests_per_minute: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<(issue: import("valibot").BaseIssue<unknown>) => string>, import("valibot").IntegerAction<number, (issue: import("valibot").BaseIssue<unknown>) => string>, import("valibot").MinValueAction<number, 0, (issue: import("valibot").BaseIssue<unknown>) => string>]>, undefined>;
82
+ transcribe_with: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["auto", "messenger", "local"], (issue: import("valibot").BaseIssue<unknown>) => string>, undefined>;
83
+ speech_model: import("valibot").OptionalSchema<import("valibot").StringSchema<(issue: import("valibot").BaseIssue<unknown>) => string>, undefined>;
84
+ search_catch_up: import("valibot").OptionalSchema<import("valibot").BooleanSchema<(issue: import("valibot").BaseIssue<unknown>) => string>, undefined>;
85
+ picture_search: import("valibot").OptionalSchema<import("valibot").BooleanSchema<(issue: import("valibot").BaseIssue<unknown>) => string>, undefined>;
86
+ search_reranker: import("valibot").OptionalSchema<import("valibot").PicklistSchema<[...string[], "off"], (issue: import("valibot").BaseIssue<unknown>) => string>, undefined>;
87
+ update_check: import("valibot").OptionalSchema<import("valibot").BooleanSchema<(issue: import("valibot").BaseIssue<unknown>) => string>, undefined>;
88
+ skill_hint: import("valibot").OptionalSchema<import("valibot").BooleanSchema<(issue: import("valibot").BaseIssue<unknown>) => string>, undefined>;
89
+ }, (issue: import("valibot").StrictObjectIssue) => string>, undefined>;
90
+ profiles: import("valibot").OptionalSchema<import("valibot").RecordSchema<import("valibot").StringSchema<undefined>, import("valibot").StrictObjectSchema<{
91
+ embedding_provider: ({
92
+ embeddingProvider: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["local", "openai"], undefined>, undefined>;
93
+ embeddingModel: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 200, undefined>]>, undefined>;
94
+ embeddingBaseUrl: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
95
+ embeddingDims: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<undefined>, import("valibot").IntegerAction<number, undefined>, import("valibot").MinValueAction<number, 1, undefined>, import("valibot").MaxValueAction<number, 65536, undefined>]>, undefined>;
96
+ models: import("valibot").OptionalSchema<import("valibot").RecordSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").RegexAction<string, undefined>]>, import("valibot").StrictObjectSchema<{
97
+ readonly provider: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["off", "openai", "anthropic"], undefined>, undefined>;
98
+ readonly model: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 200, undefined>]>, undefined>;
99
+ readonly base_url: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
100
+ }, undefined>, undefined>, undefined>;
101
+ })["embeddingProvider"];
102
+ embedding_model: ({
103
+ embeddingProvider: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["local", "openai"], undefined>, undefined>;
104
+ embeddingModel: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 200, undefined>]>, undefined>;
105
+ embeddingBaseUrl: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
106
+ embeddingDims: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<undefined>, import("valibot").IntegerAction<number, undefined>, import("valibot").MinValueAction<number, 1, undefined>, import("valibot").MaxValueAction<number, 65536, undefined>]>, undefined>;
107
+ models: import("valibot").OptionalSchema<import("valibot").RecordSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").RegexAction<string, undefined>]>, import("valibot").StrictObjectSchema<{
108
+ readonly provider: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["off", "openai", "anthropic"], undefined>, undefined>;
109
+ readonly model: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 200, undefined>]>, undefined>;
110
+ readonly base_url: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
111
+ }, undefined>, undefined>, undefined>;
112
+ })["embeddingModel"];
113
+ embedding_base_url: ({
114
+ embeddingProvider: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["local", "openai"], undefined>, undefined>;
115
+ embeddingModel: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 200, undefined>]>, undefined>;
116
+ embeddingBaseUrl: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
117
+ embeddingDims: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<undefined>, import("valibot").IntegerAction<number, undefined>, import("valibot").MinValueAction<number, 1, undefined>, import("valibot").MaxValueAction<number, 65536, undefined>]>, undefined>;
118
+ models: import("valibot").OptionalSchema<import("valibot").RecordSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").RegexAction<string, undefined>]>, import("valibot").StrictObjectSchema<{
119
+ readonly provider: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["off", "openai", "anthropic"], undefined>, undefined>;
120
+ readonly model: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 200, undefined>]>, undefined>;
121
+ readonly base_url: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
122
+ }, undefined>, undefined>, undefined>;
123
+ })["embeddingBaseUrl"];
124
+ embedding_dims: ({
125
+ embeddingProvider: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["local", "openai"], undefined>, undefined>;
126
+ embeddingModel: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 200, undefined>]>, undefined>;
127
+ embeddingBaseUrl: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
128
+ embeddingDims: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<undefined>, import("valibot").IntegerAction<number, undefined>, import("valibot").MinValueAction<number, 1, undefined>, import("valibot").MaxValueAction<number, 65536, undefined>]>, undefined>;
129
+ models: import("valibot").OptionalSchema<import("valibot").RecordSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").RegexAction<string, undefined>]>, import("valibot").StrictObjectSchema<{
130
+ readonly provider: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["off", "openai", "anthropic"], undefined>, undefined>;
131
+ readonly model: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 200, undefined>]>, undefined>;
132
+ readonly base_url: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
133
+ }, undefined>, undefined>, undefined>;
134
+ })["embeddingDims"];
135
+ models: ({
136
+ embeddingProvider: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["local", "openai"], undefined>, undefined>;
137
+ embeddingModel: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 200, undefined>]>, undefined>;
138
+ embeddingBaseUrl: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
139
+ embeddingDims: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<undefined>, import("valibot").IntegerAction<number, undefined>, import("valibot").MinValueAction<number, 1, undefined>, import("valibot").MaxValueAction<number, 65536, undefined>]>, undefined>;
140
+ models: import("valibot").OptionalSchema<import("valibot").RecordSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").RegexAction<string, undefined>]>, import("valibot").StrictObjectSchema<{
141
+ readonly provider: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["off", "openai", "anthropic"], undefined>, undefined>;
142
+ readonly model: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 200, undefined>]>, undefined>;
143
+ readonly base_url: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
144
+ }, undefined>, undefined>, undefined>;
145
+ })["models"];
146
+ limit: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<(issue: import("valibot").BaseIssue<unknown>) => string>, import("valibot").IntegerAction<number, (issue: import("valibot").BaseIssue<unknown>) => string>, import("valibot").MinValueAction<number, 1, (issue: import("valibot").BaseIssue<unknown>) => string>]>, undefined>;
147
+ timeout_ms: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<(issue: import("valibot").BaseIssue<unknown>) => string>, import("valibot").IntegerAction<number, (issue: import("valibot").BaseIssue<unknown>) => string>, import("valibot").MinValueAction<number, 1, (issue: import("valibot").BaseIssue<unknown>) => string>]>, undefined>;
148
+ color: import("valibot").OptionalSchema<import("valibot").BooleanSchema<(issue: import("valibot").BaseIssue<unknown>) => string>, undefined>;
149
+ sender_colors: import("valibot").OptionalSchema<import("valibot").BooleanSchema<(issue: import("valibot").BaseIssue<unknown>) => string>, undefined>;
150
+ record: import("valibot").OptionalSchema<import("valibot").BooleanSchema<(issue: import("valibot").BaseIssue<unknown>) => string>, undefined>;
151
+ record_input: import("valibot").OptionalSchema<import("valibot").UnionSchema<[import("valibot").BooleanSchema<undefined>, import("valibot").LiteralSchema<"failed", undefined>], (issue: import("valibot").BaseIssue<unknown>) => string>, undefined>;
152
+ keep_runs_for_days: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<(issue: import("valibot").BaseIssue<unknown>) => string>, import("valibot").IntegerAction<number, (issue: import("valibot").BaseIssue<unknown>) => string>, import("valibot").MinValueAction<number, 1, (issue: import("valibot").BaseIssue<unknown>) => string>]>, undefined>;
153
+ keep_successful_runs_for_days: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<(issue: import("valibot").BaseIssue<unknown>) => string>, import("valibot").IntegerAction<number, (issue: import("valibot").BaseIssue<unknown>) => string>, import("valibot").MinValueAction<number, 1, (issue: import("valibot").BaseIssue<unknown>) => string>]>, undefined>;
154
+ runs_size_limit_mb: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<(issue: import("valibot").BaseIssue<unknown>) => string>, import("valibot").IntegerAction<number, (issue: import("valibot").BaseIssue<unknown>) => string>, import("valibot").MinValueAction<number, 1, (issue: import("valibot").BaseIssue<unknown>) => string>]>, undefined>;
155
+ permissions: import("valibot").OptionalSchema<import("valibot").RecordSchema<import("valibot").GenericSchema<string>, import("valibot").PicklistSchema<readonly ["deny", "readonly", "ask", "allow"], (issue: import("valibot").PicklistIssue) => string>, (issue: import("valibot").BaseIssue<unknown>) => string>, undefined>;
156
+ sends_per_hour: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<(issue: import("valibot").BaseIssue<unknown>) => string>, import("valibot").IntegerAction<number, (issue: import("valibot").BaseIssue<unknown>) => string>, import("valibot").MinValueAction<number, 1, (issue: import("valibot").BaseIssue<unknown>) => string>]>, undefined>;
157
+ requests_per_minute: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<(issue: import("valibot").BaseIssue<unknown>) => string>, import("valibot").IntegerAction<number, (issue: import("valibot").BaseIssue<unknown>) => string>, import("valibot").MinValueAction<number, 0, (issue: import("valibot").BaseIssue<unknown>) => string>]>, undefined>;
158
+ transcribe_with: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["auto", "messenger", "local"], (issue: import("valibot").BaseIssue<unknown>) => string>, undefined>;
159
+ speech_model: import("valibot").OptionalSchema<import("valibot").StringSchema<(issue: import("valibot").BaseIssue<unknown>) => string>, undefined>;
160
+ search_catch_up: import("valibot").OptionalSchema<import("valibot").BooleanSchema<(issue: import("valibot").BaseIssue<unknown>) => string>, undefined>;
161
+ picture_search: import("valibot").OptionalSchema<import("valibot").BooleanSchema<(issue: import("valibot").BaseIssue<unknown>) => string>, undefined>;
162
+ search_reranker: import("valibot").OptionalSchema<import("valibot").PicklistSchema<[...string[], "off"], (issue: import("valibot").BaseIssue<unknown>) => string>, undefined>;
163
+ }, (issue: import("valibot").StrictObjectIssue) => string>, "has to be an object of profiles, by name">, {}>;
164
+ personal: import("valibot").OptionalSchema<import("valibot").StrictObjectSchema<{
165
+ readonly defaults: import("valibot").OptionalSchema<import("valibot").StrictObjectSchema<import("valibot").ObjectEntries, (issue: import("valibot").StrictObjectIssue) => string>, undefined>;
166
+ readonly profiles: import("valibot").OptionalSchema<import("valibot").RecordSchema<import("valibot").StringSchema<undefined>, import("valibot").StrictObjectSchema<import("valibot").ObjectEntries, (issue: import("valibot").StrictObjectIssue) => string>, "has to be an object of profiles, by name">, undefined>;
167
+ }, (issue: import("valibot").StrictObjectIssue) => string>, undefined>;
168
+ bot: import("valibot").OptionalSchema<import("valibot").StrictObjectSchema<{
169
+ readonly defaults: import("valibot").OptionalSchema<import("valibot").StrictObjectSchema<import("valibot").ObjectEntries, (issue: import("valibot").StrictObjectIssue) => string>, undefined>;
170
+ readonly profiles: import("valibot").OptionalSchema<import("valibot").RecordSchema<import("valibot").StringSchema<undefined>, import("valibot").StrictObjectSchema<import("valibot").ObjectEntries, (issue: import("valibot").StrictObjectIssue) => string>, "has to be an object of profiles, by name">, undefined>;
171
+ }, (issue: import("valibot").StrictObjectIssue) => string>, undefined>;
172
+ }, (issue: import("valibot").StrictObjectIssue) => string>;
173
+ permissions?: import("./permission-keys.js").CommandPermissions | undefined;
174
+ }, options?: import("./app-doctor-command.js").AppDoctorOptions | undefined) => import("commander").Command;
175
+ export declare const appMcpCommand: (app: import("./entry.js").AppIdentity, configuration: {
176
+ resolveSettings: (flags?: import("./settings.js").GlobalFlags, options?: import("./settings.js").ResolveOptions) => import("./settings.js").Settings & object;
177
+ configuredProfiles: (options?: import("./settings.js").ResolveOptions) => string[];
178
+ changeSetting: (path: string, { profile, setting, value, kind, root, }: {
179
+ profile: string | undefined;
180
+ setting: string;
181
+ value: string | undefined;
182
+ kind?: import("./settings.js").ProfileKind | undefined;
183
+ root?: boolean;
184
+ }) => unknown;
185
+ allSettings: string[];
186
+ defaultsOnlyKeys: string[];
187
+ schema: import("valibot").StrictObjectSchema<{
188
+ defaults: import("valibot").OptionalSchema<import("valibot").StrictObjectSchema<{
189
+ embedding_provider: ({
190
+ embeddingProvider: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["local", "openai"], undefined>, undefined>;
191
+ embeddingModel: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 200, undefined>]>, undefined>;
192
+ embeddingBaseUrl: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
193
+ embeddingDims: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<undefined>, import("valibot").IntegerAction<number, undefined>, import("valibot").MinValueAction<number, 1, undefined>, import("valibot").MaxValueAction<number, 65536, undefined>]>, undefined>;
194
+ models: import("valibot").OptionalSchema<import("valibot").RecordSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").RegexAction<string, undefined>]>, import("valibot").StrictObjectSchema<{
195
+ readonly provider: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["off", "openai", "anthropic"], undefined>, undefined>;
196
+ readonly model: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 200, undefined>]>, undefined>;
197
+ readonly base_url: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
198
+ }, undefined>, undefined>, undefined>;
199
+ })["embeddingProvider"];
200
+ embedding_model: ({
201
+ embeddingProvider: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["local", "openai"], undefined>, undefined>;
202
+ embeddingModel: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 200, undefined>]>, undefined>;
203
+ embeddingBaseUrl: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
204
+ embeddingDims: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<undefined>, import("valibot").IntegerAction<number, undefined>, import("valibot").MinValueAction<number, 1, undefined>, import("valibot").MaxValueAction<number, 65536, undefined>]>, undefined>;
205
+ models: import("valibot").OptionalSchema<import("valibot").RecordSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").RegexAction<string, undefined>]>, import("valibot").StrictObjectSchema<{
206
+ readonly provider: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["off", "openai", "anthropic"], undefined>, undefined>;
207
+ readonly model: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 200, undefined>]>, undefined>;
208
+ readonly base_url: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
209
+ }, undefined>, undefined>, undefined>;
210
+ })["embeddingModel"];
211
+ embedding_base_url: ({
212
+ embeddingProvider: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["local", "openai"], undefined>, undefined>;
213
+ embeddingModel: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 200, undefined>]>, undefined>;
214
+ embeddingBaseUrl: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
215
+ embeddingDims: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<undefined>, import("valibot").IntegerAction<number, undefined>, import("valibot").MinValueAction<number, 1, undefined>, import("valibot").MaxValueAction<number, 65536, undefined>]>, undefined>;
216
+ models: import("valibot").OptionalSchema<import("valibot").RecordSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").RegexAction<string, undefined>]>, import("valibot").StrictObjectSchema<{
217
+ readonly provider: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["off", "openai", "anthropic"], undefined>, undefined>;
218
+ readonly model: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 200, undefined>]>, undefined>;
219
+ readonly base_url: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
220
+ }, undefined>, undefined>, undefined>;
221
+ })["embeddingBaseUrl"];
222
+ embedding_dims: ({
223
+ embeddingProvider: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["local", "openai"], undefined>, undefined>;
224
+ embeddingModel: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 200, undefined>]>, undefined>;
225
+ embeddingBaseUrl: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
226
+ embeddingDims: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<undefined>, import("valibot").IntegerAction<number, undefined>, import("valibot").MinValueAction<number, 1, undefined>, import("valibot").MaxValueAction<number, 65536, undefined>]>, undefined>;
227
+ models: import("valibot").OptionalSchema<import("valibot").RecordSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").RegexAction<string, undefined>]>, import("valibot").StrictObjectSchema<{
228
+ readonly provider: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["off", "openai", "anthropic"], undefined>, undefined>;
229
+ readonly model: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 200, undefined>]>, undefined>;
230
+ readonly base_url: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
231
+ }, undefined>, undefined>, undefined>;
232
+ })["embeddingDims"];
233
+ models: ({
234
+ embeddingProvider: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["local", "openai"], undefined>, undefined>;
235
+ embeddingModel: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 200, undefined>]>, undefined>;
236
+ embeddingBaseUrl: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
237
+ embeddingDims: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<undefined>, import("valibot").IntegerAction<number, undefined>, import("valibot").MinValueAction<number, 1, undefined>, import("valibot").MaxValueAction<number, 65536, undefined>]>, undefined>;
238
+ models: import("valibot").OptionalSchema<import("valibot").RecordSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").RegexAction<string, undefined>]>, import("valibot").StrictObjectSchema<{
239
+ readonly provider: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["off", "openai", "anthropic"], undefined>, undefined>;
240
+ readonly model: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 200, undefined>]>, undefined>;
241
+ readonly base_url: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
242
+ }, undefined>, undefined>, undefined>;
243
+ })["models"];
244
+ limit: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<(issue: import("valibot").BaseIssue<unknown>) => string>, import("valibot").IntegerAction<number, (issue: import("valibot").BaseIssue<unknown>) => string>, import("valibot").MinValueAction<number, 1, (issue: import("valibot").BaseIssue<unknown>) => string>]>, undefined>;
245
+ timeout_ms: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<(issue: import("valibot").BaseIssue<unknown>) => string>, import("valibot").IntegerAction<number, (issue: import("valibot").BaseIssue<unknown>) => string>, import("valibot").MinValueAction<number, 1, (issue: import("valibot").BaseIssue<unknown>) => string>]>, undefined>;
246
+ color: import("valibot").OptionalSchema<import("valibot").BooleanSchema<(issue: import("valibot").BaseIssue<unknown>) => string>, undefined>;
247
+ sender_colors: import("valibot").OptionalSchema<import("valibot").BooleanSchema<(issue: import("valibot").BaseIssue<unknown>) => string>, undefined>;
248
+ record: import("valibot").OptionalSchema<import("valibot").BooleanSchema<(issue: import("valibot").BaseIssue<unknown>) => string>, undefined>;
249
+ record_input: import("valibot").OptionalSchema<import("valibot").UnionSchema<[import("valibot").BooleanSchema<undefined>, import("valibot").LiteralSchema<"failed", undefined>], (issue: import("valibot").BaseIssue<unknown>) => string>, undefined>;
250
+ keep_runs_for_days: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<(issue: import("valibot").BaseIssue<unknown>) => string>, import("valibot").IntegerAction<number, (issue: import("valibot").BaseIssue<unknown>) => string>, import("valibot").MinValueAction<number, 1, (issue: import("valibot").BaseIssue<unknown>) => string>]>, undefined>;
251
+ keep_successful_runs_for_days: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<(issue: import("valibot").BaseIssue<unknown>) => string>, import("valibot").IntegerAction<number, (issue: import("valibot").BaseIssue<unknown>) => string>, import("valibot").MinValueAction<number, 1, (issue: import("valibot").BaseIssue<unknown>) => string>]>, undefined>;
252
+ runs_size_limit_mb: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<(issue: import("valibot").BaseIssue<unknown>) => string>, import("valibot").IntegerAction<number, (issue: import("valibot").BaseIssue<unknown>) => string>, import("valibot").MinValueAction<number, 1, (issue: import("valibot").BaseIssue<unknown>) => string>]>, undefined>;
253
+ permissions: import("valibot").OptionalSchema<import("valibot").RecordSchema<import("valibot").GenericSchema<string>, import("valibot").PicklistSchema<readonly ["deny", "readonly", "ask", "allow"], (issue: import("valibot").PicklistIssue) => string>, (issue: import("valibot").BaseIssue<unknown>) => string>, undefined>;
254
+ sends_per_hour: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<(issue: import("valibot").BaseIssue<unknown>) => string>, import("valibot").IntegerAction<number, (issue: import("valibot").BaseIssue<unknown>) => string>, import("valibot").MinValueAction<number, 1, (issue: import("valibot").BaseIssue<unknown>) => string>]>, undefined>;
255
+ requests_per_minute: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<(issue: import("valibot").BaseIssue<unknown>) => string>, import("valibot").IntegerAction<number, (issue: import("valibot").BaseIssue<unknown>) => string>, import("valibot").MinValueAction<number, 0, (issue: import("valibot").BaseIssue<unknown>) => string>]>, undefined>;
256
+ transcribe_with: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["auto", "messenger", "local"], (issue: import("valibot").BaseIssue<unknown>) => string>, undefined>;
257
+ speech_model: import("valibot").OptionalSchema<import("valibot").StringSchema<(issue: import("valibot").BaseIssue<unknown>) => string>, undefined>;
258
+ search_catch_up: import("valibot").OptionalSchema<import("valibot").BooleanSchema<(issue: import("valibot").BaseIssue<unknown>) => string>, undefined>;
259
+ picture_search: import("valibot").OptionalSchema<import("valibot").BooleanSchema<(issue: import("valibot").BaseIssue<unknown>) => string>, undefined>;
260
+ search_reranker: import("valibot").OptionalSchema<import("valibot").PicklistSchema<[...string[], "off"], (issue: import("valibot").BaseIssue<unknown>) => string>, undefined>;
261
+ update_check: import("valibot").OptionalSchema<import("valibot").BooleanSchema<(issue: import("valibot").BaseIssue<unknown>) => string>, undefined>;
262
+ skill_hint: import("valibot").OptionalSchema<import("valibot").BooleanSchema<(issue: import("valibot").BaseIssue<unknown>) => string>, undefined>;
263
+ }, (issue: import("valibot").StrictObjectIssue) => string>, undefined>;
264
+ profiles: import("valibot").OptionalSchema<import("valibot").RecordSchema<import("valibot").StringSchema<undefined>, import("valibot").StrictObjectSchema<{
265
+ embedding_provider: ({
266
+ embeddingProvider: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["local", "openai"], undefined>, undefined>;
267
+ embeddingModel: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 200, undefined>]>, undefined>;
268
+ embeddingBaseUrl: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
269
+ embeddingDims: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<undefined>, import("valibot").IntegerAction<number, undefined>, import("valibot").MinValueAction<number, 1, undefined>, import("valibot").MaxValueAction<number, 65536, undefined>]>, undefined>;
270
+ models: import("valibot").OptionalSchema<import("valibot").RecordSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").RegexAction<string, undefined>]>, import("valibot").StrictObjectSchema<{
271
+ readonly provider: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["off", "openai", "anthropic"], undefined>, undefined>;
272
+ readonly model: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 200, undefined>]>, undefined>;
273
+ readonly base_url: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
274
+ }, undefined>, undefined>, undefined>;
275
+ })["embeddingProvider"];
276
+ embedding_model: ({
277
+ embeddingProvider: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["local", "openai"], undefined>, undefined>;
278
+ embeddingModel: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 200, undefined>]>, undefined>;
279
+ embeddingBaseUrl: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
280
+ embeddingDims: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<undefined>, import("valibot").IntegerAction<number, undefined>, import("valibot").MinValueAction<number, 1, undefined>, import("valibot").MaxValueAction<number, 65536, undefined>]>, undefined>;
281
+ models: import("valibot").OptionalSchema<import("valibot").RecordSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").RegexAction<string, undefined>]>, import("valibot").StrictObjectSchema<{
282
+ readonly provider: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["off", "openai", "anthropic"], undefined>, undefined>;
283
+ readonly model: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 200, undefined>]>, undefined>;
284
+ readonly base_url: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
285
+ }, undefined>, undefined>, undefined>;
286
+ })["embeddingModel"];
287
+ embedding_base_url: ({
288
+ embeddingProvider: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["local", "openai"], undefined>, undefined>;
289
+ embeddingModel: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 200, undefined>]>, undefined>;
290
+ embeddingBaseUrl: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
291
+ embeddingDims: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<undefined>, import("valibot").IntegerAction<number, undefined>, import("valibot").MinValueAction<number, 1, undefined>, import("valibot").MaxValueAction<number, 65536, undefined>]>, undefined>;
292
+ models: import("valibot").OptionalSchema<import("valibot").RecordSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").RegexAction<string, undefined>]>, import("valibot").StrictObjectSchema<{
293
+ readonly provider: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["off", "openai", "anthropic"], undefined>, undefined>;
294
+ readonly model: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 200, undefined>]>, undefined>;
295
+ readonly base_url: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
296
+ }, undefined>, undefined>, undefined>;
297
+ })["embeddingBaseUrl"];
298
+ embedding_dims: ({
299
+ embeddingProvider: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["local", "openai"], undefined>, undefined>;
300
+ embeddingModel: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 200, undefined>]>, undefined>;
301
+ embeddingBaseUrl: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
302
+ embeddingDims: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<undefined>, import("valibot").IntegerAction<number, undefined>, import("valibot").MinValueAction<number, 1, undefined>, import("valibot").MaxValueAction<number, 65536, undefined>]>, undefined>;
303
+ models: import("valibot").OptionalSchema<import("valibot").RecordSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").RegexAction<string, undefined>]>, import("valibot").StrictObjectSchema<{
304
+ readonly provider: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["off", "openai", "anthropic"], undefined>, undefined>;
305
+ readonly model: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 200, undefined>]>, undefined>;
306
+ readonly base_url: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
307
+ }, undefined>, undefined>, undefined>;
308
+ })["embeddingDims"];
309
+ models: ({
310
+ embeddingProvider: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["local", "openai"], undefined>, undefined>;
311
+ embeddingModel: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 200, undefined>]>, undefined>;
312
+ embeddingBaseUrl: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
313
+ embeddingDims: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<undefined>, import("valibot").IntegerAction<number, undefined>, import("valibot").MinValueAction<number, 1, undefined>, import("valibot").MaxValueAction<number, 65536, undefined>]>, undefined>;
314
+ models: import("valibot").OptionalSchema<import("valibot").RecordSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").RegexAction<string, undefined>]>, import("valibot").StrictObjectSchema<{
315
+ readonly provider: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["off", "openai", "anthropic"], undefined>, undefined>;
316
+ readonly model: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 200, undefined>]>, undefined>;
317
+ readonly base_url: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").CheckAction<string, "use an HTTP/S endpoint without credentials, query or fragment">]>, undefined>;
318
+ }, undefined>, undefined>, undefined>;
319
+ })["models"];
320
+ limit: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<(issue: import("valibot").BaseIssue<unknown>) => string>, import("valibot").IntegerAction<number, (issue: import("valibot").BaseIssue<unknown>) => string>, import("valibot").MinValueAction<number, 1, (issue: import("valibot").BaseIssue<unknown>) => string>]>, undefined>;
321
+ timeout_ms: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<(issue: import("valibot").BaseIssue<unknown>) => string>, import("valibot").IntegerAction<number, (issue: import("valibot").BaseIssue<unknown>) => string>, import("valibot").MinValueAction<number, 1, (issue: import("valibot").BaseIssue<unknown>) => string>]>, undefined>;
322
+ color: import("valibot").OptionalSchema<import("valibot").BooleanSchema<(issue: import("valibot").BaseIssue<unknown>) => string>, undefined>;
323
+ sender_colors: import("valibot").OptionalSchema<import("valibot").BooleanSchema<(issue: import("valibot").BaseIssue<unknown>) => string>, undefined>;
324
+ record: import("valibot").OptionalSchema<import("valibot").BooleanSchema<(issue: import("valibot").BaseIssue<unknown>) => string>, undefined>;
325
+ record_input: import("valibot").OptionalSchema<import("valibot").UnionSchema<[import("valibot").BooleanSchema<undefined>, import("valibot").LiteralSchema<"failed", undefined>], (issue: import("valibot").BaseIssue<unknown>) => string>, undefined>;
326
+ keep_runs_for_days: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<(issue: import("valibot").BaseIssue<unknown>) => string>, import("valibot").IntegerAction<number, (issue: import("valibot").BaseIssue<unknown>) => string>, import("valibot").MinValueAction<number, 1, (issue: import("valibot").BaseIssue<unknown>) => string>]>, undefined>;
327
+ keep_successful_runs_for_days: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<(issue: import("valibot").BaseIssue<unknown>) => string>, import("valibot").IntegerAction<number, (issue: import("valibot").BaseIssue<unknown>) => string>, import("valibot").MinValueAction<number, 1, (issue: import("valibot").BaseIssue<unknown>) => string>]>, undefined>;
328
+ runs_size_limit_mb: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<(issue: import("valibot").BaseIssue<unknown>) => string>, import("valibot").IntegerAction<number, (issue: import("valibot").BaseIssue<unknown>) => string>, import("valibot").MinValueAction<number, 1, (issue: import("valibot").BaseIssue<unknown>) => string>]>, undefined>;
329
+ permissions: import("valibot").OptionalSchema<import("valibot").RecordSchema<import("valibot").GenericSchema<string>, import("valibot").PicklistSchema<readonly ["deny", "readonly", "ask", "allow"], (issue: import("valibot").PicklistIssue) => string>, (issue: import("valibot").BaseIssue<unknown>) => string>, undefined>;
330
+ sends_per_hour: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<(issue: import("valibot").BaseIssue<unknown>) => string>, import("valibot").IntegerAction<number, (issue: import("valibot").BaseIssue<unknown>) => string>, import("valibot").MinValueAction<number, 1, (issue: import("valibot").BaseIssue<unknown>) => string>]>, undefined>;
331
+ requests_per_minute: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<(issue: import("valibot").BaseIssue<unknown>) => string>, import("valibot").IntegerAction<number, (issue: import("valibot").BaseIssue<unknown>) => string>, import("valibot").MinValueAction<number, 0, (issue: import("valibot").BaseIssue<unknown>) => string>]>, undefined>;
332
+ transcribe_with: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["auto", "messenger", "local"], (issue: import("valibot").BaseIssue<unknown>) => string>, undefined>;
333
+ speech_model: import("valibot").OptionalSchema<import("valibot").StringSchema<(issue: import("valibot").BaseIssue<unknown>) => string>, undefined>;
334
+ search_catch_up: import("valibot").OptionalSchema<import("valibot").BooleanSchema<(issue: import("valibot").BaseIssue<unknown>) => string>, undefined>;
335
+ picture_search: import("valibot").OptionalSchema<import("valibot").BooleanSchema<(issue: import("valibot").BaseIssue<unknown>) => string>, undefined>;
336
+ search_reranker: import("valibot").OptionalSchema<import("valibot").PicklistSchema<[...string[], "off"], (issue: import("valibot").BaseIssue<unknown>) => string>, undefined>;
337
+ }, (issue: import("valibot").StrictObjectIssue) => string>, "has to be an object of profiles, by name">, {}>;
338
+ personal: import("valibot").OptionalSchema<import("valibot").StrictObjectSchema<{
339
+ readonly defaults: import("valibot").OptionalSchema<import("valibot").StrictObjectSchema<import("valibot").ObjectEntries, (issue: import("valibot").StrictObjectIssue) => string>, undefined>;
340
+ readonly profiles: import("valibot").OptionalSchema<import("valibot").RecordSchema<import("valibot").StringSchema<undefined>, import("valibot").StrictObjectSchema<import("valibot").ObjectEntries, (issue: import("valibot").StrictObjectIssue) => string>, "has to be an object of profiles, by name">, undefined>;
341
+ }, (issue: import("valibot").StrictObjectIssue) => string>, undefined>;
342
+ bot: import("valibot").OptionalSchema<import("valibot").StrictObjectSchema<{
343
+ readonly defaults: import("valibot").OptionalSchema<import("valibot").StrictObjectSchema<import("valibot").ObjectEntries, (issue: import("valibot").StrictObjectIssue) => string>, undefined>;
344
+ readonly profiles: import("valibot").OptionalSchema<import("valibot").RecordSchema<import("valibot").StringSchema<undefined>, import("valibot").StrictObjectSchema<import("valibot").ObjectEntries, (issue: import("valibot").StrictObjectIssue) => string>, "has to be an object of profiles, by name">, undefined>;
345
+ }, (issue: import("valibot").StrictObjectIssue) => string>, undefined>;
346
+ }, (issue: import("valibot").StrictObjectIssue) => string>;
347
+ permissions?: import("./permission-keys.js").CommandPermissions | undefined;
348
+ }, options: import("./app-mcp-command.js").AppMcpOptions) => import("commander").Command;
1
349
  export declare const botAdminsCommand: (bot: import("./index.js").BotMessenger) => import("commander").Command;
2
350
  export declare const botMembersCommand: (bot: import("./index.js").BotMessenger) => import("commander").Command;
3
351
  export declare const generatedApiCommand: (api: import("./bot/api.js").ApiCommands) => import("commander").Command;
@@ -1,3 +1,5 @@
1
+ import { appDoctorCommand as appDoctorCommandDefinition } from "./app-doctor-command.js";
2
+ import { appMcpCommand as appMcpCommandDefinition } from "./app-mcp-command.js";
1
3
  import { botAdminsCommand as botAdminsCommandDefinition, botMembersCommand as botMembersCommandDefinition, } from "./bot/admins.js";
2
4
  import { generatedApiCommand as generatedApiCommandDefinition } from "./bot/api.js";
3
5
  import { botCommand as botCommandDefinition } from "./bot/command.js";
@@ -53,6 +55,8 @@ import { sharedCommand as protectedCommand } from "./shared-contracts.js";
53
55
  import { skillCommand as skillCommandDefinition } from "./skill-command.js";
54
56
  import { upgradeCommand as upgradeCommandDefinition } from "./upgrade-command.js";
55
57
  const sharedCommand = (factory) => honoursDryRun(protectedCommand(factory));
58
+ export const appDoctorCommand = sharedCommand(appDoctorCommandDefinition);
59
+ export const appMcpCommand = sharedCommand(appMcpCommandDefinition);
56
60
  export const botAdminsCommand = sharedCommand(botAdminsCommandDefinition);
57
61
  export const botMembersCommand = sharedCommand(botMembersCommandDefinition);
58
62
  export const generatedApiCommand = sharedCommand(generatedApiCommandDefinition);
@@ -47,6 +47,7 @@ const OTHERS = [
47
47
  ["extraction.invalid-proposals", "invalid_response", "the model's memory proposals could not be used"],
48
48
  validation("extraction.text-too-long", "the text is too long for memory extraction"),
49
49
  validation("file.locked", "another process holds the file's lock"),
50
+ ["mail.source-failed", "provider_error", "the mail server refused or did not complete a request"],
50
51
  ["mirror.partial", "provider_error", "some mirrored files were not synced"],
51
52
  ["profile.wrong-account", "authentication_error", "the signed-in source account does not match this profile"],
52
53
  validation("push.too-many-files", "the folder holds more files than one push takes"),
@@ -0,0 +1,7 @@
1
+ /** Mail sent to many: its own mailbox, so search can leave it out. Not a folder, so it proves nothing about deletions. */
2
+ export declare const BULK = "bulk";
3
+ export declare const bulkBox: {
4
+ externalId: string;
5
+ name: string;
6
+ kind: string;
7
+ };
@@ -0,0 +1,3 @@
1
+ /** Mail sent to many: its own mailbox, so search can leave it out. Not a folder, so it proves nothing about deletions. */
2
+ export const BULK = "bulk";
3
+ export const bulkBox = { externalId: "memo:bulk", name: "bulk", kind: BULK };
@@ -0,0 +1,9 @@
1
+ import type { MailFacts, MailRule } from "./rules.js";
2
+ import type { DomainAge } from "./score.js";
3
+ import type { Listed } from "./source.js";
4
+ /**
5
+ * What a rule can know of each listed email. A score and "the owner wrote to this sender" come from the sender's
6
+ * whole group in this listing, so they are worked out only when a rule needs them; a run that lists only new mail
7
+ * judges them from that mail.
8
+ */
9
+ export declare const factsOf: (listed: Listed[], rules: readonly MailRule[], ages?: ReadonlyMap<string, DomainAge>) => ((item: Listed) => MailFacts);
@@ -0,0 +1,22 @@
1
+ import { groupKey, probeMail } from "./probe.js";
2
+ /**
3
+ * What a rule can know of each listed email. A score and "the owner wrote to this sender" come from the sender's
4
+ * whole group in this listing, so they are worked out only when a rule needs them; a run that lists only new mail
5
+ * judges them from that mail.
6
+ */
7
+ export const factsOf = (listed, rules, ages = new Map()) => {
8
+ const grouped = rules.some(({ match }) => match.score_at_least !== undefined || match.preset !== undefined);
9
+ if (!grouped)
10
+ return (item) => item;
11
+ const groups = new Map(probeMail(listed, Number.POSITIVE_INFINITY, ages).items.map((group) => [
12
+ groupKey({
13
+ ...(group.from === null ? {} : { from: group.from }),
14
+ ...(group.listId === null ? {} : { listId: group.listId }),
15
+ }),
16
+ group,
17
+ ]));
18
+ return (item) => {
19
+ const group = item.headers === undefined ? undefined : groups.get(groupKey(item.headers));
20
+ return group === undefined ? item : { ...item, score: group.score, replied: group.replied };
21
+ };
22
+ };
@@ -0,0 +1,10 @@
1
+ import type { MailSource } from "./source.js";
2
+ export declare const GMAIL_ALL_MAIL = "[Gmail]/All Mail";
3
+ /**
4
+ * The folders to read. Gmail names All Mail in the account's language, so it is found by its role; a source that
5
+ * cannot say, or a listing without it, falls back to the English name and the read reports a missing folder.
6
+ */
7
+ export declare const mailFolders: (account: {
8
+ mode?: string;
9
+ folders?: string[];
10
+ }, source?: Pick<MailSource, "folders">) => Promise<string[]>;
@@ -0,0 +1,13 @@
1
+ export const GMAIL_ALL_MAIL = "[Gmail]/All Mail";
2
+ /**
3
+ * The folders to read. Gmail names All Mail in the account's language, so it is found by its role; a source that
4
+ * cannot say, or a listing without it, falls back to the English name and the read reports a missing folder.
5
+ */
6
+ export const mailFolders = async (account, source) => {
7
+ if (account.folders)
8
+ return account.folders;
9
+ if (account.mode === "imap")
10
+ return ["INBOX"];
11
+ const all = await source?.folders?.().then(({ all }) => all, () => undefined);
12
+ return [all ?? GMAIL_ALL_MAIL];
13
+ };
@@ -0,0 +1,20 @@
1
+ import type { AccountKey, MessageStore } from "../store/index.js";
2
+ export interface Gone {
3
+ deleted: number;
4
+ /** Why stored entries missing at the source were left alone, when they were. */
5
+ skipped?: string;
6
+ }
7
+ /** Why `gone` of `candidates` is too large a share to delete, or `undefined` when it may be deleted. */
8
+ export declare const tooManyGone: (gone: number, candidates: number) => string | undefined;
9
+ /**
10
+ * What the store holds of this account, from `since` on, and the source no longer lists, was deleted
11
+ * there: its text goes. Wrongly dropping text cannot be undone and a missed deletion is caught on the
12
+ * next run, so an unusually large share missing is refused rather than applied — an unmounted folder or
13
+ * a half-answered listing looks exactly like that.
14
+ */
15
+ export declare const dropMissing: (store: MessageStore, key: AccountKey, present: {
16
+ has(id: string): boolean;
17
+ }, since?: string, eligible?: (entry: {
18
+ chatId: string;
19
+ id: string;
20
+ }) => Promise<boolean>) => Promise<Gone>;