@claudexor/schema 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +16 -0
- package/dist/agent-capabilities.d.ts +366 -0
- package/dist/agent-capabilities.d.ts.map +1 -0
- package/dist/agent-capabilities.js +125 -0
- package/dist/agent-capabilities.js.map +1 -0
- package/dist/apply-eligibility.d.ts +76 -0
- package/dist/apply-eligibility.d.ts.map +1 -0
- package/dist/apply-eligibility.js +37 -0
- package/dist/apply-eligibility.js.map +1 -0
- package/dist/attachment.d.ts +69 -0
- package/dist/attachment.d.ts.map +1 -0
- package/dist/attachment.js +54 -0
- package/dist/attachment.js.map +1 -0
- package/dist/budget.d.ts +75 -0
- package/dist/budget.d.ts.map +1 -0
- package/dist/budget.js +54 -0
- package/dist/budget.js.map +1 -0
- package/dist/config.d.ts +743 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +194 -0
- package/dist/config.js.map +1 -0
- package/dist/context.d.ts +222 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +70 -0
- package/dist/context.js.map +1 -0
- package/dist/control-run-detail.d.ts +1686 -0
- package/dist/control-run-detail.d.ts.map +1 -0
- package/dist/control-run-detail.js +107 -0
- package/dist/control-run-detail.js.map +1 -0
- package/dist/control-trust.d.ts +79 -0
- package/dist/control-trust.d.ts.map +1 -0
- package/dist/control-trust.js +39 -0
- package/dist/control-trust.js.map +1 -0
- package/dist/control.d.ts +4226 -0
- package/dist/control.d.ts.map +1 -0
- package/dist/control.js +1022 -0
- package/dist/control.js.map +1 -0
- package/dist/decision.d.ts +208 -0
- package/dist/decision.d.ts.map +1 -0
- package/dist/decision.js +98 -0
- package/dist/decision.js.map +1 -0
- package/dist/events.d.ts +70 -0
- package/dist/events.d.ts.map +1 -0
- package/dist/events.js +105 -0
- package/dist/events.js.map +1 -0
- package/dist/gate.d.ts +37 -0
- package/dist/gate.d.ts.map +1 -0
- package/dist/gate.js +20 -0
- package/dist/gate.js.map +1 -0
- package/dist/harness.d.ts +1418 -0
- package/dist/harness.d.ts.map +1 -0
- package/dist/harness.js +552 -0
- package/dist/harness.js.map +1 -0
- package/dist/index.d.ts +32 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +32 -0
- package/dist/index.js.map +1 -0
- package/dist/orchestrate.d.ts +428 -0
- package/dist/orchestrate.d.ts.map +1 -0
- package/dist/orchestrate.js +246 -0
- package/dist/orchestrate.js.map +1 -0
- package/dist/primitives.d.ts +71 -0
- package/dist/primitives.d.ts.map +1 -0
- package/dist/primitives.js +114 -0
- package/dist/primitives.js.map +1 -0
- package/dist/review.d.ts +220 -0
- package/dist/review.d.ts.map +1 -0
- package/dist/review.js +91 -0
- package/dist/review.js.map +1 -0
- package/dist/route.d.ts +67 -0
- package/dist/route.d.ts.map +1 -0
- package/dist/route.js +33 -0
- package/dist/route.js.map +1 -0
- package/dist/spec.d.ts +561 -0
- package/dist/spec.d.ts.map +1 -0
- package/dist/spec.js +133 -0
- package/dist/spec.js.map +1 -0
- package/dist/surface-run-controls.d.ts +14 -0
- package/dist/surface-run-controls.d.ts.map +1 -0
- package/dist/surface-run-controls.js +142 -0
- package/dist/surface-run-controls.js.map +1 -0
- package/dist/task.d.ts +565 -0
- package/dist/task.d.ts.map +1 -0
- package/dist/task.js +186 -0
- package/dist/task.js.map +1 -0
- package/dist/telemetry.d.ts +660 -0
- package/dist/telemetry.d.ts.map +1 -0
- package/dist/telemetry.js +140 -0
- package/dist/telemetry.js.map +1 -0
- package/dist/thread.d.ts +348 -0
- package/dist/thread.d.ts.map +1 -0
- package/dist/thread.js +194 -0
- package/dist/thread.js.map +1 -0
- package/dist/workproduct.d.ts +31 -0
- package/dist/workproduct.d.ts.map +1 -0
- package/dist/workproduct.js +25 -0
- package/dist/workproduct.js.map +1 -0
- package/dist/workspace.d.ts +53 -0
- package/dist/workspace.d.ts.map +1 -0
- package/dist/workspace.js +30 -0
- package/dist/workspace.js.map +1 -0
- package/generated/AgentCapabilityCatalog.schema.json +389 -0
- package/generated/ApplyEligibility.schema.json +44 -0
- package/generated/BudgetLease.schema.json +95 -0
- package/generated/BudgetObservation.schema.json +76 -0
- package/generated/ConformanceReport.schema.json +107 -0
- package/generated/ContextPack.schema.json +186 -0
- package/generated/ControlApplyCheckRequest.schema.json +54 -0
- package/generated/ControlApplyRequest.schema.json +74 -0
- package/generated/ControlHarnessListResponse.schema.json +498 -0
- package/generated/ControlHarnessModelsResponse.schema.json +78 -0
- package/generated/ControlHarnessSettingsPatch.schema.json +130 -0
- package/generated/ControlInteractionAnswerRequest.schema.json +48 -0
- package/generated/ControlInteractionAnswerResponse.schema.json +35 -0
- package/generated/ControlPendingInteraction.schema.json +129 -0
- package/generated/ControlQueuedRunInfo.schema.json +44 -0
- package/generated/ControlRunControlRequest.schema.json +61 -0
- package/generated/ControlRunControlResponse.schema.json +40 -0
- package/generated/ControlRunDecisionRequest.schema.json +98 -0
- package/generated/ControlRunDecisionResponse.schema.json +40 -0
- package/generated/ControlRunDetail.schema.json +1925 -0
- package/generated/ControlRunStartInfo.schema.json +33 -0
- package/generated/ControlRunStartRequest.schema.json +429 -0
- package/generated/ControlRunSummary.schema.json +666 -0
- package/generated/ControlSecretListResponse.schema.json +57 -0
- package/generated/ControlSettingsSnapshot.schema.json +281 -0
- package/generated/ControlSettingsUpdateRequest.schema.json +212 -0
- package/generated/ControlSetupJob.schema.json +148 -0
- package/generated/ControlSetupJobConfirmRequest.schema.json +18 -0
- package/generated/ControlSetupJobCreateRequest.schema.json +38 -0
- package/generated/ControlSetupJobEvent.schema.json +58 -0
- package/generated/ControlSetupJobListResponse.schema.json +162 -0
- package/generated/ControlSpecFreezeRequest.schema.json +83 -0
- package/generated/ControlSpecQuestionsRequest.schema.json +80 -0
- package/generated/ControlThread.schema.json +129 -0
- package/generated/ControlThreadApplyRequest.schema.json +32 -0
- package/generated/ControlThreadApplyResponse.schema.json +47 -0
- package/generated/ControlThreadCreateRequest.schema.json +107 -0
- package/generated/ControlThreadDetail.schema.json +515 -0
- package/generated/ControlThreadListResponse.schema.json +141 -0
- package/generated/ControlThreadUpdateRequest.schema.json +46 -0
- package/generated/ControlTrustListResponse.schema.json +59 -0
- package/generated/ControlTrustState.schema.json +45 -0
- package/generated/ControlTrustUpdateRequest.schema.json +26 -0
- package/generated/DecisionRecord.schema.json +232 -0
- package/generated/GateResult.schema.json +81 -0
- package/generated/GlobalConfig.schema.json +313 -0
- package/generated/HarnessEvent.schema.json +360 -0
- package/generated/HarnessManifest.schema.json +350 -0
- package/generated/HarnessModel.schema.json +41 -0
- package/generated/HarnessStatusDto.schema.json +486 -0
- package/generated/McpRunToolResult.schema.json +91 -0
- package/generated/OrchestrateContract.schema.json +93 -0
- package/generated/OrchestratePlan.schema.json +244 -0
- package/generated/OrchestratePlanProgress.schema.json +103 -0
- package/generated/ProjectConfig.schema.json +95 -0
- package/generated/ReviewFinding.schema.json +226 -0
- package/generated/RouteFallbackPayload.schema.json +79 -0
- package/generated/RouteProof.schema.json +111 -0
- package/generated/RunControl.schema.json +51 -0
- package/generated/RunEvent.schema.json +103 -0
- package/generated/RunFailure.schema.json +98 -0
- package/generated/RunTelemetry.schema.json +433 -0
- package/generated/SecretMetadata.schema.json +34 -0
- package/generated/Session.schema.json +80 -0
- package/generated/SessionReboundLineage.schema.json +73 -0
- package/generated/SpecPack.schema.json +372 -0
- package/generated/TaskContract.schema.json +501 -0
- package/generated/Thread.schema.json +176 -0
- package/generated/ThreadTurn.schema.json +172 -0
- package/generated/TrustConfig.schema.json +44 -0
- package/generated/WorkProduct.schema.json +60 -0
- package/generated/WorkspaceEnvelope.schema.json +94 -0
- package/package.json +43 -0
package/dist/thread.js
ADDED
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { AuthPreference, FallbackReason, Id, IsoTimestamp, ModeKind, SchemaVersion, } from "./primitives.js";
|
|
3
|
+
import { Attachment } from "./attachment.js";
|
|
4
|
+
/**
|
|
5
|
+
* Threads / Sessions are the v0.9 chat/session-first SSOT.
|
|
6
|
+
*
|
|
7
|
+
* A `Thread` is a Claudexor-owned conversation about a project; runs are "turns"
|
|
8
|
+
* (moves) inside it. A `Session` is the *vendor* CLI session bound to one harness
|
|
9
|
+
* for one thread — a re-hostable CACHE, not the source of truth. When a turn
|
|
10
|
+
* cannot resume the native session in place (isolated-envelope candidates,
|
|
11
|
+
* race lanes included, or re-hosting onto a different harness) the engine
|
|
12
|
+
* serializes a `SessionReboundLineage` and emits a typed `session.rebound`
|
|
13
|
+
* event (honest, lossy disclosure — never silent).
|
|
14
|
+
*/
|
|
15
|
+
/** A thread is open or explicitly closed (archived). "Blocked" is not a thread
|
|
16
|
+
* state — it is a live projection of whether the head turn's run needs a human. */
|
|
17
|
+
export const ThreadState = z
|
|
18
|
+
.enum(["active", "closed"])
|
|
19
|
+
.describe("Thread lifecycle state: active or explicitly closed (archived). Blocked is a live projection, not a thread state.");
|
|
20
|
+
export const SessionState = z
|
|
21
|
+
.enum(["live", "stale", "rebound"])
|
|
22
|
+
.describe("Vendor session cache state: live (resumable), stale, or rebound (re-hosted elsewhere).");
|
|
23
|
+
/** How a session can be continued on its native CLI. Staged-field rule:
|
|
24
|
+
* only values the daemon actually stamps (`resume_by_id` when a native
|
|
25
|
+
* session id exists, `none` otherwise). */
|
|
26
|
+
export const SessionResumeKind = z
|
|
27
|
+
.enum(["resume_by_id", "none"])
|
|
28
|
+
.describe("How the session can be continued on its native CLI: resume_by_id when a native session id exists, none otherwise.");
|
|
29
|
+
export const ThreadTurnKind = z
|
|
30
|
+
.enum(["initial", "followup", "decision"])
|
|
31
|
+
.describe("Kind of thread turn: the initial message, a followup, or an operator decision turn.");
|
|
32
|
+
/**
|
|
33
|
+
* Per-thread workspace mode (v0.10). `in_place` mutates the live project tree
|
|
34
|
+
* directly (continuity is the tree itself; native vendor sessions resume); the
|
|
35
|
+
* default, matching how Claude Code / Cursor work locally. `isolated` keeps a
|
|
36
|
+
* persistent git worktree per thread; turns accumulate there and `apply` merges
|
|
37
|
+
* into the project. Race candidates always run in throwaway envelopes regardless.
|
|
38
|
+
*/
|
|
39
|
+
export const WorkspaceMode = z
|
|
40
|
+
.enum(["in_place", "isolated"])
|
|
41
|
+
.describe("Per-thread workspace mode: in_place mutates the live project tree directly (the default); isolated keeps a persistent git worktree per thread that apply merges into the project.");
|
|
42
|
+
export const ThreadWorkspace = z
|
|
43
|
+
.object({
|
|
44
|
+
mode: WorkspaceMode.default("in_place"),
|
|
45
|
+
/** Set lazily on the first write turn of an isolated thread. */
|
|
46
|
+
worktree_path: z
|
|
47
|
+
.string()
|
|
48
|
+
.nullable()
|
|
49
|
+
.default(null)
|
|
50
|
+
.describe("Persistent worktree path; set lazily on the first write turn of an isolated thread."),
|
|
51
|
+
/** Snapshot SHA the isolated worktree (or last apply) is based on. */
|
|
52
|
+
base_sha: z.string().nullable().default(null).describe("Snapshot SHA the isolated worktree (or last apply) is based on."),
|
|
53
|
+
})
|
|
54
|
+
.describe("How the thread's turns touch files (in-place live tree vs isolated worktree).");
|
|
55
|
+
/** The Claudexor-owned conversation. SSOT for lineage; vendor sessions are caches. */
|
|
56
|
+
export const Thread = z
|
|
57
|
+
.object({
|
|
58
|
+
schema_version: SchemaVersion,
|
|
59
|
+
id: Id.describe("Thread id."),
|
|
60
|
+
created_at: IsoTimestamp.describe("When the thread was created."),
|
|
61
|
+
updated_at: IsoTimestamp.describe("When the thread was last updated."),
|
|
62
|
+
/** Project the thread is anchored to; null for a no-project Ask thread. */
|
|
63
|
+
repo: z
|
|
64
|
+
.object({
|
|
65
|
+
root: z.string().describe("Absolute path of the project root."),
|
|
66
|
+
base_ref: z.string().describe("Git ref the thread works against."),
|
|
67
|
+
})
|
|
68
|
+
.nullable()
|
|
69
|
+
.default(null)
|
|
70
|
+
.describe("Project the thread is anchored to; null for a no-project Ask thread."),
|
|
71
|
+
title: z.string().nullable().default(null).describe("Thread title; null until set."),
|
|
72
|
+
/** Default mode for new turns; individual turns may override. */
|
|
73
|
+
mode: ModeKind.default("agent").describe("Default mode for new turns; individual turns may override."),
|
|
74
|
+
/** Per-thread auth preference override (subscription/api_key/auto). */
|
|
75
|
+
auth_preference: AuthPreference.default("auto"),
|
|
76
|
+
/** Sticky orchestrate/primary harness for the thread (re-routable). A bias /
|
|
77
|
+
* ordering hint, NOT a privileged role — orderPool just pins it first. */
|
|
78
|
+
primary_harness: z
|
|
79
|
+
.string()
|
|
80
|
+
.nullable()
|
|
81
|
+
.default(null)
|
|
82
|
+
.describe("Sticky primary harness for the thread (re-routable); an ordering bias, not a privileged role."),
|
|
83
|
+
/** Sticky eligible harness pool for the thread (Best-of runs this pool, one
|
|
84
|
+
* candidate per harness). Empty => the engine auto-pools doctor-ok harnesses.
|
|
85
|
+
* primary_harness, when set, must be a member of this pool when non-empty. */
|
|
86
|
+
eligible_harnesses: z
|
|
87
|
+
.array(z.string())
|
|
88
|
+
.default([])
|
|
89
|
+
.describe("Sticky eligible harness pool for the thread (races run one candidate per pool member); empty = the engine auto-pools doctor-ok harnesses."),
|
|
90
|
+
/** How turns touch files (in-place live tree vs isolated worktree). */
|
|
91
|
+
workspace: ThreadWorkspace.default({}),
|
|
92
|
+
/** Ordered run lineage (each run is a turn move). */
|
|
93
|
+
run_ids: z.array(Id).default([]).describe("Ordered run lineage (each run is a turn move)."),
|
|
94
|
+
head_run_id: Id.nullable().default(null).describe("Most recent run of the thread; null before the first turn runs."),
|
|
95
|
+
state: ThreadState.default("active"),
|
|
96
|
+
})
|
|
97
|
+
.describe("The Claudexor-owned conversation about a project; runs are turns inside it. SSOT for lineage; vendor sessions are caches.");
|
|
98
|
+
/** A re-hostable pointer to one harness's native CLI session for a thread. */
|
|
99
|
+
export const Session = z
|
|
100
|
+
.object({
|
|
101
|
+
id: Id.describe("Session id."),
|
|
102
|
+
thread_id: Id.describe("Thread the session belongs to."),
|
|
103
|
+
harness_id: Id.describe("Harness the session is bound to."),
|
|
104
|
+
/** The vendor CLI session id (codex thread id / claude session uuid / ...). */
|
|
105
|
+
native_session_id: z
|
|
106
|
+
.string()
|
|
107
|
+
.nullable()
|
|
108
|
+
.default(null)
|
|
109
|
+
.describe("The vendor CLI session id (codex thread id / claude session uuid / ...); null when none exists."),
|
|
110
|
+
resume_kind: SessionResumeKind.default("none"),
|
|
111
|
+
last_observed_model: z.string().nullable().default(null).describe("Model last observed on the session's stream."),
|
|
112
|
+
state: SessionState.default("live"),
|
|
113
|
+
created_at: IsoTimestamp.describe("When the session was created."),
|
|
114
|
+
updated_at: IsoTimestamp.describe("When the session was last updated."),
|
|
115
|
+
})
|
|
116
|
+
.describe("A re-hostable pointer to one harness's native CLI session for a thread — a cache, not the source of truth.");
|
|
117
|
+
/**
|
|
118
|
+
* Well-known machine code for the trust-gate refusal (access=full without the
|
|
119
|
+
* user-level allow). ONE producer — the engine's trust gate throw — and typed
|
|
120
|
+
* consumers (the macOS one-click remedy keys on it; never substring matching
|
|
121
|
+
* on the human message). New gates may attach their own codes without a
|
|
122
|
+
* schema change: `code` is an open string by design.
|
|
123
|
+
*/
|
|
124
|
+
export const TRUST_FULL_ACCESS_CODE = "trust_full_access_required";
|
|
125
|
+
/**
|
|
126
|
+
* Typed record of a turn whose run could not be enqueued/started (e.g. the
|
|
127
|
+
* trust gate refused `access: full`). Persisted ON the turn so every surface
|
|
128
|
+
* renders the honest refusal inline — a runless turn must never be a silent
|
|
129
|
+
* orphan whose reason lived only in one HTTP response (INV-093). Cleared when
|
|
130
|
+
* a retry binds a run.
|
|
131
|
+
*/
|
|
132
|
+
export const TurnEnqueueError = z
|
|
133
|
+
.object({
|
|
134
|
+
message: z.string().describe("Human-readable refusal message."),
|
|
135
|
+
/** Machine-readable refusal code carried from the throwing gate (e.g.
|
|
136
|
+
* TRUST_FULL_ACCESS_CODE); null when the failure had no typed code. */
|
|
137
|
+
code: z
|
|
138
|
+
.string()
|
|
139
|
+
.nullable()
|
|
140
|
+
.default(null)
|
|
141
|
+
.describe("Machine-readable refusal code carried from the throwing gate; null when the failure had no typed code."),
|
|
142
|
+
/** Whether retry can REPLAY this turn: true when a job was recorded before
|
|
143
|
+
* the failure (the registry holds the params to replay); false when the
|
|
144
|
+
* enqueue itself threw and no job exists — surfaces then offer "send a new
|
|
145
|
+
* message" instead of a doomed Retry. */
|
|
146
|
+
retryable: z
|
|
147
|
+
.boolean()
|
|
148
|
+
.default(true)
|
|
149
|
+
.describe("True when retry can replay this turn (a job was recorded before the failure); false when no job exists to replay."),
|
|
150
|
+
failed_at: IsoTimestamp.describe("When the enqueue failed."),
|
|
151
|
+
})
|
|
152
|
+
.describe("Typed record of a turn whose run could not be enqueued/started, persisted on the turn so every surface renders the refusal inline; cleared when a retry binds a run.");
|
|
153
|
+
/** One follow-up unit within a thread (a run is its backing execution). */
|
|
154
|
+
export const ThreadTurn = z
|
|
155
|
+
.object({
|
|
156
|
+
id: Id.describe("Turn id."),
|
|
157
|
+
thread_id: Id.describe("Thread the turn belongs to."),
|
|
158
|
+
run_id: Id.nullable().default(null).describe("Run backing this turn; null while unbound."),
|
|
159
|
+
parent_run_id: Id.nullable().default(null).describe("Run this turn follows up on, when any."),
|
|
160
|
+
/** Set when this turn implements an approved plan from an earlier plan run. */
|
|
161
|
+
plan_run_id: Id.nullable().default(null).describe("Set when this turn implements an approved plan from an earlier plan run."),
|
|
162
|
+
kind: ThreadTurnKind.default("followup"),
|
|
163
|
+
prompt: z.string().default("").describe("The user's message for this turn."),
|
|
164
|
+
/** Files/images the user attached to this turn (resolved scoped paths). */
|
|
165
|
+
attachments: z.array(Attachment).default([]).describe("Files/images the user attached to this turn (resolved scoped paths)."),
|
|
166
|
+
/** Why this turn has no run (enqueue/preflight refusal); null once a run binds. */
|
|
167
|
+
enqueue_error: TurnEnqueueError.nullable()
|
|
168
|
+
.default(null)
|
|
169
|
+
.describe("Why this turn has no run (enqueue/preflight refusal); null once a run binds."),
|
|
170
|
+
created_at: IsoTimestamp.describe("When the turn was created."),
|
|
171
|
+
})
|
|
172
|
+
.describe("One follow-up unit within a thread; a run is its backing execution.");
|
|
173
|
+
/**
|
|
174
|
+
* The lossy payload serialized when a turn cannot resume the native session
|
|
175
|
+
* in place: isolated-envelope candidates (race lanes included) and re-hosting
|
|
176
|
+
* onto a different harness (no native memory of the old session). Carried by
|
|
177
|
+
* the typed `session.rebound` event; the disclosure is explicit, never silent.
|
|
178
|
+
*/
|
|
179
|
+
export const SessionReboundLineage = z
|
|
180
|
+
.object({
|
|
181
|
+
thread_id: Id.describe("Thread whose session was re-hosted."),
|
|
182
|
+
harness_id: Id.describe("Harness the new session runs on."),
|
|
183
|
+
/** The vendor native session id we are leaving behind (not a Claudexor Id). */
|
|
184
|
+
from_native_session_id: z
|
|
185
|
+
.string()
|
|
186
|
+
.nullable()
|
|
187
|
+
.default(null)
|
|
188
|
+
.describe("The vendor native session id being left behind (not a Claudexor id); null when none existed."),
|
|
189
|
+
to_session_id: Id.nullable().default(null).describe("New Claudexor session id; null when no new session was created."),
|
|
190
|
+
summary: z.string().default("").describe("Carried-over conversation summary injected into the new session."),
|
|
191
|
+
reason: FallbackReason.default("not_portable"),
|
|
192
|
+
})
|
|
193
|
+
.describe("The lossy payload serialized when a turn cannot resume the native session in place (isolated candidates or re-hosting onto a different harness); carried by the session.rebound event.");
|
|
194
|
+
//# sourceMappingURL=thread.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thread.js","sourceRoot":"","sources":["../src/thread.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const WorkProductKind: z.ZodEnum<["patch", "new_repo", "report"]>;
|
|
3
|
+
export type WorkProductKind = z.infer<typeof WorkProductKind>;
|
|
4
|
+
export declare const WorkProduct: z.ZodObject<{
|
|
5
|
+
id: z.ZodString;
|
|
6
|
+
kind: z.ZodEnum<["patch", "new_repo", "report"]>;
|
|
7
|
+
source_task_id: z.ZodString;
|
|
8
|
+
producer_attempt_id: z.ZodOptional<z.ZodString>;
|
|
9
|
+
evidence_dir: z.ZodOptional<z.ZodString>;
|
|
10
|
+
/** Kind-specific payload (validated loosely here; specialized per kind by callers). */
|
|
11
|
+
files: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
12
|
+
meta: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
13
|
+
}, "strip", z.ZodTypeAny, {
|
|
14
|
+
id: string;
|
|
15
|
+
kind: "patch" | "new_repo" | "report";
|
|
16
|
+
files: Record<string, string>;
|
|
17
|
+
source_task_id: string;
|
|
18
|
+
meta: Record<string, unknown>;
|
|
19
|
+
producer_attempt_id?: string | undefined;
|
|
20
|
+
evidence_dir?: string | undefined;
|
|
21
|
+
}, {
|
|
22
|
+
id: string;
|
|
23
|
+
kind: "patch" | "new_repo" | "report";
|
|
24
|
+
source_task_id: string;
|
|
25
|
+
files?: Record<string, string> | undefined;
|
|
26
|
+
producer_attempt_id?: string | undefined;
|
|
27
|
+
evidence_dir?: string | undefined;
|
|
28
|
+
meta?: Record<string, unknown> | undefined;
|
|
29
|
+
}>;
|
|
30
|
+
export type WorkProduct = z.infer<typeof WorkProduct>;
|
|
31
|
+
//# sourceMappingURL=workproduct.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workproduct.d.ts","sourceRoot":"","sources":["../src/workproduct.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,eAAO,MAAM,eAAe,4CAEwG,CAAC;AACrI,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE9D,eAAO,MAAM,WAAW;;;;;;IAOpB,uFAAuF;;;;;;;;;;;;;;;;;;;EAOoB,CAAC;AAChH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { Id } from "./primitives.js";
|
|
3
|
+
// Staged-field rule: the enum ships only kinds runs actually PRODUCE
|
|
4
|
+
// (patch / new_repo / report). Delivery-as-branch/commit/pr is a different,
|
|
5
|
+
// fully-consumed vocabulary (`ControlApplyRequest.mode`) — those values were
|
|
6
|
+
// never work-product kinds with a producer, so they do not live here.
|
|
7
|
+
export const WorkProductKind = z
|
|
8
|
+
.enum(["patch", "new_repo", "report"])
|
|
9
|
+
.describe("Kind of work product a run produces: a patch against the base tree, a newly created repository, or a report document.");
|
|
10
|
+
export const WorkProduct = z
|
|
11
|
+
.object({
|
|
12
|
+
id: Id.describe("Work product id."),
|
|
13
|
+
kind: WorkProductKind,
|
|
14
|
+
source_task_id: Id.describe("Task the work product came from."),
|
|
15
|
+
producer_attempt_id: Id.optional().describe("Attempt that produced it, when known."),
|
|
16
|
+
evidence_dir: z.string().optional().describe("Directory holding run evidence artifacts."),
|
|
17
|
+
/** Kind-specific payload (validated loosely here; specialized per kind by callers). */
|
|
18
|
+
files: z
|
|
19
|
+
.record(z.string(), z.string())
|
|
20
|
+
.default({})
|
|
21
|
+
.describe("Kind-specific file payload, e.g. artifact name to path (validated loosely here; specialized per kind by callers)."),
|
|
22
|
+
meta: z.record(z.string(), z.unknown()).default({}).describe("Kind-specific metadata."),
|
|
23
|
+
})
|
|
24
|
+
.describe("The deliverable a run produced (patch, new repo, or report), referenced by apply/delivery verbs.");
|
|
25
|
+
//# sourceMappingURL=workproduct.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workproduct.js","sourceRoot":"","sources":["../src/workproduct.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAErC,qEAAqE;AACrE,4EAA4E;AAC5E,6EAA6E;AAC7E,sEAAsE;AACtE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC;KAC7B,IAAI,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;KACrC,QAAQ,CAAC,uHAAuH,CAAC,CAAC;AAGrI,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC;KACzB,MAAM,CAAC;IACN,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IACnC,IAAI,EAAE,eAAe;IACrB,cAAc,EAAE,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;IAC/D,mBAAmB,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;IACpF,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;IACzF,uFAAuF;IACvF,KAAK,EAAE,CAAC;SACL,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC9B,OAAO,CAAC,EAAE,CAAC;SACX,QAAQ,CAAC,mHAAmH,CAAC;IAChI,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC;CACxF,CAAC;KACD,QAAQ,CAAC,kGAAkG,CAAC,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
/**
|
|
3
|
+
* An isolated execution envelope. A git worktree isolates files; the envelope
|
|
4
|
+
* additionally isolates env/HOME/harness-config dirs. (Container/
|
|
5
|
+
* service-sandbox isolation is a future scoped feature, not modeled here.
|
|
6
|
+
* The dead `env_dir`/`logs_dir`/`artifacts_dir`/`ports` fields — created but
|
|
7
|
+
* never read anywhere — were deleted per the staged-field rule.)
|
|
8
|
+
*/
|
|
9
|
+
export declare const WorkspaceEnvelope: z.ZodObject<{
|
|
10
|
+
id: z.ZodString;
|
|
11
|
+
task_id: z.ZodString;
|
|
12
|
+
attempt_id: z.ZodString;
|
|
13
|
+
repo_root: z.ZodString;
|
|
14
|
+
base_ref: z.ZodString;
|
|
15
|
+
base_sha: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
16
|
+
worktree_path: z.ZodString;
|
|
17
|
+
branch_name: z.ZodString;
|
|
18
|
+
home_dir: z.ZodString;
|
|
19
|
+
harness_config_dirs: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
20
|
+
policy_profile: z.ZodDefault<z.ZodString>;
|
|
21
|
+
dirty_policy: z.ZodDefault<z.ZodEnum<["refuse", "snapshot"]>>;
|
|
22
|
+
created_at: z.ZodString;
|
|
23
|
+
}, "strip", z.ZodTypeAny, {
|
|
24
|
+
id: string;
|
|
25
|
+
worktree_path: string;
|
|
26
|
+
base_sha: string | null;
|
|
27
|
+
created_at: string;
|
|
28
|
+
base_ref: string;
|
|
29
|
+
task_id: string;
|
|
30
|
+
attempt_id: string;
|
|
31
|
+
repo_root: string;
|
|
32
|
+
dirty_policy: "refuse" | "snapshot";
|
|
33
|
+
branch_name: string;
|
|
34
|
+
home_dir: string;
|
|
35
|
+
harness_config_dirs: Record<string, string>;
|
|
36
|
+
policy_profile: string;
|
|
37
|
+
}, {
|
|
38
|
+
id: string;
|
|
39
|
+
worktree_path: string;
|
|
40
|
+
created_at: string;
|
|
41
|
+
base_ref: string;
|
|
42
|
+
task_id: string;
|
|
43
|
+
attempt_id: string;
|
|
44
|
+
repo_root: string;
|
|
45
|
+
branch_name: string;
|
|
46
|
+
home_dir: string;
|
|
47
|
+
base_sha?: string | null | undefined;
|
|
48
|
+
dirty_policy?: "refuse" | "snapshot" | undefined;
|
|
49
|
+
harness_config_dirs?: Record<string, string> | undefined;
|
|
50
|
+
policy_profile?: string | undefined;
|
|
51
|
+
}>;
|
|
52
|
+
export type WorkspaceEnvelope = z.infer<typeof WorkspaceEnvelope>;
|
|
53
|
+
//# sourceMappingURL=workspace.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmBwF,CAAC;AACvH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { DirtyPolicy, Id, IsoTimestamp } from "./primitives.js";
|
|
3
|
+
/**
|
|
4
|
+
* An isolated execution envelope. A git worktree isolates files; the envelope
|
|
5
|
+
* additionally isolates env/HOME/harness-config dirs. (Container/
|
|
6
|
+
* service-sandbox isolation is a future scoped feature, not modeled here.
|
|
7
|
+
* The dead `env_dir`/`logs_dir`/`artifacts_dir`/`ports` fields — created but
|
|
8
|
+
* never read anywhere — were deleted per the staged-field rule.)
|
|
9
|
+
*/
|
|
10
|
+
export const WorkspaceEnvelope = z
|
|
11
|
+
.object({
|
|
12
|
+
id: Id.describe("Envelope id."),
|
|
13
|
+
task_id: Id.describe("Task the envelope belongs to."),
|
|
14
|
+
attempt_id: Id.describe("Attempt the envelope belongs to."),
|
|
15
|
+
repo_root: z.string().describe("Absolute path of the source repository root."),
|
|
16
|
+
base_ref: z.string().describe("Git ref the worktree was created from."),
|
|
17
|
+
base_sha: z.string().nullable().default(null).describe("Resolved base commit SHA; null when not recorded."),
|
|
18
|
+
worktree_path: z.string().describe("Absolute path of the isolated git worktree."),
|
|
19
|
+
branch_name: z.string().describe("Branch created for the worktree."),
|
|
20
|
+
home_dir: z.string().describe("Scoped HOME directory for the harness process (kept outside the worktree)."),
|
|
21
|
+
harness_config_dirs: z
|
|
22
|
+
.record(z.string(), z.string())
|
|
23
|
+
.default({})
|
|
24
|
+
.describe("Scoped per-harness config directories keyed by harness id (kept outside the worktree)."),
|
|
25
|
+
policy_profile: z.string().default("workspace_write").describe("Access profile the envelope enforces."),
|
|
26
|
+
dirty_policy: DirtyPolicy.default("refuse"),
|
|
27
|
+
created_at: IsoTimestamp.describe("When the envelope was created."),
|
|
28
|
+
})
|
|
29
|
+
.describe("An isolated execution envelope: a git worktree for files plus scoped env/HOME/harness-config isolation.");
|
|
30
|
+
//# sourceMappingURL=workspace.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC;KAC/B,MAAM,CAAC;IACN,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;IAC/B,OAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IACrD,UAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;IAC3D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;IAC9E,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;IACvE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,mDAAmD,CAAC;IAC3G,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;IACjF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;IACpE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4EAA4E,CAAC;IAC3G,mBAAmB,EAAE,CAAC;SACnB,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC9B,OAAO,CAAC,EAAE,CAAC;SACX,QAAQ,CAAC,wFAAwF,CAAC;IACrG,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,uCAAuC,CAAC;IACvG,YAAY,EAAE,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC3C,UAAU,EAAE,YAAY,CAAC,QAAQ,CAAC,gCAAgC,CAAC;CACpE,CAAC;KACD,QAAQ,CAAC,yGAAyG,CAAC,CAAC"}
|