@otto-code/protocol 0.8.18 → 0.8.19

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/messages.js CHANGED
@@ -2,7 +2,7 @@ import { z } from "zod";
2
2
  import { MutableAgentBehaviorsConfigSchema, MutableLspConfigSchema, MutableDotnetSolutionConfigSchema, MutableGitHostingConfigSchema, MutableKanbanConfigSchema, MutableProjectKnowledgeConfigSchema, MutableAgentPersonalitiesConfigSchema, MutableAgentPersonalitiesConfigPatchSchema, MutableAgentTeamsConfigSchema, MutableAgentTeamsConfigPatchSchema, MutableBrainConfigSchema, MutableBrainConfigPatchSchema, MutableGitFetchConfigSchema, DEFAULT_MUTABLE_BRAIN_CONFIG, } from "./daemon-config.js";
3
3
  import { VisualizerVoiceCuesGenerateRequestSchema, VisualizerVoiceCuesGenerateResponseSchema, AgentProfileSpinnerSchema, AgentPersonalityVoiceSchema, AgentPersonalityVoiceCuesSchema, AgentPersonalitiesGetStatsRequestSchema, AgentPersonalitiesGenerateProfileRequestSchema, AgentPersonalitiesGetStatsResponseSchema, AgentPersonalitiesGenerateProfileResponseSchema, AgentProfileStatsRequestSchema, AgentProfileStatsResponseSchema, AgentProfileGeneratePromptRequestSchema, AgentProfileGeneratePromptResponseSchema, AgentProfileGenerateVoiceCuesRequestSchema, AgentProfileGenerateVoiceCuesResponseSchema, PersonalityMemoryListRequestMessageSchema, PersonalityMemoryListResponseMessageSchema, PersonalityMemoryUpdateRequestMessageSchema, PersonalityMemoryUpdateResponseMessageSchema, PersonalityMemoryTransferRequestMessageSchema, PersonalityMemoryTransferResponseMessageSchema, PersonalityMemoryStatsRequestMessageSchema, PersonalityMemoryStatsResponseMessageSchema, ProfileMemoryListRequestMessageSchema, ProfileMemoryListResponseMessageSchema, ProfileMemoryUpdateRequestMessageSchema, ProfileMemoryUpdateResponseMessageSchema, ProfileMemoryTransferRequestMessageSchema, ProfileMemoryTransferResponseMessageSchema, ProfileMemoryStatsRequestMessageSchema, ProfileMemoryStatsResponseMessageSchema, } from "./personality-schemas.js";
4
4
  import { TerminalCompatibilityDiagnosticRequestSchema, TerminalCompatibilityDiagnosticResponseSchema, } from "./terminal-compatibility.js";
5
- import { HostingPrAttachmentSchema, HostingIssueAttachmentSchema, HostingSearchRequestSchema, HostingAuthStatusRequestSchema, HostingListRepositoriesRequestSchema, HostingListOwnersRequestSchema, HostingListRepositoriesResponseSchema, HostingListOwnersResponseSchema, HostingAuthStatusResponseSchema, GitHostingCapabilitiesSchema, GitHostingProviderIdWireSchema, } from "./git-hosting.js";
5
+ import { HostingPrAttachmentSchema, HostingIssueAttachmentSchema, HostingSearchRequestSchema, HostingAuthStatusRequestSchema, HostingListRepositoriesRequestSchema, HostingListOwnersRequestSchema, HostingListRepositoriesResponseSchema, HostingListOwnersResponseSchema, HostingAuthStatusResponseSchema, HostingPullRequestThreadSetResolvedRequestSchema, HostingPullRequestThreadSetResolvedResponseSchema, HostingPullRequestCommentSetReactionRequestSchema, HostingPullRequestCommentSetReactionResponseSchema, GitHostingCapabilitiesSchema, GitHostingProviderIdWireSchema, } from "./git-hosting.js";
6
6
  import { ProjectKanbanTargetSchema, KanbanProjectTargetSetRequestSchema, KanbanProjectTargetSetResponseSchema, KanbanBoardsListRequestSchema, KanbanBoardsListResponseSchema, KanbanBoardGetRequestSchema, KanbanBoardGetResponseSchema, KanbanCardMoveRequestSchema, KanbanCardMoveResponseSchema, KanbanCardCreateRequestSchema, KanbanCardCreateResponseSchema, KanbanTaskLinkRequestSchema, KanbanTaskLinkResponseSchema, } from "./kanban.js";
7
7
  import { WorkspaceArchivePreflightRequestSchema, CheckoutBaseSourceSchema, WorktreeBaseRefSetRequestSchema, WorkspaceArchivePreflightResponseSchema, WorktreeBaseRefSetResponseSchema, } from "./worktree-ops.js";
8
8
  import { SuggestedTasksChangedSchema, TasksSuggestedStartRequestMessageSchema, TasksSuggestedStartResponseMessageSchema, TasksSuggestedDismissRequestMessageSchema, TasksSuggestedDismissResponseMessageSchema, } from "./suggested-tasks.js";
