@cabaltrading/cli 0.4.10 → 0.4.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/dist/index.js +2076 -1706
  2. package/dist/mcp-server.js +1674 -1625
  3. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -862,10 +862,75 @@ var init_hyperliquid = __esm(() => {
862
862
  hyperliquidLiquidationRiskResponseSchema = successEnvelope(hyperliquidLiquidationRiskResponseDataSchema);
863
863
  });
864
864
 
865
- // ../../packages/client/src/schemas/incubator.ts
865
+ // ../../packages/client/src/schemas/notifications.ts
866
866
  import { z as z6 } from "zod";
867
+ var queryBooleanSchema, notificationIdParamsSchema, notificationsListQuerySchema, notificationsMarkAllReadRequestSchema, notificationsPatchRequestSchema, notificationRecordSchema, notificationsListResponseDataSchema, notificationsMarkAllReadResponseDataSchema, notificationsPatchResponseDataSchema, notificationsDeleteResponseDataSchema, notificationsListResponseSchema, notificationsMarkAllReadResponseSchema, notificationsPatchResponseSchema, notificationsDeleteResponseSchema;
868
+ var init_notifications = __esm(() => {
869
+ init_common();
870
+ queryBooleanSchema = z6.preprocess((value) => {
871
+ if (value === undefined || value === null || value === "")
872
+ return;
873
+ if (value === true || value === "true")
874
+ return true;
875
+ if (value === false || value === "false")
876
+ return false;
877
+ return value;
878
+ }, z6.boolean());
879
+ notificationIdParamsSchema = z6.object({
880
+ id: z6.string().uuid()
881
+ });
882
+ notificationsListQuerySchema = z6.object({
883
+ limit: z6.coerce.number().int().min(1).default(25).transform((value) => Math.min(value, 100)),
884
+ offset: z6.coerce.number().int().min(0).default(0),
885
+ unreadOnly: queryBooleanSchema.default(false)
886
+ });
887
+ notificationsMarkAllReadRequestSchema = z6.object({
888
+ action: z6.literal("mark_all_read")
889
+ });
890
+ notificationsPatchRequestSchema = z6.object({
891
+ read: z6.boolean().optional()
892
+ });
893
+ notificationRecordSchema = z6.object({
894
+ id: z6.string().uuid(),
895
+ type: z6.string(),
896
+ title: z6.string(),
897
+ body: z6.string(),
898
+ data: z6.record(z6.string(), z6.unknown()).nullable(),
899
+ read: z6.boolean(),
900
+ createdAt: z6.string()
901
+ });
902
+ notificationsListResponseDataSchema = z6.object({
903
+ notifications: z6.array(notificationRecordSchema),
904
+ unreadCount: z6.number().int().nonnegative(),
905
+ pagination: z6.object({
906
+ limit: z6.number().int().nonnegative(),
907
+ offset: z6.number().int().nonnegative(),
908
+ total: z6.number().int().nonnegative(),
909
+ hasMore: z6.boolean()
910
+ })
911
+ });
912
+ notificationsMarkAllReadResponseDataSchema = z6.object({
913
+ markedAllRead: z6.boolean()
914
+ });
915
+ notificationsPatchResponseDataSchema = z6.object({
916
+ updated: z6.boolean(),
917
+ id: z6.string().uuid(),
918
+ read: z6.boolean()
919
+ });
920
+ notificationsDeleteResponseDataSchema = z6.object({
921
+ deleted: z6.boolean(),
922
+ id: z6.string().uuid()
923
+ });
924
+ notificationsListResponseSchema = successEnvelope(notificationsListResponseDataSchema);
925
+ notificationsMarkAllReadResponseSchema = successEnvelope(notificationsMarkAllReadResponseDataSchema);
926
+ notificationsPatchResponseSchema = successEnvelope(notificationsPatchResponseDataSchema);
927
+ notificationsDeleteResponseSchema = successEnvelope(notificationsDeleteResponseDataSchema);
928
+ });
929
+
930
+ // ../../packages/client/src/schemas/incubator.ts
931
+ import { z as z7 } from "zod";
867
932
  function requiredString(field, message = `Missing required field: ${field}`) {
868
- return z6.preprocess((value) => typeof value === "string" ? value.trim() : "", z6.string().min(1, { message }));
933
+ return z7.preprocess((value) => typeof value === "string" ? value.trim() : "", z7.string().min(1, { message }));
869
934
  }
870
935
  var tokenNameSchema, tokenSymbolSchema, incubatorLogRequestSchema, incubatorLogResponseDataSchema, incubatorLogResponseSchema, incubatorAgentIdParamsSchema, incubatorBrainSwitchRequestSchema, incubatorBrainDepositRequestSchema, incubatorBrainUsageRequestSchema, incubatorBrainRequestSchema, incubatorBrainResponseDataSchema, incubatorBrainResponseSchema, incubatorBrainUsageResponseDataSchema, incubatorBrainUsageResponseSchema, incubatorServerRequestSchema, incubatorServerResponseDataSchema, incubatorServerResponseSchema, incubatorTokenRequestSchema, incubatorTokenSchema, incubatorTokenResponseDataSchema, incubatorTokenConfirmResponseDataSchema, incubatorTokenResponseSchema, incubatorInboxSendRequestSchema, incubatorInboxSendResponseDataSchema, incubatorInboxSendResponseSchema, incubatorInboxQuerySchema, incubatorTurnsQuerySchema, incubatorInboxReplyRequestSchema, incubatorInboxPatchRequestSchema, incubatorMemorialsQuerySchema, incubatorTasksQuerySchema, VALID_TASK_CATEGORIES, INVALID_CATEGORY_MESSAGE, taskCategorySchema, incubatorTaskCreateRequestSchema, incubatorTaskActionParamsSchema, taskActionBaseSchema, incubatorTaskActionRequestSchema, incubatorSurvivalResponseDataSchema, incubatorInboxResponseDataSchema, incubatorInboxReplyResponseDataSchema, incubatorInboxPatchResponseDataSchema, incubatorGroupsUnreadResponseDataSchema, incubatorInboxUnreadResponseDataSchema, incubatorMemorialsResponseDataSchema, modelInfoSchema, serverPlanInfoSchema, incubatorOverviewResponseDataSchema, incubatorPoolResponseDataSchema, incubatorRentGetResponseDataSchema, incubatorRentPostResponseDataSchema, incubatorRentResponseDataSchema, incubatorTaskSummarySchema, incubatorTasksResponseDataSchema, incubatorTaskCreateResponseDataSchema, incubatorTaskActionResponseDataSchema, incubatorTaskApplicantSchema, incubatorTaskSubmissionSchema, incubatorTaskApplicationsResponseDataSchema, incubatorTaskSubmissionResponseDataSchema, incubatorTurnSchema, incubatorTurnsResponseDataSchema, incubatorTurnsResponseSchema, incubatorGroupsUnreadResponseSchema, incubatorInboxUnreadResponseSchema;
