@getpaseo/protocol 0.1.92 → 0.1.94

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
@@ -38,6 +38,15 @@ const MutableMetadataGenerationConfigSchema = z
38
38
  providers: z.array(MutableStructuredGenerationProviderSchema).default([]),
39
39
  })
40
40
  .passthrough();
41
+ export const TerminalProfileSchema = z
42
+ .object({
43
+ id: z.string(),
44
+ name: z.string(),
45
+ command: z.string(),
46
+ args: z.array(z.string()).optional(),
47
+ icon: z.string().optional(),
48
+ })
49
+ .passthrough();
41
50
  export const MutableDaemonConfigSchema = z
42
51
  .object({
43
52
  mcp: z
@@ -49,6 +58,7 @@ export const MutableDaemonConfigSchema = z
49
58
  metadataGeneration: MutableMetadataGenerationConfigSchema.default({ providers: [] }),
50
59
  autoArchiveAfterMerge: z.boolean().default(false),
51
60
  appendSystemPrompt: z.string().default(""),
61
+ terminalProfiles: z.array(TerminalProfileSchema).optional(),
52
62
  })
53
63
  .passthrough();
54
64
  export const MutableDaemonConfigPatchSchema = z
@@ -60,6 +70,7 @@ export const MutableDaemonConfigPatchSchema = z
60
70
  metadataGeneration: MutableMetadataGenerationConfigSchema.partial().optional(),
61
71
  autoArchiveAfterMerge: z.boolean().optional(),
62
72
  appendSystemPrompt: z.string().optional(),
73
+ terminalProfiles: z.array(TerminalProfileSchema).optional(),
63
74
  })
64
75
  .partial()
65
76
  .passthrough();
@@ -131,9 +142,11 @@ export const ProviderSnapshotEntrySchema = z.object({
131
142
  description: z.string().optional(),
132
143
  defaultModeId: z.string().nullable().optional(),
133
144
  });
