@mduan/paseo-cli 0.11.0-fork.34 → 0.11.0-fork.35
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/node_modules/@getpaseo/client/package.json +3 -3
- package/node_modules/@getpaseo/highlight/package.json +1 -1
- package/node_modules/@getpaseo/plugin/package.json +3 -3
- package/node_modules/@getpaseo/protocol/dist/generated/validation/ws-outbound.aot.js +190 -0
- package/node_modules/@getpaseo/protocol/dist/messages.d.ts +381 -0
- package/node_modules/@getpaseo/protocol/dist/messages.js +9 -0
- package/node_modules/@getpaseo/protocol/dist/validation/ws-outbound-schema-metadata.d.ts +90 -0
- package/node_modules/@getpaseo/protocol/package.json +1 -1
- package/node_modules/@getpaseo/relay/package.json +1 -1
- package/node_modules/@getpaseo/server/dist/server/builtin-plugins/package.json +1 -1
- package/node_modules/@getpaseo/server/dist/server/server/bootstrap.js +7 -0
- package/node_modules/@getpaseo/server/dist/server/server/session.d.ts +7 -0
- package/node_modules/@getpaseo/server/dist/server/server/session.js +37 -0
- package/node_modules/@getpaseo/server/dist/server/server/websocket-server.js +2 -0
- package/node_modules/@getpaseo/server/dist/server/server/workspace-git-service.d.ts +8 -2
- package/node_modules/@getpaseo/server/dist/server/server/workspace-git-service.js +55 -14
- package/node_modules/@getpaseo/server/dist/server/server/workspace-reconciliation-service.js +6 -2
- package/node_modules/@getpaseo/server/dist/server/server/workspace-registry.d.ts +2 -0
- package/node_modules/@getpaseo/server/dist/server/server/workspace-registry.js +4 -0
- package/node_modules/@getpaseo/server/dist/server/server/workspace-response-recorder.d.ts +13 -0
- package/node_modules/@getpaseo/server/dist/server/server/workspace-response-recorder.js +21 -0
- package/node_modules/@getpaseo/server/dist/server/utils/git-process-scheduler.d.ts +5 -3
- package/node_modules/@getpaseo/server/dist/server/utils/git-process-scheduler.js +26 -23
- package/node_modules/@getpaseo/server/dist/server/utils/run-git-command.d.ts +6 -1
- package/node_modules/@getpaseo/server/dist/server/utils/run-git-command.js +12 -9
- package/node_modules/@getpaseo/server/dist/server/web-ui/_expo/static/js/web/{desktop-attachment-bridge-ffe0cd60080175f6fb2dec3200390aec.js → desktop-attachment-bridge-e52f9cb2de89e698c51c18241d12cb99.js} +1 -1
- package/node_modules/@getpaseo/server/dist/server/web-ui/_expo/static/js/web/{desktop-attachment-bridge-ffe0cd60080175f6fb2dec3200390aec.js.br → desktop-attachment-bridge-e52f9cb2de89e698c51c18241d12cb99.js.br} +0 -0
- package/node_modules/@getpaseo/server/dist/server/web-ui/_expo/static/js/web/desktop-attachment-bridge-e52f9cb2de89e698c51c18241d12cb99.js.gz +0 -0
- package/node_modules/@getpaseo/server/dist/server/web-ui/_expo/static/js/web/{desktop-attachment-store-4d76abbc28cb391667944e7e96595e46.js → desktop-attachment-store-8cb998792f7a176d7612229dafb2c2d3.js} +1 -1
- package/node_modules/@getpaseo/server/dist/server/web-ui/_expo/static/js/web/{desktop-attachment-store-4d76abbc28cb391667944e7e96595e46.js.br → desktop-attachment-store-8cb998792f7a176d7612229dafb2c2d3.js.br} +0 -0
- package/node_modules/@getpaseo/server/dist/server/web-ui/_expo/static/js/web/desktop-attachment-store-8cb998792f7a176d7612229dafb2c2d3.js.gz +0 -0
- package/node_modules/@getpaseo/server/dist/server/web-ui/_expo/static/js/web/{index-52db3c28898b127e24f9b06f05f60336.js → index-c5f0ae884c9004e9301096d186baee98.js} +963 -961
- package/node_modules/@getpaseo/server/dist/server/web-ui/_expo/static/js/web/index-c5f0ae884c9004e9301096d186baee98.js.br +0 -0
- package/node_modules/@getpaseo/server/dist/server/web-ui/_expo/static/js/web/{index-52db3c28898b127e24f9b06f05f60336.js.gz → index-c5f0ae884c9004e9301096d186baee98.js.gz} +0 -0
- package/node_modules/@getpaseo/server/dist/server/web-ui/_expo/static/js/web/{indexeddb-attachment-store-9b53f73c1bb6949c2c9ef911ef57ab87.js → indexeddb-attachment-store-cf65163fc7d8cd4c646c36e83771e937.js} +1 -1
- package/node_modules/@getpaseo/server/dist/server/web-ui/_expo/static/js/web/indexeddb-attachment-store-cf65163fc7d8cd4c646c36e83771e937.js.br +0 -0
- package/node_modules/@getpaseo/server/dist/server/web-ui/_expo/static/js/web/{indexeddb-attachment-store-9b53f73c1bb6949c2c9ef911ef57ab87.js.gz → indexeddb-attachment-store-cf65163fc7d8cd4c646c36e83771e937.js.gz} +0 -0
- package/node_modules/@getpaseo/server/dist/server/web-ui/_expo/static/js/web/{native-file-attachment-store-ccf24f3ad53e8871f63d8e9c5417c2d7.js → native-file-attachment-store-da2a50627d6e788990a7f324838c24d2.js} +3 -3
- package/node_modules/@getpaseo/server/dist/server/web-ui/_expo/static/js/web/native-file-attachment-store-da2a50627d6e788990a7f324838c24d2.js.br +0 -0
- package/node_modules/@getpaseo/server/dist/server/web-ui/_expo/static/js/web/native-file-attachment-store-da2a50627d6e788990a7f324838c24d2.js.gz +0 -0
- package/node_modules/@getpaseo/server/dist/server/web-ui/index.html +1 -1
- package/node_modules/@getpaseo/server/dist/server/web-ui/index.html.br +0 -0
- package/node_modules/@getpaseo/server/dist/server/web-ui/index.html.gz +0 -0
- package/node_modules/@getpaseo/server/package.json +6 -6
- package/package.json +7 -7
- package/node_modules/@getpaseo/server/dist/server/web-ui/_expo/static/js/web/desktop-attachment-bridge-ffe0cd60080175f6fb2dec3200390aec.js.gz +0 -0
- package/node_modules/@getpaseo/server/dist/server/web-ui/_expo/static/js/web/desktop-attachment-store-4d76abbc28cb391667944e7e96595e46.js.gz +0 -0
- package/node_modules/@getpaseo/server/dist/server/web-ui/_expo/static/js/web/index-52db3c28898b127e24f9b06f05f60336.js.br +0 -0
- package/node_modules/@getpaseo/server/dist/server/web-ui/_expo/static/js/web/indexeddb-attachment-store-9b53f73c1bb6949c2c9ef911ef57ab87.js.br +0 -0
- package/node_modules/@getpaseo/server/dist/server/web-ui/_expo/static/js/web/native-file-attachment-store-ccf24f3ad53e8871f63d8e9c5417c2d7.js.br +0 -0
- package/node_modules/@getpaseo/server/dist/server/web-ui/_expo/static/js/web/native-file-attachment-store-ccf24f3ad53e8871f63d8e9c5417c2d7.js.gz +0 -0
|
@@ -3322,6 +3322,8 @@ export const ServerInfoStatusPayloadSchema = z
|
|
|
3322
3322
|
workspaceLinearIssues: z.boolean().optional(),
|
|
3323
3323
|
// COMPAT(workspaceMetadataRefresh): added in v0.11.0-fork.30, remove gate after 2027-04-21.
|
|
3324
3324
|
workspaceMetadataRefresh: z.boolean().optional(),
|
|
3325
|
+
// COMPAT(workspaceSortTimes): added in v0.11.0-fork.35, remove gate after 2027-05-11.
|
|
3326
|
+
workspaceSortTimes: z.boolean().optional(),
|
|
3325
3327
|
// COMPAT(linearIntegration): added in v0.11.0-fork.28, remove gate after 2027-04-21.
|
|
3326
3328
|
linearIntegration: z.boolean().optional(),
|
|
3327
3329
|
// COMPAT(workspaceSetupRun): added in v0.8.0, remove gate after 2027-09-02.
|
|
@@ -3804,6 +3806,13 @@ export const WorkspaceDescriptorPayloadSchema = z
|
|
|
3804
3806
|
.nullish()
|
|
3805
3807
|
.transform((value) => value ?? null),
|
|
3806
3808
|
activityAt: z.string().nullable(),
|
|
3809
|
+
// COMPAT(workspaceSortTimes): added in v0.11.0-fork.35, remove optional after 2027-05-11.
|
|
3810
|
+
createdAt: z.string().optional(),
|
|
3811
|
+
// When a person last sent this workspace a prompt from a client. Unlike an agent's
|
|
3812
|
+
// `lastUserMessageAt`, schedules, loops, and agent tool calls never set it. Null means never.
|
|
3813
|
+
lastHumanPromptAt: z.string().nullable().optional(),
|
|
3814
|
+
// When an agent here last completed a turn, whoever prompted it.
|
|
3815
|
+
lastAgentResponseAt: z.string().nullable().optional(),
|
|
3807
3816
|
diffStat: z
|
|
3808
3817
|
.object({
|
|
3809
3818
|
additions: z.number(),
|
|
@@ -1419,6 +1419,9 @@ export declare const WSOutboundMessageSchema: {
|
|
|
1419
1419
|
}>;
|
|
1420
1420
|
statusEnteredAt: import("zod").ZodPipe<import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>, import("zod").ZodTransform<string | null, string | null | undefined>>;
|
|
1421
1421
|
activityAt: import("zod").ZodNullable<import("zod").ZodString>;
|
|
1422
|
+
createdAt: import("zod").ZodOptional<import("zod").ZodString>;
|
|
1423
|
+
lastHumanPromptAt: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
1424
|
+
lastAgentResponseAt: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
1422
1425
|
diffStat: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodObject<{
|
|
1423
1426
|
additions: import("zod").ZodNumber;
|
|
1424
1427
|
deletions: import("zod").ZodNumber;
|
|
@@ -1662,6 +1665,9 @@ export declare const WSOutboundMessageSchema: {
|
|
|
1662
1665
|
color: string;
|
|
1663
1666
|
} | undefined;
|
|
1664
1667
|
}[] | undefined;
|
|
1668
|
+
createdAt?: string | undefined;
|
|
1669
|
+
lastHumanPromptAt?: string | null | undefined;
|
|
1670
|
+
lastAgentResponseAt?: string | null | undefined;
|
|
1665
1671
|
diffStat?: {
|
|
1666
1672
|
additions: number;
|
|
1667
1673
|
deletions: number;
|
|
@@ -1816,6 +1822,9 @@ export declare const WSOutboundMessageSchema: {
|
|
|
1816
1822
|
color: string;
|
|
1817
1823
|
} | undefined;
|
|
1818
1824
|
}[] | undefined;
|
|
1825
|
+
createdAt?: string | undefined;
|
|
1826
|
+
lastHumanPromptAt?: string | null | undefined;
|
|
1827
|
+
lastAgentResponseAt?: string | null | undefined;
|
|
1819
1828
|
diffStat?: {
|
|
1820
1829
|
additions: number;
|
|
1821
1830
|
deletions: number;
|
|
@@ -2916,6 +2925,9 @@ export declare const WSOutboundMessageSchema: {
|
|
|
2916
2925
|
}>;
|
|
2917
2926
|
statusEnteredAt: import("zod").ZodPipe<import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>, import("zod").ZodTransform<string | null, string | null | undefined>>;
|
|
2918
2927
|
activityAt: import("zod").ZodNullable<import("zod").ZodString>;
|
|
2928
|
+
createdAt: import("zod").ZodOptional<import("zod").ZodString>;
|
|
2929
|
+
lastHumanPromptAt: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
2930
|
+
lastAgentResponseAt: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
2919
2931
|
diffStat: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodObject<{
|
|
2920
2932
|
additions: import("zod").ZodNumber;
|
|
2921
2933
|
deletions: import("zod").ZodNumber;
|
|
@@ -3159,6 +3171,9 @@ export declare const WSOutboundMessageSchema: {
|
|
|
3159
3171
|
color: string;
|
|
3160
3172
|
} | undefined;
|
|
3161
3173
|
}[] | undefined;
|
|
3174
|
+
createdAt?: string | undefined;
|
|
3175
|
+
lastHumanPromptAt?: string | null | undefined;
|
|
3176
|
+
lastAgentResponseAt?: string | null | undefined;
|
|
3162
3177
|
diffStat?: {
|
|
3163
3178
|
additions: number;
|
|
3164
3179
|
deletions: number;
|
|
@@ -3313,6 +3328,9 @@ export declare const WSOutboundMessageSchema: {
|
|
|
3313
3328
|
color: string;
|
|
3314
3329
|
} | undefined;
|
|
3315
3330
|
}[] | undefined;
|
|
3331
|
+
createdAt?: string | undefined;
|
|
3332
|
+
lastHumanPromptAt?: string | null | undefined;
|
|
3333
|
+
lastAgentResponseAt?: string | null | undefined;
|
|
3316
3334
|
diffStat?: {
|
|
3317
3335
|
additions: number;
|
|
3318
3336
|
deletions: number;
|
|
@@ -3563,6 +3581,9 @@ export declare const WSOutboundMessageSchema: {
|
|
|
3563
3581
|
}>;
|
|
3564
3582
|
statusEnteredAt: import("zod").ZodPipe<import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>, import("zod").ZodTransform<string | null, string | null | undefined>>;
|
|
3565
3583
|
activityAt: import("zod").ZodNullable<import("zod").ZodString>;
|
|
3584
|
+
createdAt: import("zod").ZodOptional<import("zod").ZodString>;
|
|
3585
|
+
lastHumanPromptAt: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
3586
|
+
lastAgentResponseAt: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
3566
3587
|
diffStat: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodObject<{
|
|
3567
3588
|
additions: import("zod").ZodNumber;
|
|
3568
3589
|
deletions: import("zod").ZodNumber;
|
|
@@ -3806,6 +3827,9 @@ export declare const WSOutboundMessageSchema: {
|
|
|
3806
3827
|
color: string;
|
|
3807
3828
|
} | undefined;
|
|
3808
3829
|
}[] | undefined;
|
|
3830
|
+
createdAt?: string | undefined;
|
|
3831
|
+
lastHumanPromptAt?: string | null | undefined;
|
|
3832
|
+
lastAgentResponseAt?: string | null | undefined;
|
|
3809
3833
|
diffStat?: {
|
|
3810
3834
|
additions: number;
|
|
3811
3835
|
deletions: number;
|
|
@@ -3960,6 +3984,9 @@ export declare const WSOutboundMessageSchema: {
|
|
|
3960
3984
|
color: string;
|
|
3961
3985
|
} | undefined;
|
|
3962
3986
|
}[] | undefined;
|
|
3987
|
+
createdAt?: string | undefined;
|
|
3988
|
+
lastHumanPromptAt?: string | null | undefined;
|
|
3989
|
+
lastAgentResponseAt?: string | null | undefined;
|
|
3963
3990
|
diffStat?: {
|
|
3964
3991
|
additions: number;
|
|
3965
3992
|
deletions: number;
|
|
@@ -5333,6 +5360,9 @@ export declare const WSOutboundMessageSchema: {
|
|
|
5333
5360
|
}>;
|
|
5334
5361
|
statusEnteredAt: import("zod").ZodPipe<import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>, import("zod").ZodTransform<string | null, string | null | undefined>>;
|
|
5335
5362
|
activityAt: import("zod").ZodNullable<import("zod").ZodString>;
|
|
5363
|
+
createdAt: import("zod").ZodOptional<import("zod").ZodString>;
|
|
5364
|
+
lastHumanPromptAt: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
5365
|
+
lastAgentResponseAt: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
5336
5366
|
diffStat: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodObject<{
|
|
5337
5367
|
additions: import("zod").ZodNumber;
|
|
5338
5368
|
deletions: import("zod").ZodNumber;
|
|
@@ -5576,6 +5606,9 @@ export declare const WSOutboundMessageSchema: {
|
|
|
5576
5606
|
color: string;
|
|
5577
5607
|
} | undefined;
|
|
5578
5608
|
}[] | undefined;
|
|
5609
|
+
createdAt?: string | undefined;
|
|
5610
|
+
lastHumanPromptAt?: string | null | undefined;
|
|
5611
|
+
lastAgentResponseAt?: string | null | undefined;
|
|
5579
5612
|
diffStat?: {
|
|
5580
5613
|
additions: number;
|
|
5581
5614
|
deletions: number;
|
|
@@ -5730,6 +5763,9 @@ export declare const WSOutboundMessageSchema: {
|
|
|
5730
5763
|
color: string;
|
|
5731
5764
|
} | undefined;
|
|
5732
5765
|
}[] | undefined;
|
|
5766
|
+
createdAt?: string | undefined;
|
|
5767
|
+
lastHumanPromptAt?: string | null | undefined;
|
|
5768
|
+
lastAgentResponseAt?: string | null | undefined;
|
|
5733
5769
|
diffStat?: {
|
|
5734
5770
|
additions: number;
|
|
5735
5771
|
deletions: number;
|
|
@@ -5970,6 +6006,9 @@ export declare const WSOutboundMessageSchema: {
|
|
|
5970
6006
|
}>;
|
|
5971
6007
|
statusEnteredAt: import("zod").ZodPipe<import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>, import("zod").ZodTransform<string | null, string | null | undefined>>;
|
|
5972
6008
|
activityAt: import("zod").ZodNullable<import("zod").ZodString>;
|
|
6009
|
+
createdAt: import("zod").ZodOptional<import("zod").ZodString>;
|
|
6010
|
+
lastHumanPromptAt: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
6011
|
+
lastAgentResponseAt: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
5973
6012
|
diffStat: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodObject<{
|
|
5974
6013
|
additions: import("zod").ZodNumber;
|
|
5975
6014
|
deletions: import("zod").ZodNumber;
|
|
@@ -6213,6 +6252,9 @@ export declare const WSOutboundMessageSchema: {
|
|
|
6213
6252
|
color: string;
|
|
6214
6253
|
} | undefined;
|
|
6215
6254
|
}[] | undefined;
|
|
6255
|
+
createdAt?: string | undefined;
|
|
6256
|
+
lastHumanPromptAt?: string | null | undefined;
|
|
6257
|
+
lastAgentResponseAt?: string | null | undefined;
|
|
6216
6258
|
diffStat?: {
|
|
6217
6259
|
additions: number;
|
|
6218
6260
|
deletions: number;
|
|
@@ -6367,6 +6409,9 @@ export declare const WSOutboundMessageSchema: {
|
|
|
6367
6409
|
color: string;
|
|
6368
6410
|
} | undefined;
|
|
6369
6411
|
}[] | undefined;
|
|
6412
|
+
createdAt?: string | undefined;
|
|
6413
|
+
lastHumanPromptAt?: string | null | undefined;
|
|
6414
|
+
lastAgentResponseAt?: string | null | undefined;
|
|
6370
6415
|
diffStat?: {
|
|
6371
6416
|
additions: number;
|
|
6372
6417
|
deletions: number;
|
|
@@ -6625,6 +6670,9 @@ export declare const WSOutboundMessageSchema: {
|
|
|
6625
6670
|
}>;
|
|
6626
6671
|
statusEnteredAt: import("zod").ZodPipe<import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>, import("zod").ZodTransform<string | null, string | null | undefined>>;
|
|
6627
6672
|
activityAt: import("zod").ZodNullable<import("zod").ZodString>;
|
|
6673
|
+
createdAt: import("zod").ZodOptional<import("zod").ZodString>;
|
|
6674
|
+
lastHumanPromptAt: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
6675
|
+
lastAgentResponseAt: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
6628
6676
|
diffStat: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodObject<{
|
|
6629
6677
|
additions: import("zod").ZodNumber;
|
|
6630
6678
|
deletions: import("zod").ZodNumber;
|
|
@@ -6868,6 +6916,9 @@ export declare const WSOutboundMessageSchema: {
|
|
|
6868
6916
|
color: string;
|
|
6869
6917
|
} | undefined;
|
|
6870
6918
|
}[] | undefined;
|
|
6919
|
+
createdAt?: string | undefined;
|
|
6920
|
+
lastHumanPromptAt?: string | null | undefined;
|
|
6921
|
+
lastAgentResponseAt?: string | null | undefined;
|
|
6871
6922
|
diffStat?: {
|
|
6872
6923
|
additions: number;
|
|
6873
6924
|
deletions: number;
|
|
@@ -7022,6 +7073,9 @@ export declare const WSOutboundMessageSchema: {
|
|
|
7022
7073
|
color: string;
|
|
7023
7074
|
} | undefined;
|
|
7024
7075
|
}[] | undefined;
|
|
7076
|
+
createdAt?: string | undefined;
|
|
7077
|
+
lastHumanPromptAt?: string | null | undefined;
|
|
7078
|
+
lastAgentResponseAt?: string | null | undefined;
|
|
7025
7079
|
diffStat?: {
|
|
7026
7080
|
additions: number;
|
|
7027
7081
|
deletions: number;
|
|
@@ -7282,6 +7336,9 @@ export declare const WSOutboundMessageSchema: {
|
|
|
7282
7336
|
}>;
|
|
7283
7337
|
statusEnteredAt: import("zod").ZodPipe<import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>, import("zod").ZodTransform<string | null, string | null | undefined>>;
|
|
7284
7338
|
activityAt: import("zod").ZodNullable<import("zod").ZodString>;
|
|
7339
|
+
createdAt: import("zod").ZodOptional<import("zod").ZodString>;
|
|
7340
|
+
lastHumanPromptAt: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
7341
|
+
lastAgentResponseAt: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
7285
7342
|
diffStat: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodObject<{
|
|
7286
7343
|
additions: import("zod").ZodNumber;
|
|
7287
7344
|
deletions: import("zod").ZodNumber;
|
|
@@ -7525,6 +7582,9 @@ export declare const WSOutboundMessageSchema: {
|
|
|
7525
7582
|
color: string;
|
|
7526
7583
|
} | undefined;
|
|
7527
7584
|
}[] | undefined;
|
|
7585
|
+
createdAt?: string | undefined;
|
|
7586
|
+
lastHumanPromptAt?: string | null | undefined;
|
|
7587
|
+
lastAgentResponseAt?: string | null | undefined;
|
|
7528
7588
|
diffStat?: {
|
|
7529
7589
|
additions: number;
|
|
7530
7590
|
deletions: number;
|
|
@@ -7679,6 +7739,9 @@ export declare const WSOutboundMessageSchema: {
|
|
|
7679
7739
|
color: string;
|
|
7680
7740
|
} | undefined;
|
|
7681
7741
|
}[] | undefined;
|
|
7742
|
+
createdAt?: string | undefined;
|
|
7743
|
+
lastHumanPromptAt?: string | null | undefined;
|
|
7744
|
+
lastAgentResponseAt?: string | null | undefined;
|
|
7682
7745
|
diffStat?: {
|
|
7683
7746
|
additions: number;
|
|
7684
7747
|
deletions: number;
|
|
@@ -7938,6 +8001,9 @@ export declare const WSOutboundMessageSchema: {
|
|
|
7938
8001
|
}>;
|
|
7939
8002
|
statusEnteredAt: import("zod").ZodPipe<import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>, import("zod").ZodTransform<string | null, string | null | undefined>>;
|
|
7940
8003
|
activityAt: import("zod").ZodNullable<import("zod").ZodString>;
|
|
8004
|
+
createdAt: import("zod").ZodOptional<import("zod").ZodString>;
|
|
8005
|
+
lastHumanPromptAt: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
8006
|
+
lastAgentResponseAt: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
7941
8007
|
diffStat: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodObject<{
|
|
7942
8008
|
additions: import("zod").ZodNumber;
|
|
7943
8009
|
deletions: import("zod").ZodNumber;
|
|
@@ -8181,6 +8247,9 @@ export declare const WSOutboundMessageSchema: {
|
|
|
8181
8247
|
color: string;
|
|
8182
8248
|
} | undefined;
|
|
8183
8249
|
}[] | undefined;
|
|
8250
|
+
createdAt?: string | undefined;
|
|
8251
|
+
lastHumanPromptAt?: string | null | undefined;
|
|
8252
|
+
lastAgentResponseAt?: string | null | undefined;
|
|
8184
8253
|
diffStat?: {
|
|
8185
8254
|
additions: number;
|
|
8186
8255
|
deletions: number;
|
|
@@ -8335,6 +8404,9 @@ export declare const WSOutboundMessageSchema: {
|
|
|
8335
8404
|
color: string;
|
|
8336
8405
|
} | undefined;
|
|
8337
8406
|
}[] | undefined;
|
|
8407
|
+
createdAt?: string | undefined;
|
|
8408
|
+
lastHumanPromptAt?: string | null | undefined;
|
|
8409
|
+
lastAgentResponseAt?: string | null | undefined;
|
|
8338
8410
|
diffStat?: {
|
|
8339
8411
|
additions: number;
|
|
8340
8412
|
deletions: number;
|
|
@@ -8599,6 +8671,9 @@ export declare const WSOutboundMessageSchema: {
|
|
|
8599
8671
|
}>;
|
|
8600
8672
|
statusEnteredAt: import("zod").ZodPipe<import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>, import("zod").ZodTransform<string | null, string | null | undefined>>;
|
|
8601
8673
|
activityAt: import("zod").ZodNullable<import("zod").ZodString>;
|
|
8674
|
+
createdAt: import("zod").ZodOptional<import("zod").ZodString>;
|
|
8675
|
+
lastHumanPromptAt: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
8676
|
+
lastAgentResponseAt: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
8602
8677
|
diffStat: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodObject<{
|
|
8603
8678
|
additions: import("zod").ZodNumber;
|
|
8604
8679
|
deletions: import("zod").ZodNumber;
|
|
@@ -8842,6 +8917,9 @@ export declare const WSOutboundMessageSchema: {
|
|
|
8842
8917
|
color: string;
|
|
8843
8918
|
} | undefined;
|
|
8844
8919
|
}[] | undefined;
|
|
8920
|
+
createdAt?: string | undefined;
|
|
8921
|
+
lastHumanPromptAt?: string | null | undefined;
|
|
8922
|
+
lastAgentResponseAt?: string | null | undefined;
|
|
8845
8923
|
diffStat?: {
|
|
8846
8924
|
additions: number;
|
|
8847
8925
|
deletions: number;
|
|
@@ -8996,6 +9074,9 @@ export declare const WSOutboundMessageSchema: {
|
|
|
8996
9074
|
color: string;
|
|
8997
9075
|
} | undefined;
|
|
8998
9076
|
}[] | undefined;
|
|
9077
|
+
createdAt?: string | undefined;
|
|
9078
|
+
lastHumanPromptAt?: string | null | undefined;
|
|
9079
|
+
lastAgentResponseAt?: string | null | undefined;
|
|
8999
9080
|
diffStat?: {
|
|
9000
9081
|
additions: number;
|
|
9001
9082
|
deletions: number;
|
|
@@ -11340,6 +11421,9 @@ export declare const WSOutboundMessageSchema: {
|
|
|
11340
11421
|
}>;
|
|
11341
11422
|
statusEnteredAt: import("zod").ZodPipe<import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>, import("zod").ZodTransform<string | null, string | null | undefined>>;
|
|
11342
11423
|
activityAt: import("zod").ZodNullable<import("zod").ZodString>;
|
|
11424
|
+
createdAt: import("zod").ZodOptional<import("zod").ZodString>;
|
|
11425
|
+
lastHumanPromptAt: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
11426
|
+
lastAgentResponseAt: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
11343
11427
|
diffStat: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodObject<{
|
|
11344
11428
|
additions: import("zod").ZodNumber;
|
|
11345
11429
|
deletions: import("zod").ZodNumber;
|
|
@@ -11583,6 +11667,9 @@ export declare const WSOutboundMessageSchema: {
|
|
|
11583
11667
|
color: string;
|
|
11584
11668
|
} | undefined;
|
|
11585
11669
|
}[] | undefined;
|
|
11670
|
+
createdAt?: string | undefined;
|
|
11671
|
+
lastHumanPromptAt?: string | null | undefined;
|
|
11672
|
+
lastAgentResponseAt?: string | null | undefined;
|
|
11586
11673
|
diffStat?: {
|
|
11587
11674
|
additions: number;
|
|
11588
11675
|
deletions: number;
|
|
@@ -11737,6 +11824,9 @@ export declare const WSOutboundMessageSchema: {
|
|
|
11737
11824
|
color: string;
|
|
11738
11825
|
} | undefined;
|
|
11739
11826
|
}[] | undefined;
|
|
11827
|
+
createdAt?: string | undefined;
|
|
11828
|
+
lastHumanPromptAt?: string | null | undefined;
|
|
11829
|
+
lastAgentResponseAt?: string | null | undefined;
|
|
11740
11830
|
diffStat?: {
|
|
11741
11831
|
additions: number;
|
|
11742
11832
|
deletions: number;
|
|
@@ -104,6 +104,7 @@ import { AgentManager } from "./agent/agent-manager.js";
|
|
|
104
104
|
import { AgentStorage } from "./agent/agent-storage.js";
|
|
105
105
|
import { TurnDiffStore } from "./agent/turn-diffs/store.js";
|
|
106
106
|
import { attachAgentStoragePersistence } from "./persistence-hooks.js";
|
|
107
|
+
import { attachWorkspaceResponseRecorder } from "./workspace-response-recorder.js";
|
|
107
108
|
import { createAgentMcpServer } from "./agent/mcp-server.js";
|
|
108
109
|
import { createPaseoToolCatalog, } from "./agent/tools/paseo-tools.js";
|
|
109
110
|
import { createAgentProviderRuntime } from "./agent/provider-runtime.js";
|
|
@@ -661,6 +662,11 @@ export async function createPaseoDaemon(config, rootLogger, dependencies = {}) {
|
|
|
661
662
|
};
|
|
662
663
|
const unsubscribePluginProviders = pluginRuntime.subscribeProviderRegistrations(syncPluginProviders);
|
|
663
664
|
const detachAgentStoragePersistence = attachAgentStoragePersistence(logger, agentManager, agentStorage);
|
|
665
|
+
const detachWorkspaceResponseRecorder = attachWorkspaceResponseRecorder({
|
|
666
|
+
logger,
|
|
667
|
+
agentManager,
|
|
668
|
+
workspaceRegistry,
|
|
669
|
+
});
|
|
664
670
|
await agentStorage.initialize();
|
|
665
671
|
logger.info({ elapsed: elapsed() }, "Agent storage initialized");
|
|
666
672
|
await bootstrapWorkspaceRegistries({
|
|
@@ -1375,6 +1381,7 @@ export async function createPaseoDaemon(config, rootLogger, dependencies = {}) {
|
|
|
1375
1381
|
await closeAllAgents(logger, agentManager);
|
|
1376
1382
|
await agentManager.flushForShutdown().catch(() => undefined);
|
|
1377
1383
|
detachAgentStoragePersistence();
|
|
1384
|
+
detachWorkspaceResponseRecorder();
|
|
1378
1385
|
await agentStorage.flush().catch(() => undefined);
|
|
1379
1386
|
await agentProviderRuntime.shutdown();
|
|
1380
1387
|
await pluginRuntime.stopAllPlugins();
|
|
@@ -420,6 +420,13 @@ export declare class Session {
|
|
|
420
420
|
private handleWorkspacePinSetRequest;
|
|
421
421
|
private handleWorkspaceRecoveryInspectRequest;
|
|
422
422
|
private handleWorkspaceRecoveryRestoreRequest;
|
|
423
|
+
/**
|
|
424
|
+
* Stamps `lastHumanPromptAt`. Call only for client-sent prompts, and before dispatch — the agent
|
|
425
|
+
* update the prompt causes is what carries the new time to every session.
|
|
426
|
+
*/
|
|
427
|
+
private recordHumanPrompt;
|
|
428
|
+
/** A caller agent creating a child is automation, not a person prompting. */
|
|
429
|
+
private recordHumanCreationPrompt;
|
|
423
430
|
/**
|
|
424
431
|
* Handle text message to agent (with optional image attachments)
|
|
425
432
|
*/
|
|
@@ -3017,6 +3017,36 @@ export class Session {
|
|
|
3017
3017
|
});
|
|
3018
3018
|
}
|
|
3019
3019
|
}
|
|
3020
|
+
/**
|
|
3021
|
+
* Stamps `lastHumanPromptAt`. Call only for client-sent prompts, and before dispatch — the agent
|
|
3022
|
+
* update the prompt causes is what carries the new time to every session.
|
|
3023
|
+
*/
|
|
3024
|
+
async recordHumanPrompt(input) {
|
|
3025
|
+
try {
|
|
3026
|
+
const workspaceId = input.workspaceId ??
|
|
3027
|
+
(input.agentId
|
|
3028
|
+
? (this.agentManager.getAgent(input.agentId)?.workspaceId ??
|
|
3029
|
+
(await this.agentStorage.get(input.agentId))?.workspaceId)
|
|
3030
|
+
: undefined);
|
|
3031
|
+
if (!workspaceId)
|
|
3032
|
+
return;
|
|
3033
|
+
const lastHumanPromptAt = new Date().toISOString();
|
|
3034
|
+
await this.workspaceRegistry.update(workspaceId, (existing) => ({
|
|
3035
|
+
...existing,
|
|
3036
|
+
lastHumanPromptAt,
|
|
3037
|
+
}));
|
|
3038
|
+
}
|
|
3039
|
+
catch (error) {
|
|
3040
|
+
// Sort metadata must never fail the prompt it describes.
|
|
3041
|
+
this.sessionLogger.warn({ err: error, ...input }, "session: failed to record human prompt");
|
|
3042
|
+
}
|
|
3043
|
+
}
|
|
3044
|
+
/** A caller agent creating a child is automation, not a person prompting. */
|
|
3045
|
+
async recordHumanCreationPrompt(msg, workspaceId) {
|
|
3046
|
+
if (msg.callerAgentId || !hasInitialCreationPrompt(msg))
|
|
3047
|
+
return;
|
|
3048
|
+
await this.recordHumanPrompt({ workspaceId });
|
|
3049
|
+
}
|
|
3020
3050
|
/**
|
|
3021
3051
|
* Handle text message to agent (with optional image attachments)
|
|
3022
3052
|
*/
|
|
@@ -3031,6 +3061,7 @@ export class Session {
|
|
|
3031
3061
|
: ""}`);
|
|
3032
3062
|
const promptText = options?.spokenInput ? wrapSpokenInput(text) : text;
|
|
3033
3063
|
const prompt = buildAgentPrompt(promptText, images, attachments);
|
|
3064
|
+
await this.recordHumanPrompt({ agentId });
|
|
3034
3065
|
try {
|
|
3035
3066
|
await sendPromptToAgent({
|
|
3036
3067
|
agentManager: this.agentManager,
|
|
@@ -3332,6 +3363,7 @@ export class Session {
|
|
|
3332
3363
|
if (!(await this.filesystem.isDirectory(resolvedCwd))) {
|
|
3333
3364
|
throw new Error(`Working directory does not exist or is not a directory: ${resolvedCwd}`);
|
|
3334
3365
|
}
|
|
3366
|
+
await this.recordHumanCreationPrompt(msg, resolvedIntent.intent.workspaceId);
|
|
3335
3367
|
const { snapshot, liveSnapshot } = await createAgentCommand({
|
|
3336
3368
|
agentManager: this.agentManager,
|
|
3337
3369
|
agentStorage: this.agentStorage,
|
|
@@ -4441,6 +4473,9 @@ export class Session {
|
|
|
4441
4473
|
name: resolveWorkspaceDisplayName(workspace),
|
|
4442
4474
|
title: workspace.title,
|
|
4443
4475
|
pinnedAt: workspace.pinnedAt,
|
|
4476
|
+
createdAt: workspace.createdAt,
|
|
4477
|
+
lastHumanPromptAt: workspace.lastHumanPromptAt,
|
|
4478
|
+
lastAgentResponseAt: workspace.lastAgentResponseAt,
|
|
4444
4479
|
linearIssues: await this.linearIntegration.resolve(workspace.linearIssues),
|
|
4445
4480
|
...(workspace.labels && workspace.labels.length > 0 ? { labels: workspace.labels } : {}),
|
|
4446
4481
|
archivingAt: null,
|
|
@@ -4528,6 +4563,7 @@ export class Session {
|
|
|
4528
4563
|
}),
|
|
4529
4564
|
title: result.workspace.title,
|
|
4530
4565
|
pinnedAt: result.workspace.pinnedAt,
|
|
4566
|
+
createdAt: result.workspace.createdAt,
|
|
4531
4567
|
...(result.workspace.labels && result.workspace.labels.length > 0
|
|
4532
4568
|
? { labels: result.workspace.labels }
|
|
4533
4569
|
: {}),
|
|
@@ -6656,6 +6692,7 @@ export class Session {
|
|
|
6656
6692
|
textPrefix: msg.text.slice(0, 80),
|
|
6657
6693
|
}, "agent.session.send_agent_message");
|
|
6658
6694
|
const send = async () => {
|
|
6695
|
+
await this.recordHumanPrompt({ agentId });
|
|
6659
6696
|
const result = await sendPromptToAgent({
|
|
6660
6697
|
agentManager: this.agentManager,
|
|
6661
6698
|
agentStorage: this.agentStorage,
|
|
@@ -1311,6 +1311,8 @@ export class VoiceAssistantWebSocketServer {
|
|
|
1311
1311
|
workspaceSetupRun: true,
|
|
1312
1312
|
workspaceLinearIssues: true,
|
|
1313
1313
|
workspaceMetadataRefresh: true,
|
|
1314
|
+
// COMPAT(workspaceSortTimes): added in v0.11.0-fork.35, remove gate after 2027-05-11.
|
|
1315
|
+
workspaceSortTimes: true,
|
|
1314
1316
|
linearIntegration: true,
|
|
1315
1317
|
// COMPAT(turnDiffs): added in v0.11.0, remove gate after 2027-10-03.
|
|
1316
1318
|
turnDiffs: true,
|
|
@@ -3,6 +3,7 @@ import type { ProjectCheckoutLitePayload } from "@getpaseo/protocol/messages";
|
|
|
3
3
|
import { type BranchCheckoutResolution, type BranchSuggestion, type CheckoutDiffCompare, type CheckoutDiffResult, getCheckoutDiff, getCheckoutRefDerivedState, getCheckoutSnapshotFacts, getCheckoutShortstat, getCheckoutStatus, getCheckoutWorktreeState, getPullRequestStatus, listBranchSuggestions, resolveRepositoryDefaultBranch, resolveBranchCheckout } from "../utils/checkout-git.js";
|
|
4
4
|
import type { CurrentPullRequestStatus, ForgeAuthState, ForgeService, ForgeSpecificStatusFacts, PullRequestCheck, PullRequestMergeable } from "../services/forge-service.js";
|
|
5
5
|
import { type ForgeResolution } from "../services/forge-resolver.js";
|
|
6
|
+
import type { GitProcessPriority } from "../utils/git-process-scheduler.js";
|
|
6
7
|
import { runGitCommand, type RunGitCommand } from "../utils/run-git-command.js";
|
|
7
8
|
import { listPaseoWorktrees, type PaseoWorktreeInfo } from "../utils/worktree.js";
|
|
8
9
|
import { type WorkspaceGitFetchResult, type WorkspaceGitFetchObserver } from "./workspace-git-fetch.js";
|
|
@@ -79,7 +80,7 @@ export interface WorkspaceGitService {
|
|
|
79
80
|
}, listener: WorkspaceGitListener): WorkspaceGitSubscription;
|
|
80
81
|
onSnapshotUpdated(listener: WorkspaceGitSnapshotUpdatedListener): WorkspaceGitSubscription;
|
|
81
82
|
peekSnapshot(cwd: string): WorkspaceGitRuntimeSnapshot | null;
|
|
82
|
-
getCheckout(cwd: string): Promise<ProjectCheckoutLitePayload>;
|
|
83
|
+
getCheckout(cwd: string, options?: WorkspaceGitCheckoutReadOptions): Promise<ProjectCheckoutLitePayload>;
|
|
83
84
|
getSnapshot(cwd: string, options?: WorkspaceGitSnapshotOptions): Promise<WorkspaceGitRuntimeSnapshot>;
|
|
84
85
|
resolveForge(cwd: string): Promise<ForgeResolution | null>;
|
|
85
86
|
getCheckoutDiff(cwd: string, options: CheckoutDiffCompare, readOptions?: WorkspaceGitReadOptions): Promise<CheckoutDiffResult>;
|
|
@@ -158,6 +159,10 @@ export type WorkspaceGitSnapshotOptions = WorkspaceGitReadOptions & {
|
|
|
158
159
|
refreshGit?: boolean;
|
|
159
160
|
queueIfBusy?: boolean;
|
|
160
161
|
};
|
|
162
|
+
export interface WorkspaceGitCheckoutReadOptions {
|
|
163
|
+
/** Git lane for the checkout read; defaults to the caller's ambient lane. */
|
|
164
|
+
priority?: GitProcessPriority;
|
|
165
|
+
}
|
|
161
166
|
interface WorkspaceGitServiceDependencies {
|
|
162
167
|
subscribe: SubscribeToFileChanges;
|
|
163
168
|
getCheckoutSnapshotFacts: typeof getCheckoutSnapshotFacts;
|
|
@@ -227,7 +232,7 @@ export declare class WorkspaceGitServiceImpl implements WorkspaceGitService {
|
|
|
227
232
|
onSnapshotUpdated(listener: WorkspaceGitSnapshotUpdatedListener): WorkspaceGitSubscription;
|
|
228
233
|
getMetrics(): WorkspaceGitServiceMetrics;
|
|
229
234
|
getSnapshot(cwd: string, options?: WorkspaceGitSnapshotOptions): Promise<WorkspaceGitRuntimeSnapshot>;
|
|
230
|
-
getCheckout(cwd: string): Promise<ProjectCheckoutLitePayload>;
|
|
235
|
+
getCheckout(cwd: string, options?: WorkspaceGitCheckoutReadOptions): Promise<ProjectCheckoutLitePayload>;
|
|
231
236
|
peekSnapshot(cwd: string): WorkspaceGitRuntimeSnapshot | null;
|
|
232
237
|
getCheckoutDiff(cwd: string, options: CheckoutDiffCompare, readOptions?: WorkspaceGitReadOptions): Promise<CheckoutDiffResult>;
|
|
233
238
|
private normalizeCheckoutDiffOptions;
|
|
@@ -420,6 +425,7 @@ export declare class WorkspaceGitServiceImpl implements WorkspaceGitService {
|
|
|
420
425
|
private buildScheduledRefreshRequest;
|
|
421
426
|
private mergeRefreshRequests;
|
|
422
427
|
private runWorkspaceRefreshLoop;
|
|
428
|
+
private createRefreshGitCommand;
|
|
423
429
|
private refreshSnapshot;
|
|
424
430
|
private refreshRefDerivedSnapshot;
|
|
425
431
|
private refreshWorktreeSnapshot;
|