@wirecat/cli-core 0.470.0 → 0.471.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.
@@ -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);
package/dist/mcp/agent.js CHANGED
@@ -7,6 +7,8 @@ import * as v from "valibot";
7
7
  import { commandAvailability } from "../cli/command-availability.js";
8
8
  import { changesMessenger } from "../cli/effects.js";
9
9
  import { lentConnection } from "../cli/messenger/serve-relay.js";
10
+ import { newRunId } from "../runs/run.js";
11
+ import { enclosingTraceId, inRun, traceOf } from "../runs/scope.js";
10
12
  import { authorityAllowed, botApiAllowed } from "../sends/permissions.js";
11
13
  import { currentCaller } from "./caller.js";
12
14
  const TYPES = new Map(VOCABULARY.flags.map((flag) => [flag.name, flag.type]));
@@ -214,7 +216,17 @@ export const runCommandForAgent = async (program, path, input, ctx) => {
214
216
  let result;
215
217
  let failure;
216
218
  const streams = captureStreams();
217
- const code = await program.run(argv, {
219
+ const command = `mcp ${path.join(" ")}`;
220
+ const traceId = enclosingTraceId() ?? traceOf(ctx.env ?? {}).traceId;
221
+ // Its own run for each call: outside one, every answer of a server would name the server process's run.
222
+ const scope = {
223
+ runId: newRunId(new Date(), command),
224
+ command,
225
+ startedAt: Date.now(),
226
+ profile: ctx.profile,
227
+ ...(traceId === undefined ? {} : { traceId }),
228
+ };
229
+ const code = await inRun(scope, () => program.run(argv, {
218
230
  ...ctx.environment,
219
231
  streams,
220
232
  tty: false,
@@ -244,7 +256,7 @@ export const runCommandForAgent = async (program, path, input, ctx) => {
244
256
  },
245
257
  }
246
258
  : {}),
247
- });
259
+ }));
248
260
  if (failure)
249
261
  return { error: failure };
250
262
  if (answered)
@@ -0,0 +1,42 @@
1
+ import { McpServer } from "@modelcontextprotocol/server";
2
+ import { type BaseContext } from "../cli/context.js";
3
+ import type { CommandPermissions } from "../cli/permission-keys.js";
4
+ import type { GlobalFlags, ResolveOptions, Settings } from "../cli/settings.js";
5
+ import { rootOf } from "../cli/steps.js";
6
+ import { type AppIdentity } from "../ports/app.js";
7
+ import { type CommandAvailability } from "./agent.js";
8
+ import type { HttpOptions } from "./http/serve.js";
9
+ /** The `mcp serve` command running the server; named so, since a module here never imports commander. */
10
+ type Command = Parameters<typeof rootOf>[0];
11
+ /** What the shared MCP server needs of a CLI that is not a messenger. */
12
+ export interface AppServerOptions {
13
+ app: AppIdentity;
14
+ /** `Google Calendar`. */
15
+ name: string;
16
+ /** The kinds of text other people wrote that the answers carry (WC-MCP-11). */
17
+ untrusted: readonly [string, ...string[]];
18
+ resolveSettings: (flags: GlobalFlags, options?: ResolveOptions) => Settings;
19
+ /** The CLI's own keys and defaults (`configuration.permissions`). */
20
+ permissions?: CommandPermissions | undefined;
21
+ /** The CLI's SKILL.md, served as a resource. */
22
+ skill?: URL;
23
+ /**
24
+ * What the CLI alone knows stops a command for this profile — drive's OAuth grant that lacks a scope. Asked on every
25
+ * call and every search, after the permissions; `undefined` leaves the permissions' answer.
26
+ */
27
+ availability?: (path: readonly string[], profile: string) => CommandAvailability | undefined;
28
+ }
29
+ /**
30
+ * Every command of the program is a tool, run in this process through the CLI's own `run` — the same parsing,
31
+ * permissions, guard and answer as on the command line. A fresh server per `build`, as `serveStdio` and each HTTP
32
+ * session ask; they share nothing a call could leave behind.
33
+ */
34
+ export declare const createAppServer: (command: Command, context: BaseContext, options: AppServerOptions) => {
35
+ build: () => McpServer;
36
+ offered: string[];
37
+ };
38
+ /** Serves until the client closes stdin or the process is told to stop. */
39
+ export declare const serveAppOverStdio: (command: Command, context: BaseContext, options: AppServerOptions) => Promise<void>;
40
+ /** The same server over HTTP, until Ctrl-C. */
41
+ export declare const serveAppOverHttp: (command: Command, context: BaseContext, options: AppServerOptions, http: Omit<HttpOptions, "onCode" | "onError" | "appName">) => Promise<void>;
42
+ export {};