@getpaseo/protocol 0.2.3 → 0.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,13 @@
1
1
  export interface GitRemoteLocation {
2
2
  transport: "scp" | "ssh" | "http" | "https";
3
3
  host: string;
4
+ /**
5
+ * Explicit non-default port from the remote (e.g. a self-hosted forge on
6
+ * `:60443`), or undefined for a default-port or scp-form remote. Kept separate
7
+ * from `host` so host-identity matching (forge detection, cloud-host checks)
8
+ * stays port-agnostic; only consumers that reconstruct a URL (web links) use it.
9
+ */
10
+ port?: string;
4
11
  path: string;
5
12
  }
6
13
  export interface GitHubRemoteIdentity {
@@ -5,6 +5,11 @@ const TRANSPORT_BY_PROTOCOL = {
5
5
  "http:": "http",
6
6
  "ssh:": "ssh",
7
7
  };
8
+ const DEFAULT_PORT_BY_PROTOCOL = {
9
+ "https:": "443",
10
+ "http:": "80",
11
+ "ssh:": "22",
12
+ };
8
13
  export function parseGitHubRemoteUrl(remoteUrl) {
9
14
  const location = parseGitRemoteLocation(remoteUrl);
10
15
  if (!location || !isGitHubHost(location.host))
@@ -27,7 +32,9 @@ export function parseGitRemoteLocation(remoteUrl) {
27
32
  const trimmed = remoteUrl.trim();
28
33
  if (!trimmed)
29
34
  return null;
30
- const scpLike = trimmed.match(/^[^@]+@([^:]+):(.+)$/u);
35
+ // scp form has no scheme. Testing it first would match `ssh://git@host:22/x`
36
+ // — `[^@]+` happily eats `ssh://git` — and swallow the port into the path.
37
+ const scpLike = trimmed.includes("://") ? null : trimmed.match(/^[^@]+@([^:]+):(.+)$/u);
31
38
  if (scpLike) {
32
39
  const host = normalizeHost(scpLike[1] ?? "");
33
40
  const path = normalizeRemotePath(scpLike[2] ?? "");
@@ -56,7 +63,9 @@ export function parseGitRemoteLocation(remoteUrl) {
56
63
  const normalizedPath = normalizeRemotePath(path);
57
64
  if (!isValidRemoteHost(host) || !normalizedPath)
58
65
  return null;
59
- return { transport, host, path: normalizedPath };
66
+ const protocol = parsed.protocol.toLowerCase();
67
+ const port = parsed.port && parsed.port !== DEFAULT_PORT_BY_PROTOCOL[protocol] ? parsed.port : undefined;
68
+ return { transport, host, port, path: normalizedPath };
60
69
  }
61
70
  export function parseGitHubRemoteIdentity(path) {
62
71
  const segments = path.split("/").filter(Boolean);
@@ -821,6 +821,10 @@ export declare const FetchWorkspacesRequestMessageSchema: z.ZodObject<{
821
821
  subscriptionId: z.ZodOptional<z.ZodString>;
822
822
  }, z.core.$strip>>;
823
823
  }, z.core.$strip>;
824
+ export declare const ProjectListRequestMessageSchema: z.ZodObject<{
825
+ type: z.ZodLiteral<"project.list.request">;
826
+ requestId: z.ZodString;
827
+ }, z.core.$strip>;
824
828
  export declare const FetchAgentHistoryRequestMessageSchema: z.ZodObject<{
825
829
  type: z.ZodLiteral<"fetch_agent_history_request">;
826
830
  requestId: z.ZodString;
@@ -3133,6 +3137,9 @@ export declare const SessionInboundMessageSchema: z.ZodDiscriminatedUnion<[z.Zod
3133
3137
  subscribe: z.ZodOptional<z.ZodObject<{
3134
3138
  subscriptionId: z.ZodOptional<z.ZodString>;
3135
3139
  }, z.core.$strip>>;
3140
+ }, z.core.$strip>, z.ZodObject<{
3141
+ type: z.ZodLiteral<"project.list.request">;
3142
+ requestId: z.ZodString;
3136
3143
  }, z.core.$strip>, z.ZodObject<{
3137
3144
  type: z.ZodLiteral<"fetch_agent_request">;
3138
3145
  requestId: z.ZodString;
@@ -4842,6 +4849,7 @@ export declare const ServerInfoStatusPayloadSchema: z.ZodPipe<z.ZodObject<{
4842
4849
  workspaceFileEditing: z.ZodOptional<z.ZodBoolean>;
4843
4850
  providerUsageList: z.ZodOptional<z.ZodBoolean>;
4844
4851
  agentDetach: z.ZodOptional<z.ZodBoolean>;
4852
+ agentThinkingUpdate: z.ZodOptional<z.ZodBoolean>;
4845
4853
  daemonDiagnostics: z.ZodOptional<z.ZodBoolean>;
4846
4854
  daemonSelfUpdate: z.ZodOptional<z.ZodBoolean>;
4847
4855
  agentForkContext: z.ZodOptional<z.ZodBoolean>;
@@ -4852,6 +4860,7 @@ export declare const ServerInfoStatusPayloadSchema: z.ZodPipe<z.ZodObject<{
4852
4860
  projectGithubClone: z.ZodOptional<z.ZodBoolean>;
4853
4861
  workspaceGithubRepositorySearch: z.ZodOptional<z.ZodBoolean>;
4854
4862
  projectCreateDirectory: z.ZodOptional<z.ZodBoolean>;
4863
+ projectList: z.ZodOptional<z.ZodBoolean>;
4855
4864
  commitsList: z.ZodOptional<z.ZodBoolean>;
4856
4865
  commitBaseClassification: z.ZodOptional<z.ZodBoolean>;
4857
4866
  providerRemoval: z.ZodOptional<z.ZodBoolean>;
@@ -4899,6 +4908,7 @@ export declare const ServerInfoStatusPayloadSchema: z.ZodPipe<z.ZodObject<{
4899
4908
  workspaceFileEditing?: boolean | undefined;
4900
4909
  providerUsageList?: boolean | undefined;
4901
4910
  agentDetach?: boolean | undefined;
4911
+ agentThinkingUpdate?: boolean | undefined;
4902
4912
  daemonDiagnostics?: boolean | undefined;
4903
4913
  daemonSelfUpdate?: boolean | undefined;
4904
4914
  agentForkContext?: boolean | undefined;
@@ -4909,6 +4919,7 @@ export declare const ServerInfoStatusPayloadSchema: z.ZodPipe<z.ZodObject<{
4909
4919
  projectGithubClone?: boolean | undefined;
4910
4920
  workspaceGithubRepositorySearch?: boolean | undefined;
4911
4921
  projectCreateDirectory?: boolean | undefined;
4922
+ projectList?: boolean | undefined;
4912
4923
  commitsList?: boolean | undefined;
4913
4924
  commitBaseClassification?: boolean | undefined;
4914
4925
  providerRemoval?: boolean | undefined;
@@ -4957,6 +4968,7 @@ export declare const ServerInfoStatusPayloadSchema: z.ZodPipe<z.ZodObject<{
4957
4968
  workspaceFileEditing?: boolean | undefined;
4958
4969
  providerUsageList?: boolean | undefined;
4959
4970
  agentDetach?: boolean | undefined;
4971
+ agentThinkingUpdate?: boolean | undefined;
4960
4972
  daemonDiagnostics?: boolean | undefined;
4961
4973
  daemonSelfUpdate?: boolean | undefined;
4962
4974
  agentForkContext?: boolean | undefined;
@@ -4967,6 +4979,7 @@ export declare const ServerInfoStatusPayloadSchema: z.ZodPipe<z.ZodObject<{
4967
4979
  projectGithubClone?: boolean | undefined;
4968
4980
  workspaceGithubRepositorySearch?: boolean | undefined;
4969
4981
  projectCreateDirectory?: boolean | undefined;
4982
+ projectList?: boolean | undefined;
4970
4983
  commitsList?: boolean | undefined;
4971
4984
  commitBaseClassification?: boolean | undefined;
4972
4985
  providerRemoval?: boolean | undefined;
@@ -6746,6 +6759,7 @@ export declare const FetchRecentProviderSessionsResponseMessageSchema: z.ZodObje
6746
6759
  }, z.core.$strip>;
6747
6760
  export declare const WorkspaceProjectDescriptorPayloadSchema: z.ZodObject<{
6748
6761
  projectId: z.ZodString;
6762
+ projectKey: z.ZodOptional<z.ZodString>;
6749
6763
  projectDisplayName: z.ZodString;
6750
6764
  projectCustomName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
6751
6765
  projectRootPath: z.ZodString;
@@ -7172,6 +7186,7 @@ export declare const FetchWorkspacesResponseMessageSchema: z.ZodObject<{
7172
7186
  }>>>;
7173
7187
  emptyProjects: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
7174
7188
  projectId: z.ZodString;
7189
+ projectKey: z.ZodOptional<z.ZodString>;
7175
7190
  projectDisplayName: z.ZodString;
7176
7191
  projectCustomName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
7177
7192
  projectRootPath: z.ZodString;
@@ -7607,6 +7622,7 @@ export declare const WorkspaceUpdateMessageSchema: z.ZodObject<{
7607
7622
  id: z.ZodString;
7608
7623
  emptyProject: z.ZodOptional<z.ZodObject<{
7609
7624
  projectId: z.ZodString;
7625
+ projectKey: z.ZodOptional<z.ZodString>;
7610
7626
  projectDisplayName: z.ZodString;
7611
7627
  projectCustomName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
7612
7628
  projectRootPath: z.ZodString;
@@ -7625,6 +7641,7 @@ export declare const ProjectUpdateMessageSchema: z.ZodObject<{
7625
7641
  kind: z.ZodLiteral<"upsert">;
7626
7642
  project: z.ZodObject<{
7627
7643
  projectId: z.ZodString;
7644
+ projectKey: z.ZodOptional<z.ZodString>;
7628
7645
  projectDisplayName: z.ZodString;
7629
7646
  projectCustomName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
7630
7647
  projectRootPath: z.ZodString;
@@ -7639,6 +7656,24 @@ export declare const ProjectUpdateMessageSchema: z.ZodObject<{
7639
7656
  projectId: z.ZodString;
7640
7657
  }, z.core.$strip>], "kind">;
7641
7658
  }, z.core.$strip>;
7659
+ export declare const ProjectListResponseMessageSchema: z.ZodObject<{
7660
+ type: z.ZodLiteral<"project.list.response">;
7661
+ payload: z.ZodObject<{
7662
+ requestId: z.ZodString;
7663
+ projects: z.ZodArray<z.ZodObject<{
7664
+ projectId: z.ZodString;
7665
+ projectKey: z.ZodOptional<z.ZodString>;
7666
+ projectDisplayName: z.ZodString;
7667
+ projectCustomName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
7668
+ projectRootPath: z.ZodString;
7669
+ projectKind: z.ZodEnum<{
7670
+ git: "git";
7671
+ directory: "directory";
7672
+ non_git: "non_git";
7673
+ }>;
7674
+ }, z.core.$strip>>;
7675
+ }, z.core.$strip>;
7676
+ }, z.core.$strip>;
7642
7677
  export declare const ScriptStatusUpdateMessageSchema: z.ZodObject<{
7643
7678
  type: z.ZodLiteral<"script_status_update">;
7644
7679
  payload: z.ZodObject<{
@@ -8188,6 +8223,7 @@ export declare const ProjectAddResponseSchema: z.ZodObject<{
8188
8223
  requestId: z.ZodString;
8189
8224
  project: z.ZodNullable<z.ZodObject<{
8190
8225
  projectId: z.ZodString;
8226
+ projectKey: z.ZodOptional<z.ZodString>;
8191
8227
  projectDisplayName: z.ZodString;
8192
8228
  projectCustomName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
8193
8229
  projectRootPath: z.ZodString;
@@ -8218,6 +8254,7 @@ export declare const ProjectCreateDirectoryResponseSchema: z.ZodObject<{
8218
8254
  directoryPath: z.ZodNullable<z.ZodString>;
8219
8255
  project: z.ZodNullable<z.ZodObject<{
8220
8256
  projectId: z.ZodString;
8257
+ projectKey: z.ZodOptional<z.ZodString>;
8221
8258
  projectDisplayName: z.ZodString;
8222
8259
  projectCustomName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
8223
8260
  projectRootPath: z.ZodString;
@@ -8316,6 +8353,7 @@ export declare const ProjectGithubCloneResponseSchema: z.ZodObject<{
8316
8353
  checkoutPath: z.ZodNullable<z.ZodString>;
8317
8354
  project: z.ZodNullable<z.ZodObject<{
8318
8355
  projectId: z.ZodString;
8356
+ projectKey: z.ZodOptional<z.ZodString>;
8319
8357
  projectDisplayName: z.ZodString;
8320
8358
  projectCustomName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
8321
8359
  projectRootPath: z.ZodString;
@@ -10328,6 +10366,7 @@ export declare const SubscribeCheckoutDiffResponseSchema: z.ZodObject<{
10328
10366
  }>;
10329
10367
  message: z.ZodString;
10330
10368
  }, z.core.$strip>>;
10369
+ diffTooLarge: z.ZodOptional<z.ZodBoolean>;
10331
10370
  requestId: z.ZodString;
10332
10371
  }, z.core.$strip>;
10333
10372
  }, z.core.$strip>;
@@ -10376,6 +10415,7 @@ export declare const CheckoutDiffUpdateSchema: z.ZodObject<{
10376
10415
  }>;
10377
10416
  message: z.ZodString;
10378
10417
  }, z.core.$strip>>;
10418
+ diffTooLarge: z.ZodOptional<z.ZodBoolean>;
10379
10419
  }, z.core.$strip>;
10380
10420
  }, z.core.$strip>;
10381
10421
  export declare const CheckoutCommitResponseSchema: z.ZodObject<{
@@ -13984,6 +14024,7 @@ export declare const SessionOutboundMessageSchema: z.ZodDiscriminatedUnion<[z.Zo
13984
14024
  id: z.ZodString;
13985
14025
  emptyProject: z.ZodOptional<z.ZodObject<{
13986
14026
  projectId: z.ZodString;
14027
+ projectKey: z.ZodOptional<z.ZodString>;
13987
14028
  projectDisplayName: z.ZodString;
13988
14029
  projectCustomName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
13989
14030
  projectRootPath: z.ZodString;
@@ -14001,6 +14042,7 @@ export declare const SessionOutboundMessageSchema: z.ZodDiscriminatedUnion<[z.Zo
14001
14042
  kind: z.ZodLiteral<"upsert">;
14002
14043
  project: z.ZodObject<{
14003
14044
  projectId: z.ZodString;
14045
+ projectKey: z.ZodOptional<z.ZodString>;
14004
14046
  projectDisplayName: z.ZodString;
14005
14047
  projectCustomName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
14006
14048
  projectRootPath: z.ZodString;
@@ -14014,6 +14056,23 @@ export declare const SessionOutboundMessageSchema: z.ZodDiscriminatedUnion<[z.Zo
14014
14056
  kind: z.ZodLiteral<"remove">;
14015
14057
  projectId: z.ZodString;
14016
14058
  }, z.core.$strip>], "kind">;
14059
+ }, z.core.$strip>, z.ZodObject<{
14060
+ type: z.ZodLiteral<"project.list.response">;
14061
+ payload: z.ZodObject<{
14062
+ requestId: z.ZodString;
14063
+ projects: z.ZodArray<z.ZodObject<{
14064
+ projectId: z.ZodString;
14065
+ projectKey: z.ZodOptional<z.ZodString>;
14066
+ projectDisplayName: z.ZodString;
14067
+ projectCustomName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
14068
+ projectRootPath: z.ZodString;
14069
+ projectKind: z.ZodEnum<{
14070
+ git: "git";
14071
+ directory: "directory";
14072
+ non_git: "non_git";
14073
+ }>;
14074
+ }, z.core.$strip>>;
14075
+ }, z.core.$strip>;
14017
14076
  }, z.core.$strip>, z.ZodObject<{
14018
14077
  type: z.ZodLiteral<"script_status_update">;
14019
14078
  payload: z.ZodObject<{
@@ -14979,6 +15038,7 @@ export declare const SessionOutboundMessageSchema: z.ZodDiscriminatedUnion<[z.Zo
14979
15038
  }>>>;
14980
15039
  emptyProjects: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
14981
15040
  projectId: z.ZodString;
15041
+ projectKey: z.ZodOptional<z.ZodString>;
14982
15042
  projectDisplayName: z.ZodString;
14983
15043
  projectCustomName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
14984
15044
  projectRootPath: z.ZodString;
@@ -15000,6 +15060,7 @@ export declare const SessionOutboundMessageSchema: z.ZodDiscriminatedUnion<[z.Zo
15000
15060
  requestId: z.ZodString;
15001
15061
  project: z.ZodNullable<z.ZodObject<{
15002
15062
  projectId: z.ZodString;
15063
+ projectKey: z.ZodOptional<z.ZodString>;
15003
15064
  projectDisplayName: z.ZodString;
15004
15065
  projectCustomName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
15005
15066
  projectRootPath: z.ZodString;
@@ -15021,6 +15082,7 @@ export declare const SessionOutboundMessageSchema: z.ZodDiscriminatedUnion<[z.Zo
15021
15082
  directoryPath: z.ZodNullable<z.ZodString>;
15022
15083
  project: z.ZodNullable<z.ZodObject<{
15023
15084
  projectId: z.ZodString;
15085
+ projectKey: z.ZodOptional<z.ZodString>;
15024
15086
  projectDisplayName: z.ZodString;
15025
15087
  projectCustomName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
15026
15088
  projectRootPath: z.ZodString;
@@ -15536,6 +15598,7 @@ export declare const SessionOutboundMessageSchema: z.ZodDiscriminatedUnion<[z.Zo
15536
15598
  checkoutPath: z.ZodNullable<z.ZodString>;
15537
15599
  project: z.ZodNullable<z.ZodObject<{
15538
15600
  projectId: z.ZodString;
15601
+ projectKey: z.ZodOptional<z.ZodString>;
15539
15602
  projectDisplayName: z.ZodString;
15540
15603
  projectCustomName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
15541
15604
  projectRootPath: z.ZodString;
@@ -17541,6 +17604,7 @@ export declare const SessionOutboundMessageSchema: z.ZodDiscriminatedUnion<[z.Zo
17541
17604
  }>;
17542
17605
  message: z.ZodString;
17543
17606
  }, z.core.$strip>>;
17607
+ diffTooLarge: z.ZodOptional<z.ZodBoolean>;
17544
17608
  requestId: z.ZodString;
17545
17609
  }, z.core.$strip>;
17546
17610
  }, z.core.$strip>, z.ZodObject<{
@@ -17588,6 +17652,7 @@ export declare const SessionOutboundMessageSchema: z.ZodDiscriminatedUnion<[z.Zo
17588
17652
  }>;
17589
17653
  message: z.ZodString;
17590
17654
  }, z.core.$strip>>;
17655
+ diffTooLarge: z.ZodOptional<z.ZodBoolean>;
17591
17656
  }, z.core.$strip>;
17592
17657
  }, z.core.$strip>, z.ZodObject<{
17593
17658
  type: z.ZodLiteral<"checkout_commit_response">;
@@ -20248,6 +20313,7 @@ export type ProjectPlacementPayload = z.infer<typeof ProjectPlacementPayloadSche
20248
20313
  export type WorkspaceStateBucket = z.infer<typeof WorkspaceStateBucketSchema>;
20249
20314
  export type WorkspaceDescriptorPayload = z.infer<typeof WorkspaceDescriptorPayloadSchema>;
20250
20315
  export type WorkspaceProjectDescriptorPayload = z.infer<typeof WorkspaceProjectDescriptorPayloadSchema>;
20316
+ export type ProjectListResponseMessage = z.infer<typeof ProjectListResponseMessageSchema>;
20251
20317
  export type WorkspaceScriptLifecycle = z.infer<typeof WorkspaceScriptLifecycleSchema>;
20252
20318
  export type WorkspaceScriptHealth = z.infer<typeof WorkspaceScriptHealthSchema>;
20253
20319
  export type WorkspaceScriptPayload = z.infer<typeof WorkspaceScriptPayloadSchema>;
@@ -20347,6 +20413,7 @@ export type FetchAgentsRequestMessage = z.infer<typeof FetchAgentsRequestMessage
20347
20413
  export type FetchAgentHistoryRequestMessage = z.infer<typeof FetchAgentHistoryRequestMessageSchema>;
20348
20414
  export type FetchRecentProviderSessionsRequestMessage = z.infer<typeof FetchRecentProviderSessionsRequestMessageSchema>;
20349
20415
  export type FetchWorkspacesRequestMessage = z.infer<typeof FetchWorkspacesRequestMessageSchema>;
20416
+ export type ProjectListRequestMessage = z.infer<typeof ProjectListRequestMessageSchema>;
20350
20417
  export type FetchAgentRequestMessage = z.infer<typeof FetchAgentRequestMessageSchema>;
20351
20418
  export type AgentForkContextRequestMessage = z.infer<typeof AgentForkContextRequestMessageSchema>;
20352
20419
  export type SendAgentMessageRequest = z.infer<typeof SendAgentMessageRequestSchema>;
@@ -20942,6 +21009,9 @@ export declare const WSSessionInboundSchema: z.ZodObject<{
20942
21009
  subscribe: z.ZodOptional<z.ZodObject<{
20943
21010
  subscriptionId: z.ZodOptional<z.ZodString>;
20944
21011
  }, z.core.$strip>>;
21012
+ }, z.core.$strip>, z.ZodObject<{
21013
+ type: z.ZodLiteral<"project.list.request">;
21014
+ requestId: z.ZodString;
20945
21015
  }, z.core.$strip>, z.ZodObject<{
20946
21016
  type: z.ZodLiteral<"fetch_agent_request">;
20947
21017
  requestId: z.ZodString;
@@ -23537,6 +23607,7 @@ export declare const WSSessionOutboundSchema: z.ZodObject<{
23537
23607
  id: z.ZodString;
23538
23608
  emptyProject: z.ZodOptional<z.ZodObject<{
23539
23609
  projectId: z.ZodString;
23610
+ projectKey: z.ZodOptional<z.ZodString>;
23540
23611
  projectDisplayName: z.ZodString;
23541
23612
  projectCustomName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
23542
23613
  projectRootPath: z.ZodString;
@@ -23554,6 +23625,7 @@ export declare const WSSessionOutboundSchema: z.ZodObject<{
23554
23625
  kind: z.ZodLiteral<"upsert">;
23555
23626
  project: z.ZodObject<{
23556
23627
  projectId: z.ZodString;
23628
+ projectKey: z.ZodOptional<z.ZodString>;
23557
23629
  projectDisplayName: z.ZodString;
23558
23630
  projectCustomName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
23559
23631
  projectRootPath: z.ZodString;
@@ -23567,6 +23639,23 @@ export declare const WSSessionOutboundSchema: z.ZodObject<{
23567
23639
  kind: z.ZodLiteral<"remove">;
23568
23640
  projectId: z.ZodString;
23569
23641
  }, z.core.$strip>], "kind">;
23642
+ }, z.core.$strip>, z.ZodObject<{
23643
+ type: z.ZodLiteral<"project.list.response">;
23644
+ payload: z.ZodObject<{
23645
+ requestId: z.ZodString;
23646
+ projects: z.ZodArray<z.ZodObject<{
23647
+ projectId: z.ZodString;
23648
+ projectKey: z.ZodOptional<z.ZodString>;
23649
+ projectDisplayName: z.ZodString;
23650
+ projectCustomName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
23651
+ projectRootPath: z.ZodString;
23652
+ projectKind: z.ZodEnum<{
23653
+ git: "git";
23654
+ directory: "directory";
23655
+ non_git: "non_git";
23656
+ }>;
23657
+ }, z.core.$strip>>;
23658
+ }, z.core.$strip>;
23570
23659
  }, z.core.$strip>, z.ZodObject<{
23571
23660
  type: z.ZodLiteral<"script_status_update">;
23572
23661
  payload: z.ZodObject<{
@@ -24532,6 +24621,7 @@ export declare const WSSessionOutboundSchema: z.ZodObject<{
24532
24621
  }>>>;
24533
24622
  emptyProjects: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
24534
24623
  projectId: z.ZodString;
24624
+ projectKey: z.ZodOptional<z.ZodString>;
24535
24625
  projectDisplayName: z.ZodString;
24536
24626
  projectCustomName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
24537
24627
  projectRootPath: z.ZodString;
@@ -24553,6 +24643,7 @@ export declare const WSSessionOutboundSchema: z.ZodObject<{
24553
24643
  requestId: z.ZodString;
24554
24644
  project: z.ZodNullable<z.ZodObject<{
24555
24645
  projectId: z.ZodString;
24646
+ projectKey: z.ZodOptional<z.ZodString>;
24556
24647
  projectDisplayName: z.ZodString;
24557
24648
  projectCustomName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
24558
24649
  projectRootPath: z.ZodString;
@@ -24574,6 +24665,7 @@ export declare const WSSessionOutboundSchema: z.ZodObject<{
24574
24665
  directoryPath: z.ZodNullable<z.ZodString>;
24575
24666
  project: z.ZodNullable<z.ZodObject<{
24576
24667
  projectId: z.ZodString;
24668
+ projectKey: z.ZodOptional<z.ZodString>;
24577
24669
  projectDisplayName: z.ZodString;
24578
24670
  projectCustomName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
24579
24671
  projectRootPath: z.ZodString;
@@ -25089,6 +25181,7 @@ export declare const WSSessionOutboundSchema: z.ZodObject<{
25089
25181
  checkoutPath: z.ZodNullable<z.ZodString>;
25090
25182
  project: z.ZodNullable<z.ZodObject<{
25091
25183
  projectId: z.ZodString;
25184
+ projectKey: z.ZodOptional<z.ZodString>;
25092
25185
  projectDisplayName: z.ZodString;
25093
25186
  projectCustomName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
25094
25187
  projectRootPath: z.ZodString;
@@ -27094,6 +27187,7 @@ export declare const WSSessionOutboundSchema: z.ZodObject<{
27094
27187
  }>;
27095
27188
  message: z.ZodString;
27096
27189
  }, z.core.$strip>>;
27190
+ diffTooLarge: z.ZodOptional<z.ZodBoolean>;
27097
27191
  requestId: z.ZodString;
27098
27192
  }, z.core.$strip>;
27099
27193
  }, z.core.$strip>, z.ZodObject<{
@@ -27141,6 +27235,7 @@ export declare const WSSessionOutboundSchema: z.ZodObject<{
27141
27235
  }>;
27142
27236
  message: z.ZodString;
27143
27237
  }, z.core.$strip>>;
27238
+ diffTooLarge: z.ZodOptional<z.ZodBoolean>;
27144
27239
  }, z.core.$strip>;
27145
27240
  }, z.core.$strip>, z.ZodObject<{
27146
27241
  type: z.ZodLiteral<"checkout_commit_response">;
@@ -30165,6 +30260,9 @@ export declare const WSInboundMessageSchema: z.ZodDiscriminatedUnion<[z.ZodObjec
30165
30260
  subscribe: z.ZodOptional<z.ZodObject<{
30166
30261
  subscriptionId: z.ZodOptional<z.ZodString>;
30167
30262
  }, z.core.$strip>>;
30263
+ }, z.core.$strip>, z.ZodObject<{
30264
+ type: z.ZodLiteral<"project.list.request">;
30265
+ requestId: z.ZodString;
30168
30266
  }, z.core.$strip>, z.ZodObject<{
30169
30267
  type: z.ZodLiteral<"fetch_agent_request">;
30170
30268
  requestId: z.ZodString;
@@ -32762,6 +32860,7 @@ export declare const WSOutboundMessageSchema: z.ZodDiscriminatedUnion<[z.ZodObje
32762
32860
  id: z.ZodString;
32763
32861
  emptyProject: z.ZodOptional<z.ZodObject<{
32764
32862
  projectId: z.ZodString;
32863
+ projectKey: z.ZodOptional<z.ZodString>;
32765
32864
  projectDisplayName: z.ZodString;
32766
32865
  projectCustomName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
32767
32866
  projectRootPath: z.ZodString;
@@ -32779,6 +32878,7 @@ export declare const WSOutboundMessageSchema: z.ZodDiscriminatedUnion<[z.ZodObje
32779
32878
  kind: z.ZodLiteral<"upsert">;
32780
32879
  project: z.ZodObject<{
32781
32880
  projectId: z.ZodString;
32881
+ projectKey: z.ZodOptional<z.ZodString>;
32782
32882
  projectDisplayName: z.ZodString;
32783
32883
  projectCustomName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
32784
32884
  projectRootPath: z.ZodString;
@@ -32792,6 +32892,23 @@ export declare const WSOutboundMessageSchema: z.ZodDiscriminatedUnion<[z.ZodObje
32792
32892
  kind: z.ZodLiteral<"remove">;
32793
32893
  projectId: z.ZodString;
32794
32894
  }, z.core.$strip>], "kind">;
32895
+ }, z.core.$strip>, z.ZodObject<{
32896
+ type: z.ZodLiteral<"project.list.response">;
32897
+ payload: z.ZodObject<{
32898
+ requestId: z.ZodString;
32899
+ projects: z.ZodArray<z.ZodObject<{
32900
+ projectId: z.ZodString;
32901
+ projectKey: z.ZodOptional<z.ZodString>;
32902
+ projectDisplayName: z.ZodString;
32903
+ projectCustomName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
32904
+ projectRootPath: z.ZodString;
32905
+ projectKind: z.ZodEnum<{
32906
+ git: "git";
32907
+ directory: "directory";
32908
+ non_git: "non_git";
32909
+ }>;
32910
+ }, z.core.$strip>>;
32911
+ }, z.core.$strip>;
32795
32912
  }, z.core.$strip>, z.ZodObject<{
32796
32913
  type: z.ZodLiteral<"script_status_update">;
32797
32914
  payload: z.ZodObject<{
@@ -33757,6 +33874,7 @@ export declare const WSOutboundMessageSchema: z.ZodDiscriminatedUnion<[z.ZodObje
33757
33874
  }>>>;
33758
33875
  emptyProjects: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
33759
33876
  projectId: z.ZodString;
33877
+ projectKey: z.ZodOptional<z.ZodString>;
33760
33878
  projectDisplayName: z.ZodString;
33761
33879
  projectCustomName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
33762
33880
  projectRootPath: z.ZodString;
@@ -33778,6 +33896,7 @@ export declare const WSOutboundMessageSchema: z.ZodDiscriminatedUnion<[z.ZodObje
33778
33896
  requestId: z.ZodString;
33779
33897
  project: z.ZodNullable<z.ZodObject<{
33780
33898
  projectId: z.ZodString;
33899
+ projectKey: z.ZodOptional<z.ZodString>;
33781
33900
  projectDisplayName: z.ZodString;
33782
33901
  projectCustomName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
33783
33902
  projectRootPath: z.ZodString;
@@ -33799,6 +33918,7 @@ export declare const WSOutboundMessageSchema: z.ZodDiscriminatedUnion<[z.ZodObje
33799
33918
  directoryPath: z.ZodNullable<z.ZodString>;
33800
33919
  project: z.ZodNullable<z.ZodObject<{
33801
33920
  projectId: z.ZodString;
33921
+ projectKey: z.ZodOptional<z.ZodString>;
33802
33922
  projectDisplayName: z.ZodString;
33803
33923
  projectCustomName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
33804
33924
  projectRootPath: z.ZodString;
@@ -34314,6 +34434,7 @@ export declare const WSOutboundMessageSchema: z.ZodDiscriminatedUnion<[z.ZodObje
34314
34434
  checkoutPath: z.ZodNullable<z.ZodString>;
34315
34435
  project: z.ZodNullable<z.ZodObject<{
34316
34436
  projectId: z.ZodString;
34437
+ projectKey: z.ZodOptional<z.ZodString>;
34317
34438
  projectDisplayName: z.ZodString;
34318
34439
  projectCustomName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
34319
34440
  projectRootPath: z.ZodString;
@@ -36319,6 +36440,7 @@ export declare const WSOutboundMessageSchema: z.ZodDiscriminatedUnion<[z.ZodObje
36319
36440
  }>;
36320
36441
  message: z.ZodString;
36321
36442
  }, z.core.$strip>>;
36443
+ diffTooLarge: z.ZodOptional<z.ZodBoolean>;
36322
36444
  requestId: z.ZodString;
36323
36445
  }, z.core.$strip>;
36324
36446
  }, z.core.$strip>, z.ZodObject<{
@@ -36366,6 +36488,7 @@ export declare const WSOutboundMessageSchema: z.ZodDiscriminatedUnion<[z.ZodObje
36366
36488
  }>;
36367
36489
  message: z.ZodString;
36368
36490
  }, z.core.$strip>>;
36491
+ diffTooLarge: z.ZodOptional<z.ZodBoolean>;
36369
36492
  }, z.core.$strip>;
36370
36493
  }, z.core.$strip>, z.ZodObject<{
36371
36494
  type: z.ZodLiteral<"checkout_commit_response">;
package/dist/messages.js CHANGED
@@ -869,6 +869,10 @@ export const FetchWorkspacesRequestMessageSchema = z.object({
869
869
  })
870
870
  .optional(),
871
871
  });
872
+ export const ProjectListRequestMessageSchema = z.object({
873
+ type: z.literal("project.list.request"),
874
+ requestId: z.string(),
875
+ });
872
876
  export const FetchAgentHistoryRequestMessageSchema = z.object({
873
877
  type: z.literal("fetch_agent_history_request"),
874
878
  requestId: z.string(),
@@ -2061,6 +2065,7 @@ export const SessionInboundMessageSchema = z.discriminatedUnion("type", [
2061
2065
  FetchAgentHistoryRequestMessageSchema,
2062
2066
  FetchRecentProviderSessionsRequestMessageSchema,
2063
2067
  FetchWorkspacesRequestMessageSchema,
2068
+ ProjectListRequestMessageSchema,
2064
2069
  FetchAgentRequestMessageSchema,
2065
2070
  DeleteAgentRequestMessageSchema,
2066
2071
  ArchiveAgentRequestMessageSchema,
@@ -2387,6 +2392,8 @@ export const ServerInfoStatusPayloadSchema = z
2387
2392
  providerUsageList: z.boolean().optional(),
2388
2393
  // COMPAT(agentDetach): added in v0.1.98, remove gate after 2026-12-19 once daemon floor >= v0.1.98.
2389
2394
  agentDetach: z.boolean().optional(),
2395
+ // COMPAT(agentThinkingUpdate): added in v0.2.4, remove gate after 2027-01-28.
2396
+ agentThinkingUpdate: z.boolean().optional(),
2390
2397
  // COMPAT(daemonDiagnostics): added in v0.1.100, remove gate after 2026-12-25 once daemon floor >= v0.1.100.
2391
2398
  daemonDiagnostics: z.boolean().optional(),
2392
2399
  // COMPAT(daemonSelfUpdate): added in v0.1.93, remove gate after 2026-12-13.
@@ -2407,6 +2414,8 @@ export const ServerInfoStatusPayloadSchema = z
2407
2414
  workspaceGithubRepositorySearch: z.boolean().optional(),
2408
2415
  // COMPAT(projectCreateDirectory): added in v0.1.108, remove gate after 2027-01-15.
2409
2416
  projectCreateDirectory: z.boolean().optional(),
2417
+ // COMPAT(projectList): added in v0.2.4, drop the gate when floor >= v0.2.4.
2418
+ projectList: z.boolean().optional(),
2410
2419
  // COMPAT(commitsList): added in v0.1.110, remove gate after 2027-01-16.
2411
2420
  commitsList: z.boolean().optional(),
2412
2421
  // COMPAT(commitBaseClassification): added in v0.2.0, remove gate after 2027-01-23.
@@ -2787,6 +2796,8 @@ export const FetchRecentProviderSessionsResponseMessageSchema = z.object({
2787
2796
  // workspace is archived.
2788
2797
  export const WorkspaceProjectDescriptorPayloadSchema = z.object({
2789
2798
  projectId: z.string(),
2799
+ // COMPAT(projectKey): added in v0.2.4 on 2026-07-28; remove optional after 2027-01-28.
2800
+ projectKey: z.string().optional(),
2790
2801
  projectDisplayName: z.string(),
2791
2802
  projectCustomName: z.string().nullable().optional(),
2792
2803
  projectRootPath: z.string(),
@@ -2839,6 +2850,13 @@ export const ProjectUpdateMessageSchema = z.object({
2839
2850
  z.object({ kind: z.literal("remove"), projectId: z.string() }),
2840
2851
  ]),
2841
2852
  });
2853
+ export const ProjectListResponseMessageSchema = z.object({
2854
+ type: z.literal("project.list.response"),
2855
+ payload: z.object({
2856
+ requestId: z.string(),
2857
+ projects: z.array(WorkspaceProjectDescriptorPayloadSchema),
2858
+ }),
2859
+ });
2842
2860
  export const ScriptStatusUpdateMessageSchema = z.object({
2843
2861
  type: z.literal("script_status_update"),
2844
2862
  payload: z.object({
@@ -3589,6 +3607,8 @@ const CheckoutDiffSubscriptionPayloadSchema = z.object({
3589
3607
  cwd: z.string(),
3590
3608
  files: z.array(ParsedDiffFileSchema),
3591
3609
  error: CheckoutErrorSchema.nullable(),
3610
+ // COMPAT(diffTooLarge): added in v0.2.4, keep optional until the daemon floor is v0.2.4.
3611
+ diffTooLarge: z.boolean().optional(),
3592
3612
  });
3593
3613
  export const SubscribeCheckoutDiffResponseSchema = z.object({
3594
3614
  type: z.literal("subscribe_checkout_diff_response"),
@@ -4525,6 +4545,7 @@ export const SessionOutboundMessageSchema = z.discriminatedUnion("type", [
4525
4545
  AgentUpdateMessageSchema,
4526
4546
  WorkspaceUpdateMessageSchema,
4527
4547
  ProjectUpdateMessageSchema,
4548
+ ProjectListResponseMessageSchema,
4528
4549
  ScriptStatusUpdateMessageSchema,
4529
4550
  WorkspaceSetupProgressMessageSchema,
4530
4551
  WorkspaceSetupStatusResponseMessageSchema,
@@ -1060,6 +1060,7 @@ export declare const WSOutboundMessageSchema: {
1060
1060
  id: import("zod").ZodString;
1061
1061
  emptyProject: import("zod").ZodOptional<import("zod").ZodObject<{
1062
1062
  projectId: import("zod").ZodString;
1063
+ projectKey: import("zod").ZodOptional<import("zod").ZodString>;
1063
1064
  projectDisplayName: import("zod").ZodString;
1064
1065
  projectCustomName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
1065
1066
  projectRootPath: import("zod").ZodString;
@@ -1077,6 +1078,7 @@ export declare const WSOutboundMessageSchema: {
1077
1078
  kind: import("zod").ZodLiteral<"upsert">;
1078
1079
  project: import("zod").ZodObject<{
1079
1080
  projectId: import("zod").ZodString;
1081
+ projectKey: import("zod").ZodOptional<import("zod").ZodString>;
1080
1082
  projectDisplayName: import("zod").ZodString;
1081
1083
  projectCustomName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
1082
1084
  projectRootPath: import("zod").ZodString;
@@ -1090,6 +1092,23 @@ export declare const WSOutboundMessageSchema: {
1090
1092
  kind: import("zod").ZodLiteral<"remove">;
1091
1093
  projectId: import("zod").ZodString;
1092
1094
  }, import("zod/v4/core").$strip>], "kind">;
1095
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
1096
+ type: import("zod").ZodLiteral<"project.list.response">;
1097
+ payload: import("zod").ZodObject<{
1098
+ requestId: import("zod").ZodString;
1099
+ projects: import("zod").ZodArray<import("zod").ZodObject<{
1100
+ projectId: import("zod").ZodString;
1101
+ projectKey: import("zod").ZodOptional<import("zod").ZodString>;
1102
+ projectDisplayName: import("zod").ZodString;
1103
+ projectCustomName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
1104
+ projectRootPath: import("zod").ZodString;
1105
+ projectKind: import("zod").ZodEnum<{
1106
+ git: "git";
1107
+ directory: "directory";
1108
+ non_git: "non_git";
1109
+ }>;
1110
+ }, import("zod/v4/core").$strip>>;
1111
+ }, import("zod/v4/core").$strip>;
1093
1112
  }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
1094
1113
  type: import("zod").ZodLiteral<"script_status_update">;
1095
1114
  payload: import("zod").ZodObject<{
@@ -2055,6 +2074,7 @@ export declare const WSOutboundMessageSchema: {
2055
2074
  }>>>;
2056
2075
  emptyProjects: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
2057
2076
  projectId: import("zod").ZodString;
2077
+ projectKey: import("zod").ZodOptional<import("zod").ZodString>;
2058
2078
  projectDisplayName: import("zod").ZodString;
2059
2079
  projectCustomName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
2060
2080
  projectRootPath: import("zod").ZodString;
@@ -2076,6 +2096,7 @@ export declare const WSOutboundMessageSchema: {
2076
2096
  requestId: import("zod").ZodString;
2077
2097
  project: import("zod").ZodNullable<import("zod").ZodObject<{
2078
2098
  projectId: import("zod").ZodString;
2099
+ projectKey: import("zod").ZodOptional<import("zod").ZodString>;
2079
2100
  projectDisplayName: import("zod").ZodString;
2080
2101
  projectCustomName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
2081
2102
  projectRootPath: import("zod").ZodString;
@@ -2097,6 +2118,7 @@ export declare const WSOutboundMessageSchema: {
2097
2118
  directoryPath: import("zod").ZodNullable<import("zod").ZodString>;
2098
2119
  project: import("zod").ZodNullable<import("zod").ZodObject<{
2099
2120
  projectId: import("zod").ZodString;
2121
+ projectKey: import("zod").ZodOptional<import("zod").ZodString>;
2100
2122
  projectDisplayName: import("zod").ZodString;
2101
2123
  projectCustomName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
2102
2124
  projectRootPath: import("zod").ZodString;
@@ -2612,6 +2634,7 @@ export declare const WSOutboundMessageSchema: {
2612
2634
  checkoutPath: import("zod").ZodNullable<import("zod").ZodString>;
2613
2635
  project: import("zod").ZodNullable<import("zod").ZodObject<{
2614
2636
  projectId: import("zod").ZodString;
2637
+ projectKey: import("zod").ZodOptional<import("zod").ZodString>;
2615
2638
  projectDisplayName: import("zod").ZodString;
2616
2639
  projectCustomName: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
2617
2640
  projectRootPath: import("zod").ZodString;
@@ -4617,6 +4640,7 @@ export declare const WSOutboundMessageSchema: {
4617
4640
  }>;
4618
4641
  message: import("zod").ZodString;
4619
4642
  }, import("zod/v4/core").$strip>>;
4643
+ diffTooLarge: import("zod").ZodOptional<import("zod").ZodBoolean>;
4620
4644
  requestId: import("zod").ZodString;
4621
4645
  }, import("zod/v4/core").$strip>;
4622
4646
  }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
@@ -4664,6 +4688,7 @@ export declare const WSOutboundMessageSchema: {
4664
4688
  }>;
4665
4689
  message: import("zod").ZodString;
4666
4690
  }, import("zod/v4/core").$strip>>;
4691
+ diffTooLarge: import("zod").ZodOptional<import("zod").ZodBoolean>;
4667
4692
  }, import("zod/v4/core").$strip>;
4668
4693
  }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
4669
4694
  type: import("zod").ZodLiteral<"checkout_commit_response">;