134
- const AgentCapabilityFlagsSchema = z.object({
145
+ const AgentCapabilityFlagsSchema = z
146
+ .object({
135
147
  supportsStreaming: z.boolean(),
136
148
  supportsSessionPersistence: z.boolean(),
149
+ supportsSessionListing: z.boolean().optional(),
137
150
  supportsDynamicModes: z.boolean(),
138
151
  supportsMcpServers: z.boolean(),
139
152
  supportsReasoningStream: z.boolean(),
@@ -144,7 +157,8 @@ const AgentCapabilityFlagsSchema = z.object({
144
157
  supportsRewindFiles: z.boolean().optional().default(false),
145
158
  // COMPAT(rewind): added in v0.1.X, drop when floor >= v0.1.X.
146
159
  supportsRewindBoth: z.boolean().optional().default(false),
147
- });
160
+ })
161
+ .catchall(z.boolean());
148
162
  const AgentUsageSchema = z.object({
149
163
  inputTokens: z.number().optional(),
150
164
  cachedInputTokens: z.number().optional(),
@@ -1179,6 +1193,16 @@ export const CheckoutGithubSetAutoMergeRequestSchema = z.object({
1179
1193
  mergeMethod: z.enum(["merge", "squash", "rebase"]).optional(),
1180
1194
  requestId: z.string(),
1181
1195
  });
1196
+ const GitHubRepoSegmentSchema = z.string().regex(/^[A-Za-z0-9._-]+$/);
1197
+ export const CheckoutGithubGetCheckDetailsRequestSchema = z.object({
1198
+ type: z.literal("checkout.github.get_check_details.request"),
1199
+ cwd: z.string(),
1200
+ repoOwner: GitHubRepoSegmentSchema,
1201
+ repoName: GitHubRepoSegmentSchema,
1202
+ checkRunId: z.number().int().positive(),
1203
+ workflowRunId: z.number().int().positive().optional(),
1204
+ requestId: z.string(),
1205
+ });
1182
1206
  export const CheckoutPrStatusRequestSchema = z.object({
1183
1207
  type: z.literal("checkout_pr_status_request"),
1184
1208
  cwd: z.string(),
@@ -1594,6 +1618,7 @@ export const SessionInboundMessageSchema = z.discriminatedUnion("type", [
1594
1618
  CheckoutPrCreateRequestSchema,
1595
1619
  CheckoutPrMergeRequestSchema,
1596
1620
  CheckoutGithubSetAutoMergeRequestSchema,
1621
+ CheckoutGithubGetCheckDetailsRequestSchema,
1597
1622
  CheckoutPrStatusRequestSchema,
1598
1623
  PullRequestTimelineRequestSchema,
1599
1624
  CheckoutSwitchBranchRequestSchema,
@@ -1800,6 +1825,8 @@ export const ServerInfoStatusPayloadSchema = z
1800
1825
  .object({
1801
1826
  providersSnapshot: z.boolean().optional(),
1802
1827
  checkoutGithubSetAutoMerge: z.boolean().optional(),
1828
+ // COMPAT(githubCheckDetails): added in v0.1.92, remove gate after 2026-12-08.
1829
+ githubCheckDetails: z.boolean().optional(),
1803
1830
  // COMPAT(daemonStatusRpc): added in v0.1.76, remove gate after 2026-11-18.
1804
1831
  daemonStatusRpc: z.boolean().optional(),
1805
1832
  // COMPAT(terminalRestoreModes): added in v0.1.81, remove gate after 2026-11-23.
@@ -2607,6 +2634,8 @@ export const CheckoutPrStatusSchema = z.object({
2607
2634
  url: z.string().nullable(),
2608
2635
  workflow: z.string().optional(),
2609
2636
  duration: z.string().optional(),
2637
+ checkRunId: z.number().optional(),
2638
+ workflowRunId: z.number().optional(),
2610
2639
  }))
2611
2640
  .optional()
2612
2641
  .default([]),
@@ -2735,6 +2764,54 @@ export const CheckoutGithubSetAutoMergeResponseSchema = z.object({
2735
2764
  requestId: z.string(),
2736
2765
  }),
2737
2766
  });
2767
+ const CheckoutGithubCheckAnnotationSchema = z.object({
2768
+ path: z.string().optional(),
2769
+ startLine: z.number().optional(),
2770
+ endLine: z.number().optional(),
2771
+ annotationLevel: z.string().optional(),
2772
+ message: z.string().optional(),
2773
+ title: z.string().optional(),
2774
+ rawDetails: z.string().optional(),
2775
+ });
2776
+ const CheckoutGithubCheckJobSchema = z.object({
2777
+ jobId: z.number(),
2778
+ name: z.string(),
2779
+ status: z.string().nullable().optional(),
2780
+ conclusion: z.string().nullable().optional(),
2781
+ url: z.string().nullable().optional(),
2782
+ logTail: z.string().optional(),
2783
+ logTruncated: z.boolean().optional(),
2784
+ });
2785
+ export const CheckoutGithubCheckDetailsSchema = z.object({
2786
+ checkRunId: z.number(),
2787
+ workflowRunId: z.number().nullable().optional(),
2788
+ name: z.string(),
2789
+ status: z.string().nullable().optional(),
2790
+ conclusion: z.string().nullable().optional(),
2791
+ url: z.string().nullable().optional(),
2792
+ detailsUrl: z.string().nullable().optional(),
2793
+ output: z
2794
+ .object({
2795
+ title: z.string().nullable().optional(),
2796
+ summary: z.string().nullable().optional(),
2797
+ text: z.string().nullable().optional(),
2798
+ })
2799
+ .nullable()
2800
+ .optional(),
2801
+ annotations: z.array(CheckoutGithubCheckAnnotationSchema).optional().default([]),
2802
+ failedJobs: z.array(CheckoutGithubCheckJobSchema).optional().default([]),
2803
+ truncated: z.boolean().optional().default(false),
2804
+ });
2805
+ export const CheckoutGithubGetCheckDetailsResponseSchema = z.object({
2806
+ type: z.literal("checkout.github.get_check_details.response"),
2807
+ payload: z.object({
2808
+ cwd: z.string(),
2809
+ success: z.boolean(),
2810
+ details: CheckoutGithubCheckDetailsSchema.nullable().optional().default(null),
2811
+ error: CheckoutErrorSchema.nullable(),
2812
+ requestId: z.string(),
2813
+ }),
2814
+ });
2738
2815
  export const CheckoutPrStatusResponseSchema = z.object({
2739
2816
  type: z.literal("checkout_pr_status_response"),
2740
2817
  payload: CheckoutPrStatusPayloadSchema,
@@ -2767,6 +2844,8 @@ const PullRequestTimelineReviewItemSchema = z.object({
2767
2844
  id: z.string().optional().default(""),
2768
2845
  kind: z.literal("review"),
2769
2846
  author: z.string().optional().default("unknown"),
2847
+ authorUrl: z.string().nullable().optional(),
2848
+ avatarUrl: z.string().nullable().optional(),
2770
2849
  body: z.string().optional().default(""),
2771
2850
  createdAt: z.number().optional().default(0),
2772
2851
  url: z.string().optional().default(""),
@@ -2779,9 +2858,25 @@ const PullRequestTimelineCommentItemSchema = z.object({
2779
2858
  id: z.string().optional().default(""),
2780
2859
  kind: z.literal("comment"),
2781
2860
  author: z.string().optional().default("unknown"),
2861
+ authorUrl: z.string().nullable().optional(),
2862
+ avatarUrl: z.string().nullable().optional(),
2782
2863
  body: z.string().optional().default(""),
2783
2864
  createdAt: z.number().optional().default(0),
2784
2865
  url: z.string().optional().default(""),
2866
+ // GitHub review id this inline comment belongs to; lets clients nest review
2867
+ // threads under their parent review. Absent on issue comments and on
2868
+ // timelines from daemons that predate the field.
2869
+ reviewId: z.string().optional(),
2870
+ location: z
2871
+ .object({
2872
+ path: z.string(),
2873
+ line: z.number().optional(),
2874
+ startLine: z.number().optional(),
2875
+ threadId: z.string().optional(),
2876
+ isResolved: z.boolean().optional(),
2877
+ isOutdated: z.boolean().optional(),
2878
+ })
2879
+ .optional(),
2785
2880
  });
2786
2881
  export const PullRequestTimelineItemSchema = z.preprocess((value) => {
2787
2882
  if (!value || typeof value !== "object" || Array.isArray(value)) {
@@ -3273,6 +3368,7 @@ export const SessionOutboundMessageSchema = z.discriminatedUnion("type", [
3273
3368
  CheckoutPrCreateResponseSchema,
3274
3369
  CheckoutPrMergeResponseSchema,
3275
3370
  CheckoutGithubSetAutoMergeResponseSchema,
3371
+ CheckoutGithubGetCheckDetailsResponseSchema,
3276
3372
  CheckoutPrStatusResponseSchema,
3277
3373
  PullRequestTimelineResponseSchema,
3278
3374
  CheckoutSwitchBranchResponseSchema,
@@ -0,0 +1,5 @@
1
+ export declare const BUILTIN_PROVIDER_ICON_NAMES: string[];
2
+ export declare const ACP_PROVIDER_ICON_NAMES: string[];
3
+ export declare const TERMINAL_PROFILE_ICON_NAMES: string[];
4
+ export declare const KNOWN_PROVIDER_ICON_NAMES: string[];
5
+ //# sourceMappingURL=provider-icon-names.d.ts.map
@@ -0,0 +1,50 @@
1
+ export const BUILTIN_PROVIDER_ICON_NAMES = [
2
+ "claude",
3
+ "codex",
4
+ "copilot",
5
+ "kiro",
6
+ "omp",
7
+ "opencode",
8
+ "pi",
9
+ ];
10
+ export const ACP_PROVIDER_ICON_NAMES = [
11
+ "agoragentic-acp",
12
+ "amp-acp",
13
+ "auggie",
14
+ "autohand",
15
+ "cline",
16
+ "codebuddy-code",
17
+ "codewhale",
18
+ "cortex-code",
19
+ "corust-agent",
20
+ "crow-cli",
21
+ "cursor",
22
+ "deepagents",
23
+ "dimcode",
24
+ "dirac",
25
+ "factory-droid",
26
+ "fast-agent",
27
+ "gemini",
28
+ "glm-acp-agent",
29
+ "goose",
30
+ "grok",
31
+ "junie",
32
+ "kilo",
33
+ "kimi",
34
+ "minion-code",
35
+ "mistral-vibe",
36
+ "nova",
37
+ "poolside",
38
+ "qoder",
39
+ "qwen-code",
40
+ "sigit",
41
+ "stakpak",
42
+ "vtcode",
43
+ ];
44
+ export const TERMINAL_PROFILE_ICON_NAMES = ["agy"];
45
+ export const KNOWN_PROVIDER_ICON_NAMES = [
46
+ ...BUILTIN_PROVIDER_ICON_NAMES,
47
+ ...ACP_PROVIDER_ICON_NAMES,
48
+ ...TERMINAL_PROFILE_ICON_NAMES,
49
+ ];
50
+ //# sourceMappingURL=provider-icon-names.js.map
@@ -0,0 +1,6 @@
1
+ import type { TerminalProfile } from "./messages.js";
2
+ export declare const DEFAULT_TERMINAL_PROFILES: readonly TerminalProfile[];
3
+ export declare function guessTerminalProfileIcon(command: string): string | undefined;
4
+ export declare function getTerminalProfileIcon(profile: TerminalProfile): string | undefined;
5
+ export declare function resolveTerminalProfiles(terminalProfiles: TerminalProfile[] | undefined): readonly TerminalProfile[];
6
+ //# sourceMappingURL=terminal-profiles.d.ts.map
@@ -0,0 +1,28 @@
1
+ import { KNOWN_PROVIDER_ICON_NAMES } from "./provider-icon-names.js";
2
+ export const DEFAULT_TERMINAL_PROFILES = [
3
+ { id: "claude", name: "Claude Code", command: "claude", icon: "claude" },
4
+ { id: "codex", name: "Codex", command: "codex", icon: "codex" },
5
+ { id: "opencode", name: "OpenCode", command: "opencode", icon: "opencode" },
6
+ ];
7
+ const WELL_KNOWN_COMMAND_ICONS = new Map(KNOWN_PROVIDER_ICON_NAMES.map((name) => [name, name]));
8
+ function getCommandBaseName(command) {
9
+ const lastSlash = command.lastIndexOf("/");
10
+ const lastBackslash = command.lastIndexOf("\\");
11
+ const start = Math.max(lastSlash, lastBackslash) + 1;
12
+ const base = command.slice(start).toLowerCase();
13
+ const dotIndex = base.indexOf(".");
14
+ return dotIndex > 0 ? base.slice(0, dotIndex) : base;
15
+ }
16
+ export function guessTerminalProfileIcon(command) {
17
+ return WELL_KNOWN_COMMAND_ICONS.get(getCommandBaseName(command));
18
+ }
19
+ export function getTerminalProfileIcon(profile) {
20
+ return profile.icon ?? guessTerminalProfileIcon(profile.command);
21
+ }
22
+ export function resolveTerminalProfiles(terminalProfiles) {
23
+ if (terminalProfiles === undefined) {
24
+ return DEFAULT_TERMINAL_PROFILES;
25
+ }
26
+ return terminalProfiles;
27
+ }
28
+ //# sourceMappingURL=terminal-profiles.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@getpaseo/protocol",
3
- "version": "0.1.92",
3
+ "version": "0.1.94",
4
4
  "description": "Paseo shared protocol schemas and wire types",
5
5
  "files": [
6
6
  "dist",