@otto-code/protocol 0.5.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.
- package/README.md +12 -0
- package/dist/agent-attention-notification.d.ts +41 -0
- package/dist/agent-attention-notification.js +140 -0
- package/dist/agent-labels.d.ts +7 -0
- package/dist/agent-labels.js +11 -0
- package/dist/agent-lifecycle.d.ts +3 -0
- package/dist/agent-lifecycle.js +8 -0
- package/dist/agent-personalities.d.ts +32 -0
- package/dist/agent-personalities.js +69 -0
- package/dist/agent-state-bucket.d.ts +14 -0
- package/dist/agent-state-bucket.js +41 -0
- package/dist/agent-title-limits.d.ts +2 -0
- package/dist/agent-title-limits.js +2 -0
- package/dist/agent-types.d.ts +479 -0
- package/dist/agent-types.js +22 -0
- package/dist/artifacts/rpc-schemas.d.ts +396 -0
- package/dist/artifacts/rpc-schemas.js +175 -0
- package/dist/artifacts/types.d.ts +166 -0
- package/dist/artifacts/types.js +73 -0
- package/dist/binary-frames/demux.d.ts +11 -0
- package/dist/binary-frames/demux.js +23 -0
- package/dist/binary-frames/file-transfer.d.ts +50 -0
- package/dist/binary-frames/file-transfer.js +107 -0
- package/dist/binary-frames/index.d.ts +4 -0
- package/dist/binary-frames/index.js +4 -0
- package/dist/binary-frames/terminal.d.ts +31 -0
- package/dist/binary-frames/terminal.js +99 -0
- package/dist/branch-slug.d.ts +14 -0
- package/dist/branch-slug.js +49 -0
- package/dist/browser-automation/capabilities.d.ts +7 -0
- package/dist/browser-automation/capabilities.js +31 -0
- package/dist/browser-automation/rpc-schemas.d.ts +1329 -0
- package/dist/browser-automation/rpc-schemas.js +555 -0
- package/dist/chat/rpc-schemas.d.ts +158 -0
- package/dist/chat/rpc-schemas.js +103 -0
- package/dist/chat/types.d.ts +30 -0
- package/dist/chat/types.js +22 -0
- package/dist/client-capabilities.d.ts +8 -0
- package/dist/client-capabilities.js +16 -0
- package/dist/connection-offer.d.ts +36 -0
- package/dist/connection-offer.js +53 -0
- package/dist/daemon-endpoints.d.ts +47 -0
- package/dist/daemon-endpoints.js +201 -0
- package/dist/default-personalities.d.ts +3 -0
- package/dist/default-personalities.js +127 -0
- package/dist/effort.d.ts +32 -0
- package/dist/effort.js +99 -0
- package/dist/error-utils.d.ts +11 -0
- package/dist/error-utils.js +27 -0
- package/dist/generated/validation/ws-outbound.aot.d.ts +2 -0
- package/dist/generated/validation/ws-outbound.aot.js +48755 -0
- package/dist/git-hosting.d.ts +21 -0
- package/dist/git-hosting.js +36 -0
- package/dist/git-remote.d.ts +18 -0
- package/dist/git-remote.js +84 -0
- package/dist/host-connection-schema.d.ts +11 -0
- package/dist/host-connection-schema.js +9 -0
- package/dist/literal-union.d.ts +2 -0
- package/dist/literal-union.js +2 -0
- package/dist/loop/rpc-schemas.d.ts +636 -0
- package/dist/loop/rpc-schemas.js +163 -0
- package/dist/messages.d.ts +38505 -0
- package/dist/messages.js +4719 -0
- package/dist/otto-config-schema.d.ts +136 -0
- package/dist/otto-config-schema.js +96 -0
- package/dist/path-utils.d.ts +2 -0
- package/dist/path-utils.js +16 -0
- package/dist/provider-config.d.ts +266 -0
- package/dist/provider-config.js +238 -0
- package/dist/provider-icon-names.d.ts +5 -0
- package/dist/provider-icon-names.js +52 -0
- package/dist/provider-manifest.d.ts +34 -0
- package/dist/provider-manifest.js +227 -0
- package/dist/schedule/cron-expression.d.ts +13 -0
- package/dist/schedule/cron-expression.js +97 -0
- package/dist/schedule/rpc-schemas.d.ts +667 -0
- package/dist/schedule/rpc-schemas.js +155 -0
- package/dist/schedule/types.d.ts +236 -0
- package/dist/schedule/types.js +84 -0
- package/dist/terminal-activity.d.ts +21 -0
- package/dist/terminal-activity.js +25 -0
- package/dist/terminal-input-mode.d.ts +26 -0
- package/dist/terminal-input-mode.js +151 -0
- package/dist/terminal-key-input.d.ts +13 -0
- package/dist/terminal-key-input.js +201 -0
- package/dist/terminal-profiles.d.ts +6 -0
- package/dist/terminal-profiles.js +28 -0
- package/dist/terminal-snapshot.d.ts +3 -0
- package/dist/terminal-snapshot.js +178 -0
- package/dist/terminal-stream-protocol.d.ts +2 -0
- package/dist/terminal-stream-protocol.js +2 -0
- package/dist/terminal-subscription-key.d.ts +2 -0
- package/dist/terminal-subscription-key.js +9 -0
- package/dist/tool-call-display.d.ts +11 -0
- package/dist/tool-call-display.js +135 -0
- package/dist/tool-name-normalization.d.ts +9 -0
- package/dist/tool-name-normalization.js +82 -0
- package/dist/validation/ws-outbound-schema-metadata.d.ts +7256 -0
- package/dist/validation/ws-outbound-schema-metadata.js +3 -0
- package/dist/validation/ws-outbound.d.ts +12 -0
- package/dist/validation/ws-outbound.js +8 -0
- package/package.json +42 -0
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare function normalizeLifecycleCommands(commands: unknown): string[];
|
|
3
|
+
export declare const OttoLifecycleCommandRawSchema: z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>;
|
|
4
|
+
export declare const OttoScriptEntryRawSchema: z.ZodObject<{
|
|
5
|
+
type: z.ZodOptional<z.ZodUnknown>;
|
|
6
|
+
command: z.ZodOptional<z.ZodUnknown>;
|
|
7
|
+
port: z.ZodOptional<z.ZodUnknown>;
|
|
8
|
+
}, z.core.$loose>;
|
|
9
|
+
export declare const OttoWorktreeConfigRawSchema: z.ZodObject<{
|
|
10
|
+
setup: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
|
|
11
|
+
teardown: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
|
|
12
|
+
terminals: z.ZodOptional<z.ZodUnknown>;
|
|
13
|
+
}, z.core.$loose>;
|
|
14
|
+
export declare const OttoMetadataGenerationEntrySchema: z.ZodCatch<z.ZodObject<{
|
|
15
|
+
instructions: z.ZodOptional<z.ZodString>;
|
|
16
|
+
}, z.core.$loose>>;
|
|
17
|
+
export declare const OttoMetadataGenerationSchema: z.ZodCatch<z.ZodObject<{
|
|
18
|
+
title: z.ZodOptional<z.ZodCatch<z.ZodObject<{
|
|
19
|
+
instructions: z.ZodOptional<z.ZodString>;
|
|
20
|
+
}, z.core.$loose>>>;
|
|
21
|
+
branchName: z.ZodOptional<z.ZodCatch<z.ZodObject<{
|
|
22
|
+
instructions: z.ZodOptional<z.ZodString>;
|
|
23
|
+
}, z.core.$loose>>>;
|
|
24
|
+
commitMessage: z.ZodOptional<z.ZodCatch<z.ZodObject<{
|
|
25
|
+
instructions: z.ZodOptional<z.ZodString>;
|
|
26
|
+
}, z.core.$loose>>>;
|
|
27
|
+
pullRequest: z.ZodOptional<z.ZodCatch<z.ZodObject<{
|
|
28
|
+
instructions: z.ZodOptional<z.ZodString>;
|
|
29
|
+
}, z.core.$loose>>>;
|
|
30
|
+
}, z.core.$loose>>;
|
|
31
|
+
export declare const OttoGitHostingConfigRawSchema: z.ZodObject<{
|
|
32
|
+
provider: z.ZodOptional<z.ZodUnknown>;
|
|
33
|
+
}, z.core.$loose>;
|
|
34
|
+
export declare const OttoGitHostingConfigSchema: z.ZodCatch<z.ZodObject<{
|
|
35
|
+
provider: z.ZodCatch<z.ZodOptional<z.ZodEnum<{
|
|
36
|
+
github: "github";
|
|
37
|
+
"bitbucket-cloud": "bitbucket-cloud";
|
|
38
|
+
}>>>;
|
|
39
|
+
}, z.core.$loose>>;
|
|
40
|
+
export declare const OttoConfigRawSchema: z.ZodObject<{
|
|
41
|
+
worktree: z.ZodOptional<z.ZodObject<{
|
|
42
|
+
setup: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
|
|
43
|
+
teardown: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
|
|
44
|
+
terminals: z.ZodOptional<z.ZodUnknown>;
|
|
45
|
+
}, z.core.$loose>>;
|
|
46
|
+
scripts: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
47
|
+
type: z.ZodOptional<z.ZodUnknown>;
|
|
48
|
+
command: z.ZodOptional<z.ZodUnknown>;
|
|
49
|
+
port: z.ZodOptional<z.ZodUnknown>;
|
|
50
|
+
}, z.core.$loose>>>;
|
|
51
|
+
metadataGeneration: z.ZodOptional<z.ZodCatch<z.ZodObject<{
|
|
52
|
+
title: z.ZodOptional<z.ZodCatch<z.ZodObject<{
|
|
53
|
+
instructions: z.ZodOptional<z.ZodString>;
|
|
54
|
+
}, z.core.$loose>>>;
|
|
55
|
+
branchName: z.ZodOptional<z.ZodCatch<z.ZodObject<{
|
|
56
|
+
instructions: z.ZodOptional<z.ZodString>;
|
|
57
|
+
}, z.core.$loose>>>;
|
|
58
|
+
commitMessage: z.ZodOptional<z.ZodCatch<z.ZodObject<{
|
|
59
|
+
instructions: z.ZodOptional<z.ZodString>;
|
|
60
|
+
}, z.core.$loose>>>;
|
|
61
|
+
pullRequest: z.ZodOptional<z.ZodCatch<z.ZodObject<{
|
|
62
|
+
instructions: z.ZodOptional<z.ZodString>;
|
|
63
|
+
}, z.core.$loose>>>;
|
|
64
|
+
}, z.core.$loose>>>;
|
|
65
|
+
gitHosting: z.ZodOptional<z.ZodObject<{
|
|
66
|
+
provider: z.ZodOptional<z.ZodUnknown>;
|
|
67
|
+
}, z.core.$loose>>;
|
|
68
|
+
}, z.core.$loose>;
|
|
69
|
+
export declare const WorktreeConfigSchema: z.ZodCatch<z.ZodObject<{
|
|
70
|
+
terminals: z.ZodOptional<z.ZodUnknown>;
|
|
71
|
+
setup: z.ZodPipe<z.ZodOptional<z.ZodUnknown>, z.ZodTransform<string[], unknown>>;
|
|
72
|
+
teardown: z.ZodPipe<z.ZodOptional<z.ZodUnknown>, z.ZodTransform<string[], unknown>>;
|
|
73
|
+
}, z.core.$loose>>;
|
|
74
|
+
export declare const ScriptEntrySchema: z.ZodCatch<z.ZodObject<{
|
|
75
|
+
type: z.ZodOptional<z.ZodUnknown>;
|
|
76
|
+
command: z.ZodOptional<z.ZodUnknown>;
|
|
77
|
+
port: z.ZodOptional<z.ZodUnknown>;
|
|
78
|
+
}, z.core.$loose>>;
|
|
79
|
+
export declare const OttoConfigSchema: z.ZodCatch<z.ZodObject<{
|
|
80
|
+
worktree: z.ZodOptional<z.ZodCatch<z.ZodObject<{
|
|
81
|
+
terminals: z.ZodOptional<z.ZodUnknown>;
|
|
82
|
+
setup: z.ZodPipe<z.ZodOptional<z.ZodUnknown>, z.ZodTransform<string[], unknown>>;
|
|
83
|
+
teardown: z.ZodPipe<z.ZodOptional<z.ZodUnknown>, z.ZodTransform<string[], unknown>>;
|
|
84
|
+
}, z.core.$loose>>>;
|
|
85
|
+
scripts: z.ZodCatch<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodCatch<z.ZodObject<{
|
|
86
|
+
type: z.ZodOptional<z.ZodUnknown>;
|
|
87
|
+
command: z.ZodOptional<z.ZodUnknown>;
|
|
88
|
+
port: z.ZodOptional<z.ZodUnknown>;
|
|
89
|
+
}, z.core.$loose>>>>>;
|
|
90
|
+
metadataGeneration: z.ZodOptional<z.ZodCatch<z.ZodObject<{
|
|
91
|
+
title: z.ZodOptional<z.ZodCatch<z.ZodObject<{
|
|
92
|
+
instructions: z.ZodOptional<z.ZodString>;
|
|
93
|
+
}, z.core.$loose>>>;
|
|
94
|
+
branchName: z.ZodOptional<z.ZodCatch<z.ZodObject<{
|
|
95
|
+
instructions: z.ZodOptional<z.ZodString>;
|
|
96
|
+
}, z.core.$loose>>>;
|
|
97
|
+
commitMessage: z.ZodOptional<z.ZodCatch<z.ZodObject<{
|
|
98
|
+
instructions: z.ZodOptional<z.ZodString>;
|
|
99
|
+
}, z.core.$loose>>>;
|
|
100
|
+
pullRequest: z.ZodOptional<z.ZodCatch<z.ZodObject<{
|
|
101
|
+
instructions: z.ZodOptional<z.ZodString>;
|
|
102
|
+
}, z.core.$loose>>>;
|
|
103
|
+
}, z.core.$loose>>>;
|
|
104
|
+
gitHosting: z.ZodOptional<z.ZodCatch<z.ZodObject<{
|
|
105
|
+
provider: z.ZodCatch<z.ZodOptional<z.ZodEnum<{
|
|
106
|
+
github: "github";
|
|
107
|
+
"bitbucket-cloud": "bitbucket-cloud";
|
|
108
|
+
}>>>;
|
|
109
|
+
}, z.core.$loose>>>;
|
|
110
|
+
}, z.core.$loose>>;
|
|
111
|
+
export declare const OttoConfigRevisionSchema: z.ZodObject<{
|
|
112
|
+
mtimeMs: z.ZodNumber;
|
|
113
|
+
size: z.ZodNumber;
|
|
114
|
+
}, z.core.$strip>;
|
|
115
|
+
export declare const ProjectConfigRpcErrorSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
116
|
+
code: z.ZodLiteral<"project_not_found">;
|
|
117
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
118
|
+
code: z.ZodLiteral<"invalid_project_config">;
|
|
119
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
120
|
+
code: z.ZodLiteral<"stale_project_config">;
|
|
121
|
+
currentRevision: z.ZodNullable<z.ZodObject<{
|
|
122
|
+
mtimeMs: z.ZodNumber;
|
|
123
|
+
size: z.ZodNumber;
|
|
124
|
+
}, z.core.$strip>>;
|
|
125
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
126
|
+
code: z.ZodLiteral<"write_failed">;
|
|
127
|
+
}, z.core.$strip>], "code">;
|
|
128
|
+
export type OttoScriptEntryRaw = z.infer<typeof OttoScriptEntryRawSchema>;
|
|
129
|
+
export type OttoMetadataGenerationEntry = z.infer<typeof OttoMetadataGenerationEntrySchema>;
|
|
130
|
+
export type OttoMetadataGeneration = z.infer<typeof OttoMetadataGenerationSchema>;
|
|
131
|
+
export type OttoGitHostingConfig = z.infer<typeof OttoGitHostingConfigSchema>;
|
|
132
|
+
export type OttoConfigRaw = z.infer<typeof OttoConfigRawSchema>;
|
|
133
|
+
export type OttoConfig = z.infer<typeof OttoConfigSchema>;
|
|
134
|
+
export type OttoConfigRevision = z.infer<typeof OttoConfigRevisionSchema>;
|
|
135
|
+
export type ProjectConfigRpcError = z.infer<typeof ProjectConfigRpcErrorSchema>;
|
|
136
|
+
//# sourceMappingURL=otto-config-schema.d.ts.map
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { GitHostingProviderIdSchema } from "./git-hosting.js";
|
|
3
|
+
export function normalizeLifecycleCommands(commands) {
|
|
4
|
+
if (typeof commands === "string") {
|
|
5
|
+
return commands.trim().length > 0 ? [commands] : [];
|
|
6
|
+
}
|
|
7
|
+
if (!Array.isArray(commands)) {
|
|
8
|
+
return [];
|
|
9
|
+
}
|
|
10
|
+
return commands.filter((command) => {
|
|
11
|
+
return typeof command === "string" && command.trim().length > 0;
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
export const OttoLifecycleCommandRawSchema = z.union([z.string(), z.array(z.string())]);
|
|
15
|
+
export const OttoScriptEntryRawSchema = z
|
|
16
|
+
.object({
|
|
17
|
+
type: z.unknown().optional(),
|
|
18
|
+
command: z.unknown().optional(),
|
|
19
|
+
port: z.unknown().optional(),
|
|
20
|
+
})
|
|
21
|
+
.passthrough();
|
|
22
|
+
export const OttoWorktreeConfigRawSchema = z
|
|
23
|
+
.object({
|
|
24
|
+
setup: OttoLifecycleCommandRawSchema.optional(),
|
|
25
|
+
teardown: OttoLifecycleCommandRawSchema.optional(),
|
|
26
|
+
terminals: z.unknown().optional(),
|
|
27
|
+
})
|
|
28
|
+
.passthrough();
|
|
29
|
+
export const OttoMetadataGenerationEntrySchema = z
|
|
30
|
+
.object({
|
|
31
|
+
instructions: z.string().optional(),
|
|
32
|
+
})
|
|
33
|
+
.passthrough()
|
|
34
|
+
.catch({});
|
|
35
|
+
export const OttoMetadataGenerationSchema = z
|
|
36
|
+
.object({
|
|
37
|
+
title: OttoMetadataGenerationEntrySchema.optional(),
|
|
38
|
+
branchName: OttoMetadataGenerationEntrySchema.optional(),
|
|
39
|
+
commitMessage: OttoMetadataGenerationEntrySchema.optional(),
|
|
40
|
+
pullRequest: OttoMetadataGenerationEntrySchema.optional(),
|
|
41
|
+
})
|
|
42
|
+
// COMPAT(projectMetadataAgentTitle): `agentTitle` project metadata prompts were removed
|
|
43
|
+
// in v0.1.96; keep legacy otto.json parseable until 2026-12-16.
|
|
44
|
+
.passthrough()
|
|
45
|
+
.catch({});
|
|
46
|
+
// Which git hosting provider this project's PR/issue features use. Committed
|
|
47
|
+
// with the repo (team-shared); credentials never live here — they belong to
|
|
48
|
+
// the daemon's private config, keyed by project.
|
|
49
|
+
export const OttoGitHostingConfigRawSchema = z
|
|
50
|
+
.object({
|
|
51
|
+
provider: z.unknown().optional(),
|
|
52
|
+
})
|
|
53
|
+
.passthrough();
|
|
54
|
+
export const OttoGitHostingConfigSchema = z
|
|
55
|
+
.object({
|
|
56
|
+
provider: GitHostingProviderIdSchema.optional().catch(undefined),
|
|
57
|
+
})
|
|
58
|
+
.passthrough()
|
|
59
|
+
.catch({});
|
|
60
|
+
export const OttoConfigRawSchema = z
|
|
61
|
+
.object({
|
|
62
|
+
worktree: OttoWorktreeConfigRawSchema.optional(),
|
|
63
|
+
scripts: z.record(z.string(), OttoScriptEntryRawSchema).optional(),
|
|
64
|
+
metadataGeneration: OttoMetadataGenerationSchema.optional(),
|
|
65
|
+
gitHosting: OttoGitHostingConfigRawSchema.optional(),
|
|
66
|
+
})
|
|
67
|
+
.passthrough();
|
|
68
|
+
export const WorktreeConfigSchema = OttoWorktreeConfigRawSchema.extend({
|
|
69
|
+
setup: z.unknown().optional().transform(normalizeLifecycleCommands),
|
|
70
|
+
teardown: z.unknown().optional().transform(normalizeLifecycleCommands),
|
|
71
|
+
})
|
|
72
|
+
.passthrough()
|
|
73
|
+
.catch({ setup: [], teardown: [] });
|
|
74
|
+
export const ScriptEntrySchema = OttoScriptEntryRawSchema.catch({});
|
|
75
|
+
export const OttoConfigSchema = OttoConfigRawSchema.extend({
|
|
76
|
+
worktree: WorktreeConfigSchema.optional(),
|
|
77
|
+
scripts: z.record(z.string(), ScriptEntrySchema).optional().catch({}),
|
|
78
|
+
metadataGeneration: OttoMetadataGenerationSchema.optional(),
|
|
79
|
+
gitHosting: OttoGitHostingConfigSchema.optional(),
|
|
80
|
+
})
|
|
81
|
+
.passthrough()
|
|
82
|
+
.catch({});
|
|
83
|
+
export const OttoConfigRevisionSchema = z.object({
|
|
84
|
+
mtimeMs: z.number(),
|
|
85
|
+
size: z.number(),
|
|
86
|
+
});
|
|
87
|
+
export const ProjectConfigRpcErrorSchema = z.discriminatedUnion("code", [
|
|
88
|
+
z.object({ code: z.literal("project_not_found") }),
|
|
89
|
+
z.object({ code: z.literal("invalid_project_config") }),
|
|
90
|
+
z.object({
|
|
91
|
+
code: z.literal("stale_project_config"),
|
|
92
|
+
currentRevision: OttoConfigRevisionSchema.nullable(),
|
|
93
|
+
}),
|
|
94
|
+
z.object({ code: z.literal("write_failed") }),
|
|
95
|
+
]);
|
|
96
|
+
//# sourceMappingURL=otto-config-schema.js.map
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export function stripCwdPrefix(filePath, cwd) {
|
|
2
|
+
if (!cwd || !filePath) {
|
|
3
|
+
return filePath;
|
|
4
|
+
}
|
|
5
|
+
const normalizedCwd = cwd.replace(/\\/g, "/").replace(/\/+$/, "");
|
|
6
|
+
const normalizedPath = filePath.replace(/\\/g, "/");
|
|
7
|
+
const prefix = `${normalizedCwd}/`;
|
|
8
|
+
if (normalizedPath.startsWith(prefix)) {
|
|
9
|
+
return normalizedPath.slice(prefix.length);
|
|
10
|
+
}
|
|
11
|
+
if (normalizedPath === normalizedCwd) {
|
|
12
|
+
return ".";
|
|
13
|
+
}
|
|
14
|
+
return filePath;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=path-utils.js.map
|
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import type { AgentProvider } from "./agent-types.js";
|
|
3
|
+
export declare const ProviderCommandSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
4
|
+
mode: z.ZodLiteral<"default">;
|
|
5
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
6
|
+
mode: z.ZodLiteral<"append">;
|
|
7
|
+
args: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
8
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
9
|
+
mode: z.ZodLiteral<"replace">;
|
|
10
|
+
argv: z.ZodArray<z.ZodString>;
|
|
11
|
+
}, z.core.$strip>], "mode">;
|
|
12
|
+
export declare const ProviderRuntimeSettingsSchema: z.ZodObject<{
|
|
13
|
+
command: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
14
|
+
mode: z.ZodLiteral<"default">;
|
|
15
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
16
|
+
mode: z.ZodLiteral<"append">;
|
|
17
|
+
args: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
18
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
19
|
+
mode: z.ZodLiteral<"replace">;
|
|
20
|
+
argv: z.ZodArray<z.ZodString>;
|
|
21
|
+
}, z.core.$strip>], "mode">>;
|
|
22
|
+
env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
23
|
+
disallowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
24
|
+
}, z.core.$strip>;
|
|
25
|
+
export declare const ProviderProfileModelSchema: z.ZodObject<{
|
|
26
|
+
id: z.ZodString;
|
|
27
|
+
label: z.ZodString;
|
|
28
|
+
description: z.ZodOptional<z.ZodString>;
|
|
29
|
+
isDefault: z.ZodOptional<z.ZodBoolean>;
|
|
30
|
+
thinkingOptions: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
31
|
+
id: z.ZodString;
|
|
32
|
+
label: z.ZodString;
|
|
33
|
+
description: z.ZodOptional<z.ZodString>;
|
|
34
|
+
isDefault: z.ZodOptional<z.ZodBoolean>;
|
|
35
|
+
}, z.core.$strip>>>;
|
|
36
|
+
}, z.core.$strip>;
|
|
37
|
+
/**
|
|
38
|
+
* Coarse categories for Otto's agent-facing tool catalog. Providers that receive
|
|
39
|
+
* Otto tools natively (see the openai-compat provider) can be scoped to a subset
|
|
40
|
+
* of these groups; omitting the selection means all groups. Kept deliberately
|
|
41
|
+
* coarse — users pick groups, not individual tools.
|
|
42
|
+
*/
|
|
43
|
+
export declare const OTTO_TOOL_GROUPS: readonly ["preview", "browser", "web", "agents", "terminals", "schedules", "artifacts", "workspace"];
|
|
44
|
+
export type OttoToolGroup = (typeof OTTO_TOOL_GROUPS)[number];
|
|
45
|
+
/**
|
|
46
|
+
* Map a tool name to its group. Covers both Otto's catalog tools and the
|
|
47
|
+
* openai-compat builtin web tools (web_search/web_fetch → "web"). Unknown/
|
|
48
|
+
* lifecycle tools fall under "agents".
|
|
49
|
+
*/
|
|
50
|
+
export declare function ottoToolGroupForName(name: string): OttoToolGroup;
|
|
51
|
+
/**
|
|
52
|
+
* Canonical MCP server config. Shared by AgentSessionConfig (per-agent servers
|
|
53
|
+
* sent at create time) and ProviderOverride (provider-level servers in the
|
|
54
|
+
* daemon config). stdio entries execute arbitrary commands as the daemon user —
|
|
55
|
+
* both sources sit behind existing trust boundaries (daemon-side config file,
|
|
56
|
+
* authenticated agent-create RPC).
|
|
57
|
+
*/
|
|
58
|
+
export declare const McpServerConfigSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
59
|
+
type: z.ZodLiteral<"stdio">;
|
|
60
|
+
command: z.ZodString;
|
|
61
|
+
args: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
62
|
+
env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
63
|
+
alwaysLoad: z.ZodOptional<z.ZodBoolean>;
|
|
64
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
65
|
+
type: z.ZodLiteral<"http">;
|
|
66
|
+
url: z.ZodString;
|
|
67
|
+
headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
68
|
+
alwaysLoad: z.ZodOptional<z.ZodBoolean>;
|
|
69
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
70
|
+
type: z.ZodLiteral<"sse">;
|
|
71
|
+
url: z.ZodString;
|
|
72
|
+
headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
73
|
+
alwaysLoad: z.ZodOptional<z.ZodBoolean>;
|
|
74
|
+
}, z.core.$strip>], "type">;
|
|
75
|
+
/**
|
|
76
|
+
* How natively-hosted providers (openai-compat) gate MCP tool calls in
|
|
77
|
+
* acceptEdits mode. "always-ask" (the default) prompts for every MCP tool;
|
|
78
|
+
* "trust-read-only" auto-approves tools whose MCP readOnlyHint annotation is
|
|
79
|
+
* true. In default mode every MCP tool prompts regardless; plan mode never
|
|
80
|
+
* exposes MCP tools; bypassPermissions auto-approves everything.
|
|
81
|
+
*/
|
|
82
|
+
export declare const MCP_TOOL_PERMISSION_MODES: readonly ["always-ask", "trust-read-only"];
|
|
83
|
+
/**
|
|
84
|
+
* Auto-compaction thresholds selectable for daemon-hosted compaction
|
|
85
|
+
* (openai-compat): percentage of the model's context window at which the
|
|
86
|
+
* conversation is compacted automatically.
|
|
87
|
+
*/
|
|
88
|
+
export declare const COMPACTION_THRESHOLD_PERCENTS: readonly [50, 60, 70, 80, 90];
|
|
89
|
+
/**
|
|
90
|
+
* Compaction tuning for providers whose conversation the daemon owns
|
|
91
|
+
* (openai-compat). These set the provider-level defaults; the per-agent
|
|
92
|
+
* "Auto-compact" feature select overrides them at runtime.
|
|
93
|
+
*/
|
|
94
|
+
export declare const ProviderCompactionConfigSchema: z.ZodObject<{
|
|
95
|
+
autoCompact: z.ZodOptional<z.ZodBoolean>;
|
|
96
|
+
thresholdPercent: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<50>, z.ZodLiteral<60>, z.ZodLiteral<70>, z.ZodLiteral<80>, z.ZodLiteral<90>]>>;
|
|
97
|
+
keepRecentTokens: z.ZodOptional<z.ZodNumber>;
|
|
98
|
+
hideSelector: z.ZodOptional<z.ZodBoolean>;
|
|
99
|
+
}, z.core.$strip>;
|
|
100
|
+
export type ProviderCompactionConfig = z.infer<typeof ProviderCompactionConfigSchema>;
|
|
101
|
+
export declare const ProviderOverrideSchema: z.ZodObject<{
|
|
102
|
+
extends: z.ZodOptional<z.ZodString>;
|
|
103
|
+
label: z.ZodOptional<z.ZodString>;
|
|
104
|
+
description: z.ZodOptional<z.ZodString>;
|
|
105
|
+
command: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
106
|
+
env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
107
|
+
params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
108
|
+
models: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
109
|
+
id: z.ZodString;
|
|
110
|
+
label: z.ZodString;
|
|
111
|
+
description: z.ZodOptional<z.ZodString>;
|
|
112
|
+
isDefault: z.ZodOptional<z.ZodBoolean>;
|
|
113
|
+
thinkingOptions: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
114
|
+
id: z.ZodString;
|
|
115
|
+
label: z.ZodString;
|
|
116
|
+
description: z.ZodOptional<z.ZodString>;
|
|
117
|
+
isDefault: z.ZodOptional<z.ZodBoolean>;
|
|
118
|
+
}, z.core.$strip>>>;
|
|
119
|
+
}, z.core.$strip>>>;
|
|
120
|
+
additionalModels: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
121
|
+
id: z.ZodString;
|
|
122
|
+
label: z.ZodString;
|
|
123
|
+
description: z.ZodOptional<z.ZodString>;
|
|
124
|
+
isDefault: z.ZodOptional<z.ZodBoolean>;
|
|
125
|
+
thinkingOptions: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
126
|
+
id: z.ZodString;
|
|
127
|
+
label: z.ZodString;
|
|
128
|
+
description: z.ZodOptional<z.ZodString>;
|
|
129
|
+
isDefault: z.ZodOptional<z.ZodBoolean>;
|
|
130
|
+
}, z.core.$strip>>>;
|
|
131
|
+
}, z.core.$strip>>>;
|
|
132
|
+
disallowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
133
|
+
ottoToolGroups: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
134
|
+
artifacts: "artifacts";
|
|
135
|
+
preview: "preview";
|
|
136
|
+
browser: "browser";
|
|
137
|
+
web: "web";
|
|
138
|
+
agents: "agents";
|
|
139
|
+
terminals: "terminals";
|
|
140
|
+
schedules: "schedules";
|
|
141
|
+
workspace: "workspace";
|
|
142
|
+
}>>>;
|
|
143
|
+
mcpServers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
144
|
+
type: z.ZodLiteral<"stdio">;
|
|
145
|
+
command: z.ZodString;
|
|
146
|
+
args: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
147
|
+
env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
148
|
+
alwaysLoad: z.ZodOptional<z.ZodBoolean>;
|
|
149
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
150
|
+
type: z.ZodLiteral<"http">;
|
|
151
|
+
url: z.ZodString;
|
|
152
|
+
headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
153
|
+
alwaysLoad: z.ZodOptional<z.ZodBoolean>;
|
|
154
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
155
|
+
type: z.ZodLiteral<"sse">;
|
|
156
|
+
url: z.ZodString;
|
|
157
|
+
headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
158
|
+
alwaysLoad: z.ZodOptional<z.ZodBoolean>;
|
|
159
|
+
}, z.core.$strip>], "type">>>;
|
|
160
|
+
mcpToolPermissions: z.ZodOptional<z.ZodEnum<{
|
|
161
|
+
"always-ask": "always-ask";
|
|
162
|
+
"trust-read-only": "trust-read-only";
|
|
163
|
+
}>>;
|
|
164
|
+
compaction: z.ZodOptional<z.ZodObject<{
|
|
165
|
+
autoCompact: z.ZodOptional<z.ZodBoolean>;
|
|
166
|
+
thresholdPercent: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<50>, z.ZodLiteral<60>, z.ZodLiteral<70>, z.ZodLiteral<80>, z.ZodLiteral<90>]>>;
|
|
167
|
+
keepRecentTokens: z.ZodOptional<z.ZodNumber>;
|
|
168
|
+
hideSelector: z.ZodOptional<z.ZodBoolean>;
|
|
169
|
+
}, z.core.$strip>>;
|
|
170
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
171
|
+
order: z.ZodOptional<z.ZodNumber>;
|
|
172
|
+
}, z.core.$strip>;
|
|
173
|
+
export declare const ProviderOverridesSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
174
|
+
extends: z.ZodOptional<z.ZodString>;
|
|
175
|
+
label: z.ZodOptional<z.ZodString>;
|
|
176
|
+
description: z.ZodOptional<z.ZodString>;
|
|
177
|
+
command: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
178
|
+
env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
179
|
+
params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
180
|
+
models: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
181
|
+
id: z.ZodString;
|
|
182
|
+
label: z.ZodString;
|
|
183
|
+
description: z.ZodOptional<z.ZodString>;
|
|
184
|
+
isDefault: z.ZodOptional<z.ZodBoolean>;
|
|
185
|
+
thinkingOptions: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
186
|
+
id: z.ZodString;
|
|
187
|
+
label: z.ZodString;
|
|
188
|
+
description: z.ZodOptional<z.ZodString>;
|
|
189
|
+
isDefault: z.ZodOptional<z.ZodBoolean>;
|
|
190
|
+
}, z.core.$strip>>>;
|
|
191
|
+
}, z.core.$strip>>>;
|
|
192
|
+
additionalModels: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
193
|
+
id: z.ZodString;
|
|
194
|
+
label: z.ZodString;
|
|
195
|
+
description: z.ZodOptional<z.ZodString>;
|
|
196
|
+
isDefault: z.ZodOptional<z.ZodBoolean>;
|
|
197
|
+
thinkingOptions: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
198
|
+
id: z.ZodString;
|
|
199
|
+
label: z.ZodString;
|
|
200
|
+
description: z.ZodOptional<z.ZodString>;
|
|
201
|
+
isDefault: z.ZodOptional<z.ZodBoolean>;
|
|
202
|
+
}, z.core.$strip>>>;
|
|
203
|
+
}, z.core.$strip>>>;
|
|
204
|
+
disallowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
205
|
+
ottoToolGroups: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
206
|
+
artifacts: "artifacts";
|
|
207
|
+
preview: "preview";
|
|
208
|
+
browser: "browser";
|
|
209
|
+
web: "web";
|
|
210
|
+
agents: "agents";
|
|
211
|
+
terminals: "terminals";
|
|
212
|
+
schedules: "schedules";
|
|
213
|
+
workspace: "workspace";
|
|
214
|
+
}>>>;
|
|
215
|
+
mcpServers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
216
|
+
type: z.ZodLiteral<"stdio">;
|
|
217
|
+
command: z.ZodString;
|
|
218
|
+
args: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
219
|
+
env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
220
|
+
alwaysLoad: z.ZodOptional<z.ZodBoolean>;
|
|
221
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
222
|
+
type: z.ZodLiteral<"http">;
|
|
223
|
+
url: z.ZodString;
|
|
224
|
+
headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
225
|
+
alwaysLoad: z.ZodOptional<z.ZodBoolean>;
|
|
226
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
227
|
+
type: z.ZodLiteral<"sse">;
|
|
228
|
+
url: z.ZodString;
|
|
229
|
+
headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
230
|
+
alwaysLoad: z.ZodOptional<z.ZodBoolean>;
|
|
231
|
+
}, z.core.$strip>], "type">>>;
|
|
232
|
+
mcpToolPermissions: z.ZodOptional<z.ZodEnum<{
|
|
233
|
+
"always-ask": "always-ask";
|
|
234
|
+
"trust-read-only": "trust-read-only";
|
|
235
|
+
}>>;
|
|
236
|
+
compaction: z.ZodOptional<z.ZodObject<{
|
|
237
|
+
autoCompact: z.ZodOptional<z.ZodBoolean>;
|
|
238
|
+
thresholdPercent: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<50>, z.ZodLiteral<60>, z.ZodLiteral<70>, z.ZodLiteral<80>, z.ZodLiteral<90>]>>;
|
|
239
|
+
keepRecentTokens: z.ZodOptional<z.ZodNumber>;
|
|
240
|
+
hideSelector: z.ZodOptional<z.ZodBoolean>;
|
|
241
|
+
}, z.core.$strip>>;
|
|
242
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
243
|
+
order: z.ZodOptional<z.ZodNumber>;
|
|
244
|
+
}, z.core.$strip>>;
|
|
245
|
+
export declare const AgentProviderRuntimeSettingsMapSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
246
|
+
command: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
247
|
+
mode: z.ZodLiteral<"default">;
|
|
248
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
249
|
+
mode: z.ZodLiteral<"append">;
|
|
250
|
+
args: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
251
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
252
|
+
mode: z.ZodLiteral<"replace">;
|
|
253
|
+
argv: z.ZodArray<z.ZodString>;
|
|
254
|
+
}, z.core.$strip>], "mode">>;
|
|
255
|
+
env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
256
|
+
disallowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
257
|
+
}, z.core.$strip>>;
|
|
258
|
+
export type McpServerConfig = z.infer<typeof McpServerConfigSchema>;
|
|
259
|
+
export type McpToolPermissionMode = (typeof MCP_TOOL_PERMISSION_MODES)[number];
|
|
260
|
+
export type ProviderCommand = z.infer<typeof ProviderCommandSchema>;
|
|
261
|
+
export type ProviderRuntimeSettings = z.infer<typeof ProviderRuntimeSettingsSchema>;
|
|
262
|
+
export type ProviderProfileModel = z.infer<typeof ProviderProfileModelSchema>;
|
|
263
|
+
export type ProviderOverride = z.infer<typeof ProviderOverrideSchema>;
|
|
264
|
+
export type ProviderOverrides = z.infer<typeof ProviderOverridesSchema>;
|
|
265
|
+
export type AgentProviderRuntimeSettingsMap = Partial<Record<AgentProvider, ProviderRuntimeSettings>>;
|
|
266
|
+
//# sourceMappingURL=provider-config.d.ts.map
|