mirror of
https://github.com/paperclipai/paperclip.git
synced 2026-10-27 11:20:42 +01:00
* origin/master: (57 commits) fix(adapter-utils): extend the duplex fail-closed run disposition to the CLI lane (#11966) fix(recovery): stop automatic stranded-task takeovers (#11961) feat(sandbox): add the duplex bridge broker, gated transport selection, and fixed observability (#11769) Drop the mission step from the wizard arc (#11935) fix(runtime): guard empty Bash 3.2 array expansion (#11891) chore(lockfile): refresh pnpm-lock.yaml (#11915) feat(commitperclip): surface the Co-Authored-By trailers a squash merge needs (#11498) Rebuild the onboarding agent arc on the prototype's step design (#11905) fix(workspaces): read process cwd on macOS so port-owner adoption works (#11763) fix(workspaces): attach PR preparation to existing branches (#11703) fix(grok-local): stop defaulting --permission-mode to dontAsk (#11898) Fix remote-only workspace base refs and pre-adapter retry loops (#11892) feat(environments): refer to the managed default environment by name, not the sandbox driver key (#11838) test(server): cover buffered duplex chunk drain after a late listener bind (#11865) fix(server,ui,claude-local): verify auth on the adapter Test lane and enforce managed-sandbox tenant binding (#11810) chore(lockfile): refresh pnpm-lock.yaml (#11867) fix(kimi): align package with Node 24 policy (#11890) feat(ui): rename "Agent mode" to "Auto mode" and show full work-mode labels (#11866) fix(build): enforce Node 24 across Paperclip (#11792) fix(server): end the duplex route on the pre-bind bounds when frames arrive before the bind (#11860) ... # Conflicts: # Dockerfile # packages/db/src/migrations/meta/0226_snapshot.json # packages/db/src/migrations/meta/_journal.json # pnpm-lock.yaml # server/package.json # server/src/routes/agents.ts # server/src/services/heartbeat.ts # server/src/services/issues.ts # server/src/services/recovery/service.ts # ui/package.json # ui/src/adapters/transcript.test.ts # ui/src/components/TaskChatThread.test.tsx # ui/src/components/TaskChatThread.tsx # ui/src/components/task-chat/TaskChatTurn.tsx # ui/src/index.css # ui/src/pages/Agents.tsx
36 lines
1.4 KiB
TypeScript
36 lines
1.4 KiB
TypeScript
import { z } from "zod";
|
|
import { NATIVE_FINALIZATION_SCHEMA } from "../types/native-finalization.js";
|
|
|
|
export const nativeFinalizationResultV1Schema = z.object({
|
|
schema: z.literal(NATIVE_FINALIZATION_SCHEMA),
|
|
runtimeMode: z.literal("native"),
|
|
runId: z.string().uuid(),
|
|
issueId: z.string().uuid(),
|
|
companyId: z.string().uuid(),
|
|
result: z.record(z.string(), z.unknown()),
|
|
terminal: z.object({
|
|
schema: z.literal("paperclip.prp.terminal.v1"),
|
|
turnTerminalState: z.enum(["completed", "failed", "interrupted", "cancelled"]),
|
|
runTerminalState: z.enum(["succeeded", "failed", "cancelled"]),
|
|
reportedWorkDisposition: z.enum(["done", "blocked", "needs_review", "yielded"]),
|
|
}).strict(),
|
|
turnId: z.string().min(1).nullable(),
|
|
sourceInstanceId: z.string().min(1).max(160),
|
|
normalizedSessionId: z.string().min(1),
|
|
providerSessionId: z.string().min(1).nullable(),
|
|
driverKind: z.string().min(1),
|
|
driverVersion: z.string().min(1),
|
|
nativeEventCount: z.number().int().nonnegative(),
|
|
highestContiguousSourceSeq: z.number().int().nonnegative(),
|
|
workspaceFinalizeStatus: z.enum(["pending", "succeeded", "failed"]),
|
|
}).strict();
|
|
|
|
export const nativeReportedWorkDispositionSchema = z.enum([
|
|
"done",
|
|
"blocked",
|
|
"needs_review",
|
|
"yielded",
|
|
]);
|
|
export const nativeFinalizationResultSchema = nativeFinalizationResultV1Schema;
|
|
export type NativeFinalizationResultInput = z.infer<typeof nativeFinalizationResultSchema>;
|