@otto-code/protocol 0.8.19 → 0.9.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/dist/agent-labels.d.ts +22 -0
  2. package/dist/agent-labels.js +42 -1
  3. package/dist/agent-profiles.d.ts +1 -1
  4. package/dist/agent-profiles.js +3 -3
  5. package/dist/agent-rate-limit.d.ts +13 -0
  6. package/dist/agent-rate-limit.js +18 -0
  7. package/dist/agent-types.d.ts +6 -0
  8. package/dist/architectural-views/rpc-schemas.d.ts +465 -0
  9. package/dist/architectural-views/rpc-schemas.js +205 -0
  10. package/dist/artifacts/rpc-schemas.d.ts +360 -2
  11. package/dist/artifacts/rpc-schemas.js +75 -1
  12. package/dist/artifacts/types.d.ts +71 -0
  13. package/dist/artifacts/types.js +27 -0
  14. package/dist/binary-frames/terminal.d.ts +1 -1
  15. package/dist/brain.d.ts +3 -3
  16. package/dist/browser-automation/capabilities.d.ts +1 -1
  17. package/dist/browser-automation/rpc-schemas.d.ts +16 -16
  18. package/dist/code-intelligence.d.ts +5 -5
  19. package/dist/daemon-config.d.ts +66 -0
  20. package/dist/daemon-config.js +76 -3
  21. package/dist/file-operations.d.ts +1 -1
  22. package/dist/generated/validation/ws-outbound.aot.js +81113 -69135
  23. package/dist/loop/rpc-schemas.d.ts +6 -6
  24. package/dist/messages.d.ts +11477 -1097
  25. package/dist/messages.js +633 -117
  26. package/dist/model-preferences.d.ts +26 -0
  27. package/dist/model-preferences.js +47 -0
  28. package/dist/model-tiers.js +2 -0
  29. package/dist/personality-schemas.d.ts +4 -4
  30. package/dist/project-knowledge.d.ts +38 -16
  31. package/dist/project-knowledge.js +17 -1
  32. package/dist/provider-config.js +1 -1
  33. package/dist/provider-icon-names.js +1 -0
  34. package/dist/schedule/rpc-schemas.d.ts +92 -12
  35. package/dist/schedule/rpc-schemas.js +2 -0
  36. package/dist/schedule/types.d.ts +47 -3
  37. package/dist/schedule/types.js +22 -0
  38. package/dist/search/text-match.d.ts +16 -0
  39. package/dist/search/text-match.js +31 -2
  40. package/dist/suggested-tasks.d.ts +7 -3
  41. package/dist/suggested-tasks.js +2 -0
  42. package/dist/validation/ws-outbound-schema-metadata.d.ts +2348 -111
  43. package/dist/websocket-control.d.ts +39 -0
  44. package/dist/websocket-control.js +36 -0
  45. package/dist/workflow.d.ts +3060 -0
  46. package/dist/{orchestration.js → workflow.js} +461 -29
  47. package/dist/workspace-labels.d.ts +9 -0
  48. package/dist/workspace-labels.js +19 -0
  49. package/package.json +1 -1
  50. package/dist/orchestration.d.ts +0 -1148
@@ -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()`. The patch schema is `MutableLspConfigSchema.partial()`,
70
- * and Zod keeps defaults through `.partial()`, so a default here would be injected into every
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([]),
@@ -290,8 +290,8 @@ export declare const FileSearchResponseSchema: z.ZodObject<{
290
290
  cwd: z.ZodString;
291
291
  status: z.ZodEnum<{
292
292
  error: "error";
293
- completed: "completed";
294
293
  truncated: "truncated";
294
+ completed: "completed";
295
295
  superseded: "superseded";
296
296
  }>;
297
297
  error: z.ZodNullable<z.ZodString>;