@@ -13,8 +13,7 @@ import { QueuedAgentMessagePayloadSchema, AgentQueueRemoveRequestMessageSchema,
13
13
  import { FileEolSchema, FileCreateRequestSchema, FileDeleteRequestSchema, FileRenameRequestSchema, FileWatchSubscribeRequestSchema, FileWatchUnsubscribeRequestSchema, FileSearchRequestSchema, FileReplaceRequestSchema, FileCreateResponseSchema, FileDeleteResponseSchema, FileRenameResponseSchema, FileWatchSubscribeResponseSchema, FileWatchUnsubscribeResponseSchema, FileSearchResultEventSchema, FileSearchResponseSchema, FileReplaceResponseSchema, FileWatchEventSchema, } from "./file-operations.js";
14
14
  import { FileRefineRequestSchema, FileRefineResponseSchema } from "./refine.js";
15
15
  import { MutableSpeechConfigSchema, SpeechSettingsGetOptionsRequestSchema, SpeechTtsPreviewRequestSchema, SpeechTtsSpeakRequestSchema, SpeechTtsSpeakCancelRequestSchema, SpeechSettingsGetOptionsResponseSchema, SpeechTtsPreviewResponseSchema, SpeechTtsSpeakResponseSchema, SpeechTtsSpeakCancelResponseSchema, } from "./speech.js";
16
- import { ProjectLinksListRequestSchema, ProjectLinksSetRequestSchema, ProjectLinksUnsetRequestSchema, ProjectLinksListResponseSchema, ProjectLinksSetResponseSchema, ProjectLinksUnsetResponseSchema, ProjectLinksChangedSchema, } from "./project-links.js";
17
- import { ProjectKnowledgeListRequestMessageSchema, ProjectKnowledgeListResponseMessageSchema, ProjectKnowledgeGetRequestMessageSchema, ProjectKnowledgeGetResponseMessageSchema, ProjectKnowledgeCreateRequestMessageSchema, ProjectKnowledgeCreateResponseMessageSchema, ProjectKnowledgeApplyRequestMessageSchema, ProjectKnowledgeApplyResponseMessageSchema, ProjectKnowledgeStatusRequestMessageSchema, ProjectKnowledgeStatusResponseMessageSchema, ProjectKnowledgeProjectApplyRequestMessageSchema, ProjectKnowledgeProjectApplyResponseMessageSchema, ProjectKnowledgeReferenceApplyRequestMessageSchema, ProjectKnowledgeReferenceApplyResponseMessageSchema, ProjectKnowledgeRootApplyRequestMessageSchema, ProjectKnowledgeRootApplyResponseMessageSchema, ProjectKnowledgeDeleteRequestMessageSchema, ProjectKnowledgeStoreLocationValueSchema, ProjectKnowledgeStoreGetRequestMessageSchema, ProjectKnowledgeStoreGetResponseMessageSchema, ProjectKnowledgeStoreSetRequestMessageSchema, ProjectKnowledgeStoreSetResponseMessageSchema, ProjectKnowledgeDeleteResponseMessageSchema, } from "./project-knowledge.js";
16
+ import { ProjectKnowledgeListRequestMessageSchema, ProjectKnowledgeListResponseMessageSchema, ProjectKnowledgeGetRequestMessageSchema, ProjectKnowledgeGetResponseMessageSchema, ProjectKnowledgeCreateRequestMessageSchema, ProjectKnowledgeCreateResponseMessageSchema, ProjectKnowledgeApplyRequestMessageSchema, ProjectKnowledgeApplyResponseMessageSchema, ProjectKnowledgeStatusRequestMessageSchema, ProjectKnowledgeStatusResponseMessageSchema, ProjectKnowledgeProjectApplyRequestMessageSchema, ProjectKnowledgeProjectApplyResponseMessageSchema, ProjectKnowledgeReferenceApplyRequestMessageSchema, ProjectKnowledgeReferenceApplyResponseMessageSchema, ProjectKnowledgeRootApplyRequestMessageSchema, ProjectKnowledgeRootApplyResponseMessageSchema, ProjectKnowledgeRefineApplyRequestMessageSchema, ProjectKnowledgeRefineApplyResponseMessageSchema, ProjectKnowledgeRefinementProposeRequestMessageSchema, ProjectKnowledgeRefinementProposeResponseMessageSchema, ProjectKnowledgeDeleteRequestMessageSchema, ProjectKnowledgeStoreLocationValueSchema, ProjectKnowledgeStoreGetRequestMessageSchema, ProjectKnowledgeStoreGetResponseMessageSchema, ProjectKnowledgeStoreSetRequestMessageSchema, ProjectKnowledgeStoreSetResponseMessageSchema, ProjectKnowledgeDeleteResponseMessageSchema, } from "./project-knowledge.js";
18
17
  import { CheckoutGitGetOperationLogRequestSchema, CheckoutGitGetOperationLogResponseSchema, CheckoutGitLogAppendedNotificationSchema, CheckoutGitCommitRequestSchema, CheckoutGitCommitAgentRequestSchema, CheckoutGitRollbackRequestSchema, CheckoutGitCommitResponseSchema, CheckoutGitCommitAgentResponseSchema, CheckoutGitRollbackResponseSchema, GitFileHistoryEntrySchema, GitBlameLineSchema, GitBlameCommitSchema, } from "./git-operations.js";
19
18
  import { LspServersListRequestSchema, LspServerStopRequestSchema, LspActivityChangedStatusPayloadSchema, LspDiagnosticsChangedStatusPayloadSchema, LspServersListResponseSchema, LspServerStopResponseSchema, CodeListFilesRequestSchema, CodeSymbolsRequestSchema, CodeOutlineRequestSchema, CodeDefinitionRequestSchema, CodeDocumentSyncRequestSchema, CodeDocumentCloseRequestSchema, CodeHoverRequestSchema, CodeReferencesRequestSchema, CodeRenamePreviewRequestSchema, CodeRenameApplyRequestSchema, CodeRenameUndoRequestSchema, CodeSolutionListRequestSchema, CodeSolutionGetTreeRequestSchema, CodeSolutionLoadProjectRequestSchema, CodeListFilesResponseSchema, CodeSymbolsResponseSchema, CodeDefinitionResponseSchema, CodeDocumentSyncResponseSchema, CodeDocumentCloseResponseSchema, CodeHoverResponseSchema, CodeReferencesResponseSchema, CodeRenamePreviewResponseSchema, CodeRenameUndoResponseSchema, CodeRenameApplyResponseSchema, CodeSolutionListResponseSchema, CodeSolutionGetTreeResponseSchema, CodeSolutionLoadProjectResponseSchema, CodeOutlineResponseSchema, } from "./code-intelligence.js";
20
19
  import { CommunicationsGetOverviewRequestSchema, CommunicationsGetOverviewResponseSchema, CommunicationsInboxGetHomeRequestSchema, CommunicationsInboxGetHomeResponseSchema, CommunicationsInboxSearchRequestSchema, CommunicationsInboxSearchResponseSchema, CommunicationsInboxSetFavoriteRequestSchema, CommunicationsInboxSetFavoriteResponseSchema, CommunicationsInboxNotificationsAcknowledgeRequestSchema, CommunicationsInboxNotificationsAcknowledgeResponseSchema, CommunicationsInboxGetPresenceRequestSchema, CommunicationsInboxGetPresenceResponseSchema, CommunicationsInboxPresenceChangedNotificationSchema, CommunicationsInboxSetPresenceRequestSchema, CommunicationsInboxSetPresenceResponseSchema, CommunicationsInboxSetEnabledRequestSchema, CommunicationsInboxSetEnabledResponseSchema, CommunicationsInboxGetMessagesRequestSchema, CommunicationsInboxGetMessagesResponseSchema, CommunicationsInboxSendMessageRequestSchema, CommunicationsInboxSendMessageResponseSchema, CommunicationsRoomGetRequestSchema, CommunicationsRoomGetResponseSchema, CommunicationsRoomThreadGetRequestSchema, CommunicationsRoomThreadGetResponseSchema, CommunicationsRoomMessageSendRequestSchema, CommunicationsRoomMessageSendResponseSchema, CommunicationsRoomReactionSetRequestSchema, CommunicationsRoomReactionSetResponseSchema, } from "./communications.js";
@@ -3307,9 +3306,6 @@ export const SessionInboundMessageSchema = z.discriminatedUnion("type", [
3307
3306
  KanbanProjectTargetSetRequestSchema,
3308
3307
  ProjectIconSetRequestSchema,
3309
3308
  ProjectRemoveRequestSchema,
3310
- ProjectLinksListRequestSchema,
3311
- ProjectLinksSetRequestSchema,
3312
- ProjectLinksUnsetRequestSchema,
3313
3309
  WorkspaceTitleSetRequestSchema,
3314
3310
  WorkspacePinSetRequestSchema,
3315
3311
  WorkspaceRecoveryInspectRequestSchema,
@@ -3388,6 +3384,8 @@ export const SessionInboundMessageSchema = z.discriminatedUnion("type", [
3388
3384
  ProjectKnowledgeProjectApplyRequestMessageSchema,
3389
3385
  ProjectKnowledgeReferenceApplyRequestMessageSchema,
3390
3386
  ProjectKnowledgeRootApplyRequestMessageSchema,
3387
+ ProjectKnowledgeRefineApplyRequestMessageSchema,
3388
+ ProjectKnowledgeRefinementProposeRequestMessageSchema,
3391
3389
  ProjectKnowledgeDeleteRequestMessageSchema,
3392
3390
  ProjectKnowledgeStoreGetRequestMessageSchema,
3393
3391
  ProjectKnowledgeStoreSetRequestMessageSchema,
@@ -3481,6 +3479,8 @@ export const SessionInboundMessageSchema = z.discriminatedUnion("type", [
3481
3479
  PreviewStopRequestSchema,
3482
3480
  CheckoutPrStatusRequestSchema,
3483
3481
  PullRequestTimelineRequestSchema,
3482
+ HostingPullRequestThreadSetResolvedRequestSchema,
3483
+ HostingPullRequestCommentSetReactionRequestSchema,
3484
3484
  CheckoutSwitchBranchRequestSchema,
3485
3485
  CheckoutRenameBranchRequestSchema,
3486
3486
  StashSaveRequestSchema,
@@ -3773,6 +3773,9 @@ export const ServerInfoStatusPayloadSchema = z
3773
3773
  githubCheckDetails: z.boolean().optional(),
3774
3774
  // COMPAT(forgeCheckDetails): added in v0.1.106, remove githubCheckDetails fallback after 2026-12-28.
3775
3775
  forgeCheckDetails: z.boolean().optional(),
3776
+ // COMPAT(forgeReviewThreads): added in v0.8.15, remove gate after 2027-02-27.
3777
+ // The daemon accepts the provider-neutral discussion mutations.
3778
+ forgeReviewThreads: z.boolean().optional(),
3776
3779
  // COMPAT(forgeSearch): added in v0.1.106, remove github_search fallback after 2026-12-28.
3777
3780
  forgeSearch: z.boolean().optional(),
3778
3781
  // COMPAT(daemonStatusRpc): added in v0.1.76, remove gate after 2026-11-18.
@@ -3967,6 +3970,19 @@ export const ServerInfoStatusPayloadSchema = z
3967
3970
  personalityMemory: z.boolean().optional(),
3968
3971
  // COMPAT(projectKnowledge): added in v0.8.5, drop the gate when daemon floor >= v0.8.5.
3969
3972
  projectKnowledge: z.boolean().optional(),
3973
+ // COMPAT(projectKnowledgeRefinement): added in v0.8.19, drop the gate
3974
+ // when floor >= v0.8.19.
3975
+ projectKnowledgeRefinement: z.boolean().optional(),
3976
+ // COMPAT(projectKnowledgeReviewedRefinement): added in v0.8.20, remove
3977
+ // the gate after 2027-02-26. The dedicated reviewed-Knowledge proposal
3978
+ // RPC is not supported by hosts that only expose the original apply RPC.
3979
+ projectKnowledgeReviewedRefinement: z.boolean().optional(),
3980
+ // COMPAT(projectKnowledgeAnchoredRefinement): added in v0.8.21, remove
3981
+ // the gate after 2027-02-27.
3982
+ projectKnowledgeAnchoredRefinement: z.boolean().optional(),
3983
+ // COMPAT(projectKnowledgeTagEditing): added in v0.8.21, remove the
3984
+ // gate after 2027-02-27.
3985
+ projectKnowledgeTagEditing: z.boolean().optional(),
3970
3986
  // COMPAT(projectKnowledgeStoreLocation): added in v0.8.18, drop the gate
3971
3987
  // when daemon floor >= v0.8.18. A project's Knowledge store can live
3972
3988
  // host-local instead of in the repository: the project.knowledge.store.*
@@ -4098,13 +4114,11 @@ export const ServerInfoStatusPayloadSchema = z
4098
4114
  runsDraftEdit: z.boolean().optional(),
4099
4115
  // COMPAT(orchestrationGraphs): added in v0.6.7, drop the gate when daemon floor >= v0.6.7.
4100
4116
  orchestrationGraphs: z.boolean().optional(),
4101
- // COMPAT(projectLinks): added in v0.5.6, drop the gate when daemon floor >= v0.5.6.
4102
- projectLinks: z.boolean().optional(),
4103
4117
  // COMPAT(fileOutsideWorkspace): added in v0.5.8, drop the gate when daemon floor >= v0.5.8.
4104
4118
  // Set when the daemon will serve single-file read/write/watch for paths
4105
4119
  // outside every known workspace (bounded only by OS filesystem
4106
- // permissions). The client gates this behind an "edit anyway" warning;
4107
- // an old daemon leaves the flag unset and out-of-project files are not offered.
4120
+ // permissions). An old daemon leaves the flag unset, so the client does
4121
+ // not route external files through this access path.
4108
4122
  fileOutsideWorkspace: z.boolean().optional(),
4109
4123
  // COMPAT(promptSuggestions): added in v0.6.3, drop the gate when daemon floor >= v0.6.3.
4110
4124
  // Set when the daemon emits agent_stream `prompt_suggestion` events (native
@@ -6168,6 +6182,24 @@ const PullRequestTimelineCommentItemSchema = z.object({
6168
6182
  body: z.string().optional().default(""),
6169
6183
  createdAt: z.number().optional().default(0),
6170
6184
  url: z.string().optional().default(""),
6185
+ // Provider-neutral aggregate reaction state. Absent on forges that do not
6186
+ // expose comment reactions and on daemons that predate discussion support.
6187
+ reactions: z
6188
+ .array(z.object({
6189
+ content: z.enum([
6190
+ "THUMBS_UP",
6191
+ "THUMBS_DOWN",
6192
+ "LAUGH",
6193
+ "HOORAY",
6194
+ "CONFUSED",
6195
+ "HEART",
6196
+ "ROCKET",
6197
+ "EYES",
6198
+ ]),
6199
+ count: z.number().int().nonnegative(),
6200
+ viewerHasReacted: z.boolean(),
6201
+ }))
6202
+ .optional(),
6171
6203
  // GitHub review id this inline comment belongs to; lets clients nest review
6172
6204
  // threads under their parent review. Absent on issue comments and on
6173
6205
  // timelines from daemons that predate the field.
@@ -6213,6 +6245,7 @@ export const PullRequestTimelineResponseSchema = z.object({
6213
6245
  cwd: z.string().optional().default(""),
6214
6246
  prNumber: z.number().nullable().optional().default(null),
6215
6247
  items: z.array(PullRequestTimelineItemSchema).optional().default([]),
6248
+ commentReactionsSupported: z.boolean().optional(),
6216
6249
  truncated: z.boolean().optional().default(false),
6217
6250
  error: PullRequestTimelineErrorSchema.nullable().optional().default(null),
6218
6251
  requestId: z.string().optional().default(""),
@@ -7101,10 +7134,6 @@ export const SessionOutboundMessageSchema = z.discriminatedUnion("type", [
7101
7134
  ProjectUpdatedNotificationSchema,
7102
7135
  ProjectIconSetResponseSchema,
7103
7136
  ProjectRemoveResponseSchema,
7104
- ProjectLinksListResponseSchema,
7105
- ProjectLinksSetResponseSchema,
7106
- ProjectLinksUnsetResponseSchema,
7107
- ProjectLinksChangedSchema,
7108
7137
  WorkspaceTitleSetResponseSchema,
7109
7138
  WorkspacePinSetResponseSchema,
7110
7139
  WorkspaceRecoveryInspectResponseSchema,
@@ -7205,6 +7234,8 @@ export const SessionOutboundMessageSchema = z.discriminatedUnion("type", [
7205
7234
  PreviewStopResponseSchema,
7206
7235
  CheckoutPrStatusResponseSchema,
7207
7236
  PullRequestTimelineResponseSchema,
7237
+ HostingPullRequestThreadSetResolvedResponseSchema,
7238
+ HostingPullRequestCommentSetReactionResponseSchema,
7208
7239
  CheckoutSwitchBranchResponseSchema,
7209
7240
  CheckoutRenameBranchResponseSchema,
7210
7241
  StashSaveResponseSchema,
@@ -7288,6 +7319,8 @@ export const SessionOutboundMessageSchema = z.discriminatedUnion("type", [
7288
7319
  ProjectKnowledgeProjectApplyResponseMessageSchema,
7289
7320
  ProjectKnowledgeReferenceApplyResponseMessageSchema,
7290
7321
  ProjectKnowledgeRootApplyResponseMessageSchema,
7322
+ ProjectKnowledgeRefineApplyResponseMessageSchema,
7323
+ ProjectKnowledgeRefinementProposeResponseMessageSchema,
7291
7324
  ProjectKnowledgeDeleteResponseMessageSchema,
7292
7325
  ProjectKnowledgeStoreGetResponseMessageSchema,
7293
7326
  ProjectKnowledgeStoreSetResponseMessageSchema,
@@ -7452,7 +7485,6 @@ export * from "./context.js";
7452
7485
  export * from "./code-intelligence.js";
7453
7486
  export * from "./git-operations.js";
7454
7487
  export * from "./project-knowledge.js";
7455
- export * from "./project-links.js";
7456
7488
  export * from "./speech.js";
7457
7489
  export * from "./refine.js";
7458
7490
  export * from "./file-operations.js";
@@ -132,6 +132,7 @@ export declare const ProjectKnowledgeRootPageSchema: z.ZodObject<{
132
132
  path: z.ZodString;
133
133
  absolutePath: z.ZodOptional<z.ZodString>;
134
134
  body: z.ZodString;
135
+ bodyDigest: z.ZodOptional<z.ZodString>;
135
136
  }, z.core.$strip>;
136
137
  export declare const ProjectKnowledgeListRequestMessageSchema: z.ZodObject<{
137
138
  type: z.ZodLiteral<"project.knowledge.list.request">;
@@ -204,6 +205,7 @@ export declare const ProjectKnowledgeListResponseMessageSchema: z.ZodObject<{
204
205
  path: z.ZodString;
205
206
  absolutePath: z.ZodOptional<z.ZodString>;
206
207
  body: z.ZodString;
208
+ bodyDigest: z.ZodOptional<z.ZodString>;
207
209
  }, z.core.$strip>>>;
208
210
  findings: z.ZodArray<z.ZodObject<{
209
211
  kind: z.ZodEnum<{
@@ -412,6 +414,7 @@ export declare const ProjectKnowledgeApplyRequestMessageSchema: z.ZodObject<{
412
414
  title: z.ZodOptional<z.ZodString>;
413
415
  statement: z.ZodOptional<z.ZodString>;
414
416
  evidence: z.ZodOptional<z.ZodString>;
417
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
415
418
  provenanceText: z.ZodOptional<z.ZodString>;
416
419
  provenanceSource: z.ZodOptional<z.ZodString>;
417
420
  provenanceAffects: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -736,7 +739,174 @@ export declare const ProjectKnowledgeRootApplyResponseMessageSchema: z.ZodObject
736
739
  path: z.ZodString;
737
740
  absolutePath: z.ZodOptional<z.ZodString>;
738
741
  body: z.ZodString;
742
+ bodyDigest: z.ZodOptional<z.ZodString>;
743
+ }, z.core.$strip>>;
744
+ }, z.core.$strip>;
745
+ }, z.core.$strip>;
746
+ /**
747
+ * A reviewed refinement commits an accepted proposal, not an ordinary edit.
748
+ * Confirmed atomic Knowledge is demoted atomically with its new truth; root
749
+ * pages use a body digest because they have no review state.
750
+ */
751
+ export declare const ProjectKnowledgeRefineApplyRequestMessageSchema: z.ZodObject<{
752
+ type: z.ZodLiteral<"project.knowledge.refine.apply.request">;
753
+ requestId: z.ZodString;
754
+ workspaceId: z.ZodString;
755
+ target: z.ZodEnum<{
756
+ record: "record";
757
+ root: "root";
758
+ }>;
759
+ id: z.ZodOptional<z.ZodString>;
760
+ slug: z.ZodOptional<z.ZodString>;
761
+ statement: z.ZodOptional<z.ZodString>;
762
+ evidence: z.ZodOptional<z.ZodString>;
763
+ body: z.ZodOptional<z.ZodString>;
764
+ expectedUpdatedAt: z.ZodOptional<z.ZodString>;
765
+ expectedBodyDigest: z.ZodOptional<z.ZodString>;
766
+ }, z.core.$strip>;
767
+ export declare const ProjectKnowledgeRefineApplyResponseMessageSchema: z.ZodObject<{
768
+ type: z.ZodLiteral<"project.knowledge.refine.apply.response">;
769
+ payload: z.ZodObject<{
770
+ requestId: z.ZodString;
771
+ record: z.ZodNullable<z.ZodObject<{
772
+ id: z.ZodString;
773
+ kind: z.ZodEnum<{
774
+ project: "project";
775
+ reference: "reference";
776
+ decision: "decision";
777
+ constraint: "constraint";
778
+ requirement: "requirement";
779
+ architecture: "architecture";
780
+ finding: "finding";
781
+ }>;
782
+ title: z.ZodString;
783
+ statement: z.ZodString;
784
+ statementDigest: z.ZodOptional<z.ZodString>;
785
+ evidence: z.ZodOptional<z.ZodString>;
786
+ tags: z.ZodArray<z.ZodString>;
787
+ status: z.ZodEnum<{
788
+ superseded: "superseded";
789
+ proposed: "proposed";
790
+ confirmed: "confirmed";
791
+ }>;
792
+ deliveryStatus: z.ZodOptional<z.ZodEnum<{
793
+ reference: "reference";
794
+ charter: "charter";
795
+ in_build: "in_build";
796
+ partial: "partial";
797
+ blocked: "blocked";
798
+ complete: "complete";
799
+ deferred: "deferred";
800
+ cancelled: "cancelled";
801
+ }>>;
802
+ progress: z.ZodOptional<z.ZodObject<{
803
+ completed: z.ZodNumber;
804
+ total: z.ZodNumber;
805
+ unit: z.ZodString;
806
+ }, z.core.$strip>>;
807
+ referenceDisposition: z.ZodOptional<z.ZodEnum<{
808
+ read: "read";
809
+ unevaluated: "unevaluated";
810
+ adopted: "adopted";
811
+ rejected: "rejected";
812
+ dependency: "dependency";
813
+ }>>;
814
+ sourceUrl: z.ZodOptional<z.ZodString>;
815
+ createdAt: z.ZodString;
816
+ updatedAt: z.ZodString;
817
+ provenance: z.ZodOptional<z.ZodArray<z.ZodObject<{
818
+ text: z.ZodString;
819
+ recordedAt: z.ZodString;
820
+ source: z.ZodOptional<z.ZodString>;
821
+ kind: z.ZodOptional<z.ZodString>;
822
+ affects: z.ZodOptional<z.ZodArray<z.ZodString>>;
823
+ }, z.core.$strip>>>;
824
+ path: z.ZodOptional<z.ZodString>;
825
+ absolutePath: z.ZodOptional<z.ZodString>;
826
+ }, z.core.$strip>>;
827
+ page: z.ZodNullable<z.ZodObject<{
828
+ slug: z.ZodString;
829
+ title: z.ZodString;
830
+ path: z.ZodString;
831
+ absolutePath: z.ZodOptional<z.ZodString>;
832
+ body: z.ZodString;
833
+ bodyDigest: z.ZodOptional<z.ZodString>;
739
834
  }, z.core.$strip>>;
835
+ demoted: z.ZodBoolean;
836
+ error: z.ZodOptional<z.ZodString>;
837
+ }, z.core.$strip>;
838
+ }, z.core.$strip>;
839
+ /** An exact source span inside an editable Project Knowledge title or body. */
840
+ export declare const ProjectKnowledgeRefinementAnchorSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
841
+ kind: z.ZodLiteral<"text">;
842
+ start: z.ZodNumber;
843
+ end: z.ZodNumber;
844
+ }, z.core.$strip>, z.ZodObject<{
845
+ kind: z.ZodLiteral<"fence">;
846
+ start: z.ZodNumber;
847
+ end: z.ZodNumber;
848
+ language: z.ZodNullable<z.ZodString>;
849
+ }, z.core.$strip>], "kind">;
850
+ /** A temporary source-bound instruction sent to the dedicated Knowledge writer. */
851
+ export declare const ProjectKnowledgeRefinementDirectiveSchema: z.ZodObject<{
852
+ id: z.ZodOptional<z.ZodString>;
853
+ kind: z.ZodEnum<{
854
+ replace: "replace";
855
+ refine: "refine";
856
+ }>;
857
+ selectedText: z.ZodOptional<z.ZodString>;
858
+ beforeContext: z.ZodOptional<z.ZodString>;
859
+ afterContext: z.ZodOptional<z.ZodString>;
860
+ anchor: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
861
+ kind: z.ZodLiteral<"text">;
862
+ start: z.ZodNumber;
863
+ end: z.ZodNumber;
864
+ }, z.core.$strip>, z.ZodObject<{
865
+ kind: z.ZodLiteral<"fence">;
866
+ start: z.ZodNumber;
867
+ end: z.ZodNumber;
868
+ language: z.ZodNullable<z.ZodString>;
869
+ }, z.core.$strip>], "kind">>;
870
+ value: z.ZodString;
871
+ }, z.core.$strip>;
872
+ /**
873
+ * Produces one inert Knowledge proposal. Direct replacements have already been
874
+ * applied by the caller; this request carries only the remaining refinement
875
+ * instructions and never writes the store.
876
+ */
877
+ export declare const ProjectKnowledgeRefinementProposeRequestMessageSchema: z.ZodObject<{
878
+ type: z.ZodLiteral<"project.knowledge.refinement.propose.request">;
879
+ requestId: z.ZodString;
880
+ workspaceId: z.ZodString;
881
+ content: z.ZodString;
882
+ directives: z.ZodArray<z.ZodObject<{
883
+ id: z.ZodOptional<z.ZodString>;
884
+ kind: z.ZodEnum<{
885
+ replace: "replace";
886
+ refine: "refine";
887
+ }>;
888
+ selectedText: z.ZodOptional<z.ZodString>;
889
+ beforeContext: z.ZodOptional<z.ZodString>;
890
+ afterContext: z.ZodOptional<z.ZodString>;
891
+ anchor: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
892
+ kind: z.ZodLiteral<"text">;
893
+ start: z.ZodNumber;
894
+ end: z.ZodNumber;
895
+ }, z.core.$strip>, z.ZodObject<{
896
+ kind: z.ZodLiteral<"fence">;
897
+ start: z.ZodNumber;
898
+ end: z.ZodNumber;
899
+ language: z.ZodNullable<z.ZodString>;
900
+ }, z.core.$strip>], "kind">>;
901
+ value: z.ZodString;
902
+ }, z.core.$strip>>;
903
+ }, z.core.$strip>;
904
+ export declare const ProjectKnowledgeRefinementProposeResponseMessageSchema: z.ZodObject<{
905
+ type: z.ZodLiteral<"project.knowledge.refinement.propose.response">;
906
+ payload: z.ZodObject<{
907
+ requestId: z.ZodString;
908
+ content: z.ZodNullable<z.ZodString>;
909
+ error: z.ZodOptional<z.ZodString>;
740
910
  }, z.core.$strip>;
741
911
  }, z.core.$strip>;
742
912
  export declare const ProjectKnowledgeDeleteRequestMessageSchema: z.ZodObject<{
@@ -759,10 +929,12 @@ export type ProjectKnowledgeListResponseMessage = z.infer<typeof ProjectKnowledg
759
929
  export type ProjectKnowledgeGetResponseMessage = z.infer<typeof ProjectKnowledgeGetResponseMessageSchema>;
760
930
  export type ProjectKnowledgeCreateResponseMessage = z.infer<typeof ProjectKnowledgeCreateResponseMessageSchema>;
761
931
  export type ProjectKnowledgeApplyResponseMessage = z.infer<typeof ProjectKnowledgeApplyResponseMessageSchema>;
932
+ export type ProjectKnowledgeRefinementProposeResponseMessage = z.infer<typeof ProjectKnowledgeRefinementProposeResponseMessageSchema>;
762
933
  export type ProjectKnowledgeStatusResponseMessage = z.infer<typeof ProjectKnowledgeStatusResponseMessageSchema>;
763
934
  export type ProjectKnowledgeProjectApplyResponseMessage = z.infer<typeof ProjectKnowledgeProjectApplyResponseMessageSchema>;
764
935
  export type ProjectKnowledgeReferenceApplyResponseMessage = z.infer<typeof ProjectKnowledgeReferenceApplyResponseMessageSchema>;
765
936
  export type ProjectKnowledgeRootApplyResponseMessage = z.infer<typeof ProjectKnowledgeRootApplyResponseMessageSchema>;
937
+ export type ProjectKnowledgeRefineApplyResponseMessage = z.infer<typeof ProjectKnowledgeRefineApplyResponseMessageSchema>;
766
938
  export type ProjectKnowledgeDeleteResponseMessage = z.infer<typeof ProjectKnowledgeDeleteResponseMessageSchema>;
767
939
  /** What the daemon resolved for a workspace, and why the client may act on it. */
768
940
  export declare const ProjectKnowledgeStoreDescriptorSchema: z.ZodObject<{
@@ -99,6 +99,8 @@ export const ProjectKnowledgeRootPageSchema = z.object({
99
99
  // on ProjectKnowledgeRecordSchema.
100
100
  absolutePath: z.string().optional(),
101
101
  body: z.string(),
102
+ /** Conditional-write precondition for a reviewed root-page refinement. */
103
+ bodyDigest: z.string().optional(),
102
104
  });
103
105
  export const ProjectKnowledgeListRequestMessageSchema = z.object({
104
106
  type: z.literal("project.knowledge.list.request"),
@@ -157,6 +159,9 @@ export const ProjectKnowledgeApplyRequestMessageSchema = z.object({
157
159
  title: z.string().max(160).optional(),
158
160
  statement: z.string().optional(),
159
161
  evidence: z.string().optional(),
162
+ // COMPAT(projectKnowledgeTagEditing): added in v0.8.21, accepted through
163
+ // 2027-02-27 for clients before tag editing.
164
+ tags: z.array(z.string().max(48)).max(32).optional(),
160
165
  provenanceText: z.string().optional(),
161
166
  provenanceSource: z.string().max(160).optional(),
162
167
  provenanceAffects: z.array(z.string()).optional(),
@@ -232,6 +237,78 @@ export const ProjectKnowledgeRootApplyResponseMessageSchema = z.object({
232
237
  page: ProjectKnowledgeRootPageSchema.nullable(),
233
238
  }),
234
239
  });
240
+ /**
241
+ * A reviewed refinement commits an accepted proposal, not an ordinary edit.
242
+ * Confirmed atomic Knowledge is demoted atomically with its new truth; root
243
+ * pages use a body digest because they have no review state.
244
+ */
245
+ export const ProjectKnowledgeRefineApplyRequestMessageSchema = z.object({
246
+ type: z.literal("project.knowledge.refine.apply.request"),
247
+ requestId: z.string(),
248
+ workspaceId: z.string(),
249
+ target: z.enum(["record", "root"]),
250
+ id: z.string().optional(),
251
+ slug: z.string().optional(),
252
+ statement: z.string().optional(),
253
+ // COMPAT(projectKnowledgeEvidenceRefinement): added in v0.8.18, accepted
254
+ // through 2027-02-27 for clients before multi-field record review.
255
+ evidence: z.string().optional(),
256
+ body: z.string().optional(),
257
+ expectedUpdatedAt: z.string().optional(),
258
+ expectedBodyDigest: z.string().optional(),
259
+ });
260
+ export const ProjectKnowledgeRefineApplyResponseMessageSchema = z.object({
261
+ type: z.literal("project.knowledge.refine.apply.response"),
262
+ payload: z.object({
263
+ requestId: z.string(),
264
+ record: ProjectKnowledgeRecordSchema.nullable(),
265
+ page: ProjectKnowledgeRootPageSchema.nullable(),
266
+ demoted: z.boolean(),
267
+ error: z.string().optional(),
268
+ }),
269
+ });
270
+ /** An exact source span inside an editable Project Knowledge title or body. */
271
+ export const ProjectKnowledgeRefinementAnchorSchema = z.discriminatedUnion("kind", [
272
+ z.object({ kind: z.literal("text"), start: z.number().int(), end: z.number().int() }),
273
+ z.object({
274
+ kind: z.literal("fence"),
275
+ start: z.number().int(),
276
+ end: z.number().int(),
277
+ language: z.string().nullable(),
278
+ }),
279
+ ]);
280
+ /** A temporary source-bound instruction sent to the dedicated Knowledge writer. */
281
+ export const ProjectKnowledgeRefinementDirectiveSchema = z.object({
282
+ id: z.string().optional(),
283
+ kind: z.enum(["replace", "refine"]),
284
+ // COMPAT(projectKnowledgePhraseRefinement): accepted through 2027-02-27 for
285
+ // clients before source-owned review anchors.
286
+ selectedText: z.string().optional(),
287
+ beforeContext: z.string().optional(),
288
+ afterContext: z.string().optional(),
289
+ anchor: ProjectKnowledgeRefinementAnchorSchema.optional(),
290
+ value: z.string(),
291
+ });
292
+ /**
293
+ * Produces one inert Knowledge proposal. Direct replacements have already been
294
+ * applied by the caller; this request carries only the remaining refinement
295
+ * instructions and never writes the store.
296
+ */
297
+ export const ProjectKnowledgeRefinementProposeRequestMessageSchema = z.object({
298
+ type: z.literal("project.knowledge.refinement.propose.request"),
299
+ requestId: z.string(),
300
+ workspaceId: z.string(),
301
+ content: z.string(),
302
+ directives: z.array(ProjectKnowledgeRefinementDirectiveSchema),
303
+ });
304
+ export const ProjectKnowledgeRefinementProposeResponseMessageSchema = z.object({
305
+ type: z.literal("project.knowledge.refinement.propose.response"),
306
+ payload: z.object({
307
+ requestId: z.string(),
308
+ content: z.string().nullable(),
309
+ error: z.string().optional(),
310
+ }),
311
+ });
235
312
  export const ProjectKnowledgeDeleteRequestMessageSchema = z.object({
236
313
  type: z.literal("project.knowledge.delete.request"),
237
314
  requestId: z.string(),
@@ -341,6 +341,39 @@ export declare const ScheduleInspectResponseSchema: z.ZodObject<{
341
341
  failed: "failed";
342
342
  succeeded: "succeeded";
343
343
  }>;
344
+ target: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
345
+ type: z.ZodLiteral<"agent">;
346
+ agentId: z.ZodGUID;
347
+ }, z.core.$strip>, z.ZodObject<{
348
+ type: z.ZodLiteral<"new-agent">;
349
+ config: z.ZodObject<{
350
+ provider: z.ZodString;
351
+ cwd: z.ZodString;
352
+ personality: z.ZodOptional<z.ZodString>;
353
+ agentProfile: z.ZodOptional<z.ZodString>;
354
+ modeId: z.ZodOptional<z.ZodString>;
355
+ model: z.ZodOptional<z.ZodString>;
356
+ thinkingOptionId: z.ZodOptional<z.ZodString>;
357
+ archiveOnFinish: z.ZodOptional<z.ZodBoolean>;
358
+ isolation: z.ZodOptional<z.ZodEnum<{
359
+ worktree: "worktree";
360
+ local: "local";
361
+ }>>;
362
+ title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
363
+ providerOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
364
+ approvalPolicy: z.ZodOptional<z.ZodString>;
365
+ sandboxMode: z.ZodOptional<z.ZodString>;
366
+ networkAccess: z.ZodOptional<z.ZodBoolean>;
367
+ webSearch: z.ZodOptional<z.ZodBoolean>;
368
+ extra: z.ZodOptional<z.ZodObject<{
369
+ codex: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
370
+ claude: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
371
+ }, z.core.$strip>>;
372
+ featureValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
373
+ systemPrompt: z.ZodOptional<z.ZodString>;
374
+ mcpServers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
375
+ }, z.core.$strip>;
376
+ }, z.core.$strip>], "type">>;
344
377
  agentId: z.ZodNullable<z.ZodGUID>;
345
378
  workspaceId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
346
379
  personalityName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
@@ -367,6 +400,39 @@ export declare const ScheduleLogsResponseSchema: z.ZodObject<{
367
400
  failed: "failed";
368
401
  succeeded: "succeeded";
369
402
  }>;
403
+ target: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
404
+ type: z.ZodLiteral<"agent">;
405
+ agentId: z.ZodGUID;
406
+ }, z.core.$strip>, z.ZodObject<{
407
+ type: z.ZodLiteral<"new-agent">;
408
+ config: z.ZodObject<{
409
+ provider: z.ZodString;
410
+ cwd: z.ZodString;
411
+ personality: z.ZodOptional<z.ZodString>;
412
+ agentProfile: z.ZodOptional<z.ZodString>;
413
+ modeId: z.ZodOptional<z.ZodString>;
414
+ model: z.ZodOptional<z.ZodString>;
415
+ thinkingOptionId: z.ZodOptional<z.ZodString>;
416
+ archiveOnFinish: z.ZodOptional<z.ZodBoolean>;
417
+ isolation: z.ZodOptional<z.ZodEnum<{
418
+ worktree: "worktree";
419
+ local: "local";
420
+ }>>;
421
+ title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
422
+ providerOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
423
+ approvalPolicy: z.ZodOptional<z.ZodString>;
424
+ sandboxMode: z.ZodOptional<z.ZodString>;
425
+ networkAccess: z.ZodOptional<z.ZodBoolean>;
426
+ webSearch: z.ZodOptional<z.ZodBoolean>;
427
+ extra: z.ZodOptional<z.ZodObject<{
428
+ codex: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
429
+ claude: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
430
+ }, z.core.$strip>>;
431
+ featureValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
432
+ systemPrompt: z.ZodOptional<z.ZodString>;
433
+ mcpServers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
434
+ }, z.core.$strip>;
435
+ }, z.core.$strip>], "type">>;
370
436
  agentId: z.ZodNullable<z.ZodGUID>;
371
437
  workspaceId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
372
438
  personalityName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
@@ -611,6 +677,39 @@ export declare const ScheduleRunOnceResponseSchema: z.ZodObject<{
611
677
  failed: "failed";
612
678
  succeeded: "succeeded";
613
679
  }>;
680
+ target: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
681
+ type: z.ZodLiteral<"agent">;
682
+ agentId: z.ZodGUID;
683
+ }, z.core.$strip>, z.ZodObject<{
684
+ type: z.ZodLiteral<"new-agent">;
685
+ config: z.ZodObject<{
686
+ provider: z.ZodString;
687
+ cwd: z.ZodString;
688
+ personality: z.ZodOptional<z.ZodString>;
689
+ agentProfile: z.ZodOptional<z.ZodString>;
690
+ modeId: z.ZodOptional<z.ZodString>;
691
+ model: z.ZodOptional<z.ZodString>;
692
+ thinkingOptionId: z.ZodOptional<z.ZodString>;
693
+ archiveOnFinish: z.ZodOptional<z.ZodBoolean>;
694
+ isolation: z.ZodOptional<z.ZodEnum<{
695
+ worktree: "worktree";
696
+ local: "local";
697
+ }>>;
698
+ title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
699
+ providerOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
700
+ approvalPolicy: z.ZodOptional<z.ZodString>;
701
+ sandboxMode: z.ZodOptional<z.ZodString>;
702
+ networkAccess: z.ZodOptional<z.ZodBoolean>;
703
+ webSearch: z.ZodOptional<z.ZodBoolean>;
704
+ extra: z.ZodOptional<z.ZodObject<{
705
+ codex: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
706
+ claude: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
707
+ }, z.core.$strip>>;
708
+ featureValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
709
+ systemPrompt: z.ZodOptional<z.ZodString>;
710
+ mcpServers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
711
+ }, z.core.$strip>;
712
+ }, z.core.$strip>], "type">>;
614
713
  agentId: z.ZodNullable<z.ZodGUID>;
615
714
  workspaceId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
616
715
  personalityName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
@@ -702,6 +801,39 @@ export declare const ScheduleUpdateResponseSchema: z.ZodObject<{
702
801
  failed: "failed";
703
802
  succeeded: "succeeded";
704
803
  }>;
804
+ target: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
805
+ type: z.ZodLiteral<"agent">;
806
+ agentId: z.ZodGUID;
807
+ }, z.core.$strip>, z.ZodObject<{
808
+ type: z.ZodLiteral<"new-agent">;
809
+ config: z.ZodObject<{
810
+ provider: z.ZodString;
811
+ cwd: z.ZodString;
812
+ personality: z.ZodOptional<z.ZodString>;
813
+ agentProfile: z.ZodOptional<z.ZodString>;
814
+ modeId: z.ZodOptional<z.ZodString>;
815
+ model: z.ZodOptional<z.ZodString>;
816
+ thinkingOptionId: z.ZodOptional<z.ZodString>;
817
+ archiveOnFinish: z.ZodOptional<z.ZodBoolean>;
818
+ isolation: z.ZodOptional<z.ZodEnum<{
819
+ worktree: "worktree";
820
+ local: "local";
821
+ }>>;
822
+ title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
823
+ providerOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
824
+ approvalPolicy: z.ZodOptional<z.ZodString>;
825
+ sandboxMode: z.ZodOptional<z.ZodString>;
826
+ networkAccess: z.ZodOptional<z.ZodBoolean>;
827
+ webSearch: z.ZodOptional<z.ZodBoolean>;
828
+ extra: z.ZodOptional<z.ZodObject<{
829
+ codex: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
830
+ claude: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
831
+ }, z.core.$strip>>;
832
+ featureValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
833
+ systemPrompt: z.ZodOptional<z.ZodString>;
834
+ mcpServers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
835
+ }, z.core.$strip>;
836
+ }, z.core.$strip>], "type">>;
705
837
  agentId: z.ZodNullable<z.ZodGUID>;
706
838
  workspaceId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
707
839
  personalityName: z.ZodOptional<z.ZodNullable<z.ZodString>>;