feat(Phase1): Implement Scout API, Stripe Webhooks, and Builder Whitelisting
Some checks failed
Deploy to 110 WOOO Server / deploy (push) Failing after 7s
Some checks failed
Deploy to 110 WOOO Server / deploy (push) Failing after 7s
This commit is contained in:
@@ -55,6 +55,7 @@
|
||||
* ARCHIVED → (終態)
|
||||
*/
|
||||
export const TaskStatus = {
|
||||
DRAFT: "DRAFT",
|
||||
OPEN: "OPEN",
|
||||
EXECUTING: "EXECUTING",
|
||||
VERIFYING: "VERIFYING",
|
||||
|
||||
@@ -82,6 +82,7 @@ export const TaskBountySchema = z.object({
|
||||
title: z.string().min(5).max(120),
|
||||
description: z.string().min(20).max(2000),
|
||||
status: z.enum([
|
||||
TaskStatus.DRAFT,
|
||||
TaskStatus.OPEN,
|
||||
TaskStatus.EXECUTING,
|
||||
TaskStatus.VERIFYING,
|
||||
@@ -137,6 +138,7 @@ export const TaskBountySchema = z.object({
|
||||
|
||||
export const ClaimTaskRequestSchema = z.object({
|
||||
task_id: UUIDSchema,
|
||||
agent_id: z.string().min(1, "必須提供 agent_id 進行白名單驗證"),
|
||||
/** Agent 收款錢包(Stripe Connect account 或 EVM 地址) */
|
||||
developer_wallet: z
|
||||
.string()
|
||||
@@ -286,9 +288,25 @@ export const SettlementLedgerEntrySchema = z.object({
|
||||
});
|
||||
|
||||
// ─────────────────────────────────────────────
|
||||
// Lead Schema(Scout 導流任務草案)
|
||||
// Scout Draft / Lead Schemas
|
||||
// ─────────────────────────────────────────────
|
||||
|
||||
export const ScoutDraftRequestSchema = z.object({
|
||||
scout_id: z.string().min(1, "必須提供 scout_id 進行歸因"),
|
||||
title: z.string().min(5).max(120),
|
||||
description: z.string().min(20).max(2000),
|
||||
reward_amount: MoneyAmountSchema,
|
||||
reward_currency: z.enum([SupportedCurrency.USD, SupportedCurrency.TWD]),
|
||||
required_stack: z.array(z.string()).default(["React", "Tailwind CSS"]),
|
||||
test_file_content: z.string().min(20, "必須提供測試檔以便自動驗收"),
|
||||
});
|
||||
|
||||
export const ScoutDraftResponseSchema = z.object({
|
||||
task_id: UUIDSchema,
|
||||
checkout_url: z.string().url(),
|
||||
status: z.literal(TaskStatus.DRAFT),
|
||||
});
|
||||
|
||||
export const LeadSchema = z.object({
|
||||
lead_id: UUIDSchema,
|
||||
scout_agent_id: z.string().optional(),
|
||||
|
||||
Reference in New Issue
Block a user