@otto-code/protocol 0.8.19 → 0.9.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/dist/agent-labels.d.ts +13 -0
- package/dist/agent-labels.js +26 -1
- package/dist/agent-profiles.d.ts +1 -1
- package/dist/agent-profiles.js +3 -3
- package/dist/architectural-views/rpc-schemas.d.ts +342 -0
- package/dist/architectural-views/rpc-schemas.js +171 -0
- package/dist/artifacts/rpc-schemas.d.ts +360 -2
- package/dist/artifacts/rpc-schemas.js +75 -1
- package/dist/artifacts/types.d.ts +71 -0
- package/dist/artifacts/types.js +27 -0
- package/dist/binary-frames/terminal.d.ts +1 -1
- package/dist/daemon-config.d.ts +66 -0
- package/dist/daemon-config.js +76 -3
- package/dist/generated/validation/ws-outbound.aot.js +69178 -57562
- package/dist/messages.d.ts +10649 -619
- package/dist/messages.js +595 -18
- package/dist/model-tiers.js +2 -0
- package/dist/provider-config.js +1 -1
- package/dist/provider-icon-names.js +1 -0
- package/dist/schedule/rpc-schemas.d.ts +80 -0
- package/dist/schedule/rpc-schemas.js +2 -0
- package/dist/schedule/types.d.ts +44 -0
- package/dist/schedule/types.js +22 -0
- package/dist/search/text-match.d.ts +16 -0
- package/dist/search/text-match.js +31 -2
- package/dist/validation/ws-outbound-schema-metadata.d.ts +2232 -88
- package/dist/workflow.d.ts +3060 -0
- package/dist/{orchestration.js → workflow.js} +461 -29
- package/dist/workspace-labels.d.ts +9 -0
- package/dist/workspace-labels.js +19 -0
- package/package.json +1 -1
- package/dist/orchestration.d.ts +0 -1148
package/dist/artifacts/types.js
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
export const ArtifactKindSchema = z.enum(["html"]);
|
|
3
|
+
// Independent from Knowledge's equivalent setting: each durable category has
|
|
4
|
+
// its own project override and host default.
|
|
5
|
+
export const ProjectArtifactStoreLocationValueSchema = z.enum(["repository", "host"]);
|
|
3
6
|
export const ArtifactStatusSchema = z.enum(["generating", "ready", "error"]);
|
|
4
7
|
// Two glow colors for the generating spinner, snapshotted from the Agent
|
|
5
8
|
// Personality the artifact was generated under (BlobLoader glowA/glowB), so its
|
|
@@ -11,6 +14,15 @@ export const ArtifactSpinnerSchema = z
|
|
|
11
14
|
glowB: z.string().min(1),
|
|
12
15
|
})
|
|
13
16
|
.passthrough();
|
|
17
|
+
// The latest durable trigger that created or refreshed an artifact. The
|
|
18
|
+
// referenced object can later be deleted, so consumers must show an honest
|
|
19
|
+
// unavailable state rather than trying to reconstruct provenance from prompt
|
|
20
|
+
// text. Optional keeps records written before provenance readable.
|
|
21
|
+
export const ArtifactSourceSchema = z.discriminatedUnion("kind", [
|
|
22
|
+
z.object({ kind: z.literal("chat"), agentId: z.string() }),
|
|
23
|
+
z.object({ kind: z.literal("workflow"), workflowId: z.string(), runId: z.string() }),
|
|
24
|
+
z.object({ kind: z.literal("schedule"), scheduleId: z.string(), runId: z.string() }),
|
|
25
|
+
]);
|
|
14
26
|
export const ArtifactMetadataSchema = z.object({
|
|
15
27
|
id: z.string(),
|
|
16
28
|
name: z.string(),
|
|
@@ -43,6 +55,21 @@ export const ArtifactMetadataSchema = z.object({
|
|
|
43
55
|
// provider/model. Absent ⇒ no personality was used (plain provider/model
|
|
44
56
|
// selection). Purely additive (no daemon floor needed).
|
|
45
57
|
generationPersonalityName: z.string().nullable().optional(),
|
|
58
|
+
// COMPAT(artifactProvenance): added in v0.9.0, remove after 2027-02-28.
|
|
59
|
+
// The latest Chat, Workflow, or Schedule source, when Otto has one.
|
|
60
|
+
source: ArtifactSourceSchema.optional(),
|
|
61
|
+
// Where this particular deliverable was created. This is a durable resolved
|
|
62
|
+
// location, not the project's current preference: changing the preference
|
|
63
|
+
// never changes an existing Artifact's ownership. Optional so records from
|
|
64
|
+
// before independent Artifact storage remain readable.
|
|
65
|
+
// COMPAT(artifactStorageMetadata): added in v0.9.0, remove after 2027-02-28.
|
|
66
|
+
storageLocation: ProjectArtifactStoreLocationValueSchema.optional(),
|
|
67
|
+
// An external edit left the on-disk HTML invalid. Otto retains the invalid
|
|
68
|
+
// file for inspection, never renders it, and can explicitly restore the
|
|
69
|
+
// separately retained last-known-good output. Optional for records written
|
|
70
|
+
// before repair tracking existed.
|
|
71
|
+
// COMPAT(artifactRepair): added in v0.9.0, remove after 2027-02-28.
|
|
72
|
+
repairAvailable: z.boolean().optional(),
|
|
46
73
|
errorMessage: z.string().nullable(),
|
|
47
74
|
});
|
|
48
75
|
export const ArtifactSummarySchema = ArtifactMetadataSchema;
|
|
@@ -4,8 +4,8 @@ export declare const TerminalStreamResizeSchema: z.ZodObject<{
|
|
|
4
4
|
rows: z.ZodNumber;
|
|
5
5
|
cols: z.ZodNumber;
|
|
6
6
|
intent: z.ZodOptional<z.ZodEnum<{
|
|
7
|
-
claim: "claim";
|
|
8
7
|
update: "update";
|
|
8
|
+
claim: "claim";
|
|
9
9
|
}>>;
|
|
10
10
|
}, z.core.$strip>;
|
|
11
11
|
export declare const TerminalStreamOpcode: {
|
package/dist/daemon-config.d.ts
CHANGED
|
@@ -10,6 +10,14 @@ export declare const MutableAgentBehaviorsConfigSchema: z.ZodObject<{
|
|
|
10
10
|
todoReconcileOnIdle: z.ZodDefault<z.ZodBoolean>;
|
|
11
11
|
stallGuardThreshold: z.ZodDefault<z.ZodNumber>;
|
|
12
12
|
}, z.core.$loose>;
|
|
13
|
+
export declare const MutableAgentBehaviorsConfigPatchSchema: z.ZodObject<{
|
|
14
|
+
promptSuggestions: z.ZodOptional<z.ZodBoolean>;
|
|
15
|
+
agentProgressSummaries: z.ZodOptional<z.ZodBoolean>;
|
|
16
|
+
notifyOnFinishDefault: z.ZodOptional<z.ZodBoolean>;
|
|
17
|
+
todoNudge: z.ZodOptional<z.ZodBoolean>;
|
|
18
|
+
todoReconcileOnIdle: z.ZodOptional<z.ZodBoolean>;
|
|
19
|
+
stallGuardThreshold: z.ZodOptional<z.ZodNumber>;
|
|
20
|
+
}, z.core.$loose>;
|
|
13
21
|
/**
|
|
14
22
|
* Language-server code intelligence, host-scoped because the servers are processes
|
|
15
23
|
* on the daemon's machine - they follow the host, not the client.
|
|
@@ -35,6 +43,17 @@ export declare const MutableLspConfigSchema: z.ZodObject<{
|
|
|
35
43
|
idleMinutes: z.ZodDefault<z.ZodNumber>;
|
|
36
44
|
backgroundIdleMinutes: z.ZodDefault<z.ZodNumber>;
|
|
37
45
|
}, z.core.$loose>;
|
|
46
|
+
export declare const MutableLspConfigPatchSchema: z.ZodObject<{
|
|
47
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
48
|
+
languages: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
|
|
49
|
+
csharpProjectScope: z.ZodOptional<z.ZodEnum<{
|
|
50
|
+
solution: "solution";
|
|
51
|
+
allProjects: "allProjects";
|
|
52
|
+
}>>;
|
|
53
|
+
maxRunningServers: z.ZodOptional<z.ZodNumber>;
|
|
54
|
+
idleMinutes: z.ZodOptional<z.ZodNumber>;
|
|
55
|
+
backgroundIdleMinutes: z.ZodOptional<z.ZodNumber>;
|
|
56
|
+
}, z.core.$loose>;
|
|
38
57
|
/**
|
|
39
58
|
* "Microsoft .NET Solution Management" - the Solution view's own switch.
|
|
40
59
|
*
|
|
@@ -54,6 +73,11 @@ export declare const MutableDotnetSolutionConfigSchema: z.ZodObject<{
|
|
|
54
73
|
maxRunningProbes: z.ZodDefault<z.ZodNumber>;
|
|
55
74
|
idleMinutes: z.ZodDefault<z.ZodNumber>;
|
|
56
75
|
}, z.core.$loose>;
|
|
76
|
+
export declare const MutableDotnetSolutionConfigPatchSchema: z.ZodObject<{
|
|
77
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
78
|
+
maxRunningProbes: z.ZodOptional<z.ZodNumber>;
|
|
79
|
+
idleMinutes: z.ZodOptional<z.ZodNumber>;
|
|
80
|
+
}, z.core.$loose>;
|
|
57
81
|
export declare const MutableGitHostingBitbucketCloudConfigSchema: z.ZodObject<{
|
|
58
82
|
email: z.ZodOptional<z.ZodString>;
|
|
59
83
|
apiToken: z.ZodOptional<z.ZodString>;
|
|
@@ -109,8 +133,50 @@ export declare const MutableProjectKnowledgeConfigSchema: z.ZodObject<{
|
|
|
109
133
|
host: "host";
|
|
110
134
|
}>>;
|
|
111
135
|
}, z.core.$loose>;
|
|
136
|
+
export declare const MutableProjectKnowledgeConfigPatchSchema: z.ZodObject<{
|
|
137
|
+
defaultStoreLocation: z.ZodOptional<z.ZodEnum<{
|
|
138
|
+
repository: "repository";
|
|
139
|
+
host: "host";
|
|
140
|
+
}>>;
|
|
141
|
+
}, z.core.$loose>;
|
|
112
142
|
export type MutableProjectKnowledgeConfig = z.infer<typeof MutableProjectKnowledgeConfigSchema>;
|
|
113
143
|
export declare const DEFAULT_MUTABLE_PROJECT_KNOWLEDGE_CONFIG: MutableProjectKnowledgeConfig;
|
|
144
|
+
export declare const ProjectArtifactStoreLocationSchema: z.ZodEnum<{
|
|
145
|
+
repository: "repository";
|
|
146
|
+
host: "host";
|
|
147
|
+
}>;
|
|
148
|
+
export declare const MutableProjectArtifactsConfigSchema: z.ZodObject<{
|
|
149
|
+
defaultStoreLocation: z.ZodDefault<z.ZodEnum<{
|
|
150
|
+
repository: "repository";
|
|
151
|
+
host: "host";
|
|
152
|
+
}>>;
|
|
153
|
+
}, z.core.$loose>;
|
|
154
|
+
export declare const MutableProjectArtifactsConfigPatchSchema: z.ZodObject<{
|
|
155
|
+
defaultStoreLocation: z.ZodOptional<z.ZodEnum<{
|
|
156
|
+
repository: "repository";
|
|
157
|
+
host: "host";
|
|
158
|
+
}>>;
|
|
159
|
+
}, z.core.$loose>;
|
|
160
|
+
export type MutableProjectArtifactsConfig = z.infer<typeof MutableProjectArtifactsConfigSchema>;
|
|
161
|
+
export declare const DEFAULT_MUTABLE_PROJECT_ARTIFACTS_CONFIG: MutableProjectArtifactsConfig;
|
|
162
|
+
export declare const ProjectWorkflowStoreLocationSchema: z.ZodEnum<{
|
|
163
|
+
repository: "repository";
|
|
164
|
+
host: "host";
|
|
165
|
+
}>;
|
|
166
|
+
export declare const MutableProjectWorkflowsConfigSchema: z.ZodObject<{
|
|
167
|
+
defaultStoreLocation: z.ZodDefault<z.ZodEnum<{
|
|
168
|
+
repository: "repository";
|
|
169
|
+
host: "host";
|
|
170
|
+
}>>;
|
|
171
|
+
}, z.core.$loose>;
|
|
172
|
+
export declare const MutableProjectWorkflowsConfigPatchSchema: z.ZodObject<{
|
|
173
|
+
defaultStoreLocation: z.ZodOptional<z.ZodEnum<{
|
|
174
|
+
repository: "repository";
|
|
175
|
+
host: "host";
|
|
176
|
+
}>>;
|
|
177
|
+
}, z.core.$loose>;
|
|
178
|
+
export type MutableProjectWorkflowsConfig = z.infer<typeof MutableProjectWorkflowsConfigSchema>;
|
|
179
|
+
export declare const DEFAULT_MUTABLE_PROJECT_WORKFLOWS_CONFIG: MutableProjectWorkflowsConfig;
|
|
114
180
|
export declare const MutableAgentPersonalitiesConfigSchema: z.ZodObject<{
|
|
115
181
|
personalities: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
116
182
|
id: z.ZodString;
|
package/dist/daemon-config.js
CHANGED
|
@@ -40,6 +40,20 @@ export const MutableAgentBehaviorsConfigSchema = z
|
|
|
40
40
|
.default(STALL_GUARD_DEFAULT_THRESHOLD),
|
|
41
41
|
})
|
|
42
42
|
.passthrough();
|
|
43
|
+
// Read state is default-filled, while a patch must encode only fields the
|
|
44
|
+
// caller named. Keep this separate from `.partial()` so defaults never become
|
|
45
|
+
// an accidental write intent.
|
|
46
|
+
export const MutableAgentBehaviorsConfigPatchSchema = z
|
|
47
|
+
.object({
|
|
48
|
+
promptSuggestions: z.boolean(),
|
|
49
|
+
agentProgressSummaries: z.boolean(),
|
|
50
|
+
notifyOnFinishDefault: z.boolean(),
|
|
51
|
+
todoNudge: z.boolean(),
|
|
52
|
+
todoReconcileOnIdle: z.boolean(),
|
|
53
|
+
stallGuardThreshold: z.number().int().min(0).max(STALL_GUARD_MAX_THRESHOLD),
|
|
54
|
+
})
|
|
55
|
+
.partial()
|
|
56
|
+
.passthrough();
|
|
43
57
|
/**
|
|
44
58
|
* Language-server code intelligence, host-scoped because the servers are processes
|
|
45
59
|
* on the daemon's machine - they follow the host, not the client.
|
|
@@ -66,9 +80,8 @@ export const MutableLspConfigSchema = z
|
|
|
66
80
|
* but it loads them one at a time (measured at ~4s each, so a 200-project repo is minutes, not
|
|
67
81
|
* seconds). Absent means `"solution"`.
|
|
68
82
|
*
|
|
69
|
-
* Deliberately carries NO `.default()
|
|
70
|
-
*
|
|
71
|
-
* unrelated `lsp` patch and deep-merge would silently reset the user's choice.
|
|
83
|
+
* Deliberately carries NO `.default()`: absence means the daemon's
|
|
84
|
+
* shipped policy, while an explicit setting is durable user intent.
|
|
72
85
|
*/
|
|
73
86
|
csharpProjectScope: z.enum(["solution", "allProjects"]).optional(),
|
|
74
87
|
/** Hard LRU cap on simultaneously running servers, across all workspaces. */
|
|
@@ -78,6 +91,20 @@ export const MutableLspConfigSchema = z
|
|
|
78
91
|
backgroundIdleMinutes: z.number().int().positive().default(2),
|
|
79
92
|
})
|
|
80
93
|
.passthrough();
|
|
94
|
+
// LSP read state is default-filled, but a write must retain only fields the
|
|
95
|
+
// client supplied. `.partial()` on the read schema keeps its defaults and
|
|
96
|
+
// turns a one-field update into a reset before post-validation normalization.
|
|
97
|
+
export const MutableLspConfigPatchSchema = z
|
|
98
|
+
.object({
|
|
99
|
+
enabled: z.boolean(),
|
|
100
|
+
languages: z.record(z.string(), z.boolean()),
|
|
101
|
+
csharpProjectScope: z.enum(["solution", "allProjects"]),
|
|
102
|
+
maxRunningServers: z.number().int().positive(),
|
|
103
|
+
idleMinutes: z.number().int().positive(),
|
|
104
|
+
backgroundIdleMinutes: z.number().int().positive(),
|
|
105
|
+
})
|
|
106
|
+
.partial()
|
|
107
|
+
.passthrough();
|
|
81
108
|
/**
|
|
82
109
|
* "Microsoft .NET Solution Management" - the Solution view's own switch.
|
|
83
110
|
*
|
|
@@ -100,6 +127,14 @@ export const MutableDotnetSolutionConfigSchema = z
|
|
|
100
127
|
idleMinutes: z.number().int().positive().default(10),
|
|
101
128
|
})
|
|
102
129
|
.passthrough();
|
|
130
|
+
export const MutableDotnetSolutionConfigPatchSchema = z
|
|
131
|
+
.object({
|
|
132
|
+
enabled: z.boolean(),
|
|
133
|
+
maxRunningProbes: z.number().int().positive(),
|
|
134
|
+
idleMinutes: z.number().int().positive(),
|
|
135
|
+
})
|
|
136
|
+
.partial()
|
|
137
|
+
.passthrough();
|
|
103
138
|
// Host-level git hosting credentials, one set per provider. A workspace's
|
|
104
139
|
// provider is derived from its git remote (bitbucket.org → Bitbucket,
|
|
105
140
|
// github.com → GitHub), so credentials are configured once per host, not per
|
|
@@ -182,9 +217,47 @@ export const MutableProjectKnowledgeConfigSchema = z
|
|
|
182
217
|
defaultStoreLocation: ProjectKnowledgeStoreLocationSchema.default("repository"),
|
|
183
218
|
})
|
|
184
219
|
.passthrough();
|
|
220
|
+
export const MutableProjectKnowledgeConfigPatchSchema = z
|
|
221
|
+
.object({ defaultStoreLocation: ProjectKnowledgeStoreLocationSchema })
|
|
222
|
+
.partial()
|
|
223
|
+
.passthrough();
|
|
185
224
|
export const DEFAULT_MUTABLE_PROJECT_KNOWLEDGE_CONFIG = {
|
|
186
225
|
defaultStoreLocation: "repository",
|
|
187
226
|
};
|
|
227
|
+
// Host-wide default for a project's Artifact store. This intentionally does
|
|
228
|
+
// not reuse `projectKnowledge`: each durable category has an independent
|
|
229
|
+
// location choice, even though their resolver and migration safety rules are
|
|
230
|
+
// shared.
|
|
231
|
+
// COMPAT(artifactStoreLocation): added in v0.9.0, remove after 2027-02-28.
|
|
232
|
+
export const ProjectArtifactStoreLocationSchema = z.enum(["repository", "host"]);
|
|
233
|
+
export const MutableProjectArtifactsConfigSchema = z
|
|
234
|
+
.object({
|
|
235
|
+
defaultStoreLocation: ProjectArtifactStoreLocationSchema.default("repository"),
|
|
236
|
+
})
|
|
237
|
+
.passthrough();
|
|
238
|
+
export const MutableProjectArtifactsConfigPatchSchema = z
|
|
239
|
+
.object({ defaultStoreLocation: ProjectArtifactStoreLocationSchema })
|
|
240
|
+
.partial()
|
|
241
|
+
.passthrough();
|
|
242
|
+
export const DEFAULT_MUTABLE_PROJECT_ARTIFACTS_CONFIG = {
|
|
243
|
+
defaultStoreLocation: "repository",
|
|
244
|
+
};
|
|
245
|
+
// Host-wide default for a project's Workflow library. Workflows deliberately
|
|
246
|
+
// own this choice rather than inheriting Knowledge or Artifacts.
|
|
247
|
+
// COMPAT(categoryStorageResolver): added in v0.9.0, remove after 2027-02-28.
|
|
248
|
+
export const ProjectWorkflowStoreLocationSchema = z.enum(["repository", "host"]);
|
|
249
|
+
export const MutableProjectWorkflowsConfigSchema = z
|
|
250
|
+
.object({
|
|
251
|
+
defaultStoreLocation: ProjectWorkflowStoreLocationSchema.default("repository"),
|
|
252
|
+
})
|
|
253
|
+
.passthrough();
|
|
254
|
+
export const MutableProjectWorkflowsConfigPatchSchema = z
|
|
255
|
+
.object({ defaultStoreLocation: ProjectWorkflowStoreLocationSchema })
|
|
256
|
+
.partial()
|
|
257
|
+
.passthrough();
|
|
258
|
+
export const DEFAULT_MUTABLE_PROJECT_WORKFLOWS_CONFIG = {
|
|
259
|
+
defaultStoreLocation: "repository",
|
|
260
|
+
};
|
|
188
261
|
export const MutableAgentPersonalitiesConfigSchema = z
|
|
189
262
|
.object({
|
|
190
263
|
personalities: z.array(AgentPersonalitySchema).default([]),
|