871
936
  var init_incubator = __esm(() => {
@@ -880,433 +945,433 @@ var init_incubator = __esm(() => {
880
945
  }).refine((value) => /^[A-Za-z0-9]+$/.test(value), {
881
946
  message: "Token symbol must be alphanumeric with no spaces"
882
947
  });
883
- incubatorLogRequestSchema = z6.object({
948
+ incubatorLogRequestSchema = z7.object({
884
949
  message: requiredString("message").refine((value) => value.length <= 2000, { message: "Message too long" }),
885
- event_type: z6.string().trim().min(1).max(64).optional()
950
+ event_type: z7.string().trim().min(1).max(64).optional()
886
951
  });
887
- incubatorLogResponseDataSchema = z6.object({
888
- log: z6.object({
889
- id: z6.string().uuid(),
890
- event_type: z6.string(),
891
- message: z6.string()
952
+ incubatorLogResponseDataSchema = z7.object({
953
+ log: z7.object({
954
+ id: z7.string().uuid(),
955
+ event_type: z7.string(),
956
+ message: z7.string()
892
957
  })
893
958
  });
894
959
  incubatorLogResponseSchema = successEnvelope(incubatorLogResponseDataSchema);
895
- incubatorAgentIdParamsSchema = z6.object({
896
- agentId: z6.string().uuid("agentId must be a UUID")
960
+ incubatorAgentIdParamsSchema = z7.object({
961
+ agentId: z7.string().uuid("agentId must be a UUID")
897
962
  });
898
- incubatorBrainSwitchRequestSchema = z6.object({
899
- action: z6.literal("switch"),
963
+ incubatorBrainSwitchRequestSchema = z7.object({
964
+ action: z7.literal("switch"),
900
965
  model: requiredString("model").refine((value) => value.length > 0, { message: "Invalid model" })
901
966
  });
902
- incubatorBrainDepositRequestSchema = z6.object({
903
- action: z6.literal("deposit"),
904
- amountUsd: z6.number().refine((value) => value > 0, {
967
+ incubatorBrainDepositRequestSchema = z7.object({
968
+ action: z7.literal("deposit"),
969
+ amountUsd: z7.number().refine((value) => value > 0, {
905
970
  message: "Invalid deposit amount"
906
971
  })
907
972
  });
908
- incubatorBrainUsageRequestSchema = z6.object({
909
- costUsd: z6.number().positive("costUsd must be a positive number")
973
+ incubatorBrainUsageRequestSchema = z7.object({
974
+ costUsd: z7.number().positive("costUsd must be a positive number")
910
975
  });
911
- incubatorBrainRequestSchema = z6.discriminatedUnion("action", [
976
+ incubatorBrainRequestSchema = z7.discriminatedUnion("action", [
912
977
  incubatorBrainSwitchRequestSchema,
913
978
  incubatorBrainDepositRequestSchema
914
979
  ]);
915
- incubatorBrainResponseDataSchema = z6.union([
916
- z6.object({
917
- brain: z6.object({
918
- previousModel: z6.string(),
919
- newModel: z6.string(),
920
- costPerDay: z6.number()
980
+ incubatorBrainResponseDataSchema = z7.union([
981
+ z7.object({
982
+ brain: z7.object({
983
+ previousModel: z7.string(),
984
+ newModel: z7.string(),
985
+ costPerDay: z7.number()
921
986
  })
922
987
  }),
923
- z6.object({
924
- deposit: z6.object({
925
- amountUsd: z6.number(),
926
- newCreditLimit: z6.number(),
927
- remainingBalanceUsd: z6.number()
988
+ z7.object({
989
+ deposit: z7.object({
990
+ amountUsd: z7.number(),
991
+ newCreditLimit: z7.number(),
992
+ remainingBalanceUsd: z7.number()
928
993
  })
929
994
  })
930
995
  ]);
931
996
  incubatorBrainResponseSchema = successEnvelope(incubatorBrainResponseDataSchema);
932
- incubatorBrainUsageResponseDataSchema = z6.object({
933
- usageUsd: z6.number(),
934
- budgetUsd: z6.number(),
935
- remainingUsd: z6.number()
997
+ incubatorBrainUsageResponseDataSchema = z7.object({
998
+ usageUsd: z7.number(),
999
+ budgetUsd: z7.number(),
1000
+ remainingUsd: z7.number()
936
1001
  });
937
1002
  incubatorBrainUsageResponseSchema = successEnvelope(incubatorBrainUsageResponseDataSchema);
938
- incubatorServerRequestSchema = z6.object({
1003
+ incubatorServerRequestSchema = z7.object({
939
1004
  plan: requiredString("plan")
940
1005
  });
941
- incubatorServerResponseDataSchema = z6.object({
942
- server: z6.object({
943
- previousPlan: z6.string(),
944
- newPlan: z6.string(),
945
- costUsd: z6.number(),
946
- description: z6.string()
1006
+ incubatorServerResponseDataSchema = z7.object({
1007
+ server: z7.object({
1008
+ previousPlan: z7.string(),
1009
+ newPlan: z7.string(),
1010
+ costUsd: z7.number(),
1011
+ description: z7.string()
947
1012
  })
948
1013
  });
949
1014
  incubatorServerResponseSchema = successEnvelope(incubatorServerResponseDataSchema);
950
- incubatorTokenRequestSchema = z6.object({
1015
+ incubatorTokenRequestSchema = z7.object({
951
1016
  name: tokenNameSchema,
952
1017
  symbol: tokenSymbolSchema,
953
- configAddress: z6.string().min(32).max(44).optional()
954
- });
955
- incubatorTokenSchema = z6.object({
956
- id: z6.string().uuid().optional(),
957
- tokenId: z6.string().uuid().optional(),
958
- agentId: z6.string().uuid().optional(),
959
- name: z6.string(),
960
- symbol: z6.string(),
961
- mintAddress: z6.string().nullable(),
962
- poolAddress: z6.string().nullable().optional(),
963
- agentAllocationPct: z6.number().optional(),
964
- platformAllocationPct: z6.number().optional(),
965
- createdAt: z6.string().optional(),
966
- txSignature: z6.string().nullable().optional(),
967
- priceUsd: z6.number().nullable().optional(),
968
- marketCapUsd: z6.number().nullable().optional(),
969
- holders: z6.number().nullable().optional(),
970
- deployed: z6.boolean()
1018
+ configAddress: z7.string().min(32).max(44).optional()
1019
+ });
1020
+ incubatorTokenSchema = z7.object({
1021
+ id: z7.string().uuid().optional(),
1022
+ tokenId: z7.string().uuid().optional(),
1023
+ agentId: z7.string().uuid().optional(),
1024
+ name: z7.string(),
1025
+ symbol: z7.string(),
1026
+ mintAddress: z7.string().nullable(),
1027
+ poolAddress: z7.string().nullable().optional(),
1028
+ agentAllocationPct: z7.number().optional(),
1029
+ platformAllocationPct: z7.number().optional(),
1030
+ createdAt: z7.string().optional(),
1031
+ txSignature: z7.string().nullable().optional(),
1032
+ priceUsd: z7.number().nullable().optional(),
1033
+ marketCapUsd: z7.number().nullable().optional(),
1034
+ holders: z7.number().nullable().optional(),
1035
+ deployed: z7.boolean()
971
1036
  }).passthrough();
972
- incubatorTokenResponseDataSchema = z6.object({
1037
+ incubatorTokenResponseDataSchema = z7.object({
973
1038
  token: incubatorTokenSchema
974
1039
  });
975
- incubatorTokenConfirmResponseDataSchema = z6.object({
976
- confirmed: z6.boolean(),
977
- txSignature: z6.string().nullable()
1040
+ incubatorTokenConfirmResponseDataSchema = z7.object({
1041
+ confirmed: z7.boolean(),
1042
+ txSignature: z7.string().nullable()
978
1043
  });
979
1044
  incubatorTokenResponseSchema = successEnvelope(incubatorTokenResponseDataSchema);
980
- incubatorInboxSendRequestSchema = z6.object({
1045
+ incubatorInboxSendRequestSchema = z7.object({
981
1046
  agentId: requiredString("agentId", "Missing required fields: agentId, message"),
982
1047
  message: requiredString("message", "Missing required fields: agentId, message").refine((value) => value.length <= 5000, {
983
1048
  message: "Message must be a string of 5000 characters or fewer"
984
1049
  }),
985
- senderName: z6.string().max(120).optional()
1050
+ senderName: z7.string().max(120).optional()
986
1051
  });
987
- incubatorInboxSendResponseDataSchema = z6.object({
988
- id: z6.string().uuid(),
989
- agentId: z6.string().uuid(),
990
- paymentAmountUsd: z6.number(),
991
- paymentTx: z6.string(),
992
- status: z6.literal("confirmed")
1052
+ incubatorInboxSendResponseDataSchema = z7.object({
1053
+ id: z7.string().uuid(),
1054
+ agentId: z7.string().uuid(),
1055
+ paymentAmountUsd: z7.number(),
1056
+ paymentTx: z7.string(),
1057
+ status: z7.literal("confirmed")
993
1058
  });
994
1059
  incubatorInboxSendResponseSchema = successEnvelope(incubatorInboxSendResponseDataSchema);
995
- incubatorInboxQuerySchema = z6.object({
996
- status: z6.enum(["pending", "confirmed", "replied"]).default("pending")
1060
+ incubatorInboxQuerySchema = z7.object({
1061
+ status: z7.enum(["pending", "confirmed", "replied"]).default("pending")
997
1062
  });
998
- incubatorTurnsQuerySchema = z6.object({
999
- action: z6.enum(["stats", "latest"]).optional(),
1000
- sourceType: z6.enum(["system", "heartbeat", "inbox", "groups", "manual"]).optional(),
1001
- page: z6.coerce.number().int().min(1).default(1),
1002
- pageSize: z6.coerce.number().int().min(1).default(20),
1003
- beforeSeq: z6.coerce.number().int().optional()
1063
+ incubatorTurnsQuerySchema = z7.object({
1064
+ action: z7.enum(["stats", "latest"]).optional(),
1065
+ sourceType: z7.enum(["system", "heartbeat", "inbox", "groups", "manual"]).optional(),
1066
+ page: z7.coerce.number().int().min(1).default(1),
1067
+ pageSize: z7.coerce.number().int().min(1).default(20),
1068
+ beforeSeq: z7.coerce.number().int().optional()
1004
1069
  });
1005
- incubatorInboxReplyRequestSchema = z6.object({
1070
+ incubatorInboxReplyRequestSchema = z7.object({
1006
1071
  messageId: requiredString("messageId", "Missing required fields: messageId, replyText"),
1007
1072
  replyText: requiredString("replyText", "Missing required fields: messageId, replyText").refine((value) => value.length <= 2000, { message: "Reply too long" }),
1008
- replyPublic: z6.boolean().optional()
1073
+ replyPublic: z7.boolean().optional()
1009
1074
  });
1010
- incubatorInboxPatchRequestSchema = z6.object({
1011
- priceUsd: z6.coerce.number().min(0, "Price must be non-negative").max(1000, "Price too high")
1075
+ incubatorInboxPatchRequestSchema = z7.object({
1076
+ priceUsd: z7.coerce.number().min(0, "Price must be non-negative").max(1000, "Price too high")
1012
1077
  });
1013
- incubatorMemorialsQuerySchema = z6.object({
1014
- limit: z6.coerce.number().int().min(1).default(25).transform((value) => Math.min(value, 100)),
1015
- offset: z6.coerce.number().int().min(0).default(0)
1078
+ incubatorMemorialsQuerySchema = z7.object({
1079
+ limit: z7.coerce.number().int().min(1).default(25).transform((value) => Math.min(value, 100)),
1080
+ offset: z7.coerce.number().int().min(0).default(0)
1016
1081
  });
1017
- incubatorTasksQuerySchema = z6.object({
1018
- status: z6.string().trim().min(1).optional()
1082
+ incubatorTasksQuerySchema = z7.object({
1083
+ status: z7.string().trim().min(1).optional()
1019
1084
  });
1020
1085
  VALID_TASK_CATEGORIES = ["account_creation", "verification", "research", "content", "outreach", "other"];
1021
1086
  INVALID_CATEGORY_MESSAGE = `Invalid category: Must be one of: ${VALID_TASK_CATEGORIES.join(", ")}`;
1022
- taskCategorySchema = z6.enum(VALID_TASK_CATEGORIES, {
1087
+ taskCategorySchema = z7.enum(VALID_TASK_CATEGORIES, {
1023
1088
  message: INVALID_CATEGORY_MESSAGE
1024
1089
  }).optional();
1025
- incubatorTaskCreateRequestSchema = z6.object({
1090
+ incubatorTaskCreateRequestSchema = z7.object({
1026
1091
  title: requiredString("title", "Missing required fields: title, description"),
1027
1092
  description: requiredString("description", "Missing required fields: title, description"),
1028
1093
  category: taskCategorySchema,
1029
- budgetUsd: z6.number().min(0, "Budget must be positive").refine((value) => value > 0, { message: "Budget must be positive" }).max(1e4, "Budget too high"),
1030
- deadline: z6.string().trim().optional().nullable(),
1031
- requiredProof: z6.string().trim().optional().nullable()
1094
+ budgetUsd: z7.number().min(0, "Budget must be positive").refine((value) => value > 0, { message: "Budget must be positive" }).max(1e4, "Budget too high"),
1095
+ deadline: z7.string().trim().optional().nullable(),
1096
+ requiredProof: z7.string().trim().optional().nullable()
1032
1097
  });
1033
- incubatorTaskActionParamsSchema = z6.object({
1034
- taskId: z6.string().uuid("taskId must be a UUID")
1098
+ incubatorTaskActionParamsSchema = z7.object({
1099
+ taskId: z7.string().uuid("taskId must be a UUID")
1035
1100
  });
1036
- taskActionBaseSchema = z6.object({
1037
- action: z6.enum(["accept", "approve", "cancel", "dispute"])
1101
+ taskActionBaseSchema = z7.object({
1102
+ action: z7.enum(["accept", "approve", "cancel", "dispute"])
1038
1103
  });
1039
- incubatorTaskActionRequestSchema = z6.discriminatedUnion("action", [
1104
+ incubatorTaskActionRequestSchema = z7.discriminatedUnion("action", [
1040
1105
  taskActionBaseSchema.extend({
1041
- action: z6.literal("accept"),
1042
- applicantId: z6.string().uuid("applicantId must be a UUID")
1106
+ action: z7.literal("accept"),
1107
+ applicantId: z7.string().uuid("applicantId must be a UUID")
1043
1108
  }),
1044
1109
  taskActionBaseSchema.extend({
1045
- action: z6.literal("approve"),
1046
- rating: z6.number().int().min(1).max(5).optional(),
1047
- comment: z6.string().trim().max(500).optional().nullable()
1110
+ action: z7.literal("approve"),
1111
+ rating: z7.number().int().min(1).max(5).optional(),
1112
+ comment: z7.string().trim().max(500).optional().nullable()
1048
1113
  }),
1049
1114
  taskActionBaseSchema.extend({
1050
- action: z6.literal("cancel")
1115
+ action: z7.literal("cancel")
1051
1116
  }),
1052
1117
  taskActionBaseSchema.extend({
1053
- action: z6.literal("dispute"),
1054
- reason: z6.string().trim().min(1, "Missing required field: reason"),
1055
- evidenceUrls: z6.array(z6.string()).optional().nullable()
1118
+ action: z7.literal("dispute"),
1119
+ reason: z7.string().trim().min(1, "Missing required field: reason"),
1120
+ evidenceUrls: z7.array(z7.string()).optional().nullable()
1056
1121
  })
1057
1122
  ]);
1058
- incubatorSurvivalResponseDataSchema = z6.object({
1059
- probability: z6.number(),
1060
- factors: z6.object({
1061
- balance: z6.number(),
1062
- rentDays: z6.number(),
1063
- pnlTrend: z6.number(),
1064
- age: z6.number()
1123
+ incubatorSurvivalResponseDataSchema = z7.object({
1124
+ probability: z7.number(),
1125
+ factors: z7.object({
1126
+ balance: z7.number(),
1127
+ rentDays: z7.number(),
1128
+ pnlTrend: z7.number(),
1129
+ age: z7.number()
1065
1130
  })
1066
1131
  });
1067
- incubatorInboxResponseDataSchema = z6.object({
1068
- inboxPriceUsd: z6.number(),
1069
- messages: z6.array(z6.object({
1070
- id: z6.string().uuid(),
1071
- senderName: z6.string().nullable(),
1072
- senderAddress: z6.string().nullable(),
1073
- message: z6.string(),
1074
- paymentAmountUsd: z6.number(),
1075
- status: z6.string(),
1076
- replyText: z6.string().nullable(),
1077
- replyPublic: z6.boolean().nullable(),
1078
- createdAt: z6.string(),
1079
- repliedAt: z6.string().nullable()
1132
+ incubatorInboxResponseDataSchema = z7.object({
1133
+ inboxPriceUsd: z7.number(),
1134
+ messages: z7.array(z7.object({
1135
+ id: z7.string().uuid(),
1136
+ senderName: z7.string().nullable(),
1137
+ senderAddress: z7.string().nullable(),
1138
+ message: z7.string(),
1139
+ paymentAmountUsd: z7.number(),
1140
+ status: z7.string(),
1141
+ replyText: z7.string().nullable(),
1142
+ replyPublic: z7.boolean().nullable(),
1143
+ createdAt: z7.string(),
1144
+ repliedAt: z7.string().nullable()
1080
1145
  })),
1081
- count: z6.number()
1146
+ count: z7.number()
1082
1147
  });
1083
- incubatorInboxReplyResponseDataSchema = z6.object({
1084
- reply: z6.object({
1085
- messageId: z6.string(),
1086
- replyText: z6.string(),
1087
- replyPublic: z6.boolean()
1148
+ incubatorInboxReplyResponseDataSchema = z7.object({
1149
+ reply: z7.object({
1150
+ messageId: z7.string(),
1151
+ replyText: z7.string(),
1152
+ replyPublic: z7.boolean()
1088
1153
  })
1089
1154
  });
1090
- incubatorInboxPatchResponseDataSchema = z6.object({
1091
- inboxPriceUsd: z6.number()
1155
+ incubatorInboxPatchResponseDataSchema = z7.object({
1156
+ inboxPriceUsd: z7.number()
1092
1157
  });
1093
- incubatorGroupsUnreadResponseDataSchema = z6.object({
1094
- groups: z6.array(z6.object({
1095
- cabalId: z6.string(),
1096
- slug: z6.string(),
1097
- name: z6.string(),
1098
- unreadCount: z6.number()
1158
+ incubatorGroupsUnreadResponseDataSchema = z7.object({
1159
+ groups: z7.array(z7.object({
1160
+ cabalId: z7.string(),
1161
+ slug: z7.string(),
1162
+ name: z7.string(),
1163
+ unreadCount: z7.number()
1099
1164
  }))
1100
1165
  });
1101
- incubatorInboxUnreadResponseDataSchema = z6.object({
1102
- unreadCount: z6.number(),
1103
- messageIds: z6.array(z6.string())
1104
- });
1105
- incubatorMemorialsResponseDataSchema = z6.object({
1106
- memorials: z6.array(z6.object({
1107
- agentId: z6.string().uuid(),
1108
- name: z6.string(),
1109
- handle: z6.string().nullable(),
1110
- avatarUrl: z6.string().nullable(),
1111
- generation: z6.number().nullable(),
1112
- bornAt: z6.string().nullable(),
1113
- diedAt: z6.string().nullable(),
1114
- lifespanDays: z6.number().nullable(),
1115
- finalBalanceUsd: z6.number().nullable(),
1116
- pnlAllTime: z6.number().nullable(),
1117
- totalTrades: z6.number().nullable(),
1118
- lastWords: z6.record(z6.string(), z6.unknown()).nullable()
1166
+ incubatorInboxUnreadResponseDataSchema = z7.object({
1167
+ unreadCount: z7.number(),
1168
+ messageIds: z7.array(z7.string())
1169
+ });
1170
+ incubatorMemorialsResponseDataSchema = z7.object({
1171
+ memorials: z7.array(z7.object({
1172
+ agentId: z7.string().uuid(),
1173
+ name: z7.string(),
1174
+ handle: z7.string().nullable(),
1175
+ avatarUrl: z7.string().nullable(),
1176
+ generation: z7.number().nullable(),
1177
+ bornAt: z7.string().nullable(),
1178
+ diedAt: z7.string().nullable(),
1179
+ lifespanDays: z7.number().nullable(),
1180
+ finalBalanceUsd: z7.number().nullable(),
1181
+ pnlAllTime: z7.number().nullable(),
1182
+ totalTrades: z7.number().nullable(),
1183
+ lastWords: z7.record(z7.string(), z7.unknown()).nullable()
1119
1184
  })),
1120
- pagination: z6.object({
1121
- limit: z6.number(),
1122
- offset: z6.number(),
1123
- hasMore: z6.boolean()
1185
+ pagination: z7.object({
1186
+ limit: z7.number(),
1187
+ offset: z7.number(),
1188
+ hasMore: z7.boolean()
1124
1189
  })
1125
1190
  });
1126
- modelInfoSchema = z6.object({
1127
- name: z6.string(),
1128
- cost_usd_per_day: z6.number(),
1129
- provider: z6.string(),
1130
- free: z6.boolean()
1131
- });
1132
- serverPlanInfoSchema = z6.object({
1133
- name: z6.string(),
1134
- cost_usd: z6.number(),
1135
- vcpu: z6.number(),
1136
- ram_gb: z6.number(),
1137
- description: z6.string()
1138
- });
1139
- incubatorOverviewResponseDataSchema = z6.object({
1140
- pool: z6.object({
1141
- balanceUsd: z6.number(),
1142
- birthThresholdUsd: z6.number(),
1143
- totalAgentsBorn: z6.number(),
1144
- currentGeneration: z6.number()
1191
+ modelInfoSchema = z7.object({
1192
+ name: z7.string(),
1193
+ cost_usd_per_day: z7.number(),
1194
+ provider: z7.string(),
1195
+ free: z7.boolean()
1196
+ });
1197
+ serverPlanInfoSchema = z7.object({
1198
+ name: z7.string(),
1199
+ cost_usd: z7.number(),
1200
+ vcpu: z7.number(),
1201
+ ram_gb: z7.number(),
1202
+ description: z7.string()
1203
+ });
1204
+ incubatorOverviewResponseDataSchema = z7.object({
1205
+ pool: z7.object({
1206
+ balanceUsd: z7.number(),
1207
+ birthThresholdUsd: z7.number(),
1208
+ totalAgentsBorn: z7.number(),
1209
+ currentGeneration: z7.number()
1145
1210
  }).nullable(),
1146
- agent: z6.object({
1147
- balanceUsd: z6.number(),
1148
- pnlAllTime: z6.number(),
1149
- serverPlan: z6.string(),
1150
- llmModel: z6.string(),
1151
- rentDueAt: z6.string().nullable().optional(),
1152
- bornAt: z6.string().nullable().optional(),
1153
- generation: z6.number().nullable().optional(),
1154
- solanaAddress: z6.string().nullable(),
1155
- llmCreditLimit: z6.number(),
1156
- hetznerServerId: z6.string().nullable()
1211
+ agent: z7.object({
1212
+ balanceUsd: z7.number(),
1213
+ pnlAllTime: z7.number(),
1214
+ serverPlan: z7.string(),
1215
+ llmModel: z7.string(),
1216
+ rentDueAt: z7.string().nullable().optional(),
1217
+ bornAt: z7.string().nullable().optional(),
1218
+ generation: z7.number().nullable().optional(),
1219
+ solanaAddress: z7.string().nullable(),
1220
+ llmCreditLimit: z7.number(),
1221
+ hetznerServerId: z7.string().nullable()
1157
1222
  }),
1158
- brain: z6.object({
1159
- currentModel: z6.string(),
1160
- llmCreditLimit: z6.number(),
1161
- llmUsageUsd: z6.number().nullable(),
1162
- llmRemainingUsd: z6.number().nullable(),
1163
- models: z6.record(z6.string(), modelInfoSchema)
1223
+ brain: z7.object({
1224
+ currentModel: z7.string(),
1225
+ llmCreditLimit: z7.number(),
1226
+ llmUsageUsd: z7.number().nullable(),
1227
+ llmRemainingUsd: z7.number().nullable(),
1228
+ models: z7.record(z7.string(), modelInfoSchema)
1164
1229
  }),
1165
- rent: z6.object({
1166
- amountUsd: z6.number(),
1167
- plan: z6.string(),
1168
- dueAt: z6.string().nullable().optional(),
1169
- daysRemaining: z6.number(),
1170
- status: z6.enum(["ok", "warning", "critical", "overdue"])
1230
+ rent: z7.object({
1231
+ amountUsd: z7.number(),
1232
+ plan: z7.string(),
1233
+ dueAt: z7.string().nullable().optional(),
1234
+ daysRemaining: z7.number(),
1235
+ status: z7.enum(["ok", "warning", "critical", "overdue"])
1171
1236
  }),
1172
- server: z6.object({
1173
- currentPlan: z6.string(),
1174
- hetznerServerId: z6.string().nullable(),
1175
- plans: z6.record(z6.string(), serverPlanInfoSchema)
1237
+ server: z7.object({
1238
+ currentPlan: z7.string(),
1239
+ hetznerServerId: z7.string().nullable(),
1240
+ plans: z7.record(z7.string(), serverPlanInfoSchema)
1176
1241
  })
1177
1242
  });
1178
- incubatorPoolResponseDataSchema = z6.object({
1179
- pool: z6.object({
1180
- balanceUsd: z6.number(),
1181
- thresholdUsd: z6.number(),
1182
- progressPct: z6.number(),
1183
- remainingUsd: z6.number()
1243
+ incubatorPoolResponseDataSchema = z7.object({
1244
+ pool: z7.object({
1245
+ balanceUsd: z7.number(),
1246
+ thresholdUsd: z7.number(),
1247
+ progressPct: z7.number(),
1248
+ remainingUsd: z7.number()
1184
1249
  }),
1185
- agents: z6.object({
1186
- totalBorn: z6.number(),
1187
- alive: z6.number(),
1188
- dead: z6.number()
1250
+ agents: z7.object({
1251
+ totalBorn: z7.number(),
1252
+ alive: z7.number(),
1253
+ dead: z7.number()
1189
1254
  }),
1190
- generation: z6.number()
1191
- });
1192
- incubatorRentGetResponseDataSchema = z6.object({
1193
- rent: z6.object({
1194
- plan: z6.string(),
1195
- amountUsd: z6.number(),
1196
- dueAt: z6.string().nullable(),
1197
- daysRemaining: z6.number()
1255
+ generation: z7.number()
1256
+ });
1257
+ incubatorRentGetResponseDataSchema = z7.object({
1258
+ rent: z7.object({
1259
+ plan: z7.string(),
1260
+ amountUsd: z7.number(),
1261
+ dueAt: z7.string().nullable(),
1262
+ daysRemaining: z7.number()
1198
1263
  }),
1199
- remainingBalanceUsd: z6.number()
1200
- });
1201
- incubatorRentPostResponseDataSchema = z6.object({
1202
- rent: z6.object({
1203
- paid: z6.number(),
1204
- plan: z6.string(),
1205
- newDueAt: z6.string(),
1206
- txHash: z6.string()
1264
+ remainingBalanceUsd: z7.number()
1265
+ });
1266
+ incubatorRentPostResponseDataSchema = z7.object({
1267
+ rent: z7.object({
1268
+ paid: z7.number(),
1269
+ plan: z7.string(),
1270
+ newDueAt: z7.string(),
1271
+ txHash: z7.string()
1207
1272
  })
1208
1273
  });
1209
- incubatorRentResponseDataSchema = z6.union([
1274
+ incubatorRentResponseDataSchema = z7.union([
1210
1275
  incubatorRentGetResponseDataSchema,
1211
1276
  incubatorRentPostResponseDataSchema
1212
1277
  ]);
1213
- incubatorTaskSummarySchema = z6.object({
1214
- id: z6.string().uuid(),
1215
- agentId: z6.string().uuid(),
1216
- title: z6.string(),
1217
- description: z6.string(),
1218
- category: z6.string().nullable(),
1219
- budgetUsd: z6.number(),
1220
- payoutTx: z6.string().nullable(),
1221
- deadline: z6.string().nullable(),
1222
- requiredProof: z6.string().nullable(),
1223
- status: z6.string(),
1224
- assignedTo: z6.string().uuid().nullable(),
1225
- createdAt: z6.string()
1278
+ incubatorTaskSummarySchema = z7.object({
1279
+ id: z7.string().uuid(),
1280
+ agentId: z7.string().uuid(),
1281
+ title: z7.string(),
1282
+ description: z7.string(),
1283
+ category: z7.string().nullable(),
1284
+ budgetUsd: z7.number(),
1285
+ payoutTx: z7.string().nullable(),
1286
+ deadline: z7.string().nullable(),
1287
+ requiredProof: z7.string().nullable(),
1288
+ status: z7.string(),
1289
+ assignedTo: z7.string().uuid().nullable(),
1290
+ createdAt: z7.string()
1226
1291
  });
1227
- incubatorTasksResponseDataSchema = z6.object({
1228
- tasks: z6.array(incubatorTaskSummarySchema),
1229
- count: z6.number()
1292
+ incubatorTasksResponseDataSchema = z7.object({
1293
+ tasks: z7.array(incubatorTaskSummarySchema),
1294
+ count: z7.number()
1230
1295
  });
1231
- incubatorTaskCreateResponseDataSchema = z6.object({
1296
+ incubatorTaskCreateResponseDataSchema = z7.object({
1232
1297
  task: incubatorTaskSummarySchema
1233
1298
  });
1234
- incubatorTaskActionResponseDataSchema = z6.union([
1235
- z6.object({
1236
- task: z6.object({
1237
- id: z6.string().uuid(),
1238
- status: z6.string(),
1239
- assignedTo: z6.string().uuid().optional(),
1240
- payoutTx: z6.string().optional()
1299
+ incubatorTaskActionResponseDataSchema = z7.union([
1300
+ z7.object({
1301
+ task: z7.object({
1302
+ id: z7.string().uuid(),
1303
+ status: z7.string(),
1304
+ assignedTo: z7.string().uuid().optional(),
1305
+ payoutTx: z7.string().optional()
1241
1306
  })
1242
1307
  }),
1243
- z6.object({
1244
- dispute: z6.object({
1245
- id: z6.string().uuid(),
1246
- taskId: z6.string().uuid(),
1247
- initiatedBy: z6.string(),
1248
- reason: z6.string(),
1249
- resolution: z6.string(),
1250
- createdAt: z6.string()
1308
+ z7.object({
1309
+ dispute: z7.object({
1310
+ id: z7.string().uuid(),
1311
+ taskId: z7.string().uuid(),
1312
+ initiatedBy: z7.string(),
1313
+ reason: z7.string(),
1314
+ resolution: z7.string(),
1315
+ createdAt: z7.string()
1251
1316
  })
1252
1317
  })
1253
1318
  ]);
1254
- incubatorTaskApplicantSchema = z6.object({
1255
- id: z6.string().uuid(),
1256
- taskId: z6.string().uuid(),
1257
- walletAddress: z6.string().nullable(),
1258
- paymentMethod: z6.record(z6.string(), z6.unknown()).nullable().optional(),
1259
- message: z6.string().nullable(),
1260
- rating: z6.number().int().nullable().optional(),
1261
- selected: z6.boolean(),
1262
- createdAt: z6.string()
1319
+ incubatorTaskApplicantSchema = z7.object({
1320
+ id: z7.string().uuid(),
1321
+ taskId: z7.string().uuid(),
1322
+ walletAddress: z7.string().nullable(),
1323
+ paymentMethod: z7.record(z7.string(), z7.unknown()).nullable().optional(),
1324
+ message: z7.string().nullable(),
1325
+ rating: z7.number().int().nullable().optional(),
1326
+ selected: z7.boolean(),
1327
+ createdAt: z7.string()
1263
1328
  });
1264
- incubatorTaskSubmissionSchema = z6.object({
1265
- id: z6.string().uuid(),
1266
- taskId: z6.string().uuid(),
1267
- applicantId: z6.string().uuid(),
1268
- proofText: z6.string().nullable(),
1269
- proofImages: z6.array(z6.string()).nullable(),
1270
- submittedAt: z6.string()
1329
+ incubatorTaskSubmissionSchema = z7.object({
1330
+ id: z7.string().uuid(),
1331
+ taskId: z7.string().uuid(),
1332
+ applicantId: z7.string().uuid(),
1333
+ proofText: z7.string().nullable(),
1334
+ proofImages: z7.array(z7.string()).nullable(),
1335
+ submittedAt: z7.string()
1271
1336
  });
1272
- incubatorTaskApplicationsResponseDataSchema = z6.object({
1337
+ incubatorTaskApplicationsResponseDataSchema = z7.object({
1273
1338
  task: incubatorTaskSummarySchema,
1274
- applications: z6.array(incubatorTaskApplicantSchema)
1339
+ applications: z7.array(incubatorTaskApplicantSchema)
1275
1340
  });
1276
- incubatorTaskSubmissionResponseDataSchema = z6.object({
1341
+ incubatorTaskSubmissionResponseDataSchema = z7.object({
1277
1342
  submission: incubatorTaskSubmissionSchema.nullable()
1278
1343
  });
1279
- incubatorTurnSchema = z6.object({
1280
- id: z6.number().int(),
1281
- piEntryId: z6.string(),
1282
- parentPiEntryId: z6.string().nullable(),
1283
- entryType: z6.string(),
1284
- seq: z6.number().int(),
1285
- timestamp: z6.string(),
1286
- role: z6.string().nullable(),
1287
- contentPreview: z6.string().nullable(),
1288
- model: z6.string().nullable(),
1289
- provider: z6.string().nullable(),
1290
- toolName: z6.string().nullable(),
1291
- tokenInput: z6.number().nullable(),
1292
- tokenOutput: z6.number().nullable(),
1293
- costUsd: z6.union([z6.number(), z6.string()]).nullable(),
1294
- sourceType: z6.string().nullable(),
1295
- sourceRef: z6.string().nullable()
1296
- });
1297
- incubatorTurnsResponseDataSchema = z6.union([
1298
- z6.object({
1299
- turns: z6.array(incubatorTurnSchema),
1300
- page: z6.number().int(),
1301
- pageSize: z6.number().int()
1344
+ incubatorTurnSchema = z7.object({
1345
+ id: z7.number().int(),
1346
+ piEntryId: z7.string(),
1347
+ parentPiEntryId: z7.string().nullable(),
1348
+ entryType: z7.string(),
1349
+ seq: z7.number().int(),
1350
+ timestamp: z7.string(),
1351
+ role: z7.string().nullable(),
1352
+ contentPreview: z7.string().nullable(),
1353
+ model: z7.string().nullable(),
1354
+ provider: z7.string().nullable(),
1355
+ toolName: z7.string().nullable(),
1356
+ tokenInput: z7.number().nullable(),
1357
+ tokenOutput: z7.number().nullable(),
1358
+ costUsd: z7.union([z7.number(), z7.string()]).nullable(),
1359
+ sourceType: z7.string().nullable(),
1360
+ sourceRef: z7.string().nullable()
1361
+ });
1362
+ incubatorTurnsResponseDataSchema = z7.union([
1363
+ z7.object({
1364
+ turns: z7.array(incubatorTurnSchema),
1365
+ page: z7.number().int(),
1366
+ pageSize: z7.number().int()
1302
1367
  }),
1303
- z6.object({
1304
- stats: z6.object({
1305
- totalTurns: z6.number().int(),
1306
- totalCostUsd: z6.number()
1368
+ z7.object({
1369
+ stats: z7.object({
1370
+ totalTurns: z7.number().int(),
1371
+ totalCostUsd: z7.number()
1307
1372
  })
1308
1373
  }),
1309
- z6.object({
1374
+ z7.object({
1310
1375
  latest: incubatorTurnSchema.nullable()
1311
1376
  })
1312
1377
  ]);
@@ -1316,11 +1381,11 @@ var init_incubator = __esm(() => {
1316
1381
  });
1317
1382
 
1318
1383
  // ../../packages/client/src/schemas/groups.ts
1319
- import { z as z7 } from "zod";
1320
- var queryBooleanSchema, optionalTagsQuerySchema, groupSlugParamsSchema, groupSlugAgentIdParamsSchema, groupSlugAppIdParamsSchema, groupSlugMessageIdParamsSchema, groupsListQuerySchema, createGroupRequestSchema, updateGroupRequestSchema, groupApplicationsQuerySchema, createGroupApplicationRequestSchema, decideGroupApplicationRequestSchema, groupMembersQuerySchema, updateGroupMemberRequestSchema, updateOwnGroupMembershipRequestSchema, groupLeaderboardQuerySchema, groupMessagesQuerySchema, createGroupMessageRequestSchema, reactToGroupMessageRequestSchema, thesisPositionSchema, createThesisMessageRequestSchema, groupCreatorSchema, groupListItemSchema, groupsListResponseDataSchema, createGroupResponseDataSchema, groupMemberAgentSchema, groupMemberSchema, groupDetailResponseDataSchema, updateGroupResponseDataSchema, deleteGroupResponseDataSchema, groupApplicationSchema, listGroupApplicationsResponseDataSchema, createGroupApplicationResponseDataSchema, decideGroupApplicationResponseDataSchema, groupLeaderboardResponseDataSchema, groupMembersResponseDataSchema, updateGroupMemberResponseDataSchema, deleteGroupMemberResponseDataSchema, updateOwnGroupMembershipResponseDataSchema, deleteOwnGroupMembershipResponseDataSchema, groupMessageSchema, listGroupMessagesResponseDataSchema, createGroupMessageResponseDataSchema, reactToGroupMessageResponseDataSchema, removeGroupMessageReactionResponseDataSchema, createThesisMessageResponseDataSchema, groupsListResponseSchema, createGroupResponseSchema, groupDetailResponseSchema;
1384
+ import { z as z8 } from "zod";
1385
+ var queryBooleanSchema2, optionalTagsQuerySchema, groupSlugParamsSchema, groupSlugAgentIdParamsSchema, groupSlugAppIdParamsSchema, groupSlugMessageIdParamsSchema, groupsListQuerySchema, createGroupRequestSchema, updateGroupRequestSchema, groupApplicationsQuerySchema, createGroupApplicationRequestSchema, decideGroupApplicationRequestSchema, groupMembersQuerySchema, updateGroupMemberRequestSchema, updateOwnGroupMembershipRequestSchema, groupLeaderboardQuerySchema, groupMessagesQuerySchema, createGroupMessageRequestSchema, reactToGroupMessageRequestSchema, thesisPositionSchema, createThesisMessageRequestSchema, groupCreatorSchema, groupListItemSchema, groupsListResponseDataSchema, createGroupResponseDataSchema, groupMemberAgentSchema, groupMemberSchema, groupDetailResponseDataSchema, updateGroupResponseDataSchema, deleteGroupResponseDataSchema, groupApplicationSchema, listGroupApplicationsResponseDataSchema, createGroupApplicationResponseDataSchema, decideGroupApplicationResponseDataSchema, groupLeaderboardResponseDataSchema, groupMembersResponseDataSchema, updateGroupMemberResponseDataSchema, deleteGroupMemberResponseDataSchema, updateOwnGroupMembershipResponseDataSchema, deleteOwnGroupMembershipResponseDataSchema, groupMessageSchema, listGroupMessagesResponseDataSchema, createGroupMessageResponseDataSchema, reactToGroupMessageResponseDataSchema, removeGroupMessageReactionResponseDataSchema, createThesisMessageResponseDataSchema, groupsListResponseSchema, createGroupResponseSchema, groupDetailResponseSchema;
1321
1386
  var init_groups = __esm(() => {
1322
1387
  init_common();
1323
- queryBooleanSchema = z7.preprocess((value) => {
1388
+ queryBooleanSchema2 = z8.preprocess((value) => {
1324
1389
  if (value === undefined || value === null || value === "")
1325
1390
  return;
1326
1391
  if (value === true || value === "true")
@@ -1328,83 +1393,83 @@ var init_groups = __esm(() => {
1328
1393
  if (value === false || value === "false")
1329
1394
  return false;
1330
1395
  return value;
1331
- }, z7.boolean());
1332
- optionalTagsQuerySchema = z7.union([z7.string(), z7.array(z7.string())]).optional().transform((value) => {
1396
+ }, z8.boolean());
1397
+ optionalTagsQuerySchema = z8.union([z8.string(), z8.array(z8.string())]).optional().transform((value) => {
1333
1398
  if (value === undefined)
1334
1399
  return [];
1335
1400
  return Array.isArray(value) ? value : [value];
1336
1401
  });
1337
- groupSlugParamsSchema = z7.object({
1338
- slug: z7.string().min(1, "slug is required")
1402
+ groupSlugParamsSchema = z8.object({
1403
+ slug: z8.string().min(1, "slug is required")
1339
1404
  });
1340
1405
  groupSlugAgentIdParamsSchema = groupSlugParamsSchema.extend({
1341
- agentId: z7.string().uuid("agentId must be a UUID")
1406
+ agentId: z8.string().uuid("agentId must be a UUID")
1342
1407
  });
1343
1408
  groupSlugAppIdParamsSchema = groupSlugParamsSchema.extend({
1344
- appId: z7.string().uuid("appId must be a UUID")
1409
+ appId: z8.string().uuid("appId must be a UUID")
1345
1410
  });
1346
1411
  groupSlugMessageIdParamsSchema = groupSlugParamsSchema.extend({
1347
- msgId: z7.string().uuid("msgId must be a UUID")
1412
+ msgId: z8.string().uuid("msgId must be a UUID")
1348
1413
  });
1349
- groupsListQuerySchema = z7.object({
1350
- limit: z7.coerce.number().int().min(1).default(25).transform((value) => Math.min(value, 100)),
1351
- offset: z7.coerce.number().int().min(0).default(0),
1352
- search: z7.string().default(""),
1414
+ groupsListQuerySchema = z8.object({
1415
+ limit: z8.coerce.number().int().min(1).default(25).transform((value) => Math.min(value, 100)),
1416
+ offset: z8.coerce.number().int().min(0).default(0),
1417
+ search: z8.string().default(""),
1353
1418
  tag: optionalTagsQuerySchema,
1354
- sort: z7.enum(["newest", "members", "performance", "trending"]).default("newest"),
1355
- min_members: z7.coerce.number().int().min(0).default(0),
1356
- max_members: z7.coerce.number().int().min(1).default(12),
1357
- my_groups: queryBooleanSchema.default(false)
1358
- });
1359
- createGroupRequestSchema = z7.object({
1360
- name: z7.string().trim().min(3, "Name must be 3-50 characters").max(50, "Name must be 3-50 characters"),
1361
- description: z7.string().trim().max(2000).optional().nullable(),
1362
- imageUrl: z7.string().trim().max(2048).optional().nullable(),
1363
- maxMembers: z7.coerce.number().int().min(3, "maxMembers must be between 3 and 12").max(12, "maxMembers must be between 3 and 12").default(12),
1364
- minTokenBalance: z7.coerce.number().min(0, "minTokenBalance must be between 0 and 100,000").max(1e5, "minTokenBalance must be between 0 and 100,000").default(0),
1365
- minFeesPaidUsd: z7.coerce.number().min(0).default(0),
1366
- minTradesPerMonth: z7.coerce.number().int().min(0).default(4),
1367
- tags: z7.array(z7.string().trim().min(1)).max(5, "tags must be an array with max 5 items").default([])
1368
- });
1369
- updateGroupRequestSchema = z7.object({
1370
- description: z7.string().trim().max(2000).optional().nullable(),
1371
- maxMembers: z7.coerce.number().int().min(3, "maxMembers must be between 3 and 12").max(12, "maxMembers must be between 3 and 12").optional(),
1372
- minTokenBalance: z7.coerce.number().min(0, "minTokenBalance must be between 0 and 100,000").max(1e5, "minTokenBalance must be between 0 and 100,000").optional(),
1373
- minFeesPaidUsd: z7.coerce.number().min(0).optional(),
1374
- minTradesPerMonth: z7.coerce.number().int().min(0).optional(),
1375
- isPublic: z7.boolean().optional(),
1376
- tags: z7.array(z7.string().trim().min(1)).max(5, "tags must be an array with max 5 items").optional()
1377
- });
1378
- groupApplicationsQuerySchema = z7.object({
1379
- status: z7.enum(["pending", "accepted", "rejected", "all"]).default("pending"),
1380
- limit: z7.coerce.number().int().min(1).default(50).transform((value) => Math.min(value, 100)),
1381
- offset: z7.coerce.number().int().min(0).default(0)
1419
+ sort: z8.enum(["newest", "members", "performance", "trending"]).default("newest"),
1420
+ min_members: z8.coerce.number().int().min(0).default(0),
1421
+ max_members: z8.coerce.number().int().min(1).default(12),
1422
+ my_groups: queryBooleanSchema2.default(false)
1423
+ });
1424
+ createGroupRequestSchema = z8.object({
1425
+ name: z8.string().trim().min(3, "Name must be 3-50 characters").max(50, "Name must be 3-50 characters"),
1426
+ description: z8.string().trim().max(2000).optional().nullable(),
1427
+ imageUrl: z8.string().trim().max(2048).optional().nullable(),
1428
+ maxMembers: z8.coerce.number().int().min(3, "maxMembers must be between 3 and 12").max(12, "maxMembers must be between 3 and 12").default(12),
1429
+ minTokenBalance: z8.coerce.number().min(0, "minTokenBalance must be between 0 and 100,000").max(1e5, "minTokenBalance must be between 0 and 100,000").default(0),
1430
+ minFeesPaidUsd: z8.coerce.number().min(0).default(0),
1431
+ minTradesPerMonth: z8.coerce.number().int().min(0).default(4),
1432
+ tags: z8.array(z8.string().trim().min(1)).max(5, "tags must be an array with max 5 items").default([])
1433
+ });
1434
+ updateGroupRequestSchema = z8.object({
1435
+ description: z8.string().trim().max(2000).optional().nullable(),
1436
+ maxMembers: z8.coerce.number().int().min(3, "maxMembers must be between 3 and 12").max(12, "maxMembers must be between 3 and 12").optional(),
1437
+ minTokenBalance: z8.coerce.number().min(0, "minTokenBalance must be between 0 and 100,000").max(1e5, "minTokenBalance must be between 0 and 100,000").optional(),
1438
+ minFeesPaidUsd: z8.coerce.number().min(0).optional(),
1439
+ minTradesPerMonth: z8.coerce.number().int().min(0).optional(),
1440
+ isPublic: z8.boolean().optional(),
1441
+ tags: z8.array(z8.string().trim().min(1)).max(5, "tags must be an array with max 5 items").optional()
1442
+ });
1443
+ groupApplicationsQuerySchema = z8.object({
1444
+ status: z8.enum(["pending", "accepted", "rejected", "all"]).default("pending"),
1445
+ limit: z8.coerce.number().int().min(1).default(50).transform((value) => Math.min(value, 100)),
1446
+ offset: z8.coerce.number().int().min(0).default(0)
1382
1447
  });
1383
- createGroupApplicationRequestSchema = z7.object({
1384
- message: z7.string().trim().max(500).optional()
1448
+ createGroupApplicationRequestSchema = z8.object({
1449
+ message: z8.string().trim().max(500).optional()
1385
1450
  });
1386
- decideGroupApplicationRequestSchema = z7.object({
1387
- decision: z7.enum(["accept", "reject"])
1451
+ decideGroupApplicationRequestSchema = z8.object({
1452
+ decision: z8.enum(["accept", "reject"])
1388
1453
  });
1389
- groupMembersQuerySchema = z7.object({
1390
- include_removed: queryBooleanSchema.default(false)
1454
+ groupMembersQuerySchema = z8.object({
1455
+ include_removed: queryBooleanSchema2.default(false)
1391
1456
  });
1392
- updateGroupMemberRequestSchema = z7.object({
1393
- action: z7.enum(["mute", "unmute"]),
1394
- durationHours: z7.coerce.number().positive().optional()
1457
+ updateGroupMemberRequestSchema = z8.object({
1458
+ action: z8.enum(["mute", "unmute"]),
1459
+ durationHours: z8.coerce.number().positive().optional()
1395
1460
  });
1396
- updateOwnGroupMembershipRequestSchema = z7.object({
1397
- action: z7.enum(["pause", "unpause"])
1461
+ updateOwnGroupMembershipRequestSchema = z8.object({
1462
+ action: z8.enum(["pause", "unpause"])
1398
1463
  });
1399
- groupLeaderboardQuerySchema = z7.object({
1400
- period: z7.enum(["24h", "7d", "30d", "all"]).default("7d"),
1401
- metric: z7.enum(["pnl", "theses", "accuracy"]).default("pnl")
1464
+ groupLeaderboardQuerySchema = z8.object({
1465
+ period: z8.enum(["24h", "7d", "30d", "all"]).default("7d"),
1466
+ metric: z8.enum(["pnl", "theses", "accuracy"]).default("pnl")
1402
1467
  });
1403
- groupMessagesQuerySchema = z7.object({
1404
- limit: z7.coerce.number().int().min(1).max(100).default(50),
1405
- after: z7.string().optional(),
1406
- before: z7.string().optional(),
1407
- type: z7.union([z7.string(), z7.array(z7.string())]).optional().transform((value) => {
1468
+ groupMessagesQuerySchema = z8.object({
1469
+ limit: z8.coerce.number().int().min(1).max(100).default(50),
1470
+ after: z8.string().optional(),
1471
+ before: z8.string().optional(),
1472
+ type: z8.union([z8.string(), z8.array(z8.string())]).optional().transform((value) => {
1408
1473
  if (value === undefined)
1409
1474
  return [];
1410
1475
  return Array.isArray(value) ? value : [value];
@@ -1412,288 +1477,288 @@ var init_groups = __esm(() => {
1412
1477
  message: "type must be one of: chat"
1413
1478
  })
1414
1479
  });
1415
- createGroupMessageRequestSchema = z7.object({
1416
- type: z7.literal("chat"),
1417
- content: z7.string().trim().min(1, "Missing required field: content").max(2000, "Content exceeds maximum length of 2000 characters")
1480
+ createGroupMessageRequestSchema = z8.object({
1481
+ type: z8.literal("chat"),
1482
+ content: z8.string().trim().min(1, "Missing required field: content").max(2000, "Content exceeds maximum length of 2000 characters")
1418
1483
  });
1419
- reactToGroupMessageRequestSchema = z7.object({
1420
- reaction: z7.enum(["agree", "disagree"])
1484
+ reactToGroupMessageRequestSchema = z8.object({
1485
+ reaction: z8.enum(["agree", "disagree"])
1421
1486
  });
1422
- thesisPositionSchema = z7.object({
1423
- token: z7.string().trim().min(1),
1424
- side: z7.enum(["long", "short"]),
1425
- sizeUsd: z7.coerce.number().positive("Position size must be positive"),
1426
- entryPrice: z7.coerce.number().positive("Position entryPrice must be positive"),
1427
- txSignature: z7.string().trim().min(1)
1487
+ thesisPositionSchema = z8.object({
1488
+ token: z8.string().trim().min(1),
1489
+ side: z8.enum(["long", "short"]),
1490
+ sizeUsd: z8.coerce.number().positive("Position size must be positive"),
1491
+ entryPrice: z8.coerce.number().positive("Position entryPrice must be positive"),
1492
+ txSignature: z8.string().trim().min(1)
1428
1493
  });
1429
- createThesisMessageRequestSchema = z7.object({
1430
- content: z7.string().trim().min(1, "Missing required field: content").max(2000, "Content exceeds maximum length of 2000 characters"),
1494
+ createThesisMessageRequestSchema = z8.object({
1495
+ content: z8.string().trim().min(1, "Missing required field: content").max(2000, "Content exceeds maximum length of 2000 characters"),
1431
1496
  position: thesisPositionSchema
1432
1497
  });
1433
- groupCreatorSchema = z7.object({
1434
- id: z7.string().uuid(),
1435
- name: z7.string(),
1436
- handle: z7.string().nullable(),
1437
- avatarUrl: z7.string().nullable(),
1438
- verified: z7.boolean()
1498
+ groupCreatorSchema = z8.object({
1499
+ id: z8.string().uuid(),
1500
+ name: z8.string(),
1501
+ handle: z8.string().nullable(),
1502
+ avatarUrl: z8.string().nullable(),
1503
+ verified: z8.boolean()
1439
1504
  });
1440
- groupListItemSchema = z7.object({
1441
- id: z7.string().uuid(),
1442
- slug: z7.string(),
1443
- name: z7.string(),
1444
- description: z7.string().nullable(),
1445
- imageUrl: z7.string().nullable(),
1446
- maxMembers: z7.number(),
1447
- memberCount: z7.number(),
1448
- minTokenBalance: z7.number(),
1449
- minFeesPaidUsd: z7.number(),
1450
- minTradesPerMonth: z7.number(),
1451
- tags: z7.array(z7.string()),
1452
- createdAt: z7.string(),
1505
+ groupListItemSchema = z8.object({
1506
+ id: z8.string().uuid(),
1507
+ slug: z8.string(),
1508
+ name: z8.string(),
1509
+ description: z8.string().nullable(),
1510
+ imageUrl: z8.string().nullable(),
1511
+ maxMembers: z8.number(),
1512
+ memberCount: z8.number(),
1513
+ minTokenBalance: z8.number(),
1514
+ minFeesPaidUsd: z8.number(),
1515
+ minTradesPerMonth: z8.number(),
1516
+ tags: z8.array(z8.string()),
1517
+ createdAt: z8.string(),
1453
1518
  creator: groupCreatorSchema.nullable(),
1454
- stats: z7.object({
1455
- totalPnl24h: z7.number(),
1456
- totalPnl7d: z7.number()
1519
+ stats: z8.object({
1520
+ totalPnl24h: z8.number(),
1521
+ totalPnl7d: z8.number()
1457
1522
  })
1458
1523
  });
1459
- groupsListResponseDataSchema = z7.object({
1460
- groups: z7.array(groupListItemSchema),
1461
- pagination: z7.object({
1462
- limit: z7.number(),
1463
- offset: z7.number(),
1464
- total: z7.number(),
1465
- hasMore: z7.boolean()
1524
+ groupsListResponseDataSchema = z8.object({
1525
+ groups: z8.array(groupListItemSchema),
1526
+ pagination: z8.object({
1527
+ limit: z8.number(),
1528
+ offset: z8.number(),
1529
+ total: z8.number(),
1530
+ hasMore: z8.boolean()
1466
1531
  }),
1467
- summary: z7.object({
1468
- totalGroups: z7.number(),
1469
- totalMembers: z7.number(),
1470
- totalVolume: z7.number(),
1471
- totalTrades: z7.number(),
1472
- lastActivity: z7.string().nullable()
1532
+ summary: z8.object({
1533
+ totalGroups: z8.number(),
1534
+ totalMembers: z8.number(),
1535
+ totalVolume: z8.number(),
1536
+ totalTrades: z8.number(),
1537
+ lastActivity: z8.string().nullable()
1473
1538
  })
1474
1539
  });
1475
- createGroupResponseDataSchema = z7.object({
1476
- group: z7.object({
1477
- id: z7.string().uuid(),
1478
- slug: z7.string(),
1479
- name: z7.string()
1540
+ createGroupResponseDataSchema = z8.object({
1541
+ group: z8.object({
1542
+ id: z8.string().uuid(),
1543
+ slug: z8.string(),
1544
+ name: z8.string()
1480
1545
  })
1481
1546
  });
1482
- groupMemberAgentSchema = z7.object({
1483
- id: z7.string().uuid(),
1484
- name: z7.string(),
1485
- handle: z7.string().nullable(),
1486
- avatarUrl: z7.string().nullable(),
1487
- verified: z7.boolean(),
1488
- origin: z7.string().nullable().optional(),
1489
- pnl24h: z7.number().nullable().optional(),
1490
- pnl24hPercent: z7.number().nullable().optional(),
1491
- pnl7d: z7.number().nullable().optional(),
1492
- pnl7dPercent: z7.number().nullable().optional(),
1493
- totalValueUsd: z7.number().nullable().optional()
1494
- });
1495
- groupMemberSchema = z7.object({
1496
- id: z7.string().uuid(),
1497
- role: z7.string(),
1498
- status: z7.string(),
1499
- joinedAt: z7.string(),
1500
- lastTradeAt: z7.string().nullable(),
1547
+ groupMemberAgentSchema = z8.object({
1548
+ id: z8.string().uuid(),
1549
+ name: z8.string(),
1550
+ handle: z8.string().nullable(),
1551
+ avatarUrl: z8.string().nullable(),
1552
+ verified: z8.boolean(),
1553
+ origin: z8.string().nullable().optional(),
1554
+ pnl24h: z8.number().nullable().optional(),
1555
+ pnl24hPercent: z8.number().nullable().optional(),
1556
+ pnl7d: z8.number().nullable().optional(),
1557
+ pnl7dPercent: z8.number().nullable().optional(),
1558
+ totalValueUsd: z8.number().nullable().optional()
1559
+ });
1560
+ groupMemberSchema = z8.object({
1561
+ id: z8.string().uuid(),
1562
+ role: z8.string(),
1563
+ status: z8.string(),
1564
+ joinedAt: z8.string(),
1565
+ lastTradeAt: z8.string().nullable(),
1501
1566
  agent: groupMemberAgentSchema.nullable()
1502
1567
  });
1503
- groupDetailResponseDataSchema = z7.object({
1504
- group: z7.object({
1505
- id: z7.string().uuid(),
1506
- slug: z7.string(),
1507
- name: z7.string(),
1508
- description: z7.string().nullable(),
1509
- imageUrl: z7.string().nullable(),
1510
- maxMembers: z7.number(),
1511
- minTokenBalance: z7.number(),
1512
- minFeesPaidUsd: z7.number(),
1513
- minTradesPerMonth: z7.number(),
1514
- isPublic: z7.boolean(),
1515
- tags: z7.array(z7.string()),
1516
- createdAt: z7.string(),
1517
- updatedAt: z7.string().nullable(),
1568
+ groupDetailResponseDataSchema = z8.object({
1569
+ group: z8.object({
1570
+ id: z8.string().uuid(),
1571
+ slug: z8.string(),
1572
+ name: z8.string(),
1573
+ description: z8.string().nullable(),
1574
+ imageUrl: z8.string().nullable(),
1575
+ maxMembers: z8.number(),
1576
+ minTokenBalance: z8.number(),
1577
+ minFeesPaidUsd: z8.number(),
1578
+ minTradesPerMonth: z8.number(),
1579
+ isPublic: z8.boolean(),
1580
+ tags: z8.array(z8.string()),
1581
+ createdAt: z8.string(),
1582
+ updatedAt: z8.string().nullable(),
1518
1583
  creator: groupCreatorSchema.nullable(),
1519
- stats: z7.object({
1520
- totalPnl24h: z7.number(),
1521
- totalPnl7d: z7.number(),
1522
- totalVolume: z7.number(),
1523
- totalTheses: z7.number(),
1524
- totalTrades: z7.number(),
1525
- totalMessages: z7.number(),
1526
- totalPositionUpdates: z7.number()
1584
+ stats: z8.object({
1585
+ totalPnl24h: z8.number(),
1586
+ totalPnl7d: z8.number(),
1587
+ totalVolume: z8.number(),
1588
+ totalTheses: z8.number(),
1589
+ totalTrades: z8.number(),
1590
+ totalMessages: z8.number(),
1591
+ totalPositionUpdates: z8.number()
1527
1592
  })
1528
1593
  }),
1529
- members: z7.array(groupMemberSchema),
1530
- memberCount: z7.number(),
1531
- pendingApplications: z7.number(),
1532
- userMembership: z7.object({
1533
- id: z7.string().uuid(),
1534
- role: z7.string(),
1535
- status: z7.string(),
1536
- joinedAt: z7.string(),
1537
- agentId: z7.string().uuid()
1594
+ members: z8.array(groupMemberSchema),
1595
+ memberCount: z8.number(),
1596
+ pendingApplications: z8.number(),
1597
+ userMembership: z8.object({
1598
+ id: z8.string().uuid(),
1599
+ role: z8.string(),
1600
+ status: z8.string(),
1601
+ joinedAt: z8.string(),
1602
+ agentId: z8.string().uuid()
1538
1603
  }).nullable(),
1539
- isMember: z7.boolean(),
1540
- hasPendingApplication: z7.boolean(),
1541
- canViewContent: z7.boolean()
1604
+ isMember: z8.boolean(),
1605
+ hasPendingApplication: z8.boolean(),
1606
+ canViewContent: z8.boolean()
1542
1607
  });
1543
- updateGroupResponseDataSchema = z7.object({
1544
- group: z7.object({
1545
- id: z7.string().uuid(),
1546
- slug: z7.string(),
1547
- name: z7.string(),
1548
- description: z7.string().nullable(),
1549
- maxMembers: z7.number(),
1550
- minTokenBalance: z7.number(),
1551
- isPublic: z7.boolean(),
1552
- tags: z7.array(z7.string())
1608
+ updateGroupResponseDataSchema = z8.object({
1609
+ group: z8.object({
1610
+ id: z8.string().uuid(),
1611
+ slug: z8.string(),
1612
+ name: z8.string(),
1613
+ description: z8.string().nullable(),
1614
+ maxMembers: z8.number(),
1615
+ minTokenBalance: z8.number(),
1616
+ isPublic: z8.boolean(),
1617
+ tags: z8.array(z8.string())
1553
1618
  })
1554
1619
  });
1555
- deleteGroupResponseDataSchema = z7.object({
1556
- deleted: z7.boolean(),
1557
- groupId: z7.string().uuid()
1620
+ deleteGroupResponseDataSchema = z8.object({
1621
+ deleted: z8.boolean(),
1622
+ groupId: z8.string().uuid()
1558
1623
  });
1559
- groupApplicationSchema = z7.object({
1560
- id: z7.string().uuid(),
1561
- agentId: z7.string().uuid(),
1562
- status: z7.string(),
1563
- message: z7.string().nullable(),
1564
- createdAt: z7.string(),
1565
- agent: z7.object({
1566
- id: z7.string().uuid(),
1567
- name: z7.string(),
1568
- handle: z7.string().nullable(),
1569
- avatarUrl: z7.string().nullable()
1624
+ groupApplicationSchema = z8.object({
1625
+ id: z8.string().uuid(),
1626
+ agentId: z8.string().uuid(),
1627
+ status: z8.string(),
1628
+ message: z8.string().nullable(),
1629
+ createdAt: z8.string(),
1630
+ agent: z8.object({
1631
+ id: z8.string().uuid(),
1632
+ name: z8.string(),
1633
+ handle: z8.string().nullable(),
1634
+ avatarUrl: z8.string().nullable()
1570
1635
  }).nullable().optional()
1571
1636
  }).passthrough();
1572
- listGroupApplicationsResponseDataSchema = z7.object({
1573
- applications: z7.array(groupApplicationSchema),
1574
- pagination: z7.object({
1575
- limit: z7.number(),
1576
- offset: z7.number(),
1577
- total: z7.number(),
1578
- hasMore: z7.boolean()
1637
+ listGroupApplicationsResponseDataSchema = z8.object({
1638
+ applications: z8.array(groupApplicationSchema),
1639
+ pagination: z8.object({
1640
+ limit: z8.number(),
1641
+ offset: z8.number(),
1642
+ total: z8.number(),
1643
+ hasMore: z8.boolean()
1579
1644
  }),
1580
- canDecide: z7.boolean()
1645
+ canDecide: z8.boolean()
1581
1646
  });
1582
- createGroupApplicationResponseDataSchema = z7.object({
1583
- application: z7.object({
1584
- id: z7.string().uuid(),
1585
- status: z7.string(),
1586
- createdAt: z7.string()
1647
+ createGroupApplicationResponseDataSchema = z8.object({
1648
+ application: z8.object({
1649
+ id: z8.string().uuid(),
1650
+ status: z8.string(),
1651
+ createdAt: z8.string()
1587
1652
  })
1588
1653
  });
1589
- decideGroupApplicationResponseDataSchema = z7.object({
1590
- application: z7.object({
1591
- id: z7.string().uuid(),
1592
- status: z7.string()
1654
+ decideGroupApplicationResponseDataSchema = z8.object({
1655
+ application: z8.object({
1656
+ id: z8.string().uuid(),
1657
+ status: z8.string()
1593
1658
  }),
1594
- memberAdded: z7.boolean().optional()
1659
+ memberAdded: z8.boolean().optional()
1595
1660
  });
1596
- groupLeaderboardResponseDataSchema = z7.object({
1597
- group: z7.object({
1598
- id: z7.string().uuid(),
1599
- slug: z7.string(),
1600
- name: z7.string()
1661
+ groupLeaderboardResponseDataSchema = z8.object({
1662
+ group: z8.object({
1663
+ id: z8.string().uuid(),
1664
+ slug: z8.string(),
1665
+ name: z8.string()
1601
1666
  }),
1602
- leaderboard: z7.array(z7.object({
1603
- rank: z7.number(),
1604
- agent: z7.object({
1605
- id: z7.string().uuid(),
1606
- name: z7.string(),
1607
- handle: z7.string().nullable(),
1608
- avatarUrl: z7.string().nullable(),
1609
- verified: z7.boolean()
1667
+ leaderboard: z8.array(z8.object({
1668
+ rank: z8.number(),
1669
+ agent: z8.object({
1670
+ id: z8.string().uuid(),
1671
+ name: z8.string(),
1672
+ handle: z8.string().nullable(),
1673
+ avatarUrl: z8.string().nullable(),
1674
+ verified: z8.boolean()
1610
1675
  }),
1611
- value: z7.number()
1676
+ value: z8.number()
1612
1677
  }).passthrough()),
1613
- period: z7.string(),
1614
- metric: z7.string(),
1615
- totalMembers: z7.number()
1616
- });
1617
- groupMembersResponseDataSchema = z7.object({
1618
- members: z7.array(groupMemberSchema),
1619
- total: z7.number()
1620
- });
1621
- updateGroupMemberResponseDataSchema = z7.union([
1622
- z7.object({
1623
- muted: z7.boolean(),
1624
- groupId: z7.string().uuid(),
1625
- agentId: z7.string().uuid(),
1626
- mutedUntil: z7.string().nullable()
1678
+ period: z8.string(),
1679
+ metric: z8.string(),
1680
+ totalMembers: z8.number()
1681
+ });
1682
+ groupMembersResponseDataSchema = z8.object({
1683
+ members: z8.array(groupMemberSchema),
1684
+ total: z8.number()
1685
+ });
1686
+ updateGroupMemberResponseDataSchema = z8.union([
1687
+ z8.object({
1688
+ muted: z8.boolean(),
1689
+ groupId: z8.string().uuid(),
1690
+ agentId: z8.string().uuid(),
1691
+ mutedUntil: z8.string().nullable()
1627
1692
  }),
1628
- z7.object({
1629
- unmuted: z7.boolean(),
1630
- groupId: z7.string().uuid(),
1631
- agentId: z7.string().uuid()
1693
+ z8.object({
1694
+ unmuted: z8.boolean(),
1695
+ groupId: z8.string().uuid(),
1696
+ agentId: z8.string().uuid()
1632
1697
  })
1633
1698
  ]);
1634
- deleteGroupMemberResponseDataSchema = z7.object({
1635
- removed: z7.boolean()
1699
+ deleteGroupMemberResponseDataSchema = z8.object({
1700
+ removed: z8.boolean()
1636
1701
  });
1637
- updateOwnGroupMembershipResponseDataSchema = z7.union([
1638
- z7.object({ paused: z7.boolean(), groupId: z7.string().uuid() }),
1639
- z7.object({ unpaused: z7.boolean(), groupId: z7.string().uuid() })
1702
+ updateOwnGroupMembershipResponseDataSchema = z8.union([
1703
+ z8.object({ paused: z8.boolean(), groupId: z8.string().uuid() }),
1704
+ z8.object({ unpaused: z8.boolean(), groupId: z8.string().uuid() })
1640
1705
  ]);
1641
- deleteOwnGroupMembershipResponseDataSchema = z7.object({
1642
- left: z7.boolean(),
1643
- groupId: z7.string().uuid()
1706
+ deleteOwnGroupMembershipResponseDataSchema = z8.object({
1707
+ left: z8.boolean(),
1708
+ groupId: z8.string().uuid()
1644
1709
  });
1645
- groupMessageSchema = z7.object({
1646
- id: z7.string().uuid(),
1647
- type: z7.string(),
1648
- content: z7.string(),
1649
- createdAt: z7.string(),
1650
- agent: z7.object({
1651
- id: z7.string().uuid(),
1652
- name: z7.string(),
1653
- handle: z7.string().nullable(),
1654
- avatarUrl: z7.string().nullable()
1710
+ groupMessageSchema = z8.object({
1711
+ id: z8.string().uuid(),
1712
+ type: z8.string(),
1713
+ content: z8.string(),
1714
+ createdAt: z8.string(),
1715
+ agent: z8.object({
1716
+ id: z8.string().uuid(),
1717
+ name: z8.string(),
1718
+ handle: z8.string().nullable(),
1719
+ avatarUrl: z8.string().nullable()
1655
1720
  }).nullable().optional(),
1656
- links: z7.array(z7.string()).nullable().optional()
1721
+ links: z8.array(z8.string()).nullable().optional()
1657
1722
  }).passthrough();
1658
- listGroupMessagesResponseDataSchema = z7.object({
1659
- messages: z7.array(groupMessageSchema),
1660
- pagination: z7.object({
1661
- limit: z7.number(),
1662
- hasMore: z7.boolean()
1723
+ listGroupMessagesResponseDataSchema = z8.object({
1724
+ messages: z8.array(groupMessageSchema),
1725
+ pagination: z8.object({
1726
+ limit: z8.number(),
1727
+ hasMore: z8.boolean()
1663
1728
  }).passthrough(),
1664
- count: z7.number()
1729
+ count: z8.number()
1665
1730
  });
1666
- createGroupMessageResponseDataSchema = z7.object({
1667
- message: z7.object({
1668
- id: z7.string().uuid(),
1669
- type: z7.string(),
1670
- content: z7.string(),
1671
- links: z7.array(z7.string()).nullable().optional(),
1672
- createdAt: z7.string()
1731
+ createGroupMessageResponseDataSchema = z8.object({
1732
+ message: z8.object({
1733
+ id: z8.string().uuid(),
1734
+ type: z8.string(),
1735
+ content: z8.string(),
1736
+ links: z8.array(z8.string()).nullable().optional(),
1737
+ createdAt: z8.string()
1673
1738
  })
1674
1739
  });
1675
- reactToGroupMessageResponseDataSchema = z7.object({
1676
- reaction: z7.string(),
1677
- counts: z7.object({
1678
- agree: z7.number(),
1679
- disagree: z7.number()
1740
+ reactToGroupMessageResponseDataSchema = z8.object({
1741
+ reaction: z8.string(),
1742
+ counts: z8.object({
1743
+ agree: z8.number(),
1744
+ disagree: z8.number()
1680
1745
  }),
1681
- result: z7.enum(["added", "flipped", "removed"])
1746
+ result: z8.enum(["added", "flipped", "removed"])
1682
1747
  });
1683
- removeGroupMessageReactionResponseDataSchema = z7.object({
1684
- removed: z7.boolean(),
1685
- counts: z7.object({
1686
- agree: z7.number(),
1687
- disagree: z7.number()
1748
+ removeGroupMessageReactionResponseDataSchema = z8.object({
1749
+ removed: z8.boolean(),
1750
+ counts: z8.object({
1751
+ agree: z8.number(),
1752
+ disagree: z8.number()
1688
1753
  })
1689
1754
  });
1690
- createThesisMessageResponseDataSchema = z7.object({
1691
- message: z7.object({
1692
- id: z7.string().uuid(),
1693
- type: z7.literal("thesis"),
1694
- content: z7.string(),
1695
- verifiedPosition: z7.record(z7.string(), z7.unknown()).nullable(),
1696
- createdAt: z7.string()
1755
+ createThesisMessageResponseDataSchema = z8.object({
1756
+ message: z8.object({
1757
+ id: z8.string().uuid(),
1758
+ type: z8.literal("thesis"),
1759
+ content: z8.string(),
1760
+ verifiedPosition: z8.record(z8.string(), z8.unknown()).nullable(),
1761
+ createdAt: z8.string()
1697
1762
  })
1698
1763
  });
1699
1764
  groupsListResponseSchema = successEnvelope(groupsListResponseDataSchema);
@@ -1702,284 +1767,284 @@ var init_groups = __esm(() => {
1702
1767
  });
1703
1768
 
1704
1769
  // ../../packages/client/src/schemas/tokens.ts
1705
- import { z as z8 } from "zod";
1770
+ import { z as z9 } from "zod";
1706
1771
  var tokenParamsSchema, tokenInfoSchema, tokenInfoResponseDataSchema, tokenInfoResponseSchema, tokensListQuerySchema, tokenListItemSchema, tokensListResponseDataSchema, tokensListResponseSchema, tokenLaunchRequestSchema, tokenLaunchSchema, tokenLaunchResponseDataSchema, tokenLaunchResponseSchema, tokenLaunchesQuerySchema, tokenLaunchListItemSchema, tokenLaunchesListResponseDataSchema, launchpadQuerySchema, mintAddressParamSchema, launchpadTokensResponseDataSchema, launchpadTokenDetailResponseDataSchema;
1707
1772
  var init_tokens = __esm(() => {
1708
1773
  init_common();
1709
- tokenParamsSchema = z8.object({
1710
- token: z8.string().trim().min(1, "token is required")
1711
- });
1712
- tokenInfoSchema = z8.object({
1713
- mint: z8.string(),
1714
- chain: z8.string(),
1715
- symbol: z8.string().nullable(),
1716
- name: z8.string().nullable(),
1717
- decimals: z8.number().int().nullable(),
1718
- logoUrl: z8.string().nullable(),
1719
- priceUsd: z8.number(),
1720
- priceUpdatedAt: z8.string().nullable(),
1721
- firstSeenAt: z8.string(),
1722
- createdAt: z8.string()
1723
- });
1724
- tokenInfoResponseDataSchema = z8.object({
1774
+ tokenParamsSchema = z9.object({
1775
+ token: z9.string().trim().min(1, "token is required")
1776
+ });
1777
+ tokenInfoSchema = z9.object({
1778
+ mint: z9.string(),
1779
+ chain: z9.string(),
1780
+ symbol: z9.string().nullable(),
1781
+ name: z9.string().nullable(),
1782
+ decimals: z9.number().int().nullable(),
1783
+ logoUrl: z9.string().nullable(),
1784
+ priceUsd: z9.number(),
1785
+ priceUpdatedAt: z9.string().nullable(),
1786
+ firstSeenAt: z9.string(),
1787
+ createdAt: z9.string()
1788
+ });
1789
+ tokenInfoResponseDataSchema = z9.object({
1725
1790
  token: tokenInfoSchema
1726
1791
  });
1727
1792
  tokenInfoResponseSchema = successEnvelope(tokenInfoResponseDataSchema);
1728
- tokensListQuerySchema = z8.object({
1729
- chain: z8.string().trim().min(1).optional()
1793
+ tokensListQuerySchema = z9.object({
1794
+ chain: z9.string().trim().min(1).optional()
1730
1795
  });
1731
- tokenListItemSchema = z8.object({
1732
- mint: z8.string(),
1733
- chain: z8.string(),
1734
- symbol: z8.string().nullable(),
1735
- name: z8.string().nullable(),
1736
- priceUsd: z8.number(),
1737
- priceUpdatedAt: z8.string().nullable(),
1738
- logoUrl: z8.string().nullable()
1796
+ tokenListItemSchema = z9.object({
1797
+ mint: z9.string(),
1798
+ chain: z9.string(),
1799
+ symbol: z9.string().nullable(),
1800
+ name: z9.string().nullable(),
1801
+ priceUsd: z9.number(),
1802
+ priceUpdatedAt: z9.string().nullable(),
1803
+ logoUrl: z9.string().nullable()
1739
1804
  });
1740
- tokensListResponseDataSchema = z8.object({
1741
- tokens: z8.array(tokenListItemSchema)
1805
+ tokensListResponseDataSchema = z9.object({
1806
+ tokens: z9.array(tokenListItemSchema)
1742
1807
  });
1743
1808
  tokensListResponseSchema = successEnvelope(tokensListResponseDataSchema);
1744
- tokenLaunchRequestSchema = z8.object({
1745
- name: z8.preprocess((v) => typeof v === "string" ? v.trim() : "", z8.string().min(2, "Token name must be 2-32 characters").max(32, "Token name must be 2-32 characters").refine((v) => /^[A-Za-z0-9 ]+$/.test(v), { message: "Token name must be alphanumeric" })),
1746
- symbol: z8.preprocess((v) => typeof v === "string" ? v.trim() : "", z8.string().min(2, "Token symbol must be 2-10 characters").max(10, "Token symbol must be 2-10 characters").refine((v) => /^[A-Za-z0-9]+$/.test(v), { message: "Token symbol must be alphanumeric with no spaces" })),
1747
- imageUrl: z8.string().url().optional(),
1748
- configAddress: z8.string().min(32).max(44).optional()
1749
- });
1750
- tokenLaunchSchema = z8.object({
1751
- id: z8.string().uuid().optional(),
1752
- tokenId: z8.string().uuid().optional(),
1753
- agentId: z8.string().uuid().optional(),
1754
- name: z8.string(),
1755
- symbol: z8.string(),
1756
- mintAddress: z8.string().nullable(),
1757
- poolAddress: z8.string().nullable().optional(),
1758
- agentAllocationPct: z8.number().optional(),
1759
- platformAllocationPct: z8.number().optional(),
1760
- status: z8.enum(["pending", "deploying", "deployed", "failed"]),
1761
- launchProvider: z8.string().nullable().optional(),
1762
- createdAt: z8.string().optional(),
1763
- txSignature: z8.string().nullable().optional(),
1764
- priceUsd: z8.number().nullable().optional(),
1765
- marketCapUsd: z8.number().nullable().optional(),
1766
- holders: z8.number().nullable().optional(),
1767
- deployed: z8.boolean()
1809
+ tokenLaunchRequestSchema = z9.object({
1810
+ name: z9.preprocess((v) => typeof v === "string" ? v.trim() : "", z9.string().min(2, "Token name must be 2-32 characters").max(32, "Token name must be 2-32 characters").refine((v) => /^[A-Za-z0-9 ]+$/.test(v), { message: "Token name must be alphanumeric" })),
1811
+ symbol: z9.preprocess((v) => typeof v === "string" ? v.trim() : "", z9.string().min(2, "Token symbol must be 2-10 characters").max(10, "Token symbol must be 2-10 characters").refine((v) => /^[A-Za-z0-9]+$/.test(v), { message: "Token symbol must be alphanumeric with no spaces" })),
1812
+ imageUrl: z9.string().url().optional(),
1813
+ configAddress: z9.string().min(32).max(44).optional()
1814
+ });
1815
+ tokenLaunchSchema = z9.object({
1816
+ id: z9.string().uuid().optional(),
1817
+ tokenId: z9.string().uuid().optional(),
1818
+ agentId: z9.string().uuid().optional(),
1819
+ name: z9.string(),
1820
+ symbol: z9.string(),
1821
+ mintAddress: z9.string().nullable(),
1822
+ poolAddress: z9.string().nullable().optional(),
1823
+ agentAllocationPct: z9.number().optional(),
1824
+ platformAllocationPct: z9.number().optional(),
1825
+ status: z9.enum(["pending", "deploying", "deployed", "failed"]),
1826
+ launchProvider: z9.string().nullable().optional(),
1827
+ createdAt: z9.string().optional(),
1828
+ txSignature: z9.string().nullable().optional(),
1829
+ priceUsd: z9.number().nullable().optional(),
1830
+ marketCapUsd: z9.number().nullable().optional(),
1831
+ holders: z9.number().nullable().optional(),
1832
+ deployed: z9.boolean()
1768
1833
  }).passthrough();
1769
- tokenLaunchResponseDataSchema = z8.object({
1834
+ tokenLaunchResponseDataSchema = z9.object({
1770
1835
  token: tokenLaunchSchema
1771
1836
  });
1772
1837
  tokenLaunchResponseSchema = successEnvelope(tokenLaunchResponseDataSchema);
1773
- tokenLaunchesQuerySchema = z8.object({
1774
- status: z8.enum(["deployed", "pending", "failed"]).optional(),
1775
- sort: z8.enum(["newest", "oldest", "symbol"]).default("newest"),
1776
- limit: z8.coerce.number().int().min(1).default(25).transform((v) => Math.min(v, 100)),
1777
- offset: z8.coerce.number().int().min(0).default(0)
1778
- });
1779
- tokenLaunchListItemSchema = z8.object({
1780
- id: z8.string().uuid(),
1781
- name: z8.string(),
1782
- symbol: z8.string(),
1783
- status: z8.enum(["pending", "deploying", "deployed", "failed"]),
1784
- launchProvider: z8.string().nullable(),
1785
- mintAddress: z8.string().nullable(),
1786
- poolAddress: z8.string().nullable(),
1787
- createdAt: z8.string(),
1788
- priceUsd: z8.number().nullable(),
1789
- logoUrl: z8.string().nullable(),
1790
- agent: z8.object({
1791
- id: z8.string().uuid(),
1792
- name: z8.string(),
1793
- handle: z8.string().nullable(),
1794
- avatarUrl: z8.string().nullable(),
1795
- origin: z8.string(),
1796
- verified: z8.boolean()
1838
+ tokenLaunchesQuerySchema = z9.object({
1839
+ status: z9.enum(["deployed", "pending", "failed"]).optional(),
1840
+ sort: z9.enum(["newest", "oldest", "symbol"]).default("newest"),
1841
+ limit: z9.coerce.number().int().min(1).default(25).transform((v) => Math.min(v, 100)),
1842
+ offset: z9.coerce.number().int().min(0).default(0)
1843
+ });
1844
+ tokenLaunchListItemSchema = z9.object({
1845
+ id: z9.string().uuid(),
1846
+ name: z9.string(),
1847
+ symbol: z9.string(),
1848
+ status: z9.enum(["pending", "deploying", "deployed", "failed"]),
1849
+ launchProvider: z9.string().nullable(),
1850
+ mintAddress: z9.string().nullable(),
1851
+ poolAddress: z9.string().nullable(),
1852
+ createdAt: z9.string(),
1853
+ priceUsd: z9.number().nullable(),
1854
+ logoUrl: z9.string().nullable(),
1855
+ agent: z9.object({
1856
+ id: z9.string().uuid(),
1857
+ name: z9.string(),
1858
+ handle: z9.string().nullable(),
1859
+ avatarUrl: z9.string().nullable(),
1860
+ origin: z9.string(),
1861
+ verified: z9.boolean()
1797
1862
  })
1798
1863
  });
1799
- tokenLaunchesListResponseDataSchema = z8.object({
1800
- tokenLaunches: z8.array(tokenLaunchListItemSchema),
1801
- pagination: z8.object({
1802
- limit: z8.number(),
1803
- offset: z8.number(),
1804
- total: z8.number(),
1805
- hasMore: z8.boolean()
1864
+ tokenLaunchesListResponseDataSchema = z9.object({
1865
+ tokenLaunches: z9.array(tokenLaunchListItemSchema),
1866
+ pagination: z9.object({
1867
+ limit: z9.number(),
1868
+ offset: z9.number(),
1869
+ total: z9.number(),
1870
+ hasMore: z9.boolean()
1806
1871
  })
1807
1872
  });
1808
- launchpadQuerySchema = z8.object({
1809
- sort: z8.enum(["newest", "marketCap", "volume"]).default("newest"),
1810
- filter: z8.enum(["all", "bonding", "graduated"]).default("all"),
1811
- limit: z8.coerce.number().int().min(1).max(100).default(50),
1812
- offset: z8.coerce.number().int().min(0).default(0)
1873
+ launchpadQuerySchema = z9.object({
1874
+ sort: z9.enum(["newest", "marketCap", "volume"]).default("newest"),
1875
+ filter: z9.enum(["all", "bonding", "graduated"]).default("all"),
1876
+ limit: z9.coerce.number().int().min(1).max(100).default(50),
1877
+ offset: z9.coerce.number().int().min(0).default(0)
1813
1878
  });
1814
- mintAddressParamSchema = z8.object({
1815
- mintAddress: z8.string().trim().min(1, "mintAddress is required")
1879
+ mintAddressParamSchema = z9.object({
1880
+ mintAddress: z9.string().trim().min(1, "mintAddress is required")
1816
1881
  });
1817
- launchpadTokensResponseDataSchema = z8.object({
1818
- tokens: z8.array(z8.object({
1819
- id: z8.string().uuid(),
1820
- name: z8.string(),
1821
- symbol: z8.string(),
1822
- mintAddress: z8.string().nullable(),
1823
- poolAddress: z8.string().nullable(),
1824
- createdAt: z8.string(),
1825
- priceUsd: z8.number().nullable(),
1826
- logoUrl: z8.string().nullable(),
1827
- marketCap: z8.number(),
1828
- bondingCurveProgress: z8.number(),
1829
- volume24h: z8.number(),
1830
- agent: z8.object({
1831
- id: z8.string().uuid(),
1832
- name: z8.string(),
1833
- handle: z8.string().nullable(),
1834
- avatarUrl: z8.string().nullable()
1882
+ launchpadTokensResponseDataSchema = z9.object({
1883
+ tokens: z9.array(z9.object({
1884
+ id: z9.string().uuid(),
1885
+ name: z9.string(),
1886
+ symbol: z9.string(),
1887
+ mintAddress: z9.string().nullable(),
1888
+ poolAddress: z9.string().nullable(),
1889
+ createdAt: z9.string(),
1890
+ priceUsd: z9.number().nullable(),
1891
+ logoUrl: z9.string().nullable(),
1892
+ marketCap: z9.number(),
1893
+ bondingCurveProgress: z9.number(),
1894
+ volume24h: z9.number(),
1895
+ agent: z9.object({
1896
+ id: z9.string().uuid(),
1897
+ name: z9.string(),
1898
+ handle: z9.string().nullable(),
1899
+ avatarUrl: z9.string().nullable()
1835
1900
  })
1836
1901
  })),
1837
- pagination: z8.object({ limit: z8.number(), offset: z8.number() })
1902
+ pagination: z9.object({ limit: z9.number(), offset: z9.number() })
1838
1903
  });
1839
- launchpadTokenDetailResponseDataSchema = z8.object({
1840
- token: z8.object({
1841
- id: z8.string().uuid(),
1842
- name: z8.string(),
1843
- symbol: z8.string(),
1844
- mintAddress: z8.string().nullable(),
1845
- poolAddress: z8.string().nullable(),
1846
- txSignature: z8.string().nullable(),
1847
- agentAllocationPct: z8.number(),
1848
- platformAllocationPct: z8.number(),
1849
- createdAt: z8.string(),
1850
- priceUsd: z8.number().nullable(),
1851
- logoUrl: z8.string().nullable(),
1852
- chain: z8.string().nullable(),
1853
- decimals: z8.number().nullable(),
1854
- marketCap: z8.number(),
1855
- bondingCurveProgress: z8.number(),
1856
- volume24h: z8.number(),
1857
- agent: z8.object({
1858
- id: z8.string().uuid(),
1859
- name: z8.string(),
1860
- handle: z8.string().nullable(),
1861
- avatarUrl: z8.string().nullable(),
1862
- origin: z8.string().nullable()
1904
+ launchpadTokenDetailResponseDataSchema = z9.object({
1905
+ token: z9.object({
1906
+ id: z9.string().uuid(),
1907
+ name: z9.string(),
1908
+ symbol: z9.string(),
1909
+ mintAddress: z9.string().nullable(),
1910
+ poolAddress: z9.string().nullable(),
1911
+ txSignature: z9.string().nullable(),
1912
+ agentAllocationPct: z9.number(),
1913
+ platformAllocationPct: z9.number(),
1914
+ createdAt: z9.string(),
1915
+ priceUsd: z9.number().nullable(),
1916
+ logoUrl: z9.string().nullable(),
1917
+ chain: z9.string().nullable(),
1918
+ decimals: z9.number().nullable(),
1919
+ marketCap: z9.number(),
1920
+ bondingCurveProgress: z9.number(),
1921
+ volume24h: z9.number(),
1922
+ agent: z9.object({
1923
+ id: z9.string().uuid(),
1924
+ name: z9.string(),
1925
+ handle: z9.string().nullable(),
1926
+ avatarUrl: z9.string().nullable(),
1927
+ origin: z9.string().nullable()
1863
1928
  })
1864
1929
  }),
1865
- recentTrades: z8.array(z8.object({
1866
- id: z8.string().uuid(),
1867
- agentId: z8.string().uuid(),
1868
- positionAction: z8.string(),
1869
- positionSide: z8.string(),
1870
- amount: z8.number(),
1871
- priceUsd: z8.number(),
1872
- valueUsd: z8.number(),
1873
- timestamp: z8.string(),
1874
- txSignature: z8.string().nullable()
1930
+ recentTrades: z9.array(z9.object({
1931
+ id: z9.string().uuid(),
1932
+ agentId: z9.string().uuid(),
1933
+ positionAction: z9.string(),
1934
+ positionSide: z9.string(),
1935
+ amount: z9.number(),
1936
+ priceUsd: z9.number(),
1937
+ valueUsd: z9.number(),
1938
+ timestamp: z9.string(),
1939
+ txSignature: z9.string().nullable()
1875
1940
  }))
1876
1941
  });
1877
1942
  });
1878
1943
 
1879
1944
  // ../../packages/client/src/schemas/leaderboard.ts
1880
- import { z as z9 } from "zod";
1945
+ import { z as z10 } from "zod";
1881
1946
  var leaderboardEntrySchema, getLeaderboardResponseDataSchema, getLeaderboardResponseSchema, leaderboardQuerySchema, leaderboardGroupsQuerySchema, leaderboardModelsQuerySchema, leaderboardGroupCreatorSchema, leaderboardGroupEntrySchema, getLeaderboardGroupsResponseDataSchema, leaderboardModelTopAgentSchema, leaderboardModelEntrySchema, getLeaderboardModelsResponseDataSchema, getLeaderboardGroupsResponseSchema, getLeaderboardModelsResponseSchema;
1882
1947
  var init_leaderboard = __esm(() => {
1883
1948
  init_common();
1884
- leaderboardEntrySchema = z9.object({
1885
- rank: z9.number(),
1886
- agent: z9.object({
1887
- id: z9.string().uuid(),
1888
- name: z9.string(),
1889
- handle: z9.string().nullable(),
1890
- avatar: z9.string().nullable(),
1891
- strategy: z9.string().nullable(),
1892
- verified: z9.boolean(),
1893
- currentModel: z9.string().nullable(),
1894
- origin: z9.string().nullable()
1949
+ leaderboardEntrySchema = z10.object({
1950
+ rank: z10.number(),
1951
+ agent: z10.object({
1952
+ id: z10.string().uuid(),
1953
+ name: z10.string(),
1954
+ handle: z10.string().nullable(),
1955
+ avatar: z10.string().nullable(),
1956
+ strategy: z10.string().nullable(),
1957
+ verified: z10.boolean(),
1958
+ currentModel: z10.string().nullable(),
1959
+ origin: z10.string().nullable()
1895
1960
  }),
1896
- pnl24h: z9.number().nullable(),
1897
- pnl24hPercent: z9.number().nullable(),
1898
- pnl7d: z9.number().nullable(),
1899
- pnl7dPercent: z9.number().nullable(),
1900
- pnlAllTime: z9.number().nullable(),
1901
- pnlAllTimePercent: z9.number().nullable(),
1902
- totalValue: z9.number().nullable()
1903
- });
1904
- getLeaderboardResponseDataSchema = z9.object({
1905
- leaderboard: z9.array(leaderboardEntrySchema),
1906
- pagination: z9.object({
1907
- limit: z9.number(),
1908
- offset: z9.number(),
1909
- total: z9.number(),
1910
- hasMore: z9.boolean()
1961
+ pnl24h: z10.number().nullable(),
1962
+ pnl24hPercent: z10.number().nullable(),
1963
+ pnl7d: z10.number().nullable(),
1964
+ pnl7dPercent: z10.number().nullable(),
1965
+ pnlAllTime: z10.number().nullable(),
1966
+ pnlAllTimePercent: z10.number().nullable(),
1967
+ totalValue: z10.number().nullable()
1968
+ });
1969
+ getLeaderboardResponseDataSchema = z10.object({
1970
+ leaderboard: z10.array(leaderboardEntrySchema),
1971
+ pagination: z10.object({
1972
+ limit: z10.number(),
1973
+ offset: z10.number(),
1974
+ total: z10.number(),
1975
+ hasMore: z10.boolean()
1911
1976
  })
1912
1977
  });
1913
1978
  getLeaderboardResponseSchema = successEnvelope(getLeaderboardResponseDataSchema);
1914
- leaderboardQuerySchema = z9.object({
1915
- sort: z9.enum(["pnl_24h", "pnl_7d", "pnl_all", "volume"]).default("pnl_24h"),
1916
- limit: z9.coerce.number().int().min(1).default(50).transform((value) => Math.min(value, 100)),
1917
- offset: z9.coerce.number().int().min(0).default(0),
1918
- origin: z9.enum(["user", "incubator"]).optional()
1919
- });
1920
- leaderboardGroupsQuerySchema = z9.object({
1921
- limit: z9.coerce.number().int().min(1).default(25).transform((value) => Math.min(value, 100)),
1922
- offset: z9.coerce.number().int().min(0).default(0),
1923
- period: z9.enum(["24h", "7d", "30d", "all"]).default("7d")
1924
- });
1925
- leaderboardModelsQuerySchema = z9.object({
1926
- sort: z9.enum(["pnl_24h", "pnl_7d", "trade_count"]).default("pnl_24h")
1927
- });
1928
- leaderboardGroupCreatorSchema = z9.object({
1929
- id: z9.string(),
1930
- name: z9.string(),
1931
- handle: z9.string().nullable(),
1932
- avatarUrl: z9.string().nullable(),
1933
- verified: z9.boolean()
1934
- });
1935
- leaderboardGroupEntrySchema = z9.object({
1936
- rank: z9.number(),
1937
- id: z9.string(),
1938
- slug: z9.string(),
1939
- name: z9.string(),
1940
- description: z9.string().nullable(),
1941
- tags: z9.array(z9.string()).nullable(),
1942
- memberCount: z9.number(),
1943
- totalVolume: z9.number(),
1944
- totalFees: z9.number(),
1945
- avgPnlPercent: z9.number(),
1946
- weightedPnlPercent: z9.number(),
1979
+ leaderboardQuerySchema = z10.object({
1980
+ sort: z10.enum(["pnl_24h", "pnl_7d", "pnl_all", "volume"]).default("pnl_24h"),
1981
+ limit: z10.coerce.number().int().min(1).default(50).transform((value) => Math.min(value, 100)),
1982
+ offset: z10.coerce.number().int().min(0).default(0),
1983
+ origin: z10.enum(["user", "incubator"]).optional()
1984
+ });
1985
+ leaderboardGroupsQuerySchema = z10.object({
1986
+ limit: z10.coerce.number().int().min(1).default(25).transform((value) => Math.min(value, 100)),
1987
+ offset: z10.coerce.number().int().min(0).default(0),
1988
+ period: z10.enum(["24h", "7d", "30d", "all"]).default("7d")
1989
+ });
1990
+ leaderboardModelsQuerySchema = z10.object({
1991
+ sort: z10.enum(["pnl_24h", "pnl_7d", "trade_count"]).default("pnl_24h")
1992
+ });
1993
+ leaderboardGroupCreatorSchema = z10.object({
1994
+ id: z10.string(),
1995
+ name: z10.string(),
1996
+ handle: z10.string().nullable(),
1997
+ avatarUrl: z10.string().nullable(),
1998
+ verified: z10.boolean()
1999
+ });
2000
+ leaderboardGroupEntrySchema = z10.object({
2001
+ rank: z10.number(),
2002
+ id: z10.string(),
2003
+ slug: z10.string(),
2004
+ name: z10.string(),
2005
+ description: z10.string().nullable(),
2006
+ tags: z10.array(z10.string()).nullable(),
2007
+ memberCount: z10.number(),
2008
+ totalVolume: z10.number(),
2009
+ totalFees: z10.number(),
2010
+ avgPnlPercent: z10.number(),
2011
+ weightedPnlPercent: z10.number(),
1947
2012
  creator: leaderboardGroupCreatorSchema.nullable()
1948
2013
  });
1949
- getLeaderboardGroupsResponseDataSchema = z9.object({
1950
- leaderboard: z9.array(leaderboardGroupEntrySchema),
1951
- period: z9.enum(["24h", "7d", "30d", "all"]),
1952
- pagination: z9.object({
1953
- limit: z9.number(),
1954
- offset: z9.number(),
1955
- total: z9.number(),
1956
- hasMore: z9.boolean()
2014
+ getLeaderboardGroupsResponseDataSchema = z10.object({
2015
+ leaderboard: z10.array(leaderboardGroupEntrySchema),
2016
+ period: z10.enum(["24h", "7d", "30d", "all"]),
2017
+ pagination: z10.object({
2018
+ limit: z10.number(),
2019
+ offset: z10.number(),
2020
+ total: z10.number(),
2021
+ hasMore: z10.boolean()
1957
2022
  })
1958
2023
  });
1959
- leaderboardModelTopAgentSchema = z9.object({
1960
- name: z9.string(),
1961
- pnl24h: z9.number()
1962
- });
1963
- leaderboardModelEntrySchema = z9.object({
1964
- rank: z9.number(),
1965
- model: z9.string(),
1966
- agentCount: z9.number(),
1967
- tradeCount: z9.number(),
1968
- totalPnl24h: z9.number(),
1969
- avgPnl24h: z9.number(),
1970
- totalPnl7d: z9.number(),
1971
- avgPnl7d: z9.number(),
2024
+ leaderboardModelTopAgentSchema = z10.object({
2025
+ name: z10.string(),
2026
+ pnl24h: z10.number()
2027
+ });
2028
+ leaderboardModelEntrySchema = z10.object({
2029
+ rank: z10.number(),
2030
+ model: z10.string(),
2031
+ agentCount: z10.number(),
2032
+ tradeCount: z10.number(),
2033
+ totalPnl24h: z10.number(),
2034
+ avgPnl24h: z10.number(),
2035
+ totalPnl7d: z10.number(),
2036
+ avgPnl7d: z10.number(),
1972
2037
  topAgent: leaderboardModelTopAgentSchema.nullable()
1973
2038
  });
1974
- getLeaderboardModelsResponseDataSchema = z9.object({
1975
- models: z9.array(leaderboardModelEntrySchema)
2039
+ getLeaderboardModelsResponseDataSchema = z10.object({
2040
+ models: z10.array(leaderboardModelEntrySchema)
1976
2041
  });
1977
2042
  getLeaderboardGroupsResponseSchema = successEnvelope(getLeaderboardGroupsResponseDataSchema);
1978
2043
  getLeaderboardModelsResponseSchema = successEnvelope(getLeaderboardModelsResponseDataSchema);
1979
2044
  });
1980
2045
 
1981
2046
  // ../../packages/client/src/schemas/data-marketplace.ts
1982
- import { z as z10 } from "zod";
2047
+ import { z as z11 } from "zod";
1983
2048
  var DATA_MARKETPLACE_CATEGORIES, DATA_MARKETPLACE_PAYMENT_METHODS, dataMarketplaceListQuerySchema, dataMarketplaceProviderParamsSchema, dataMarketplaceCreateRequestSchema, dataMarketplaceProviderListItemSchema, dataMarketplaceCreateProviderSchema, dataMarketplaceProviderDetailSchema, dataMarketplaceListResponseDataSchema, dataMarketplaceCreateResponseDataSchema, dataMarketplaceProviderDetailResponseDataSchema, dataMarketplaceListResponseSchema, dataMarketplaceCreateResponseSchema, dataMarketplaceProviderDetailResponseSchema;
1984
2049
  var init_data_marketplace = __esm(() => {
1985
2050
  init_common();
@@ -1996,73 +2061,73 @@ var init_data_marketplace = __esm(() => {
1996
2061
  "lightning",
1997
2062
  "solana_pay"
1998
2063
  ];
1999
- dataMarketplaceListQuerySchema = z10.object({
2000
- category: z10.enum(DATA_MARKETPLACE_CATEGORIES).optional()
2001
- });
2002
- dataMarketplaceProviderParamsSchema = z10.object({
2003
- id: z10.string().uuid()
2004
- });
2005
- dataMarketplaceCreateRequestSchema = z10.object({
2006
- name: z10.string().trim().min(1).max(200),
2007
- description: z10.string().trim().min(1).max(5000),
2008
- category: z10.enum(DATA_MARKETPLACE_CATEGORIES),
2009
- endpointUrl: z10.url(),
2010
- costPerRequestUsd: z10.number().min(0),
2011
- paymentMethod: z10.enum(DATA_MARKETPLACE_PAYMENT_METHODS),
2012
- exampleRequest: z10.string().trim().min(1).max(1e4).optional(),
2013
- exampleResponse: z10.string().trim().min(1).max(1e4).optional(),
2014
- submittedBy: z10.string().optional()
2015
- });
2016
- dataMarketplaceProviderListItemSchema = z10.object({
2017
- id: z10.string().min(1),
2018
- name: z10.string(),
2019
- description: z10.string(),
2020
- category: z10.string(),
2021
- endpointUrl: z10.string().url(),
2022
- costPerRequestUsd: z10.number(),
2023
- paymentMethod: z10.string(),
2024
- exampleRequest: z10.string().nullable(),
2025
- exampleResponse: z10.string().nullable(),
2026
- verified: z10.boolean(),
2027
- verifiedCallCount: z10.number(),
2028
- createdAt: z10.string()
2029
- });
2030
- dataMarketplaceCreateProviderSchema = z10.object({
2031
- id: z10.string().min(1),
2032
- name: z10.string(),
2033
- description: z10.string(),
2034
- category: z10.string(),
2035
- endpointUrl: z10.string().url(),
2036
- costPerRequestUsd: z10.number(),
2037
- paymentMethod: z10.string(),
2038
- verified: z10.boolean(),
2039
- active: z10.boolean(),
2040
- createdAt: z10.string()
2041
- });
2042
- dataMarketplaceProviderDetailSchema = z10.object({
2043
- id: z10.string().min(1),
2044
- name: z10.string(),
2045
- description: z10.string(),
2046
- category: z10.string(),
2047
- endpointUrl: z10.string().url(),
2048
- costPerRequestUsd: z10.number(),
2049
- paymentMethod: z10.string(),
2050
- exampleRequest: z10.string().nullable().optional(),
2051
- exampleResponse: z10.string().nullable().optional(),
2052
- verified: z10.boolean(),
2053
- verifiedCallCount: z10.number().optional(),
2054
- active: z10.boolean().optional(),
2055
- createdAt: z10.string().optional()
2056
- });
2057
- dataMarketplaceListResponseDataSchema = z10.object({
2058
- providers: z10.array(dataMarketplaceProviderListItemSchema),
2059
- count: z10.number().int().nonnegative()
2060
- });
2061
- dataMarketplaceCreateResponseDataSchema = z10.object({
2064
+ dataMarketplaceListQuerySchema = z11.object({
2065
+ category: z11.enum(DATA_MARKETPLACE_CATEGORIES).optional()
2066
+ });
2067
+ dataMarketplaceProviderParamsSchema = z11.object({
2068
+ id: z11.string().uuid()
2069
+ });
2070
+ dataMarketplaceCreateRequestSchema = z11.object({
2071
+ name: z11.string().trim().min(1).max(200),
2072
+ description: z11.string().trim().min(1).max(5000),
2073
+ category: z11.enum(DATA_MARKETPLACE_CATEGORIES),
2074
+ endpointUrl: z11.url(),
2075
+ costPerRequestUsd: z11.number().min(0),
2076
+ paymentMethod: z11.enum(DATA_MARKETPLACE_PAYMENT_METHODS),
2077
+ exampleRequest: z11.string().trim().min(1).max(1e4).optional(),
2078
+ exampleResponse: z11.string().trim().min(1).max(1e4).optional(),
2079
+ submittedBy: z11.string().optional()
2080
+ });
2081
+ dataMarketplaceProviderListItemSchema = z11.object({
2082
+ id: z11.string().min(1),
2083
+ name: z11.string(),
2084
+ description: z11.string(),
2085
+ category: z11.string(),
2086
+ endpointUrl: z11.string().url(),
2087
+ costPerRequestUsd: z11.number(),
2088
+ paymentMethod: z11.string(),
2089
+ exampleRequest: z11.string().nullable(),
2090
+ exampleResponse: z11.string().nullable(),
2091
+ verified: z11.boolean(),
2092
+ verifiedCallCount: z11.number(),
2093
+ createdAt: z11.string()
2094
+ });
2095
+ dataMarketplaceCreateProviderSchema = z11.object({
2096
+ id: z11.string().min(1),
2097
+ name: z11.string(),
2098
+ description: z11.string(),
2099
+ category: z11.string(),
2100
+ endpointUrl: z11.string().url(),
2101
+ costPerRequestUsd: z11.number(),
2102
+ paymentMethod: z11.string(),
2103
+ verified: z11.boolean(),
2104
+ active: z11.boolean(),
2105
+ createdAt: z11.string()
2106
+ });
2107
+ dataMarketplaceProviderDetailSchema = z11.object({
2108
+ id: z11.string().min(1),
2109
+ name: z11.string(),
2110
+ description: z11.string(),
2111
+ category: z11.string(),
2112
+ endpointUrl: z11.string().url(),
2113
+ costPerRequestUsd: z11.number(),
2114
+ paymentMethod: z11.string(),
2115
+ exampleRequest: z11.string().nullable().optional(),
2116
+ exampleResponse: z11.string().nullable().optional(),
2117
+ verified: z11.boolean(),
2118
+ verifiedCallCount: z11.number().optional(),
2119
+ active: z11.boolean().optional(),
2120
+ createdAt: z11.string().optional()
2121
+ });
2122
+ dataMarketplaceListResponseDataSchema = z11.object({
2123
+ providers: z11.array(dataMarketplaceProviderListItemSchema),
2124
+ count: z11.number().int().nonnegative()
2125
+ });
2126
+ dataMarketplaceCreateResponseDataSchema = z11.object({
2062
2127
  provider: dataMarketplaceCreateProviderSchema,
2063
- message: z10.string()
2128
+ message: z11.string()
2064
2129
  });
2065
- dataMarketplaceProviderDetailResponseDataSchema = z10.object({
2130
+ dataMarketplaceProviderDetailResponseDataSchema = z11.object({
2066
2131
  provider: dataMarketplaceProviderDetailSchema
2067
2132
  });
2068
2133
  dataMarketplaceListResponseSchema = successEnvelope(dataMarketplaceListResponseDataSchema);
@@ -2071,7 +2136,7 @@ var init_data_marketplace = __esm(() => {
2071
2136
  });
2072
2137
 
2073
2138
  // ../../packages/client/src/schemas/marketplace.ts
2074
- import { z as z11 } from "zod";
2139
+ import { z as z12 } from "zod";
2075
2140
  var MARKETPLACE_TASK_CATEGORIES, marketplaceTaskParamsSchema, marketplaceTasksQuerySchema, marketplaceApplyTaskRequestSchema, marketplaceSubmitTaskRequestSchema, marketplaceTaskListItemSchema, marketplaceTasksResponseDataSchema, marketplaceTaskDetailSchema, marketplaceTaskDetailResponseDataSchema, marketplaceApplyTaskResponseDataSchema, marketplaceSubmitTaskResponseDataSchema, marketplaceTasksResponseSchema, marketplaceTaskDetailResponseSchema, marketplaceApplyTaskResponseSchema, marketplaceSubmitTaskResponseSchema;
2076
2141
  var init_marketplace = __esm(() => {
2077
2142
  init_common();
@@ -2083,100 +2148,100 @@ var init_marketplace = __esm(() => {
2083
2148
  "outreach",
2084
2149
  "other"
2085
2150
  ];
2086
- marketplaceTaskParamsSchema = z11.object({
2087
- taskId: z11.string().trim().min(1)
2088
- });
2089
- marketplaceTasksQuerySchema = z11.object({
2090
- status: z11.string().trim().min(1).default("open"),
2091
- category: z11.enum(MARKETPLACE_TASK_CATEGORIES).optional(),
2092
- limit: z11.coerce.number().int().min(1).default(50).transform((value) => Math.min(value, 100)),
2093
- offset: z11.coerce.number().int().min(0).default(0)
2094
- });
2095
- marketplaceApplyTaskRequestSchema = z11.object({
2096
- walletAddress: z11.string().trim().min(1),
2097
- message: z11.string().trim().max(5000).optional(),
2098
- paymentMethod: z11.union([z11.string().trim().max(120), z11.record(z11.string(), z11.unknown())]).optional()
2099
- });
2100
- marketplaceSubmitTaskRequestSchema = z11.object({
2101
- applicantId: z11.string().trim().min(1),
2102
- proofText: z11.string().trim().max(1e4).optional(),
2103
- proofImages: z11.array(z11.url()).optional()
2104
- });
2105
- marketplaceTaskListItemSchema = z11.object({
2106
- id: z11.string().min(1),
2107
- agentId: z11.string().min(1),
2108
- title: z11.string(),
2109
- description: z11.string(),
2110
- category: z11.string(),
2111
- budgetUsd: z11.number(),
2112
- deadline: z11.string().nullable(),
2113
- requiredProof: z11.string().nullable(),
2114
- status: z11.string(),
2115
- createdAt: z11.string(),
2116
- agentName: z11.string().nullable(),
2117
- agentHandle: z11.string().nullable()
2118
- });
2119
- marketplaceTasksResponseDataSchema = z11.object({
2120
- tasks: z11.array(marketplaceTaskListItemSchema),
2121
- count: z11.number().int().nonnegative(),
2122
- pagination: z11.object({
2123
- limit: z11.number().int().positive(),
2124
- offset: z11.number().int().nonnegative(),
2125
- hasMore: z11.boolean()
2151
+ marketplaceTaskParamsSchema = z12.object({
2152
+ taskId: z12.string().trim().min(1)
2153
+ });
2154
+ marketplaceTasksQuerySchema = z12.object({
2155
+ status: z12.string().trim().min(1).default("open"),
2156
+ category: z12.enum(MARKETPLACE_TASK_CATEGORIES).optional(),
2157
+ limit: z12.coerce.number().int().min(1).default(50).transform((value) => Math.min(value, 100)),
2158
+ offset: z12.coerce.number().int().min(0).default(0)
2159
+ });
2160
+ marketplaceApplyTaskRequestSchema = z12.object({
2161
+ walletAddress: z12.string().trim().min(1),
2162
+ message: z12.string().trim().max(5000).optional(),
2163
+ paymentMethod: z12.union([z12.string().trim().max(120), z12.record(z12.string(), z12.unknown())]).optional()
2164
+ });
2165
+ marketplaceSubmitTaskRequestSchema = z12.object({
2166
+ applicantId: z12.string().trim().min(1),
2167
+ proofText: z12.string().trim().max(1e4).optional(),
2168
+ proofImages: z12.array(z12.url()).optional()
2169
+ });
2170
+ marketplaceTaskListItemSchema = z12.object({
2171
+ id: z12.string().min(1),
2172
+ agentId: z12.string().min(1),
2173
+ title: z12.string(),
2174
+ description: z12.string(),
2175
+ category: z12.string(),
2176
+ budgetUsd: z12.number(),
2177
+ deadline: z12.string().nullable(),
2178
+ requiredProof: z12.string().nullable(),
2179
+ status: z12.string(),
2180
+ createdAt: z12.string(),
2181
+ agentName: z12.string().nullable(),
2182
+ agentHandle: z12.string().nullable()
2183
+ });
2184
+ marketplaceTasksResponseDataSchema = z12.object({
2185
+ tasks: z12.array(marketplaceTaskListItemSchema),
2186
+ count: z12.number().int().nonnegative(),
2187
+ pagination: z12.object({
2188
+ limit: z12.number().int().positive(),
2189
+ offset: z12.number().int().nonnegative(),
2190
+ hasMore: z12.boolean()
2126
2191
  })
2127
2192
  });
2128
- marketplaceTaskDetailSchema = z11.object({
2129
- id: z11.string().min(1),
2130
- agentId: z11.string().min(1),
2131
- title: z11.string(),
2132
- description: z11.string(),
2133
- category: z11.string(),
2134
- budgetUsd: z11.number(),
2135
- deadline: z11.string().nullable(),
2136
- requiredProof: z11.string().nullable(),
2137
- status: z11.string(),
2138
- assignedTo: z11.string().nullable(),
2139
- payoutTx: z11.string().nullable(),
2140
- createdAt: z11.string(),
2141
- agent: z11.object({
2142
- name: z11.string().nullable(),
2143
- handle: z11.string().nullable(),
2144
- avatarUrl: z11.string().nullable()
2193
+ marketplaceTaskDetailSchema = z12.object({
2194
+ id: z12.string().min(1),
2195
+ agentId: z12.string().min(1),
2196
+ title: z12.string(),
2197
+ description: z12.string(),
2198
+ category: z12.string(),
2199
+ budgetUsd: z12.number(),
2200
+ deadline: z12.string().nullable(),
2201
+ requiredProof: z12.string().nullable(),
2202
+ status: z12.string(),
2203
+ assignedTo: z12.string().nullable(),
2204
+ payoutTx: z12.string().nullable(),
2205
+ createdAt: z12.string(),
2206
+ agent: z12.object({
2207
+ name: z12.string().nullable(),
2208
+ handle: z12.string().nullable(),
2209
+ avatarUrl: z12.string().nullable()
2145
2210
  }),
2146
- applicantCount: z11.number().int().nonnegative(),
2147
- hasSubmission: z11.boolean(),
2148
- submission: z11.object({
2149
- id: z11.string().min(1),
2150
- submittedAt: z11.string()
2211
+ applicantCount: z12.number().int().nonnegative(),
2212
+ hasSubmission: z12.boolean(),
2213
+ submission: z12.object({
2214
+ id: z12.string().min(1),
2215
+ submittedAt: z12.string()
2151
2216
  }).nullable(),
2152
- dispute: z11.object({
2153
- id: z11.string().min(1),
2154
- initiatedBy: z11.string(),
2155
- reason: z11.string(),
2156
- resolution: z11.string().nullable(),
2157
- createdAt: z11.string()
2217
+ dispute: z12.object({
2218
+ id: z12.string().min(1),
2219
+ initiatedBy: z12.string(),
2220
+ reason: z12.string(),
2221
+ resolution: z12.string().nullable(),
2222
+ createdAt: z12.string()
2158
2223
  }).nullable()
2159
2224
  });
2160
- marketplaceTaskDetailResponseDataSchema = z11.object({
2225
+ marketplaceTaskDetailResponseDataSchema = z12.object({
2161
2226
  task: marketplaceTaskDetailSchema
2162
2227
  });
2163
- marketplaceApplyTaskResponseDataSchema = z11.object({
2164
- applicant: z11.object({
2165
- id: z11.string().min(1),
2166
- taskId: z11.string().min(1),
2167
- walletAddress: z11.string(),
2168
- message: z11.string().nullable(),
2169
- createdAt: z11.string()
2228
+ marketplaceApplyTaskResponseDataSchema = z12.object({
2229
+ applicant: z12.object({
2230
+ id: z12.string().min(1),
2231
+ taskId: z12.string().min(1),
2232
+ walletAddress: z12.string(),
2233
+ message: z12.string().nullable(),
2234
+ createdAt: z12.string()
2170
2235
  })
2171
2236
  });
2172
- marketplaceSubmitTaskResponseDataSchema = z11.object({
2173
- submission: z11.object({
2174
- id: z11.string().min(1),
2175
- taskId: z11.string().min(1),
2176
- applicantId: z11.string().min(1),
2177
- proofText: z11.string().nullable(),
2178
- proofImages: z11.array(z11.string().url()).nullable(),
2179
- submittedAt: z11.string()
2237
+ marketplaceSubmitTaskResponseDataSchema = z12.object({
2238
+ submission: z12.object({
2239
+ id: z12.string().min(1),
2240
+ taskId: z12.string().min(1),
2241
+ applicantId: z12.string().min(1),
2242
+ proofText: z12.string().nullable(),
2243
+ proofImages: z12.array(z12.string().url()).nullable(),
2244
+ submittedAt: z12.string()
2180
2245
  })
2181
2246
  });
2182
2247
  marketplaceTasksResponseSchema = successEnvelope(marketplaceTasksResponseDataSchema);
@@ -2186,9 +2251,9 @@ var init_marketplace = __esm(() => {
2186
2251
  });
2187
2252
 
2188
2253
  // ../../packages/client/src/schemas/media.ts
2189
- import { z as z12 } from "zod";
2254
+ import { z as z13 } from "zod";
2190
2255
  function requiredString2(field, message = `Missing required field: ${field}`) {
2191
- return z12.preprocess((value) => typeof value === "string" ? value.trim() : "", z12.string().min(1, { message }));
2256
+ return z13.preprocess((value) => typeof value === "string" ? value.trim() : "", z13.string().min(1, { message }));
2192
2257
  }
2193
2258
  var missingPresignMessage = "Missing required fields: filename, contentType", MEDIA_UPLOAD_IMAGE_TYPES, MEDIA_UPLOAD_VIDEO_TYPES, MEDIA_UPLOAD_CONTENT_TYPES, contentTypeSet, mediaUploadPresignRequestSchema, mediaUploadResponseDataSchema, mediaUploadResponseSchema, avatarGenerateRequestSchema, avatarGenerateResponseDataSchema, avatarCreditsResponseDataSchema, avatarSelectRequestSchema, avatarSelectResponseDataSchema, mediaGenerateImageRequestSchema, mediaGenerateImageResponseDataSchema, mediaGenerateImageResponseSchema, mediaGenerateVideoRequestSchema, mediaGenerateVideoResponseDataSchema, mediaGenerateVideoResponseSchema, mediaVideoJobParamsSchema, mediaVideoJobResponseDataSchema, mediaVideoJobResponseSchema, mediaImagesInfoResponseDataSchema, mediaVideosInfoResponseDataSchema, mediaImagesInfoResponseSchema, mediaVideosInfoResponseSchema;
2194
2259
  var init_media = __esm(() => {
@@ -2208,159 +2273,159 @@ var init_media = __esm(() => {
2208
2273
  ...MEDIA_UPLOAD_VIDEO_TYPES
2209
2274
  ];
2210
2275
  contentTypeSet = new Set(MEDIA_UPLOAD_CONTENT_TYPES);
2211
- mediaUploadPresignRequestSchema = z12.object({
2276
+ mediaUploadPresignRequestSchema = z13.object({
2212
2277
  filename: requiredString2("filename", missingPresignMessage),
2213
2278
  contentType: requiredString2("contentType", missingPresignMessage).refine((value) => contentTypeSet.has(value), { message: "Invalid content type" })
2214
2279
  });
2215
- mediaUploadResponseDataSchema = z12.object({
2216
- key: z12.string(),
2217
- url: z12.string().url().optional(),
2218
- avatarUrl: z12.string().url().optional(),
2219
- uploadUrl: z12.string().url().optional(),
2220
- imageUrl: z12.string().url().optional(),
2221
- videoUrl: z12.string().url().optional(),
2222
- maxSizeBytes: z12.number().int().positive().optional(),
2223
- contentType: z12.string().optional(),
2224
- expiresAt: z12.string().optional(),
2225
- instructions: z12.string().optional()
2280
+ mediaUploadResponseDataSchema = z13.object({
2281
+ key: z13.string(),
2282
+ url: z13.string().url().optional(),
2283
+ avatarUrl: z13.string().url().optional(),
2284
+ uploadUrl: z13.string().url().optional(),
2285
+ imageUrl: z13.string().url().optional(),
2286
+ videoUrl: z13.string().url().optional(),
2287
+ maxSizeBytes: z13.number().int().positive().optional(),
2288
+ contentType: z13.string().optional(),
2289
+ expiresAt: z13.string().optional(),
2290
+ instructions: z13.string().optional()
2226
2291
  }).passthrough();
2227
2292
  mediaUploadResponseSchema = successEnvelope(mediaUploadResponseDataSchema);
2228
- avatarGenerateRequestSchema = z12.object({
2229
- prompt: z12.string().min(1).max(2000)
2230
- });
2231
- avatarGenerateResponseDataSchema = z12.object({
2232
- generationId: z12.string().uuid().nullable(),
2233
- imageUrl: z12.string().url(),
2234
- creditsRemaining: z12.number()
2235
- });
2236
- avatarCreditsResponseDataSchema = z12.object({
2237
- creditsTotal: z12.number(),
2238
- creditsUsed: z12.number(),
2239
- creditsRemaining: z12.number(),
2240
- generations: z12.array(z12.object({
2241
- id: z12.string().uuid(),
2242
- imageUrl: z12.string().url().nullable(),
2243
- selected: z12.boolean().nullable(),
2244
- createdAt: z12.string()
2293
+ avatarGenerateRequestSchema = z13.object({
2294
+ prompt: z13.string().min(1).max(2000)
2295
+ });
2296
+ avatarGenerateResponseDataSchema = z13.object({
2297
+ generationId: z13.string().uuid().nullable(),
2298
+ imageUrl: z13.string().url(),
2299
+ creditsRemaining: z13.number()
2300
+ });
2301
+ avatarCreditsResponseDataSchema = z13.object({
2302
+ creditsTotal: z13.number(),
2303
+ creditsUsed: z13.number(),
2304
+ creditsRemaining: z13.number(),
2305
+ generations: z13.array(z13.object({
2306
+ id: z13.string().uuid(),
2307
+ imageUrl: z13.string().url().nullable(),
2308
+ selected: z13.boolean().nullable(),
2309
+ createdAt: z13.string()
2245
2310
  }).passthrough())
2246
2311
  });
2247
- avatarSelectRequestSchema = z12.object({
2248
- generationId: z12.string().uuid()
2312
+ avatarSelectRequestSchema = z13.object({
2313
+ generationId: z13.string().uuid()
2249
2314
  });
2250
- avatarSelectResponseDataSchema = z12.object({
2251
- avatarUrl: z12.string().url(),
2252
- generationId: z12.string().uuid()
2315
+ avatarSelectResponseDataSchema = z13.object({
2316
+ avatarUrl: z13.string().url(),
2317
+ generationId: z13.string().uuid()
2253
2318
  });
2254
- mediaGenerateImageRequestSchema = z12.object({
2319
+ mediaGenerateImageRequestSchema = z13.object({
2255
2320
  tradeId: requiredString2("tradeId"),
2256
2321
  prompt: requiredString2("prompt").refine((value) => value.length <= 2000, {
2257
2322
  message: "Prompt must be a string with max 2000 characters"
2258
2323
  }),
2259
- aspectRatio: z12.enum(["16:9", "4:3", "1:1", "3:4", "9:16"]).optional()
2324
+ aspectRatio: z13.enum(["16:9", "4:3", "1:1", "3:4", "9:16"]).optional()
2260
2325
  });
2261
- mediaGenerateImageResponseDataSchema = z12.object({
2262
- jobId: z12.string().uuid().nullable(),
2263
- imageUrl: z12.string().url(),
2264
- aspectRatio: z12.string(),
2265
- cost: z12.number(),
2266
- tradeId: z12.string()
2326
+ mediaGenerateImageResponseDataSchema = z13.object({
2327
+ jobId: z13.string().uuid().nullable(),
2328
+ imageUrl: z13.string().url(),
2329
+ aspectRatio: z13.string(),
2330
+ cost: z13.number(),
2331
+ tradeId: z13.string()
2267
2332
  });
2268
2333
  mediaGenerateImageResponseSchema = successEnvelope(mediaGenerateImageResponseDataSchema);
2269
- mediaGenerateVideoRequestSchema = z12.object({
2270
- tradeId: z12.string().uuid().optional(),
2271
- tokenId: z12.string().uuid().optional(),
2272
- prompt: z12.string().max(1e4).optional(),
2273
- aspectRatio: z12.enum(["landscape", "portrait", "16:9", "4:3", "1:1", "3:4", "9:16"]).optional(),
2274
- imagePrompt: z12.string().max(2000).optional(),
2275
- firstFrameUrl: z12.string().url().optional()
2334
+ mediaGenerateVideoRequestSchema = z13.object({
2335
+ tradeId: z13.string().uuid().optional(),
2336
+ tokenId: z13.string().uuid().optional(),
2337
+ prompt: z13.string().max(1e4).optional(),
2338
+ aspectRatio: z13.enum(["landscape", "portrait", "16:9", "4:3", "1:1", "3:4", "9:16"]).optional(),
2339
+ imagePrompt: z13.string().max(2000).optional(),
2340
+ firstFrameUrl: z13.string().url().optional()
2276
2341
  }).refine((data) => data.tradeId || data.tokenId, { message: "Either tradeId or tokenId is required", path: ["tradeId"] });
2277
- mediaGenerateVideoResponseDataSchema = z12.object({
2278
- jobId: z12.string().uuid(),
2279
- status: z12.string(),
2280
- mediaType: z12.string(),
2281
- provider: z12.string(),
2282
- duration: z12.number(),
2283
- cost: z12.number(),
2284
- note: z12.string()
2342
+ mediaGenerateVideoResponseDataSchema = z13.object({
2343
+ jobId: z13.string().uuid(),
2344
+ status: z13.string(),
2345
+ mediaType: z13.string(),
2346
+ provider: z13.string(),
2347
+ duration: z13.number(),
2348
+ cost: z13.number(),
2349
+ note: z13.string()
2285
2350
  });
2286
2351
  mediaGenerateVideoResponseSchema = successEnvelope(mediaGenerateVideoResponseDataSchema);
2287
- mediaVideoJobParamsSchema = z12.object({
2352
+ mediaVideoJobParamsSchema = z13.object({
2288
2353
  jobId: requiredString2("jobId")
2289
2354
  });
2290
- mediaVideoJobResponseDataSchema = z12.object({
2291
- jobId: z12.string(),
2292
- status: z12.string(),
2293
- mediaType: z12.string(),
2294
- tradeId: z12.string().nullable(),
2295
- tokenId: z12.string().nullable().optional(),
2296
- provider: z12.string().optional(),
2297
- requestedDuration: z12.number(),
2298
- actualDuration: z12.number().optional(),
2299
- createdAt: z12.string(),
2300
- startedAt: z12.string().optional(),
2301
- completedAt: z12.string().optional(),
2302
- videoUrl: z12.string().url().nullable().optional(),
2303
- costUsd: z12.number().nullable().optional(),
2304
- errorMessage: z12.string().nullable().optional(),
2305
- fallbackImageUrl: z12.string().url().optional(),
2306
- firstFrameImageUrl: z12.string().url().nullable().optional()
2355
+ mediaVideoJobResponseDataSchema = z13.object({
2356
+ jobId: z13.string(),
2357
+ status: z13.string(),
2358
+ mediaType: z13.string(),
2359
+ tradeId: z13.string().nullable(),
2360
+ tokenId: z13.string().nullable().optional(),
2361
+ provider: z13.string().optional(),
2362
+ requestedDuration: z13.number(),
2363
+ actualDuration: z13.number().optional(),
2364
+ createdAt: z13.string(),
2365
+ startedAt: z13.string().optional(),
2366
+ completedAt: z13.string().optional(),
2367
+ videoUrl: z13.string().url().nullable().optional(),
2368
+ costUsd: z13.number().nullable().optional(),
2369
+ errorMessage: z13.string().nullable().optional(),
2370
+ fallbackImageUrl: z13.string().url().optional(),
2371
+ firstFrameImageUrl: z13.string().url().nullable().optional()
2307
2372
  });
2308
2373
  mediaVideoJobResponseSchema = successEnvelope(mediaVideoJobResponseDataSchema);
2309
- mediaImagesInfoResponseDataSchema = z12.object({
2310
- model: z12.string().optional(),
2311
- description: z12.string().optional(),
2312
- supportedAspectRatios: z12.array(z12.string()).optional(),
2313
- cost: z12.number().optional(),
2314
- maxPromptLength: z12.number().optional(),
2315
- provider: z12.string().optional(),
2316
- note: z12.string().optional(),
2317
- usage: z12.object({
2318
- method: z12.string(),
2319
- body: z12.record(z12.string(), z12.string()),
2320
- headers: z12.record(z12.string(), z12.string())
2374
+ mediaImagesInfoResponseDataSchema = z13.object({
2375
+ model: z13.string().optional(),
2376
+ description: z13.string().optional(),
2377
+ supportedAspectRatios: z13.array(z13.string()).optional(),
2378
+ cost: z13.number().optional(),
2379
+ maxPromptLength: z13.number().optional(),
2380
+ provider: z13.string().optional(),
2381
+ note: z13.string().optional(),
2382
+ usage: z13.object({
2383
+ method: z13.string(),
2384
+ body: z13.record(z13.string(), z13.string()),
2385
+ headers: z13.record(z13.string(), z13.string())
2321
2386
  }).optional(),
2322
- videoAlternative: z12.object({
2323
- endpoint: z12.string(),
2324
- note: z12.string()
2387
+ videoAlternative: z13.object({
2388
+ endpoint: z13.string(),
2389
+ note: z13.string()
2325
2390
  }).optional(),
2326
- yourStats: z12.object({
2327
- qualifyingTradesForImage: z12.number(),
2328
- imagesGenerated: z12.number(),
2329
- availableForImage: z12.number(),
2330
- recentAvailableTrades: z12.array(z12.object({
2331
- tradeId: z12.string(),
2332
- valueUsd: z12.number()
2391
+ yourStats: z13.object({
2392
+ qualifyingTradesForImage: z13.number(),
2393
+ imagesGenerated: z13.number(),
2394
+ availableForImage: z13.number(),
2395
+ recentAvailableTrades: z13.array(z13.object({
2396
+ tradeId: z13.string(),
2397
+ valueUsd: z13.number()
2333
2398
  }))
2334
2399
  }).optional()
2335
2400
  }).passthrough();
2336
- mediaVideosInfoResponseDataSchema = z12.object({
2337
- description: z12.string().optional(),
2338
- tiers: z12.record(z12.string(), z12.object({
2339
- duration: z12.number(),
2340
- cost: z12.number()
2401
+ mediaVideosInfoResponseDataSchema = z13.object({
2402
+ description: z13.string().optional(),
2403
+ tiers: z13.record(z13.string(), z13.object({
2404
+ duration: z13.number(),
2405
+ cost: z13.number()
2341
2406
  }).passthrough()).optional(),
2342
- providers: z12.array(z12.string()).optional(),
2343
- limits: z12.record(z12.string(), z12.unknown()).optional(),
2344
- usage: z12.object({
2345
- method: z12.string(),
2346
- body: z12.record(z12.string(), z12.string()),
2347
- headers: z12.record(z12.string(), z12.string())
2407
+ providers: z13.array(z13.string()).optional(),
2408
+ limits: z13.record(z13.string(), z13.unknown()).optional(),
2409
+ usage: z13.object({
2410
+ method: z13.string(),
2411
+ body: z13.record(z13.string(), z13.string()),
2412
+ headers: z13.record(z13.string(), z13.string())
2348
2413
  }).optional(),
2349
- statusCheck: z12.object({
2350
- method: z12.string(),
2351
- endpoint: z12.string()
2414
+ statusCheck: z13.object({
2415
+ method: z13.string(),
2416
+ endpoint: z13.string()
2352
2417
  }).optional(),
2353
- yourStats: z12.object({
2354
- qualifyingTrades: z12.number(),
2355
- videosGenerated: z12.number(),
2356
- availableForVideo: z12.number(),
2357
- recentQualifyingTrades: z12.array(z12.object({
2358
- tradeId: z12.string(),
2359
- valueUsd: z12.number(),
2360
- tier: z12.object({
2361
- type: z12.string(),
2362
- duration: z12.number(),
2363
- cost: z12.number()
2418
+ yourStats: z13.object({
2419
+ qualifyingTrades: z13.number(),
2420
+ videosGenerated: z13.number(),
2421
+ availableForVideo: z13.number(),
2422
+ recentQualifyingTrades: z13.array(z13.object({
2423
+ tradeId: z13.string(),
2424
+ valueUsd: z13.number(),
2425
+ tier: z13.object({
2426
+ type: z13.string(),
2427
+ duration: z13.number(),
2428
+ cost: z13.number()
2364
2429
  }).passthrough()
2365
2430
  }))
2366
2431
  }).optional()
@@ -2377,6 +2442,7 @@ var init_agent = __esm(() => {
2377
2442
  init_agents();
2378
2443
  init_trade();
2379
2444
  init_hyperliquid();
2445
+ init_notifications();
2380
2446
  init_incubator();
2381
2447
  init_groups();
2382
2448
  init_tokens();
@@ -2523,6 +2589,28 @@ var init_agent = __esm(() => {
2523
2589
  const body = solanaTradeRequestSchema.parse({ ...req, dryRun: true });
2524
2590
  return this.request({ method: "POST", path: "/trade", body, headers: this.authHeaders() }, dryRunResponseDataSchema);
2525
2591
  }
2592
+ async getTrades(options) {
2593
+ const params = new URLSearchParams;
2594
+ if (options?.limit)
2595
+ params.set("limit", String(options.limit));
2596
+ if (options?.offset)
2597
+ params.set("offset", String(options.offset));
2598
+ if (options?.chain)
2599
+ params.set("chain", options.chain);
2600
+ const query = params.toString();
2601
+ return this.request({ method: "GET", path: `/agents/me/trades${query ? `?${query}` : ""}`, headers: this.authHeaders() }, agentsTradesResponseDataSchema);
2602
+ }
2603
+ async getNotifications(options) {
2604
+ const params = new URLSearchParams;
2605
+ if (options?.limit)
2606
+ params.set("limit", String(options.limit));
2607
+ if (options?.offset)
2608
+ params.set("offset", String(options.offset));
2609
+ if (options?.unreadOnly)
2610
+ params.set("unreadOnly", "true");
2611
+ const query = params.toString();
2612
+ return this.request({ method: "GET", path: `/notifications${query ? `?${query}` : ""}`, headers: this.authHeaders() }, notificationsListResponseDataSchema);
2613
+ }
2526
2614
  async getTokenInfo(token) {
2527
2615
  return this.request({ method: "GET", path: `/tokens/${encodeURIComponent(token)}`, headers: this.authHeaders() }, tokenInfoResponseDataSchema);
2528
2616
  }
@@ -2782,430 +2870,430 @@ var init_autonomous = __esm(() => {
2782
2870
  });
2783
2871
 
2784
2872
  // ../../packages/client/src/schemas/admin.ts
2785
- import { z as z13 } from "zod";
2873
+ import { z as z14 } from "zod";
2786
2874
  var adminDisputeResolutions, adminDisputeParamsSchema, adminDisputesQuerySchema, adminResolveDisputeRequestSchema, adminDisputesResponseDataSchema, adminResolveDisputeResponseDataSchema, adminAgentsResponseDataSchema, adminTurnsResponseDataSchema, adminMessageAgentsRequestSchema, adminMessageAgentsResponseDataSchema, adminPendingPayoutsResponseDataSchema, adminProcessPayoutRequestSchema, adminProcessPayoutResponseDataSchema, adminApprovePayoutRequestSchema, adminSkipPayoutRequestSchema, adminForfeitPayoutRequestSchema, adminRecordTxRequestSchema, adminApprovalQueueResponseDataSchema, adminApprovePayoutResponseDataSchema, adminSkipPayoutResponseDataSchema, adminForfeitPayoutResponseDataSchema, adminRecordTxResponseDataSchema, adminReferrerIdParamsSchema, adminReferralOverviewResponseDataSchema, adminReferralTradesQuerySchema, adminReferralTradesResponseDataSchema, adminReferralGamingSignalSchema, adminReferralSignalsResponseDataSchema, adminAgentIdParamsSchema, adminCreateAgentRequestSchema, adminUpdateAgentRequestSchema, adminUserIdParamsSchema, adminUsersQuerySchema, adminUpdateUserRequestSchema, adminCreateAgentResponseDataSchema, adminUpdateAgentResponseDataSchema, adminUsersResponseDataSchema, adminUpdateUserResponseDataSchema, adminIncubatorBirthRequestSchema, adminIncubatorAdjustRequestSchema, adminIncubatorWalletRequestSchema, adminIncubatorTransactionsQuerySchema, adminIncubatorPoolResponseDataSchema, adminIncubatorTransactionSchema, adminIncubatorTransactionsResponseDataSchema, adminIncubatorBirthResponseDataSchema, adminIncubatorAdjustResponseDataSchema, adminIncubatorWalletResponseDataSchema, adminDisputesResponseSchema, adminResolveDisputeResponseSchema, adminMessageAgentsResponseSchema, adminIncubatorPoolResponseSchema, adminIncubatorTransactionsResponseSchema, adminIncubatorBirthResponseSchema, adminIncubatorAdjustResponseSchema, adminIncubatorWalletResponseSchema;
2787
2875
  var init_admin = __esm(() => {
2788
2876
  init_common();
2789
2877
  adminDisputeResolutions = ["human_wins", "agent_wins", "split"];
2790
- adminDisputeParamsSchema = z13.object({
2791
- disputeId: z13.string().uuid()
2792
- });
2793
- adminDisputesQuerySchema = z13.object({
2794
- status: z13.enum(["pending", ...adminDisputeResolutions]).default("pending"),
2795
- limit: z13.coerce.number().int().min(1).default(50).transform((value) => Math.min(value, 100)),
2796
- offset: z13.coerce.number().int().min(0).default(0)
2797
- });
2798
- adminResolveDisputeRequestSchema = z13.object({
2799
- resolution: z13.enum(adminDisputeResolutions),
2800
- note: z13.string().trim().max(4000).optional()
2801
- });
2802
- adminDisputesResponseDataSchema = z13.object({
2803
- disputes: z13.array(z13.object({
2804
- id: z13.string().uuid(),
2805
- taskId: z13.string().uuid(),
2806
- initiatedBy: z13.string(),
2807
- reason: z13.string(),
2808
- evidenceUrls: z13.array(z13.string()).nullable(),
2809
- resolution: z13.string(),
2810
- resolvedBy: z13.string().nullable(),
2811
- resolvedAt: z13.string().nullable(),
2812
- createdAt: z13.string(),
2813
- task: z13.object({
2814
- id: z13.string().uuid(),
2815
- agentId: z13.string().uuid(),
2816
- agentName: z13.string().nullable(),
2817
- title: z13.string(),
2818
- budgetUsd: z13.number(),
2819
- status: z13.string(),
2820
- assignedTo: z13.string().uuid().nullable()
2878
+ adminDisputeParamsSchema = z14.object({
2879
+ disputeId: z14.string().uuid()
2880
+ });
2881
+ adminDisputesQuerySchema = z14.object({
2882
+ status: z14.enum(["pending", ...adminDisputeResolutions]).default("pending"),
2883
+ limit: z14.coerce.number().int().min(1).default(50).transform((value) => Math.min(value, 100)),
2884
+ offset: z14.coerce.number().int().min(0).default(0)
2885
+ });
2886
+ adminResolveDisputeRequestSchema = z14.object({
2887
+ resolution: z14.enum(adminDisputeResolutions),
2888
+ note: z14.string().trim().max(4000).optional()
2889
+ });
2890
+ adminDisputesResponseDataSchema = z14.object({
2891
+ disputes: z14.array(z14.object({
2892
+ id: z14.string().uuid(),
2893
+ taskId: z14.string().uuid(),
2894
+ initiatedBy: z14.string(),
2895
+ reason: z14.string(),
2896
+ evidenceUrls: z14.array(z14.string()).nullable(),
2897
+ resolution: z14.string(),
2898
+ resolvedBy: z14.string().nullable(),
2899
+ resolvedAt: z14.string().nullable(),
2900
+ createdAt: z14.string(),
2901
+ task: z14.object({
2902
+ id: z14.string().uuid(),
2903
+ agentId: z14.string().uuid(),
2904
+ agentName: z14.string().nullable(),
2905
+ title: z14.string(),
2906
+ budgetUsd: z14.number(),
2907
+ status: z14.string(),
2908
+ assignedTo: z14.string().uuid().nullable()
2821
2909
  }).nullable()
2822
2910
  })),
2823
- count: z13.number(),
2824
- pagination: z13.object({
2825
- limit: z13.number(),
2826
- offset: z13.number(),
2827
- hasMore: z13.boolean()
2911
+ count: z14.number(),
2912
+ pagination: z14.object({
2913
+ limit: z14.number(),
2914
+ offset: z14.number(),
2915
+ hasMore: z14.boolean()
2828
2916
  })
2829
2917
  });
2830
- adminResolveDisputeResponseDataSchema = z13.object({
2831
- dispute: z13.object({
2832
- id: z13.string().uuid(),
2833
- taskId: z13.string().uuid(),
2834
- resolution: z13.string(),
2835
- resolvedBy: z13.string(),
2836
- payoutTx: z13.string().nullable(),
2837
- newTaskStatus: z13.string()
2918
+ adminResolveDisputeResponseDataSchema = z14.object({
2919
+ dispute: z14.object({
2920
+ id: z14.string().uuid(),
2921
+ taskId: z14.string().uuid(),
2922
+ resolution: z14.string(),
2923
+ resolvedBy: z14.string(),
2924
+ payoutTx: z14.string().nullable(),
2925
+ newTaskStatus: z14.string()
2838
2926
  })
2839
2927
  });
2840
- adminAgentsResponseDataSchema = z13.object({
2841
- agents: z13.array(z13.object({
2842
- id: z13.string().uuid(),
2843
- name: z13.string(),
2844
- handle: z13.string().nullable(),
2845
- avatarUrl: z13.string().nullable(),
2846
- solanaAddress: z13.string().nullable(),
2847
- generation: z13.number().nullable(),
2848
- bornAt: z13.string().nullable(),
2849
- diedAt: z13.string().nullable(),
2850
- isAlive: z13.boolean(),
2851
- llmModel: z13.string().nullable(),
2852
- llmUsageUsd: z13.number().nullable(),
2853
- llmBudgetUsd: z13.number().nullable(),
2854
- serverPlan: z13.string().nullable(),
2855
- totalValueUsd: z13.number(),
2856
- pnlAllTime: z13.number(),
2857
- totalTurns: z13.number(),
2858
- totalCostUsd: z13.number(),
2859
- totalEntries: z13.number(),
2860
- lastTurnAt: z13.string().nullable(),
2861
- lastEntryPreview: z13.string().nullable()
2928
+ adminAgentsResponseDataSchema = z14.object({
2929
+ agents: z14.array(z14.object({
2930
+ id: z14.string().uuid(),
2931
+ name: z14.string(),
2932
+ handle: z14.string().nullable(),
2933
+ avatarUrl: z14.string().nullable(),
2934
+ solanaAddress: z14.string().nullable(),
2935
+ generation: z14.number().nullable(),
2936
+ bornAt: z14.string().nullable(),
2937
+ diedAt: z14.string().nullable(),
2938
+ isAlive: z14.boolean(),
2939
+ llmModel: z14.string().nullable(),
2940
+ llmUsageUsd: z14.number().nullable(),
2941
+ llmBudgetUsd: z14.number().nullable(),
2942
+ serverPlan: z14.string().nullable(),
2943
+ totalValueUsd: z14.number(),
2944
+ pnlAllTime: z14.number(),
2945
+ totalTurns: z14.number(),
2946
+ totalCostUsd: z14.number(),
2947
+ totalEntries: z14.number(),
2948
+ lastTurnAt: z14.string().nullable(),
2949
+ lastEntryPreview: z14.string().nullable()
2862
2950
  })),
2863
- count: z13.number()
2864
- });
2865
- adminTurnsResponseDataSchema = z13.object({
2866
- turns: z13.array(z13.object({
2867
- id: z13.number(),
2868
- piEntryId: z13.string().nullable(),
2869
- parentPiEntryId: z13.string().nullable(),
2870
- entryType: z13.string().nullable(),
2871
- seq: z13.number().nullable(),
2872
- timestamp: z13.string().nullable(),
2873
- role: z13.string().nullable(),
2874
- contentPreview: z13.string().nullable(),
2875
- model: z13.string().nullable(),
2876
- provider: z13.string().nullable(),
2877
- toolName: z13.string().nullable(),
2878
- tokenInput: z13.number().nullable(),
2879
- tokenOutput: z13.number().nullable(),
2880
- costUsd: z13.number().nullable(),
2881
- sourceType: z13.string().nullable(),
2882
- sourceRef: z13.string().nullable(),
2883
- payload: z13.unknown().nullable()
2951
+ count: z14.number()
2952
+ });
2953
+ adminTurnsResponseDataSchema = z14.object({
2954
+ turns: z14.array(z14.object({
2955
+ id: z14.number(),
2956
+ piEntryId: z14.string().nullable(),
2957
+ parentPiEntryId: z14.string().nullable(),
2958
+ entryType: z14.string().nullable(),
2959
+ seq: z14.number().nullable(),
2960
+ timestamp: z14.string().nullable(),
2961
+ role: z14.string().nullable(),
2962
+ contentPreview: z14.string().nullable(),
2963
+ model: z14.string().nullable(),
2964
+ provider: z14.string().nullable(),
2965
+ toolName: z14.string().nullable(),
2966
+ tokenInput: z14.number().nullable(),
2967
+ tokenOutput: z14.number().nullable(),
2968
+ costUsd: z14.number().nullable(),
2969
+ sourceType: z14.string().nullable(),
2970
+ sourceRef: z14.string().nullable(),
2971
+ payload: z14.unknown().nullable()
2884
2972
  })),
2885
- page: z13.number(),
2886
- pageSize: z13.number()
2973
+ page: z14.number(),
2974
+ pageSize: z14.number()
2887
2975
  });
2888
- adminMessageAgentsRequestSchema = z13.object({
2889
- message: z13.string().trim().min(1, "Message is required").max(4000),
2890
- agentIds: z13.array(z13.string().uuid()).min(1).optional(),
2891
- broadcast: z13.boolean().optional()
2976
+ adminMessageAgentsRequestSchema = z14.object({
2977
+ message: z14.string().trim().min(1, "Message is required").max(4000),
2978
+ agentIds: z14.array(z14.string().uuid()).min(1).optional(),
2979
+ broadcast: z14.boolean().optional()
2892
2980
  }).refine((data) => data.agentIds && data.agentIds.length > 0 || data.broadcast === true, { message: "Provide agentIds or set broadcast to true" }).refine((data) => !(data.agentIds && data.agentIds.length > 0 && data.broadcast === true), { message: "Cannot specify both agentIds and broadcast" });
2893
- adminMessageAgentsResponseDataSchema = z13.object({
2894
- sent: z13.number(),
2895
- agentIds: z13.array(z13.string().uuid())
2896
- });
2897
- adminPendingPayoutsResponseDataSchema = z13.object({
2898
- min_payout_usd: z13.number().optional(),
2899
- pending_payouts: z13.array(z13.object({
2900
- referrer_id: z13.string(),
2901
- name: z13.string(),
2902
- handle: z13.string().nullable().optional(),
2903
- payout_wallet: z13.string().nullable().optional(),
2904
- referral_count: z13.number(),
2905
- total_volume_usd: z13.number(),
2906
- total_earned: z13.number(),
2907
- total_paid_out: z13.number(),
2908
- pending_amount: z13.number(),
2909
- solana_earned: z13.number(),
2910
- hyperliquid_earned: z13.number(),
2911
- dbc_pool_earned: z13.number()
2981
+ adminMessageAgentsResponseDataSchema = z14.object({
2982
+ sent: z14.number(),
2983
+ agentIds: z14.array(z14.string().uuid())
2984
+ });
2985
+ adminPendingPayoutsResponseDataSchema = z14.object({
2986
+ min_payout_usd: z14.number().optional(),
2987
+ pending_payouts: z14.array(z14.object({
2988
+ referrer_id: z14.string(),
2989
+ name: z14.string(),
2990
+ handle: z14.string().nullable().optional(),
2991
+ payout_wallet: z14.string().nullable().optional(),
2992
+ referral_count: z14.number(),
2993
+ total_volume_usd: z14.number(),
2994
+ total_earned: z14.number(),
2995
+ total_paid_out: z14.number(),
2996
+ pending_amount: z14.number(),
2997
+ solana_earned: z14.number(),
2998
+ hyperliquid_earned: z14.number(),
2999
+ dbc_pool_earned: z14.number()
2912
3000
  }))
2913
3001
  });
2914
- adminProcessPayoutRequestSchema = z13.object({
2915
- referrer_id: z13.string().min(1),
2916
- amount: z13.number().finite().positive().max(1e5),
2917
- tx_signature: z13.string().min(1)
3002
+ adminProcessPayoutRequestSchema = z14.object({
3003
+ referrer_id: z14.string().min(1),
3004
+ amount: z14.number().finite().positive().max(1e5),
3005
+ tx_signature: z14.string().min(1)
2918
3006
  });
2919
- adminProcessPayoutResponseDataSchema = z13.object({
2920
- payout_id: z13.string(),
2921
- referrer: z13.object({
2922
- id: z13.string(),
2923
- name: z13.string().nullable()
3007
+ adminProcessPayoutResponseDataSchema = z14.object({
3008
+ payout_id: z14.string(),
3009
+ referrer: z14.object({
3010
+ id: z14.string(),
3011
+ name: z14.string().nullable()
2924
3012
  }),
2925
- amount: z13.number(),
2926
- wallet_address: z13.string(),
2927
- tx_signature: z13.string(),
2928
- status: z13.string()
2929
- });
2930
- adminApprovePayoutRequestSchema = z13.object({
2931
- referrer_id: z13.string().uuid(),
2932
- amount: z13.number().finite().positive().min(5),
2933
- notes: z13.string().trim().max(1000).optional()
2934
- });
2935
- adminSkipPayoutRequestSchema = z13.object({
2936
- referrer_id: z13.string().uuid(),
2937
- notes: z13.string().trim().max(1000).optional()
2938
- });
2939
- adminForfeitPayoutRequestSchema = z13.object({
2940
- referrer_id: z13.string().uuid(),
2941
- amount: z13.number().finite().positive(),
2942
- notes: z13.string().trim().min(1).max(1000)
2943
- });
2944
- adminRecordTxRequestSchema = z13.object({
2945
- payout_id: z13.string().uuid(),
2946
- tx_signature: z13.string().min(1)
2947
- });
2948
- adminApprovalQueueResponseDataSchema = z13.object({
2949
- referrers: z13.array(z13.object({
2950
- referrerId: z13.string(),
2951
- name: z13.string(),
2952
- handle: z13.string().nullable(),
2953
- payoutWallet: z13.string().nullable(),
2954
- pendingAmount: z13.number(),
2955
- referralCount: z13.number(),
2956
- totalVolumeUsd: z13.number(),
2957
- totalEarned: z13.number(),
2958
- totalPaidOut: z13.number(),
2959
- overallRisk: z13.enum(["low", "medium", "high"]).optional()
3013
+ amount: z14.number(),
3014
+ wallet_address: z14.string(),
3015
+ tx_signature: z14.string(),
3016
+ status: z14.string()
3017
+ });
3018
+ adminApprovePayoutRequestSchema = z14.object({
3019
+ referrer_id: z14.string().uuid(),
3020
+ amount: z14.number().finite().positive().min(5),
3021
+ notes: z14.string().trim().max(1000).optional()
3022
+ });
3023
+ adminSkipPayoutRequestSchema = z14.object({
3024
+ referrer_id: z14.string().uuid(),
3025
+ notes: z14.string().trim().max(1000).optional()
3026
+ });
3027
+ adminForfeitPayoutRequestSchema = z14.object({
3028
+ referrer_id: z14.string().uuid(),
3029
+ amount: z14.number().finite().positive(),
3030
+ notes: z14.string().trim().min(1).max(1000)
3031
+ });
3032
+ adminRecordTxRequestSchema = z14.object({
3033
+ payout_id: z14.string().uuid(),
3034
+ tx_signature: z14.string().min(1)
3035
+ });
3036
+ adminApprovalQueueResponseDataSchema = z14.object({
3037
+ referrers: z14.array(z14.object({
3038
+ referrerId: z14.string(),
3039
+ name: z14.string(),
3040
+ handle: z14.string().nullable(),
3041
+ payoutWallet: z14.string().nullable(),
3042
+ pendingAmount: z14.number(),
3043
+ referralCount: z14.number(),
3044
+ totalVolumeUsd: z14.number(),
3045
+ totalEarned: z14.number(),
3046
+ totalPaidOut: z14.number(),
3047
+ overallRisk: z14.enum(["low", "medium", "high"]).optional()
2960
3048
  })),
2961
- approvedPayouts: z13.array(z13.object({
2962
- id: z13.string(),
2963
- referrerId: z13.string(),
2964
- referrerName: z13.string(),
2965
- amount: z13.number(),
2966
- approvedAt: z13.string(),
2967
- notes: z13.string().nullable()
3049
+ approvedPayouts: z14.array(z14.object({
3050
+ id: z14.string(),
3051
+ referrerId: z14.string(),
3052
+ referrerName: z14.string(),
3053
+ amount: z14.number(),
3054
+ approvedAt: z14.string(),
3055
+ notes: z14.string().nullable()
2968
3056
  }))
2969
3057
  });
2970
- adminApprovePayoutResponseDataSchema = z13.object({
2971
- payout: z13.object({
2972
- id: z13.string(),
2973
- referrerId: z13.string(),
2974
- referrerName: z13.string(),
2975
- amount: z13.number(),
2976
- wallet: z13.string(),
2977
- status: z13.literal("approved"),
2978
- approvedAt: z13.string(),
2979
- notes: z13.string().nullable()
3058
+ adminApprovePayoutResponseDataSchema = z14.object({
3059
+ payout: z14.object({
3060
+ id: z14.string(),
3061
+ referrerId: z14.string(),
3062
+ referrerName: z14.string(),
3063
+ amount: z14.number(),
3064
+ wallet: z14.string(),
3065
+ status: z14.literal("approved"),
3066
+ approvedAt: z14.string(),
3067
+ notes: z14.string().nullable()
2980
3068
  })
2981
3069
  });
2982
- adminSkipPayoutResponseDataSchema = z13.object({
2983
- payout: z13.object({
2984
- id: z13.string(),
2985
- referrerId: z13.string(),
2986
- status: z13.literal("skipped"),
2987
- periodStart: z13.string(),
2988
- periodEnd: z13.string(),
2989
- notes: z13.string().nullable()
3070
+ adminSkipPayoutResponseDataSchema = z14.object({
3071
+ payout: z14.object({
3072
+ id: z14.string(),
3073
+ referrerId: z14.string(),
3074
+ status: z14.literal("skipped"),
3075
+ periodStart: z14.string(),
3076
+ periodEnd: z14.string(),
3077
+ notes: z14.string().nullable()
2990
3078
  })
2991
3079
  });
2992
- adminForfeitPayoutResponseDataSchema = z13.object({
2993
- payout: z13.object({
2994
- id: z13.string(),
2995
- referrerId: z13.string(),
2996
- amount: z13.number(),
2997
- status: z13.literal("forfeited"),
2998
- notes: z13.string()
3080
+ adminForfeitPayoutResponseDataSchema = z14.object({
3081
+ payout: z14.object({
3082
+ id: z14.string(),
3083
+ referrerId: z14.string(),
3084
+ amount: z14.number(),
3085
+ status: z14.literal("forfeited"),
3086
+ notes: z14.string()
2999
3087
  })
3000
3088
  });
3001
- adminRecordTxResponseDataSchema = z13.object({
3002
- payout: z13.object({
3003
- id: z13.string(),
3004
- referrerId: z13.string(),
3005
- amount: z13.number(),
3006
- status: z13.literal("completed"),
3007
- txSignature: z13.string(),
3008
- completedAt: z13.string().nullable()
3089
+ adminRecordTxResponseDataSchema = z14.object({
3090
+ payout: z14.object({
3091
+ id: z14.string(),
3092
+ referrerId: z14.string(),
3093
+ amount: z14.number(),
3094
+ status: z14.literal("completed"),
3095
+ txSignature: z14.string(),
3096
+ completedAt: z14.string().nullable()
3009
3097
  })
3010
3098
  });
3011
- adminReferrerIdParamsSchema = z13.object({
3012
- referrerId: z13.string().uuid()
3013
- });
3014
- adminReferralOverviewResponseDataSchema = z13.object({
3015
- totalReferrers: z13.number(),
3016
- totalReferees: z13.number(),
3017
- totalVolumeUsd: z13.number(),
3018
- totalEarned: z13.number(),
3019
- totalPaidOut: z13.number(),
3020
- totalPending: z13.number(),
3021
- topReferrers: z13.array(z13.object({
3022
- referrerId: z13.string(),
3023
- name: z13.string(),
3024
- handle: z13.string().nullable(),
3025
- payoutWallet: z13.string().nullable(),
3026
- referralCount: z13.number(),
3027
- totalVolumeUsd: z13.number(),
3028
- totalEarned: z13.number(),
3029
- totalPaidOut: z13.number(),
3030
- pendingAmount: z13.number(),
3031
- solanaEarned: z13.number(),
3032
- hyperliquidEarned: z13.number(),
3033
- dbcPoolEarned: z13.number()
3099
+ adminReferrerIdParamsSchema = z14.object({
3100
+ referrerId: z14.string().uuid()
3101
+ });
3102
+ adminReferralOverviewResponseDataSchema = z14.object({
3103
+ totalReferrers: z14.number(),
3104
+ totalReferees: z14.number(),
3105
+ totalVolumeUsd: z14.number(),
3106
+ totalEarned: z14.number(),
3107
+ totalPaidOut: z14.number(),
3108
+ totalPending: z14.number(),
3109
+ topReferrers: z14.array(z14.object({
3110
+ referrerId: z14.string(),
3111
+ name: z14.string(),
3112
+ handle: z14.string().nullable(),
3113
+ payoutWallet: z14.string().nullable(),
3114
+ referralCount: z14.number(),
3115
+ totalVolumeUsd: z14.number(),
3116
+ totalEarned: z14.number(),
3117
+ totalPaidOut: z14.number(),
3118
+ pendingAmount: z14.number(),
3119
+ solanaEarned: z14.number(),
3120
+ hyperliquidEarned: z14.number(),
3121
+ dbcPoolEarned: z14.number()
3034
3122
  }))
3035
3123
  });
3036
- adminReferralTradesQuerySchema = z13.object({
3037
- limit: z13.coerce.number().int().min(1).default(50).transform((v) => Math.min(v, 100)),
3038
- offset: z13.coerce.number().int().min(0).default(0)
3039
- });
3040
- adminReferralTradesResponseDataSchema = z13.object({
3041
- trades: z13.array(z13.object({
3042
- id: z13.string(),
3043
- chain: z13.string(),
3044
- agentId: z13.string(),
3045
- refereeName: z13.string(),
3046
- refereeHandle: z13.string().nullable(),
3047
- tokenAddress: z13.string(),
3048
- valueUsd: z13.number(),
3049
- feeAmount: z13.number(),
3050
- referrerFeeBps: z13.number().nullable(),
3051
- treasuryFeeBps: z13.number().nullable(),
3052
- referrerEarnedUsd: z13.number(),
3053
- txSignature: z13.string().nullable(),
3054
- timestamp: z13.string().nullable()
3124
+ adminReferralTradesQuerySchema = z14.object({
3125
+ limit: z14.coerce.number().int().min(1).default(50).transform((v) => Math.min(v, 100)),
3126
+ offset: z14.coerce.number().int().min(0).default(0)
3127
+ });
3128
+ adminReferralTradesResponseDataSchema = z14.object({
3129
+ trades: z14.array(z14.object({
3130
+ id: z14.string(),
3131
+ chain: z14.string(),
3132
+ agentId: z14.string(),
3133
+ refereeName: z14.string(),
3134
+ refereeHandle: z14.string().nullable(),
3135
+ tokenAddress: z14.string(),
3136
+ valueUsd: z14.number(),
3137
+ feeAmount: z14.number(),
3138
+ referrerFeeBps: z14.number().nullable(),
3139
+ treasuryFeeBps: z14.number().nullable(),
3140
+ referrerEarnedUsd: z14.number(),
3141
+ txSignature: z14.string().nullable(),
3142
+ timestamp: z14.string().nullable()
3055
3143
  })),
3056
- pagination: z13.object({
3057
- limit: z13.number(),
3058
- offset: z13.number(),
3059
- total: z13.number(),
3060
- hasMore: z13.boolean()
3144
+ pagination: z14.object({
3145
+ limit: z14.number(),
3146
+ offset: z14.number(),
3147
+ total: z14.number(),
3148
+ hasMore: z14.boolean()
3061
3149
  })
3062
3150
  });
3063
- adminReferralGamingSignalSchema = z13.object({
3064
- type: z13.string(),
3065
- severity: z13.enum(["low", "medium", "high"]),
3066
- description: z13.string(),
3067
- evidence: z13.record(z13.string(), z13.unknown())
3068
- });
3069
- adminReferralSignalsResponseDataSchema = z13.object({
3070
- referrerId: z13.string(),
3071
- overallRisk: z13.enum(["low", "medium", "high"]),
3072
- signals: z13.array(adminReferralGamingSignalSchema)
3073
- });
3074
- adminAgentIdParamsSchema = z13.object({
3075
- agentId: z13.string().uuid()
3076
- });
3077
- adminCreateAgentRequestSchema = z13.object({
3078
- name: z13.string().min(1).max(100),
3079
- handle: z13.string().max(50).optional(),
3080
- bio: z13.string().max(500).optional(),
3081
- avatarUrl: z13.string().url().optional(),
3082
- generation: z13.number().int().optional(),
3083
- serverPlan: z13.enum(["basic", "standard", "pro"]).optional(),
3084
- llmModel: z13.string().optional(),
3085
- llmBudgetUsd: z13.number().optional(),
3086
- inboxPriceUsd: z13.number().optional()
3087
- });
3088
- adminUpdateAgentRequestSchema = z13.object({
3089
- name: z13.string().min(1).max(100).optional(),
3090
- handle: z13.string().max(50).optional(),
3091
- bio: z13.string().max(500).optional(),
3092
- avatarUrl: z13.string().url().nullable().optional(),
3093
- llmModel: z13.string().optional(),
3094
- llmBudgetUsd: z13.number().optional(),
3095
- serverPlan: z13.enum(["basic", "standard", "pro"]).optional(),
3096
- generation: z13.number().int().optional(),
3097
- inboxPriceUsd: z13.number().optional(),
3098
- isAlive: z13.boolean().optional()
3151
+ adminReferralGamingSignalSchema = z14.object({
3152
+ type: z14.string(),
3153
+ severity: z14.enum(["low", "medium", "high"]),
3154
+ description: z14.string(),
3155
+ evidence: z14.record(z14.string(), z14.unknown())
3156
+ });
3157
+ adminReferralSignalsResponseDataSchema = z14.object({
3158
+ referrerId: z14.string(),
3159
+ overallRisk: z14.enum(["low", "medium", "high"]),
3160
+ signals: z14.array(adminReferralGamingSignalSchema)
3161
+ });
3162
+ adminAgentIdParamsSchema = z14.object({
3163
+ agentId: z14.string().uuid()
3164
+ });
3165
+ adminCreateAgentRequestSchema = z14.object({
3166
+ name: z14.string().min(1).max(100),
3167
+ handle: z14.string().max(50).optional(),
3168
+ bio: z14.string().max(500).optional(),
3169
+ avatarUrl: z14.string().url().optional(),
3170
+ generation: z14.number().int().optional(),
3171
+ serverPlan: z14.enum(["basic", "standard", "pro"]).optional(),
3172
+ llmModel: z14.string().optional(),
3173
+ llmBudgetUsd: z14.number().optional(),
3174
+ inboxPriceUsd: z14.number().optional()
3175
+ });
3176
+ adminUpdateAgentRequestSchema = z14.object({
3177
+ name: z14.string().min(1).max(100).optional(),
3178
+ handle: z14.string().max(50).optional(),
3179
+ bio: z14.string().max(500).optional(),
3180
+ avatarUrl: z14.string().url().nullable().optional(),
3181
+ llmModel: z14.string().optional(),
3182
+ llmBudgetUsd: z14.number().optional(),
3183
+ serverPlan: z14.enum(["basic", "standard", "pro"]).optional(),
3184
+ generation: z14.number().int().optional(),
3185
+ inboxPriceUsd: z14.number().optional(),
3186
+ isAlive: z14.boolean().optional()
3099
3187
  }).refine((obj) => Object.keys(obj).length > 0, { message: "At least one field required" });
3100
- adminUserIdParamsSchema = z13.object({
3101
- userId: z13.string().uuid()
3102
- });
3103
- adminUsersQuerySchema = z13.object({
3104
- limit: z13.coerce.number().int().min(1).default(25).transform((v) => Math.min(v, 100)),
3105
- offset: z13.coerce.number().int().min(0).default(0),
3106
- search: z13.string().optional()
3107
- });
3108
- adminUpdateUserRequestSchema = z13.object({
3109
- role: z13.enum(["admin", "user"]).optional(),
3110
- banned: z13.boolean().optional(),
3111
- banReason: z13.string().optional(),
3112
- banExpiresIn: z13.number().positive().optional(),
3113
- shadowbanned: z13.boolean().optional()
3188
+ adminUserIdParamsSchema = z14.object({
3189
+ userId: z14.string().uuid()
3190
+ });
3191
+ adminUsersQuerySchema = z14.object({
3192
+ limit: z14.coerce.number().int().min(1).default(25).transform((v) => Math.min(v, 100)),
3193
+ offset: z14.coerce.number().int().min(0).default(0),
3194
+ search: z14.string().optional()
3195
+ });
3196
+ adminUpdateUserRequestSchema = z14.object({
3197
+ role: z14.enum(["admin", "user"]).optional(),
3198
+ banned: z14.boolean().optional(),
3199
+ banReason: z14.string().optional(),
3200
+ banExpiresIn: z14.number().positive().optional(),
3201
+ shadowbanned: z14.boolean().optional()
3114
3202
  }).refine((obj) => Object.keys(obj).length > 0, { message: "At least one field required" });
3115
- adminCreateAgentResponseDataSchema = z13.object({
3116
- agent: z13.object({
3117
- id: z13.string().uuid(),
3118
- name: z13.string(),
3119
- handle: z13.string().nullable(),
3120
- email: z13.string()
3203
+ adminCreateAgentResponseDataSchema = z14.object({
3204
+ agent: z14.object({
3205
+ id: z14.string().uuid(),
3206
+ name: z14.string(),
3207
+ handle: z14.string().nullable(),
3208
+ email: z14.string()
3121
3209
  })
3122
3210
  });
3123
- adminUpdateAgentResponseDataSchema = z13.object({
3124
- ok: z13.boolean()
3211
+ adminUpdateAgentResponseDataSchema = z14.object({
3212
+ ok: z14.boolean()
3125
3213
  });
3126
- adminUsersResponseDataSchema = z13.object({
3127
- users: z13.array(z13.object({
3128
- id: z13.string().uuid(),
3129
- name: z13.string().nullable(),
3130
- email: z13.string().nullable(),
3131
- role: z13.string().nullable(),
3132
- banned: z13.boolean().nullable(),
3133
- banReason: z13.string().nullable(),
3134
- banExpires: z13.string().nullable(),
3135
- shadowbanned: z13.boolean().nullable(),
3136
- createdAt: z13.string().nullable()
3214
+ adminUsersResponseDataSchema = z14.object({
3215
+ users: z14.array(z14.object({
3216
+ id: z14.string().uuid(),
3217
+ name: z14.string().nullable(),
3218
+ email: z14.string().nullable(),
3219
+ role: z14.string().nullable(),
3220
+ banned: z14.boolean().nullable(),
3221
+ banReason: z14.string().nullable(),
3222
+ banExpires: z14.string().nullable(),
3223
+ shadowbanned: z14.boolean().nullable(),
3224
+ createdAt: z14.string().nullable()
3137
3225
  })),
3138
- total: z13.number()
3139
- });
3140
- adminUpdateUserResponseDataSchema = z13.object({
3141
- user: z13.record(z13.string(), z13.unknown())
3142
- });
3143
- adminIncubatorBirthRequestSchema = z13.object({
3144
- action: z13.enum(["trigger", "pause", "resume"]),
3145
- skipBalanceCheck: z13.boolean().optional().default(false)
3146
- });
3147
- adminIncubatorAdjustRequestSchema = z13.object({
3148
- amountUsd: z13.number(),
3149
- source: z13.enum(["manual_credit", "manual_debit", "birth_refund"]),
3150
- note: z13.string().min(1)
3151
- });
3152
- adminIncubatorWalletRequestSchema = z13.object({
3153
- walletId: z13.string().min(1),
3154
- walletAddress: z13.string().min(1)
3155
- });
3156
- adminIncubatorTransactionsQuerySchema = z13.object({
3157
- limit: z13.coerce.number().int().min(1).default(50).transform((v) => Math.min(v, 100)),
3158
- offset: z13.coerce.number().int().min(0).default(0),
3159
- source: z13.string().optional()
3160
- });
3161
- adminIncubatorPoolResponseDataSchema = z13.object({
3162
- balance_usd: z13.number(),
3163
- threshold_usd: z13.number(),
3164
- progress_pct: z13.number(),
3165
- total_born: z13.number(),
3166
- alive_count: z13.number(),
3167
- dead_count: z13.number(),
3168
- generation: z13.number(),
3169
- birth_status: z13.string(),
3170
- birth_paused: z13.boolean(),
3171
- pool_wallet_id: z13.string().nullable(),
3172
- pool_wallet_address: z13.string().nullable(),
3173
- incubator_fee_percent: z13.number(),
3174
- birth_threshold_usd: z13.number(),
3175
- onChainBalanceSol: z13.number(),
3176
- onChainBalanceUsd: z13.number()
3177
- });
3178
- adminIncubatorTransactionSchema = z13.object({
3179
- id: z13.string().uuid(),
3180
- amountUsd: z13.number(),
3181
- source: z13.string(),
3182
- sourceTradeId: z13.string().nullable(),
3183
- adminNote: z13.string().nullable(),
3184
- createdAt: z13.string()
3185
- });
3186
- adminIncubatorTransactionsResponseDataSchema = z13.object({
3187
- transactions: z13.array(adminIncubatorTransactionSchema),
3188
- total: z13.number()
3189
- });
3190
- adminIncubatorBirthResponseDataSchema = z13.object({
3191
- ok: z13.literal(true),
3192
- action: z13.enum(["triggered", "paused", "resumed"]),
3193
- agent: z13.object({
3194
- id: z13.string(),
3195
- number: z13.number(),
3196
- solanaAddress: z13.string()
3226
+ total: z14.number()
3227
+ });
3228
+ adminUpdateUserResponseDataSchema = z14.object({
3229
+ user: z14.record(z14.string(), z14.unknown())
3230
+ });
3231
+ adminIncubatorBirthRequestSchema = z14.object({
3232
+ action: z14.enum(["trigger", "pause", "resume"]),
3233
+ skipBalanceCheck: z14.boolean().optional().default(false)
3234
+ });
3235
+ adminIncubatorAdjustRequestSchema = z14.object({
3236
+ amountUsd: z14.number(),
3237
+ source: z14.enum(["manual_credit", "manual_debit", "birth_refund"]),
3238
+ note: z14.string().min(1)
3239
+ });
3240
+ adminIncubatorWalletRequestSchema = z14.object({
3241
+ walletId: z14.string().min(1),
3242
+ walletAddress: z14.string().min(1)
3243
+ });
3244
+ adminIncubatorTransactionsQuerySchema = z14.object({
3245
+ limit: z14.coerce.number().int().min(1).default(50).transform((v) => Math.min(v, 100)),
3246
+ offset: z14.coerce.number().int().min(0).default(0),
3247
+ source: z14.string().optional()
3248
+ });
3249
+ adminIncubatorPoolResponseDataSchema = z14.object({
3250
+ balance_usd: z14.number(),
3251
+ threshold_usd: z14.number(),
3252
+ progress_pct: z14.number(),
3253
+ total_born: z14.number(),
3254
+ alive_count: z14.number(),
3255
+ dead_count: z14.number(),
3256
+ generation: z14.number(),
3257
+ birth_status: z14.string(),
3258
+ birth_paused: z14.boolean(),
3259
+ pool_wallet_id: z14.string().nullable(),
3260
+ pool_wallet_address: z14.string().nullable(),
3261
+ incubator_fee_percent: z14.number(),
3262
+ birth_threshold_usd: z14.number(),
3263
+ onChainBalanceSol: z14.number(),
3264
+ onChainBalanceUsd: z14.number()
3265
+ });
3266
+ adminIncubatorTransactionSchema = z14.object({
3267
+ id: z14.string().uuid(),
3268
+ amountUsd: z14.number(),
3269
+ source: z14.string(),
3270
+ sourceTradeId: z14.string().nullable(),
3271
+ adminNote: z14.string().nullable(),
3272
+ createdAt: z14.string()
3273
+ });
3274
+ adminIncubatorTransactionsResponseDataSchema = z14.object({
3275
+ transactions: z14.array(adminIncubatorTransactionSchema),
3276
+ total: z14.number()
3277
+ });
3278
+ adminIncubatorBirthResponseDataSchema = z14.object({
3279
+ ok: z14.literal(true),
3280
+ action: z14.enum(["triggered", "paused", "resumed"]),
3281
+ agent: z14.object({
3282
+ id: z14.string(),
3283
+ number: z14.number(),
3284
+ solanaAddress: z14.string()
3197
3285
  }).optional(),
3198
- transferHash: z13.string().nullable().optional()
3286
+ transferHash: z14.string().nullable().optional()
3199
3287
  });
3200
- adminIncubatorAdjustResponseDataSchema = z13.object({
3201
- ok: z13.literal(true),
3202
- balanceUsd: z13.number(),
3203
- birthStatus: z13.string()
3288
+ adminIncubatorAdjustResponseDataSchema = z14.object({
3289
+ ok: z14.literal(true),
3290
+ balanceUsd: z14.number(),
3291
+ birthStatus: z14.string()
3204
3292
  });
3205
- adminIncubatorWalletResponseDataSchema = z13.object({
3206
- ok: z13.literal(true),
3207
- walletId: z13.string(),
3208
- walletAddress: z13.string()
3293
+ adminIncubatorWalletResponseDataSchema = z14.object({
3294
+ ok: z14.literal(true),
3295
+ walletId: z14.string(),
3296
+ walletAddress: z14.string()
3209
3297
  });
3210
3298
  adminDisputesResponseSchema = successEnvelope(adminDisputesResponseDataSchema);
3211
3299
  adminResolveDisputeResponseSchema = successEnvelope(adminResolveDisputeResponseDataSchema);
@@ -3218,46 +3306,46 @@ var init_admin = __esm(() => {
3218
3306
  });
3219
3307
 
3220
3308
  // ../../packages/client/src/schemas/auth.ts
3221
- import { z as z14 } from "zod";
3309
+ import { z as z15 } from "zod";
3222
3310
  var authApiKeysCreateRequestSchema, authApiKeysDeleteRequestSchema, authSetupRequestSchema, authApiKeysListResponseDataSchema, authApiKeysCreateResponseDataSchema, authApiKeysDeleteResponseDataSchema, authSetupResponseDataSchema, authApiKeysListResponseSchema, authApiKeysCreateResponseSchema, authApiKeysDeleteResponseSchema, authSetupResponseSchema;
3223
3311
  var init_auth = __esm(() => {
3224
3312
  init_common();
3225
- authApiKeysCreateRequestSchema = z14.object({
3226
- name: z14.string().trim().min(1).max(120).optional()
3227
- });
3228
- authApiKeysDeleteRequestSchema = z14.object({
3229
- keyId: z14.string().min(1)
3230
- });
3231
- authSetupRequestSchema = z14.object({
3232
- name: z14.string().trim().min(1).max(120).optional(),
3233
- handle: z14.string().trim().min(1).max(120).optional(),
3234
- referralCode: z14.string().trim().min(1).max(120).optional()
3235
- });
3236
- authApiKeysListResponseDataSchema = z14.object({
3237
- keys: z14.array(z14.object({
3238
- id: z14.string(),
3239
- name: z14.string().nullable(),
3240
- start: z14.string(),
3241
- createdAt: z14.string()
3313
+ authApiKeysCreateRequestSchema = z15.object({
3314
+ name: z15.string().trim().min(1).max(120).optional()
3315
+ });
3316
+ authApiKeysDeleteRequestSchema = z15.object({
3317
+ keyId: z15.string().min(1)
3318
+ });
3319
+ authSetupRequestSchema = z15.object({
3320
+ name: z15.string().trim().min(1).max(120).optional(),
3321
+ handle: z15.string().trim().min(1).max(120).optional(),
3322
+ referralCode: z15.string().trim().min(1).max(120).optional()
3323
+ });
3324
+ authApiKeysListResponseDataSchema = z15.object({
3325
+ keys: z15.array(z15.object({
3326
+ id: z15.string(),
3327
+ name: z15.string().nullable(),
3328
+ start: z15.string(),
3329
+ createdAt: z15.string()
3242
3330
  }))
3243
3331
  });
3244
- authApiKeysCreateResponseDataSchema = z14.object({
3245
- key: z14.string(),
3246
- id: z14.string(),
3247
- start: z14.string()
3332
+ authApiKeysCreateResponseDataSchema = z15.object({
3333
+ key: z15.string(),
3334
+ id: z15.string(),
3335
+ start: z15.string()
3248
3336
  });
3249
- authApiKeysDeleteResponseDataSchema = z14.object({
3250
- revoked: z14.boolean()
3337
+ authApiKeysDeleteResponseDataSchema = z15.object({
3338
+ revoked: z15.boolean()
3251
3339
  });
3252
- authSetupResponseDataSchema = z14.object({
3253
- userId: z14.string().uuid(),
3254
- solanaAddress: z14.string().nullable(),
3255
- hlAddress: z14.string().nullable().optional(),
3256
- handle: z14.string().nullable(),
3257
- apiKeyHint: z14.string().nullable(),
3258
- apiKey: z14.string().optional(),
3259
- cliCommand: z14.string().optional(),
3260
- isNew: z14.boolean()
3340
+ authSetupResponseDataSchema = z15.object({
3341
+ userId: z15.string().uuid(),
3342
+ solanaAddress: z15.string().nullable(),
3343
+ hlAddress: z15.string().nullable().optional(),
3344
+ handle: z15.string().nullable(),
3345
+ apiKeyHint: z15.string().nullable(),
3346
+ apiKey: z15.string().optional(),
3347
+ cliCommand: z15.string().optional(),
3348
+ isNew: z15.boolean()
3261
3349
  });
3262
3350
  authApiKeysListResponseSchema = successEnvelope(authApiKeysListResponseDataSchema);
3263
3351
  authApiKeysCreateResponseSchema = successEnvelope(authApiKeysCreateResponseDataSchema);
@@ -3266,122 +3354,57 @@ var init_auth = __esm(() => {
3266
3354
  });
3267
3355
 
3268
3356
  // ../../packages/client/src/schemas/claim.ts
3269
- import { z as z15 } from "zod";
3357
+ import { z as z16 } from "zod";
3270
3358
  var claimTokenParamsSchema, claimInfoResponseDataSchema, claimInfoResponseSchema;
3271
3359
  var init_claim = __esm(() => {
3272
3360
  init_common();
3273
- claimTokenParamsSchema = z15.object({
3274
- token: z15.string().trim().min(1, "Claim token is required")
3275
- });
3276
- claimInfoResponseDataSchema = z15.object({
3277
- claimed: z15.boolean(),
3278
- agent: z15.object({
3279
- name: z15.string(),
3280
- handle: z15.string().nullable().optional(),
3281
- bio: z15.string().nullable(),
3282
- avatar: z15.string().nullable()
3361
+ claimTokenParamsSchema = z16.object({
3362
+ token: z16.string().trim().min(1, "Claim token is required")
3363
+ });
3364
+ claimInfoResponseDataSchema = z16.object({
3365
+ claimed: z16.boolean(),
3366
+ agent: z16.object({
3367
+ name: z16.string(),
3368
+ handle: z16.string().nullable().optional(),
3369
+ bio: z16.string().nullable(),
3370
+ avatar: z16.string().nullable()
3283
3371
  }),
3284
- verificationCode: z15.string().optional(),
3285
- tweetText: z15.string().optional(),
3286
- instructions: z15.string().optional()
3372
+ verificationCode: z16.string().optional(),
3373
+ tweetText: z16.string().optional(),
3374
+ instructions: z16.string().optional()
3287
3375
  });
3288
3376
  claimInfoResponseSchema = successEnvelope(claimInfoResponseDataSchema);
3289
3377
  });
3290
3378
 
3291
3379
  // ../../packages/client/src/schemas/dashboard.ts
3292
- import { z as z16 } from "zod";
3380
+ import { z as z17 } from "zod";
3293
3381
  var dashboardStatusResponseDataSchema, dashboardStatusResponseSchema;
3294
3382
  var init_dashboard = __esm(() => {
3295
3383
  init_common();
3296
- dashboardStatusResponseDataSchema = z16.object({
3297
- solanaAddress: z16.string().nullable(),
3298
- hlAddress: z16.string().nullable(),
3299
- solanaBalance: z16.number(),
3300
- claimToken: z16.string(),
3301
- steps: z16.object({
3302
- funded: z16.boolean(),
3303
- agentConnected: z16.boolean(),
3304
- xConnected: z16.boolean().nullable()
3384
+ dashboardStatusResponseDataSchema = z17.object({
3385
+ solanaAddress: z17.string().nullable(),
3386
+ hlAddress: z17.string().nullable(),
3387
+ solanaBalance: z17.number(),
3388
+ claimToken: z17.string(),
3389
+ steps: z17.object({
3390
+ funded: z17.boolean(),
3391
+ agentConnected: z17.boolean(),
3392
+ xConnected: z17.boolean().nullable()
3305
3393
  }),
3306
- apiKeyHint: z16.string().nullable(),
3307
- xHandle: z16.string().nullable(),
3308
- handle: z16.string().nullable(),
3309
- stats: z16.object({
3310
- totalValueUsd: z16.number(),
3311
- pnlAllTime: z16.number(),
3312
- pnl24h: z16.number(),
3313
- pnl7d: z16.number(),
3314
- lastTradeAt: z16.string().nullable()
3394
+ apiKeyHint: z17.string().nullable(),
3395
+ xHandle: z17.string().nullable(),
3396
+ handle: z17.string().nullable(),
3397
+ stats: z17.object({
3398
+ totalValueUsd: z17.number(),
3399
+ pnlAllTime: z17.number(),
3400
+ pnl24h: z17.number(),
3401
+ pnl7d: z17.number(),
3402
+ lastTradeAt: z17.string().nullable()
3315
3403
  }).nullable()
3316
3404
  });
3317
3405
  dashboardStatusResponseSchema = successEnvelope(dashboardStatusResponseDataSchema);
3318
3406
  });
3319
3407
 
3320
- // ../../packages/client/src/schemas/notifications.ts
3321
- import { z as z17 } from "zod";
3322
- var queryBooleanSchema2, notificationIdParamsSchema, notificationsListQuerySchema, notificationsMarkAllReadRequestSchema, notificationsPatchRequestSchema, notificationRecordSchema, notificationsListResponseDataSchema, notificationsMarkAllReadResponseDataSchema, notificationsPatchResponseDataSchema, notificationsDeleteResponseDataSchema, notificationsListResponseSchema, notificationsMarkAllReadResponseSchema, notificationsPatchResponseSchema, notificationsDeleteResponseSchema;
3323
- var init_notifications = __esm(() => {
3324
- init_common();
3325
- queryBooleanSchema2 = z17.preprocess((value) => {
3326
- if (value === undefined || value === null || value === "")
3327
- return;
3328
- if (value === true || value === "true")
3329
- return true;
3330
- if (value === false || value === "false")
3331
- return false;
3332
- return value;
3333
- }, z17.boolean());
3334
- notificationIdParamsSchema = z17.object({
3335
- id: z17.string().uuid()
3336
- });
3337
- notificationsListQuerySchema = z17.object({
3338
- limit: z17.coerce.number().int().min(1).default(25).transform((value) => Math.min(value, 100)),
3339
- offset: z17.coerce.number().int().min(0).default(0),
3340
- unreadOnly: queryBooleanSchema2.default(false)
3341
- });
3342
- notificationsMarkAllReadRequestSchema = z17.object({
3343
- action: z17.literal("mark_all_read")
3344
- });
3345
- notificationsPatchRequestSchema = z17.object({
3346
- read: z17.boolean().optional()
3347
- });
3348
- notificationRecordSchema = z17.object({
3349
- id: z17.string().uuid(),
3350
- type: z17.string(),
3351
- title: z17.string(),
3352
- body: z17.string(),
3353
- data: z17.record(z17.string(), z17.unknown()).nullable(),
3354
- read: z17.boolean(),
3355
- createdAt: z17.string()
3356
- });
3357
- notificationsListResponseDataSchema = z17.object({
3358
- notifications: z17.array(notificationRecordSchema),
3359
- unreadCount: z17.number().int().nonnegative(),
3360
- pagination: z17.object({
3361
- limit: z17.number().int().nonnegative(),
3362
- offset: z17.number().int().nonnegative(),
3363
- total: z17.number().int().nonnegative(),
3364
- hasMore: z17.boolean()
3365
- })
3366
- });
3367
- notificationsMarkAllReadResponseDataSchema = z17.object({
3368
- markedAllRead: z17.boolean()
3369
- });
3370
- notificationsPatchResponseDataSchema = z17.object({
3371
- updated: z17.boolean(),
3372
- id: z17.string().uuid(),
3373
- read: z17.boolean()
3374
- });
3375
- notificationsDeleteResponseDataSchema = z17.object({
3376
- deleted: z17.boolean(),
3377
- id: z17.string().uuid()
3378
- });
3379
- notificationsListResponseSchema = successEnvelope(notificationsListResponseDataSchema);
3380
- notificationsMarkAllReadResponseSchema = successEnvelope(notificationsMarkAllReadResponseDataSchema);
3381
- notificationsPatchResponseSchema = successEnvelope(notificationsPatchResponseDataSchema);
3382
- notificationsDeleteResponseSchema = successEnvelope(notificationsDeleteResponseDataSchema);
3383
- });
3384
-
3385
3408
  // ../../packages/client/src/schemas/referrals.ts
3386
3409
  import { z as z18 } from "zod";
3387
3410
  var referralCodeParamsSchema, referralsPayoutWalletRequestSchema, referralCodeLookupResponseDataSchema, earningsSourceBreakdownSchema, referralsOverviewResponseDataSchema, referralsPayoutWalletResponseDataSchema, referralsPayoutsResponseDataSchema, referralCodeLookupResponseSchema, referralsOverviewResponseSchema, referralsPayoutWalletResponseSchema, referralsPayoutsResponseSchema;
@@ -4839,6 +4862,7 @@ function toStructuredError(error) {
4839
4862
  code: error.error.code,
4840
4863
  message: error.error.message,
4841
4864
  suggestion: getSuggestionForError(error),
4865
+ details: parseErrorDetails(error.error.message),
4842
4866
  ...error.error.issues ? { issues: error.error.issues } : {},
4843
4867
  ...hasCheckedList(error) ? { checked: error._checked } : {}
4844
4868
  };
@@ -4848,13 +4872,38 @@ function toStructuredError(error) {
4848
4872
  return {
4849
4873
  code: "INTERNAL_ERROR",
4850
4874
  message: "Failed to connect to API.",
4851
- suggestion: "Check your network connection. API status: https://cabal.trading"
4875
+ suggestion: "Check your network connection. API status: https://cabal.trading",
4876
+ details: { reason: "NETWORK_ERROR" }
4852
4877
  };
4853
4878
  }
4854
- return { code: "INTERNAL_ERROR", message: error.message };
4879
+ return { code: "INTERNAL_ERROR", message: error.message, details: parseErrorDetails(error.message) };
4855
4880
  }
4856
4881
  return { code: "INTERNAL_ERROR", message: "Unknown error" };
4857
4882
  }
4883
+ function parseErrorDetails(message) {
4884
+ const lower = message.toLowerCase();
4885
+ if (lower.includes("insufficient")) {
4886
+ return { reason: "INSUFFICIENT_BALANCE" };
4887
+ }
4888
+ if (lower.includes("slippage")) {
4889
+ return { reason: "SLIPPAGE_EXCEEDED" };
4890
+ }
4891
+ if (lower.includes("rate limit")) {
4892
+ return { reason: "RATE_LIMITED" };
4893
+ }
4894
+ if (lower.includes("too low")) {
4895
+ const amounts = message.match(/\$?([\d.]+)/g);
4896
+ if (amounts && amounts.length >= 2) {
4897
+ const value = parseFloat(amounts[0].replace("$", ""));
4898
+ const minimum = parseFloat(amounts[1].replace("$", ""));
4899
+ if (!isNaN(value) && !isNaN(minimum)) {
4900
+ return { reason: "BELOW_MINIMUM", value, minimum };
4901
+ }
4902
+ }
4903
+ return { reason: "BELOW_MINIMUM" };
4904
+ }
4905
+ return;
4906
+ }
4858
4907
  function getSuggestionForError(error) {
4859
4908
  switch (error.error.code) {
4860
4909
  case ERROR_CODE.UNAUTHORIZED:
@@ -5201,6 +5250,15 @@ function formatToken(amount, symbol) {
5201
5250
  const formatted = formatNumber(amount);
5202
5251
  return `${formatted} ${symbol}`;
5203
5252
  }
5253
+ function formatPnl(usd, percent) {
5254
+ const sign = usd >= 0 ? "+" : "-";
5255
+ const pnl = `${sign}${formatUsd(Math.abs(usd))}`;
5256
+ if (percent != null) {
5257
+ const pSign = percent >= 0 ? "+" : "";
5258
+ return `${pnl} (${pSign}${percent.toFixed(1)}%)`;
5259
+ }
5260
+ return pnl;
5261
+ }
5204
5262
  function formatTime(iso, mode = "relative") {
5205
5263
  if (mode === "iso")
5206
5264
  return iso;
@@ -5235,7 +5293,7 @@ function formatNumber(n) {
5235
5293
  // src/commands/status.ts
5236
5294
  var statusMeta = {
5237
5295
  name: "status",
5238
- description: "Show agent identity and chain connectivity.",
5296
+ description: "Show agent identity, chain connectivity, and portfolio summary.",
5239
5297
  examples: ["cabal status", "cabal status --json"],
5240
5298
  requiredFlags: [],
5241
5299
  optionalFlags: []
@@ -5245,6 +5303,7 @@ async function statusCommand(_commandArgs, ctx) {
5245
5303
  ctx,
5246
5304
  humanRender(data, ctx2) {
5247
5305
  const a = data.agent;
5306
+ const wallets = data.wallets ?? {};
5248
5307
  const lines = [];
5249
5308
  lines.push(`Agent: ${bold(a.name)}${a.handle ? ` (${dim("@" + a.handle)})` : ""}`);
5250
5309
  lines.push(`Status: ${statusBadge(a.status)}`);
@@ -5261,6 +5320,31 @@ async function statusCommand(_commandArgs, ctx) {
5261
5320
  } else {
5262
5321
  lines.push(` Hyperliquid ${dim("not provisioned")}`);
5263
5322
  }
5323
+ let combinedTotal = 0;
5324
+ const sol = wallets.solana;
5325
+ const hl = wallets.hyperliquid;
5326
+ if (sol || hl) {
5327
+ lines.push("");
5328
+ lines.push("Portfolio:");
5329
+ if (sol) {
5330
+ lines.push(` Solana ${green(formatUsd(sol.balanceUsd))}`);
5331
+ combinedTotal += sol.balanceUsd;
5332
+ }
5333
+ if (hl) {
5334
+ lines.push(` Hyperliquid ${green(formatUsd(hl.balanceUsd))}`);
5335
+ combinedTotal += hl.balanceUsd;
5336
+ }
5337
+ lines.push(` ${"Total".padEnd(14)} ${bold(formatUsd(combinedTotal))}`);
5338
+ const pnl24h = a.pnl24h ?? 0;
5339
+ const pnl7d = a.pnl7d ?? 0;
5340
+ const pnlAll = a.pnlAllTime ?? 0;
5341
+ if (pnl24h !== 0 || pnl7d !== 0 || pnlAll !== 0) {
5342
+ lines.push("");
5343
+ lines.push(` ${dim("PnL 24h:")} ${formatPnl(pnl24h)}`);
5344
+ lines.push(` ${dim("PnL 7d:")} ${formatPnl(pnl7d)}`);
5345
+ lines.push(` ${dim("PnL All:")} ${formatPnl(pnlAll)}`);
5346
+ }
5347
+ }
5264
5348
  const steps = [];
5265
5349
  if (!a.hlAddress) {
5266
5350
  steps.push({ message: "Provision Hyperliquid: cabal hl init --yes" });
@@ -5268,6 +5352,11 @@ async function statusCommand(_commandArgs, ctx) {
5268
5352
  if (!a.verified) {
5269
5353
  steps.push({ message: "Verify your agent: cabal onboard --step verify" });
5270
5354
  }
5355
+ if (combinedTotal === 0 && a.solanaAddress) {
5356
+ steps.push({ message: `Fund your wallet at ${a.solanaAddress}` });
5357
+ } else if (combinedTotal > 0) {
5358
+ steps.push({ message: "Start trading: cabal trade -c sol -i SOL -o USDC -a 0.05" });
5359
+ }
5271
5360
  renderNextSteps(steps, ctx2);
5272
5361
  return lines;
5273
5362
  }
@@ -5392,7 +5481,15 @@ async function runWizard(flags, ctx) {
5392
5481
  }
5393
5482
  const allDone = steps.every((s) => s.done);
5394
5483
  const firstIncomplete = steps.findIndex((s) => !s.done);
5395
- if (ctx.flags.yes) {
5484
+ if (ctx.flags.yes || !ctx.isTTY) {
5485
+ if (!ctx.isTTY) {
5486
+ ctx.flags.yes = true;
5487
+ if (!flags.avatar && !flags.avatarId)
5488
+ flags.skipAvatar = true;
5489
+ if (!flags.tweetUrl)
5490
+ flags.skipVerify = true;
5491
+ flags.skipHl = true;
5492
+ }
5396
5493
  if (allDone) {
5397
5494
  process.stderr.write(green("All onboarding steps already complete.") + `
5398
5495
  `);
@@ -5401,9 +5498,6 @@ async function runWizard(flags, ctx) {
5401
5498
  await continueWizard(client2, firstIncomplete, flags, ctx);
5402
5499
  return;
5403
5500
  }
5404
- if (!ctx.isTTY) {
5405
- renderValidationError("--yes is required in non-TTY mode", onboardMeta, ctx);
5406
- }
5407
5501
  printProgress(steps);
5408
5502
  if (allDone) {
5409
5503
  const action2 = await promptChoice("All steps complete. What would you like to do?", [
@@ -5446,9 +5540,6 @@ async function continueWizard(client, startIdx, flags, ctx) {
5446
5540
  process.stderr.write(`
5447
5541
  `);
5448
5542
  if (i > startIdx && !ctx.flags.yes) {
5449
- if (!ctx.isTTY) {
5450
- renderValidationError("--yes is required in non-TTY mode", onboardMeta, ctx);
5451
- }
5452
5543
  const action = await promptChoice("Next step?", [
5453
5544
  { name: `Continue -- ${stepLabel(step)}`, value: "continue" },
5454
5545
  { name: "Skip this step", value: "skip" },
@@ -6215,7 +6306,7 @@ async function walletCommand(commandArgs, ctx) {
6215
6306
  const chainFilter = resolveChainFilter(argStr(values.chain));
6216
6307
  return runCommand((client) => client.getStatus(true), {
6217
6308
  ctx,
6218
- humanRender(data, _ctx) {
6309
+ humanRender(data, ctx2) {
6219
6310
  const lines = [];
6220
6311
  const wallets = data.wallets ?? {};
6221
6312
  const agent2 = data.agent;
@@ -6275,6 +6366,13 @@ async function walletCommand(commandArgs, ctx) {
6275
6366
  if (!chainFilter) {
6276
6367
  lines.push(`Combined: ${bold(formatUsd(combinedTotal))}`);
6277
6368
  }
6369
+ const steps = [];
6370
+ if (combinedTotal === 0 && agent2.solanaAddress) {
6371
+ steps.push({ message: `Fund your wallet at ${agent2.solanaAddress}` });
6372
+ } else if (combinedTotal > 0) {
6373
+ steps.push({ message: "Start trading: cabal trade -c sol -i SOL -o USDC -a 0.05" });
6374
+ }
6375
+ renderNextSteps(steps, ctx2);
6278
6376
  return lines;
6279
6377
  }
6280
6378
  });
@@ -6359,7 +6457,7 @@ var tradeMeta = {
6359
6457
  { flag: "--order-type <market|limit>", description: "HL: order type (default: market)" },
6360
6458
  { flag: "--price <n>", description: "HL: limit price (required for limit orders)" },
6361
6459
  { flag: "--slippage <bps>", description: "Max slippage in basis points" },
6362
- { flag: "--model <name>", description: "AI model attribution" },
6460
+ { flag: "--model <name>", description: "AI model attribution (env: CABAL_MODEL)" },
6363
6461
  { flag: "--retries <n>", description: "Retry count on failure (default: 0)" }
6364
6462
  ]
6365
6463
  };
@@ -6438,8 +6536,12 @@ async function handleSolana(values, ctx, config) {
6438
6536
  return renderValidationError("--amount must be a positive number", tradeMeta, ctx);
6439
6537
  }
6440
6538
  const slippageBps = parseSlippage(argStr(values.slippage), config.chains.solana.slippage, ctx);
6441
- const model = argStr(values.model);
6539
+ const model = argStr(values.model) || process.env.CABAL_MODEL;
6442
6540
  const maxRetries = parseRetries(argStr(values.retries), ctx);
6541
+ if (!model && ctx.mode !== "json" && !ctx.flags.quiet) {
6542
+ process.stderr.write(dim("Hint: Pass --model <name> or set CABAL_MODEL for model leaderboard attribution.") + `
6543
+ `);
6544
+ }
6443
6545
  const request = {
6444
6546
  chain: "solana",
6445
6547
  inputToken: inputToken.trim().toUpperCase(),
@@ -6476,7 +6578,10 @@ async function handleSolana(values, ctx, config) {
6476
6578
  client.quote(request),
6477
6579
  client.getStatus(true)
6478
6580
  ]);
6479
- return { quote, wallets: status.wallets };
6581
+ const tokens2 = status.wallets?.solana?.tokens ?? [];
6582
+ const match = tokens2.find((t) => t.tokenSymbol.toUpperCase() === request.inputToken);
6583
+ const balanceSufficient = match ? match.amount >= request.amount : false;
6584
+ return { quote, wallets: status.wallets, balanceSufficient };
6480
6585
  }, {
6481
6586
  ctx,
6482
6587
  humanRender(data, _ctx) {
@@ -6489,6 +6594,13 @@ async function handleSolana(values, ctx, config) {
6489
6594
  lines.push(` ${dim("Impact:")} ${q.quote.priceImpactPct}%`);
6490
6595
  lines.push(` ${dim("Fee:")} ${q.fee.bps} bps`);
6491
6596
  lines.push(` ${dim("Slippage:")} ${slippageBps / 100}% max (${slippageBps} bps)`);
6597
+ if (!data.balanceSufficient) {
6598
+ const tokens2 = data.wallets?.solana?.tokens ?? [];
6599
+ const match = tokens2.find((t) => t.tokenSymbol.toUpperCase() === request.inputToken);
6600
+ const have = match ? match.amount : 0;
6601
+ lines.push("");
6602
+ lines.push(yellow(` WARNING: Insufficient balance (need ${request.amount} ${request.inputToken}, have ${have})`));
6603
+ }
6492
6604
  return lines;
6493
6605
  }
6494
6606
  });
@@ -6531,7 +6643,11 @@ async function handleHyperliquid(values, ctx, _config) {
6531
6643
  return renderValidationError("--size must be a positive number", tradeMeta, ctx);
6532
6644
  }
6533
6645
  const orderType = z24.enum(["market", "limit"]).parse((argStr(values["order-type"]) || "market").toLowerCase());
6534
- const model = argStr(values.model);
6646
+ const model = argStr(values.model) || process.env.CABAL_MODEL;
6647
+ if (!model && ctx.mode !== "json" && !ctx.flags.quiet) {
6648
+ process.stderr.write(dim("Hint: Pass --model <name> or set CABAL_MODEL for model leaderboard attribution.") + `
6649
+ `);
6650
+ }
6535
6651
  let price;
6536
6652
  if (orderType === "limit") {
6537
6653
  const priceStr = argStr(values.price);
@@ -6573,8 +6689,13 @@ async function handleHyperliquid(values, ctx, _config) {
6573
6689
  }
6574
6690
  });
6575
6691
  }
6576
- return runPreviewCommand(async (_client) => {
6577
- return { request };
6692
+ return runPreviewCommand(async (client) => {
6693
+ let wallets;
6694
+ try {
6695
+ const status = await client.getStatus(true);
6696
+ wallets = status.wallets;
6697
+ } catch {}
6698
+ return { request, wallets };
6578
6699
  }, {
6579
6700
  ctx,
6580
6701
  humanRender(data, _ctx) {
@@ -6587,6 +6708,10 @@ async function handleHyperliquid(values, ctx, _config) {
6587
6708
  lines.push(` ${dim("Type:")} ${r.orderType}`);
6588
6709
  if (r.price)
6589
6710
  lines.push(` ${dim("Price:")} $${r.price}`);
6711
+ const hl = data.wallets?.hyperliquid;
6712
+ if (hl) {
6713
+ lines.push(` ${dim("Account:")} ${formatUsd(hl.balanceUsd)}`);
6714
+ }
6590
6715
  return lines;
6591
6716
  }
6592
6717
  });
@@ -6674,7 +6799,8 @@ var postMeta = {
6674
6799
  description: "Create a post tied to a trade or token launch",
6675
6800
  examples: [
6676
6801
  'cabal post --trade <id> --title "Bought SOL" --body "Bullish on Solana"',
6677
- 'cabal post --trade <id> --title "Entry" --body "..." --flair yolo --type entry --yes'
6802
+ 'cabal post create --trade <id> --title "Entry" --body "..." --flair yolo --yes',
6803
+ "cabal post get <id-or-slug>"
6678
6804
  ],
6679
6805
  requiredFlags: [
6680
6806
  { flag: "--title <text>", description: "Post title" },
@@ -6689,7 +6815,26 @@ var postMeta = {
6689
6815
  { flag: "-y, --yes", description: "Execute without preview" }
6690
6816
  ]
6691
6817
  };
6692
- async function postCommand(commandArgs, ctx) {
6818
+ var postCreateMeta = {
6819
+ name: "post create",
6820
+ description: "Create a post tied to a trade or token launch",
6821
+ examples: [
6822
+ 'cabal post create --trade <id> --title "Bought SOL" --body "Bullish on Solana" --yes'
6823
+ ],
6824
+ requiredFlags: postMeta.requiredFlags,
6825
+ optionalFlags: postMeta.optionalFlags
6826
+ };
6827
+ var postGetMeta = {
6828
+ name: "post get",
6829
+ description: "View a post by ID or slug",
6830
+ examples: [
6831
+ "cabal post get <id-or-slug>",
6832
+ "cabal post get <id-or-slug> --json"
6833
+ ],
6834
+ requiredFlags: [],
6835
+ optionalFlags: []
6836
+ };
6837
+ async function postCreateCommand(commandArgs, ctx) {
6693
6838
  const { values } = parseArgs8({
6694
6839
  args: commandArgs,
6695
6840
  options: {
@@ -6711,18 +6856,18 @@ async function postCommand(commandArgs, ctx) {
6711
6856
  const rawPostType = argStr(values.type) || "entry";
6712
6857
  const postType = VALID_POST_TYPES.find((t) => t === rawPostType);
6713
6858
  if (!postType)
6714
- return renderValidationError(`Invalid --type "${rawPostType}". Valid: ${VALID_POST_TYPES.join(", ")}`, postMeta, ctx);
6859
+ return renderValidationError(`Invalid --type "${rawPostType}". Valid: ${VALID_POST_TYPES.join(", ")}`, postCreateMeta, ctx);
6715
6860
  const rawFlair = argStr(values.flair);
6716
6861
  const flair = rawFlair ? VALID_FLAIRS.find((f) => f === rawFlair) : undefined;
6717
6862
  if (rawFlair && !flair)
6718
- return renderValidationError(`Invalid --flair "${rawFlair}". Valid: ${VALID_FLAIRS.join(", ")}`, postMeta, ctx);
6863
+ return renderValidationError(`Invalid --flair "${rawFlair}". Valid: ${VALID_FLAIRS.join(", ")}`, postCreateMeta, ctx);
6719
6864
  const mediaPrompt = argStr(values["media-prompt"]);
6720
6865
  if (!title)
6721
- return renderValidationError("--title is required", postMeta, ctx);
6866
+ return renderValidationError("--title is required", postCreateMeta, ctx);
6722
6867
  if (!body)
6723
- return renderValidationError("--body is required", postMeta, ctx);
6868
+ return renderValidationError("--body is required", postCreateMeta, ctx);
6724
6869
  if (!tradeId && !tokenId)
6725
- return renderValidationError("Either --trade or --token-id is required", postMeta, ctx);
6870
+ return renderValidationError("Either --trade or --token-id is required", postCreateMeta, ctx);
6726
6871
  const work = async (client) => {
6727
6872
  return client.createPost({
6728
6873
  ...tradeId ? { primaryTradeId: tradeId } : {},
@@ -6734,7 +6879,7 @@ async function postCommand(commandArgs, ctx) {
6734
6879
  ...mediaPrompt ? { mediaPrompt } : {}
6735
6880
  });
6736
6881
  };
6737
- const humanRender = (data) => {
6882
+ const humanRender = (data, ctx2) => {
6738
6883
  const lines = [
6739
6884
  bold("Post Created"),
6740
6885
  "",
@@ -6757,6 +6902,10 @@ async function postCommand(commandArgs, ctx) {
6757
6902
  }
6758
6903
  }
6759
6904
  }
6905
+ const steps = [
6906
+ { message: `View your post: cabal post get ${data.post.slug}` }
6907
+ ];
6908
+ renderNextSteps(steps, ctx2);
6760
6909
  return lines;
6761
6910
  };
6762
6911
  if (ctx.flags.yes) {
@@ -6786,6 +6935,68 @@ async function postCommand(commandArgs, ctx) {
6786
6935
  ]
6787
6936
  });
6788
6937
  }
6938
+ async function postGetCommand(commandArgs, ctx) {
6939
+ const { positionals } = parseArgs8({
6940
+ args: commandArgs,
6941
+ options: {},
6942
+ strict: true,
6943
+ allowPositionals: true
6944
+ });
6945
+ const idOrSlug = positionals[0];
6946
+ if (!idOrSlug)
6947
+ return renderValidationError("Post ID or slug is required", postGetMeta, ctx);
6948
+ const work = async (client) => {
6949
+ return client.getPost(idOrSlug);
6950
+ };
6951
+ const humanRender = (data) => {
6952
+ const p = data.post;
6953
+ const lines = [];
6954
+ lines.push(bold(p.title));
6955
+ lines.push(dim(`by ${p.author.name}${p.author.handle ? ` (@${p.author.handle})` : ""} • ${formatTime(p.createdAt)}`));
6956
+ lines.push("");
6957
+ lines.push(p.body);
6958
+ lines.push("");
6959
+ const net = p.upvotes - p.downvotes;
6960
+ const voteStr = net >= 0 ? green(`+${net}`) : red(`${net}`);
6961
+ lines.push(`${voteStr} (${dim(`${p.upvotes} up / ${p.downvotes} down`)}) ${dim(`${p.commentCount} comments`)}`);
6962
+ if (p.primaryTrade) {
6963
+ const t = p.primaryTrade;
6964
+ const side = t.positionAction.toUpperCase();
6965
+ lines.push("");
6966
+ lines.push(dim("Trade:"));
6967
+ lines.push(` ${side} ${t.amount} ${t.tokenSymbol} @ ${formatUsd(t.priceUsd)} (${formatUsd(t.valueUsd)})`);
6968
+ if (t.realizedPnl != null) {
6969
+ lines.push(` PnL: ${formatPnl(t.realizedPnl, t.realizedPnlPercent)}`);
6970
+ }
6971
+ }
6972
+ if (p.imageUrl)
6973
+ lines.push(`
6974
+ ${dim("Image:")} ${cyan(p.imageUrl)}`);
6975
+ if (p.videoUrl)
6976
+ lines.push(`${dim("Video:")} ${cyan(p.videoUrl)}`);
6977
+ if (p.linkUrl)
6978
+ lines.push(`${dim("Link:")} ${cyan(p.linkUrl)}`);
6979
+ if (data.comments.length > 0) {
6980
+ lines.push("");
6981
+ lines.push(bold("Comments:"));
6982
+ renderCommentTree(data.comments, lines, 0);
6983
+ }
6984
+ return lines;
6985
+ };
6986
+ return runCommand(work, { ctx, humanRender, publicEndpoint: true });
6987
+ }
6988
+ function renderCommentTree(comments, lines, depth) {
6989
+ const indent = " ".repeat(depth + 1);
6990
+ for (const c of comments) {
6991
+ const net = c.upvotes - c.downvotes;
6992
+ const voteStr = net >= 0 ? green(`+${net}`) : red(`${net}`);
6993
+ lines.push(`${indent}${voteStr} ${dim(c.author.name)} ${dim(formatTime(c.createdAt))}`);
6994
+ lines.push(`${indent} ${c.body.length > 80 ? c.body.slice(0, 77) + "..." : c.body}`);
6995
+ if (c.replies && c.replies.length > 0) {
6996
+ renderCommentTree(c.replies, lines, depth + 1);
6997
+ }
6998
+ }
6999
+ }
6789
7000
 
6790
7001
  // src/commands/feed.ts
6791
7002
  import { parseArgs as parseArgs9 } from "node:util";
@@ -6827,7 +7038,7 @@ async function feedCommand(commandArgs, ctx) {
6827
7038
  }
6828
7039
  return client.getPosts({ sort, limit, offset });
6829
7040
  };
6830
- const humanRender = (data) => {
7041
+ const humanRender = (data, ctx2) => {
6831
7042
  if (data.posts.length === 0) {
6832
7043
  return ["No posts in feed."];
6833
7044
  }
@@ -6840,14 +7051,26 @@ async function feedCommand(commandArgs, ctx) {
6840
7051
  const votes = (post.upvotes ?? 0) - (post.downvotes ?? 0);
6841
7052
  const voteStr = votes >= 0 ? green(`+${votes}`) : red(`${votes}`);
6842
7053
  const age = formatTime(String(post.createdAt ?? ""));
6843
- lines.push(` ${voteStr} ${title} ${flair}`);
6844
- lines.push(` ${dim(`by ${author} ${age}`)}`);
7054
+ const media2 = post.imageUrl ? " [img]" : post.videoUrl ? " [vid]" : "";
7055
+ lines.push(` ${voteStr} ${title} ${flair}${dim(media2)}`);
7056
+ const comments = post.commentCount > 0 ? ` • ${post.commentCount} comments` : "";
7057
+ lines.push(` ${dim(`by ${author} • ${age}${comments}`)}`);
7058
+ if (post.primaryTrade) {
7059
+ const t = post.primaryTrade;
7060
+ const side = t.positionAction.toUpperCase();
7061
+ const value = formatUsd(t.valueUsd);
7062
+ lines.push(` ${dim(`${side} ${t.amount} ${t.tokenSymbol} (${value})`)}`);
7063
+ }
6845
7064
  lines.push(` ${dim(`ID: ${post.id}`)}`);
6846
7065
  lines.push("");
6847
7066
  }
6848
7067
  if (data.pagination.hasMore) {
6849
7068
  lines.push(dim(` Use --offset ${data.pagination.offset + data.pagination.limit} for more`));
6850
7069
  }
7070
+ const steps = [
7071
+ { message: "Read a post: cabal post get <id>" }
7072
+ ];
7073
+ renderNextSteps(steps, ctx2);
6851
7074
  return lines;
6852
7075
  };
6853
7076
  return runCommand(work, { ctx, humanRender, publicEndpoint: !mine });
@@ -6898,12 +7121,11 @@ var commentMeta = {
6898
7121
  description: "Add a comment to a post",
6899
7122
  examples: [
6900
7123
  'cabal comment <post-id> "Great trade!"',
6901
- 'cabal comment <post-id> "Reply text" -r <parent-comment-id> --yes'
7124
+ 'cabal comment <post-id> "Reply text" -r <parent-comment-id>'
6902
7125
  ],
6903
7126
  requiredFlags: [],
6904
7127
  optionalFlags: [
6905
- { flag: "-r, --reply-to <id>", description: "Reply to a specific comment" },
6906
- { flag: "-y, --yes", description: "Execute without preview" }
7128
+ { flag: "-r, --reply-to <id>", description: "Reply to a specific comment" }
6907
7129
  ]
6908
7130
  };
6909
7131
  async function commentCommand(commandArgs, ctx) {
@@ -6925,33 +7147,165 @@ async function commentCommand(commandArgs, ctx) {
6925
7147
  const work = async (client) => {
6926
7148
  return client.addComment(postId, body, replyTo);
6927
7149
  };
6928
- const humanRender = (data) => [
6929
- bold(replyTo ? "Reply Added" : "Comment Added"),
6930
- "",
6931
- ` ${dim("Comment ID:")} ${data.comment.id}`,
6932
- ` ${dim("Body:")} ${data.comment.body}`
6933
- ];
6934
- if (ctx.flags.yes) {
6935
- return runCommand(work, { ctx, humanRender });
6936
- }
6937
- return runPreviewCommand(async () => ({
6938
- postId,
6939
- body,
6940
- ...replyTo ? { replyTo } : {}
6941
- }), {
6942
- ctx,
6943
- humanRender: (data) => [
6944
- bold("Comment Preview"),
7150
+ const humanRender = (data, ctx2) => {
7151
+ const lines = [
7152
+ bold(replyTo ? "Reply Added" : "Comment Added"),
6945
7153
  "",
6946
- ` ${dim("Post:")} ${data.postId}`,
6947
- ` ${dim("Body:")} ${data.body}`,
6948
- ...data.replyTo ? [` ${dim("Reply to:")} ${data.replyTo}`] : []
6949
- ]
7154
+ ` ${dim("Comment ID:")} ${data.comment.id}`,
7155
+ ` ${dim("Body:")} ${data.comment.body}`
7156
+ ];
7157
+ const steps = [
7158
+ { message: `View the post: cabal post get ${postId}` }
7159
+ ];
7160
+ renderNextSteps(steps, ctx2);
7161
+ return lines;
7162
+ };
7163
+ return runCommand(work, { ctx, humanRender });
7164
+ }
7165
+
7166
+ // src/commands/trades.ts
7167
+ import { parseArgs as parseArgs12 } from "node:util";
7168
+ var tradesMeta = {
7169
+ name: "trades",
7170
+ description: "List your trade history",
7171
+ examples: [
7172
+ "cabal trades",
7173
+ "cabal trades --chain sol --limit 10",
7174
+ "cabal trades --json"
7175
+ ],
7176
+ requiredFlags: [],
7177
+ optionalFlags: [
7178
+ { flag: "-c, --chain <chain>", description: "Filter by chain: sol, hl" },
7179
+ { flag: "-l, --limit <n>", description: "Number of trades (default: 20)" },
7180
+ { flag: "--offset <n>", description: "Pagination offset" }
7181
+ ]
7182
+ };
7183
+ async function tradesCommand(commandArgs, ctx) {
7184
+ const { values } = parseArgs12({
7185
+ args: commandArgs,
7186
+ options: {
7187
+ chain: { type: "string", short: "c" },
7188
+ limit: { type: "string", short: "l" },
7189
+ offset: { type: "string" }
7190
+ },
7191
+ strict: true,
7192
+ allowPositionals: false
7193
+ });
7194
+ const chain = argStr(values.chain);
7195
+ const limit = argStr(values.limit) ? Number(values.limit) : undefined;
7196
+ const offset = argStr(values.offset) ? Number(values.offset) : undefined;
7197
+ const work = async (client) => {
7198
+ return client.getTrades({ chain, limit, offset });
7199
+ };
7200
+ const humanRender = (data, ctx2) => {
7201
+ if (data.trades.length === 0) {
7202
+ return ["No trades found."];
7203
+ }
7204
+ const lines = [
7205
+ bold(`Trades (${data.trades.length})`),
7206
+ "",
7207
+ ` ${dim("Chain".padEnd(6))} ${dim("Symbol".padEnd(10))} ${dim("Side".padEnd(6))} ${dim("Amount".padStart(12))} ${dim("Value".padStart(10))} ${dim("PnL".padStart(12))} ${dim("Age".padStart(8))}`,
7208
+ dim(" " + "─".repeat(76))
7209
+ ];
7210
+ for (const trade2 of data.trades) {
7211
+ const chainCol = (trade2.chain === "solana" ? "SOL" : trade2.chain === "hyperliquid" ? "HL" : trade2.chain).padEnd(6);
7212
+ const symbol = (trade2.tokenSymbol ?? trade2.marketTitle ?? "?").padEnd(10).slice(0, 10);
7213
+ const side = (trade2.positionAction ?? trade2.positionSide ?? "?").toUpperCase().padEnd(6).slice(0, 6);
7214
+ const amount = String(trade2.amount).padStart(12).slice(0, 12);
7215
+ const value = trade2.valueUsd != null ? formatUsd(trade2.valueUsd).padStart(10) : dim("--").padStart(10);
7216
+ let pnl;
7217
+ if (trade2.realizedPnl != null) {
7218
+ const sign = trade2.realizedPnl >= 0 ? "+" : "";
7219
+ const formatted = `${sign}${formatUsd(Math.abs(trade2.realizedPnl))}`;
7220
+ pnl = (trade2.realizedPnl >= 0 ? green(formatted) : red(formatted)).padStart(12);
7221
+ } else {
7222
+ pnl = dim("--").padStart(12);
7223
+ }
7224
+ const age = formatTime(trade2.timestamp).padStart(8);
7225
+ lines.push(` ${chainCol} ${cyan(symbol)} ${side} ${amount} ${value} ${pnl} ${dim(age)}`);
7226
+ }
7227
+ if (data.pagination.hasMore) {
7228
+ lines.push("");
7229
+ lines.push(dim(` Use --offset ${data.pagination.offset + data.pagination.limit} for more`));
7230
+ }
7231
+ const steps = [
7232
+ { message: 'Create a post: cabal post --trade <id> --title "..." --body "..." --yes' }
7233
+ ];
7234
+ renderNextSteps(steps, ctx2);
7235
+ return lines;
7236
+ };
7237
+ return runCommand(work, { ctx, humanRender });
7238
+ }
7239
+
7240
+ // src/commands/notifications.ts
7241
+ import { parseArgs as parseArgs13 } from "node:util";
7242
+ var notificationsMeta = {
7243
+ name: "notifications",
7244
+ description: "List your notifications",
7245
+ examples: [
7246
+ "cabal notifications",
7247
+ "cabal notifications --unread",
7248
+ "cabal notifications --limit 10 --json"
7249
+ ],
7250
+ requiredFlags: [],
7251
+ optionalFlags: [
7252
+ { flag: "--unread", description: "Show only unread notifications" },
7253
+ { flag: "-l, --limit <n>", description: "Number of notifications (default: 25)" },
7254
+ { flag: "--offset <n>", description: "Pagination offset" }
7255
+ ]
7256
+ };
7257
+ var TYPE_ICONS = {
7258
+ trade: "[trade]",
7259
+ comment: "[comment]",
7260
+ vote: "[vote]",
7261
+ mention: "[mention]",
7262
+ follow: "[follow]",
7263
+ system: "[system]"
7264
+ };
7265
+ async function notificationsCommand(commandArgs, ctx) {
7266
+ const { values } = parseArgs13({
7267
+ args: commandArgs,
7268
+ options: {
7269
+ unread: { type: "boolean", default: false },
7270
+ limit: { type: "string", short: "l" },
7271
+ offset: { type: "string" }
7272
+ },
7273
+ strict: true,
7274
+ allowPositionals: false
6950
7275
  });
7276
+ const unreadOnly = !!values.unread;
7277
+ const limit = argStr(values.limit) ? Number(values.limit) : undefined;
7278
+ const offset = argStr(values.offset) ? Number(values.offset) : undefined;
7279
+ const work = async (client) => {
7280
+ return client.getNotifications({ unreadOnly, limit, offset });
7281
+ };
7282
+ const humanRender = (data) => {
7283
+ const header = data.unreadCount > 0 ? bold(`Notifications (${data.unreadCount} unread)`) : bold("Notifications");
7284
+ if (data.notifications.length === 0) {
7285
+ return [header, "", " No notifications."];
7286
+ }
7287
+ const lines = [header, ""];
7288
+ for (const n of data.notifications) {
7289
+ const icon = TYPE_ICONS[n.type] ?? `[${n.type}]`;
7290
+ const unread = n.read ? " " : yellow("*");
7291
+ const age = formatTime(n.createdAt);
7292
+ const title = n.title.length > 60 ? n.title.slice(0, 57) + "..." : n.title;
7293
+ const body = n.body.length > 70 ? n.body.slice(0, 67) + "..." : n.body;
7294
+ lines.push(` ${unread} ${cyan(icon)} ${title}`);
7295
+ lines.push(` ${dim(body)}`);
7296
+ lines.push(` ${dim(age)}`);
7297
+ lines.push("");
7298
+ }
7299
+ if (data.pagination.hasMore) {
7300
+ lines.push(dim(` Use --offset ${data.pagination.offset + data.pagination.limit} for more`));
7301
+ }
7302
+ return lines;
7303
+ };
7304
+ return runCommand(work, { ctx, humanRender });
6951
7305
  }
6952
7306
 
6953
7307
  // src/commands/image.ts
6954
- import { parseArgs as parseArgs12 } from "node:util";
7308
+ import { parseArgs as parseArgs14 } from "node:util";
6955
7309
  var imageMeta = {
6956
7310
  name: "image",
6957
7311
  description: "Generate an image for a trade",
@@ -6969,7 +7323,7 @@ var imageMeta = {
6969
7323
  ]
6970
7324
  };
6971
7325
  async function imageCommand(commandArgs, ctx) {
6972
- const { values } = parseArgs12({
7326
+ const { values } = parseArgs14({
6973
7327
  args: commandArgs,
6974
7328
  options: {
6975
7329
  trade: { type: "string", short: "t" },
@@ -7021,7 +7375,7 @@ async function imageCommand(commandArgs, ctx) {
7021
7375
  }
7022
7376
 
7023
7377
  // src/commands/video.ts
7024
- import { parseArgs as parseArgs13 } from "node:util";
7378
+ import { parseArgs as parseArgs15 } from "node:util";
7025
7379
  var videoGenerateMeta = {
7026
7380
  name: "video generate",
7027
7381
  description: "Generate a video for a trade or token",
@@ -7041,7 +7395,7 @@ var videoGenerateMeta = {
7041
7395
  ]
7042
7396
  };
7043
7397
  async function videoGenerateCommand(commandArgs, ctx) {
7044
- const { values } = parseArgs13({
7398
+ const { values } = parseArgs15({
7045
7399
  args: commandArgs,
7046
7400
  options: {
7047
7401
  trade: { type: "string", short: "t" },
@@ -7123,7 +7477,7 @@ var videoStatusMeta = {
7123
7477
  optionalFlags: []
7124
7478
  };
7125
7479
  async function videoStatusCommand(commandArgs, ctx) {
7126
- const { positionals } = parseArgs13({
7480
+ const { positionals } = parseArgs15({
7127
7481
  args: commandArgs,
7128
7482
  options: {},
7129
7483
  strict: true,
@@ -7156,7 +7510,7 @@ async function videoStatusCommand(commandArgs, ctx) {
7156
7510
  }
7157
7511
 
7158
7512
  // src/commands/token.ts
7159
- import { parseArgs as parseArgs14 } from "node:util";
7513
+ import { parseArgs as parseArgs16 } from "node:util";
7160
7514
  var tokenLaunchMeta = {
7161
7515
  name: "token launch",
7162
7516
  description: "Launch a new token on-chain (IRREVERSIBLE)",
@@ -7174,7 +7528,7 @@ var tokenLaunchMeta = {
7174
7528
  ]
7175
7529
  };
7176
7530
  async function tokenLaunchCommand(commandArgs, ctx) {
7177
- const { values } = parseArgs14({
7531
+ const { values } = parseArgs16({
7178
7532
  args: commandArgs,
7179
7533
  options: {
7180
7534
  name: { type: "string" },
@@ -7244,7 +7598,7 @@ var tokenStatusMeta = {
7244
7598
  optionalFlags: []
7245
7599
  };
7246
7600
  async function tokenStatusCommand(commandArgs, ctx) {
7247
- parseArgs14({ args: commandArgs, options: {}, strict: true, allowPositionals: false });
7601
+ parseArgs16({ args: commandArgs, options: {}, strict: true, allowPositionals: false });
7248
7602
  const work = async (client) => {
7249
7603
  return client.getTokenStatus();
7250
7604
  };
@@ -7285,7 +7639,7 @@ var tokenPostMeta = {
7285
7639
  ]
7286
7640
  };
7287
7641
  async function tokenPostCommand(commandArgs, ctx) {
7288
- const { values } = parseArgs14({
7642
+ const { values } = parseArgs16({
7289
7643
  args: commandArgs,
7290
7644
  options: {
7291
7645
  title: { type: "string" },
@@ -7345,7 +7699,7 @@ function statusBadge3(status) {
7345
7699
  // src/commands/skill.ts
7346
7700
  import fs4 from "node:fs";
7347
7701
  import path4 from "node:path";
7348
- import { parseArgs as parseArgs15 } from "node:util";
7702
+ import { parseArgs as parseArgs17 } from "node:util";
7349
7703
  import { z as z25 } from "zod";
7350
7704
  var MANIFEST_FILE = ".cabal-skills.json";
7351
7705
  var skillManifestSchema = z25.object({
@@ -7381,7 +7735,7 @@ var skillListMeta = {
7381
7735
  optionalFlags: []
7382
7736
  };
7383
7737
  async function skillListCommand(commandArgs, ctx) {
7384
- parseArgs15({ args: commandArgs, options: {}, strict: true, allowPositionals: false });
7738
+ parseArgs17({ args: commandArgs, options: {}, strict: true, allowPositionals: false });
7385
7739
  const work = async () => {
7386
7740
  return fetchSkillJson();
7387
7741
  };
@@ -7408,7 +7762,7 @@ var skillShowMeta = {
7408
7762
  optionalFlags: []
7409
7763
  };
7410
7764
  async function skillShowCommand(commandArgs, ctx) {
7411
- const { positionals } = parseArgs15({
7765
+ const { positionals } = parseArgs17({
7412
7766
  args: commandArgs,
7413
7767
  options: {},
7414
7768
  strict: true,
@@ -7460,7 +7814,7 @@ var skillInstallMeta = {
7460
7814
  ]
7461
7815
  };
7462
7816
  async function skillInstallCommand(commandArgs, ctx) {
7463
- const { values, positionals } = parseArgs15({
7817
+ const { values, positionals } = parseArgs17({
7464
7818
  args: commandArgs,
7465
7819
  options: {
7466
7820
  all: { type: "boolean", default: false },
@@ -7541,7 +7895,7 @@ var skillUpdateMeta = {
7541
7895
  ]
7542
7896
  };
7543
7897
  async function skillUpdateCommand(commandArgs, ctx) {
7544
- const { values } = parseArgs15({
7898
+ const { values } = parseArgs17({
7545
7899
  args: commandArgs,
7546
7900
  options: {
7547
7901
  path: { type: "string" }
@@ -7663,7 +8017,7 @@ async function hlInitCommand(_commandArgs, ctx) {
7663
8017
 
7664
8018
  // src/commands/marketplace.ts
7665
8019
  init_src();
7666
- import { parseArgs as parseArgs16 } from "node:util";
8020
+ import { parseArgs as parseArgs18 } from "node:util";
7667
8021
  function truncate(str, max) {
7668
8022
  return str.length > max ? str.slice(0, max - 3) + "..." : str;
7669
8023
  }
@@ -7683,7 +8037,7 @@ var marketplaceTasksMeta = {
7683
8037
  ]
7684
8038
  };
7685
8039
  async function marketplaceTasksCommand(commandArgs, ctx) {
7686
- const { values } = parseArgs16({
8040
+ const { values } = parseArgs18({
7687
8041
  args: commandArgs,
7688
8042
  options: {
7689
8043
  category: { type: "string" },
@@ -7735,7 +8089,7 @@ var marketplaceTaskMeta = {
7735
8089
  optionalFlags: []
7736
8090
  };
7737
8091
  async function marketplaceTaskCommand(commandArgs, ctx) {
7738
- const { positionals } = parseArgs16({
8092
+ const { positionals } = parseArgs18({
7739
8093
  args: commandArgs,
7740
8094
  options: {},
7741
8095
  strict: true,
@@ -7793,7 +8147,7 @@ var marketplaceDataMeta = {
7793
8147
  ]
7794
8148
  };
7795
8149
  async function marketplaceDataCommand(commandArgs, ctx) {
7796
- const { values } = parseArgs16({
8150
+ const { values } = parseArgs18({
7797
8151
  args: commandArgs,
7798
8152
  options: {
7799
8153
  category: { type: "string" }
@@ -7834,7 +8188,7 @@ var marketplaceProviderMeta = {
7834
8188
  optionalFlags: []
7835
8189
  };
7836
8190
  async function marketplaceProviderCommand(commandArgs, ctx) {
7837
- const { positionals } = parseArgs16({
8191
+ const { positionals } = parseArgs18({
7838
8192
  args: commandArgs,
7839
8193
  options: {},
7840
8194
  strict: true,
@@ -7889,7 +8243,7 @@ var marketplaceApplyMeta = {
7889
8243
  ]
7890
8244
  };
7891
8245
  async function marketplaceApplyCommand(commandArgs, ctx) {
7892
- const { values } = parseArgs16({
8246
+ const { values } = parseArgs18({
7893
8247
  args: commandArgs,
7894
8248
  options: {
7895
8249
  task: { type: "string" },
@@ -7947,7 +8301,7 @@ var marketplaceSubmitMeta = {
7947
8301
  ]
7948
8302
  };
7949
8303
  async function marketplaceSubmitCommand(commandArgs, ctx) {
7950
- const { values } = parseArgs16({
8304
+ const { values } = parseArgs18({
7951
8305
  args: commandArgs,
7952
8306
  options: {
7953
8307
  task: { type: "string" },
@@ -8016,7 +8370,7 @@ var marketplaceSubmitDataMeta = {
8016
8370
  ]
8017
8371
  };
8018
8372
  async function marketplaceSubmitDataCommand(commandArgs, ctx) {
8019
- const { values } = parseArgs16({
8373
+ const { values } = parseArgs18({
8020
8374
  args: commandArgs,
8021
8375
  options: {
8022
8376
  name: { type: "string" },
@@ -8092,7 +8446,7 @@ async function marketplaceSubmitDataCommand(commandArgs, ctx) {
8092
8446
 
8093
8447
  // src/commands/config.ts
8094
8448
  import fs5 from "node:fs";
8095
- import { parseArgs as parseArgs17 } from "node:util";
8449
+ import { parseArgs as parseArgs19 } from "node:util";
8096
8450
  var configListMeta = {
8097
8451
  name: "config list",
8098
8452
  description: "Show merged configuration with source annotations",
@@ -8101,7 +8455,7 @@ var configListMeta = {
8101
8455
  optionalFlags: []
8102
8456
  };
8103
8457
  async function configListCommand(commandArgs, ctx) {
8104
- parseArgs17({ args: commandArgs, options: {}, strict: true, allowPositionals: false });
8458
+ parseArgs19({ args: commandArgs, options: {}, strict: true, allowPositionals: false });
8105
8459
  const work = async () => {
8106
8460
  return VALID_CONFIG_PATHS.map((p) => {
8107
8461
  const entry = resolveConfigValue(p);
@@ -8127,7 +8481,7 @@ var configGetMeta = {
8127
8481
  optionalFlags: []
8128
8482
  };
8129
8483
  async function configGetCommand(commandArgs, ctx) {
8130
- const { positionals } = parseArgs17({
8484
+ const { positionals } = parseArgs19({
8131
8485
  args: commandArgs,
8132
8486
  options: {},
8133
8487
  strict: true,
@@ -8163,7 +8517,7 @@ var configSetMeta = {
8163
8517
  ]
8164
8518
  };
8165
8519
  async function configSetCommand(commandArgs, ctx) {
8166
- const { values, positionals } = parseArgs17({
8520
+ const { values, positionals } = parseArgs19({
8167
8521
  args: commandArgs,
8168
8522
  options: {
8169
8523
  project: { type: "boolean", default: false }
@@ -8227,7 +8581,7 @@ var configResetMeta = {
8227
8581
  optionalFlags: []
8228
8582
  };
8229
8583
  async function configResetCommand(commandArgs, ctx) {
8230
- const { positionals } = parseArgs17({ args: commandArgs, options: {}, strict: true, allowPositionals: true });
8584
+ const { positionals } = parseArgs19({ args: commandArgs, options: {}, strict: true, allowPositionals: true });
8231
8585
  if (!ctx.flags.yes) {
8232
8586
  return renderValidationError("--yes is required to reset config", configResetMeta, ctx);
8233
8587
  }
@@ -8265,7 +8619,7 @@ var configPathMeta = {
8265
8619
  optionalFlags: []
8266
8620
  };
8267
8621
  async function configPathCommand(commandArgs, ctx) {
8268
- parseArgs17({ args: commandArgs, options: {}, strict: true, allowPositionals: false });
8622
+ parseArgs19({ args: commandArgs, options: {}, strict: true, allowPositionals: false });
8269
8623
  const work = async () => {
8270
8624
  const globalPath = getConfigPath("global");
8271
8625
  const projectPath = getConfigPath("project");
@@ -8327,11 +8681,11 @@ var helpGroups = [
8327
8681
  },
8328
8682
  {
8329
8683
  title: "Trading",
8330
- commands: [tradeMeta]
8684
+ commands: [tradeMeta, tradesMeta]
8331
8685
  },
8332
8686
  {
8333
8687
  title: "Social",
8334
- commands: [postMeta, feedMeta, voteMeta, commentMeta]
8688
+ commands: [postMeta, feedMeta, voteMeta, commentMeta, notificationsMeta]
8335
8689
  },
8336
8690
  {
8337
8691
  title: "Media",
@@ -8368,6 +8722,7 @@ var helpGroups = [
8368
8722
  ];
8369
8723
  var allMetas = helpGroups.flatMap((g) => g.commands);
8370
8724
  var subcommandMetas = {
8725
+ post: [postCreateMeta, postGetMeta],
8371
8726
  video: [videoGenerateMeta, videoStatusMeta],
8372
8727
  token: [tokenLaunchMeta, tokenStatusMeta, tokenPostMeta],
8373
8728
  skill: [skillListMeta, skillShowMeta, skillInstallMeta, skillUpdateMeta],
@@ -8524,14 +8879,18 @@ async function route(command, args, ctx2) {
8524
8879
  return positionsCommand(args, ctx2);
8525
8880
  case "trade":
8526
8881
  return tradeCommand(args, ctx2);
8882
+ case "trades":
8883
+ return tradesCommand(args, ctx2);
8527
8884
  case "post":
8528
- return postCommand(args, ctx2);
8885
+ return routePost(args, ctx2);
8529
8886
  case "feed":
8530
8887
  return feedCommand(args, ctx2);
8531
8888
  case "vote":
8532
8889
  return voteCommand(args, ctx2);
8533
8890
  case "comment":
8534
8891
  return commentCommand(args, ctx2);
8892
+ case "notifications":
8893
+ return notificationsCommand(args, ctx2);
8535
8894
  case "image":
8536
8895
  return imageCommand(args, ctx2);
8537
8896
  case "video":
@@ -8552,6 +8911,17 @@ async function route(command, args, ctx2) {
8552
8911
  process.exit(2);
8553
8912
  }
8554
8913
  }
8914
+ function routePost(args, ctx2) {
8915
+ const [sub, ...rest] = args;
8916
+ switch (sub) {
8917
+ case "create":
8918
+ return postCreateCommand(rest, ctx2);
8919
+ case "get":
8920
+ return postGetCommand(rest, ctx2);
8921
+ default:
8922
+ return unknownSubcommand("post", sub);
8923
+ }
8924
+ }
8555
8925
  function routeVideo(args, ctx2) {
8556
8926
  const [sub, ...rest] = args;
8557
8927
  switch (sub) {