@h-rig/contracts 0.0.6-alpha.7 → 0.0.6-alpha.70

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.
@@ -0,0 +1,154 @@
1
+ // @bun
2
+ // packages/contracts/src/cli-output.ts
3
+ import { Schema } from "effect";
4
+ var CLI_OUTPUT_VERSION = 1;
5
+ var RigCliOutputEnvelope = Schema.Struct({
6
+ v: Schema.Literal(1),
7
+ command: Schema.String,
8
+ data: Schema.Unknown
9
+ });
10
+ var CliTaskSummary = Schema.Struct({
11
+ id: Schema.NullOr(Schema.String),
12
+ title: Schema.NullOr(Schema.String),
13
+ status: Schema.NullOr(Schema.String),
14
+ source: Schema.optional(Schema.String),
15
+ url: Schema.optional(Schema.String),
16
+ number: Schema.optional(Schema.Number),
17
+ labels: Schema.optional(Schema.Array(Schema.Unknown)),
18
+ assignees: Schema.optional(Schema.Array(Schema.Unknown)),
19
+ readiness: Schema.optional(Schema.Union([Schema.String, Schema.Boolean])),
20
+ validators: Schema.optional(Schema.Array(Schema.Unknown)),
21
+ raw: Schema.optional(Schema.Unknown)
22
+ });
23
+ var CliTaskFilters = Schema.Struct({
24
+ assignee: Schema.optional(Schema.String),
25
+ state: Schema.optional(Schema.String),
26
+ status: Schema.optional(Schema.String),
27
+ limit: Schema.optional(Schema.Number)
28
+ });
29
+ var CliRunRecord = Schema.Record(Schema.String, Schema.Unknown);
30
+ var CliInboxRecord = Schema.Record(Schema.String, Schema.Unknown);
31
+ var CliDoctorCheck = Schema.Struct({
32
+ id: Schema.String,
33
+ label: Schema.String,
34
+ status: Schema.Literals(["pass", "warn", "fail"]),
35
+ detail: Schema.optional(Schema.String),
36
+ remediation: Schema.optional(Schema.String)
37
+ });
38
+ var CliServerConnection = Schema.Union([
39
+ Schema.Struct({ kind: Schema.Literal("local"), mode: Schema.Literal("auto") }),
40
+ Schema.Struct({ kind: Schema.Literal("remote"), baseUrl: Schema.String })
41
+ ]);
42
+ var CliRepoConnectionState = Schema.Struct({
43
+ selected: Schema.String,
44
+ project: Schema.optional(Schema.String),
45
+ linkedAt: Schema.optional(Schema.String),
46
+ serverProjectRoot: Schema.optional(Schema.String)
47
+ });
48
+ var RigTaskListOutput = Schema.Struct({
49
+ v: Schema.Literal(1),
50
+ command: Schema.Literal("task list"),
51
+ data: Schema.Struct({
52
+ count: Schema.Number,
53
+ filters: CliTaskFilters,
54
+ raw: Schema.Boolean,
55
+ tasks: Schema.Array(CliTaskSummary)
56
+ })
57
+ });
58
+ var RigTaskShowOutput = Schema.Struct({
59
+ v: Schema.Literal(1),
60
+ command: Schema.Literal("task show"),
61
+ data: Schema.Struct({
62
+ task: CliTaskSummary,
63
+ raw: Schema.Boolean
64
+ })
65
+ });
66
+ var RigRunListOutput = Schema.Struct({
67
+ v: Schema.Literal(1),
68
+ command: Schema.Literal("run list"),
69
+ data: Schema.Struct({
70
+ runs: Schema.Array(CliRunRecord),
71
+ source: Schema.Literals(["local", "server"])
72
+ })
73
+ });
74
+ var RigRunShowOutput = Schema.Struct({
75
+ v: Schema.Literal(1),
76
+ command: Schema.Literal("run show"),
77
+ data: CliRunRecord
78
+ });
79
+ var RigServerStatusOutput = Schema.Struct({
80
+ v: Schema.Literal(1),
81
+ command: Schema.Literal("server status"),
82
+ data: Schema.Struct({
83
+ selected: Schema.String,
84
+ repo: Schema.NullOr(CliRepoConnectionState),
85
+ connections: Schema.Record(Schema.String, CliServerConnection)
86
+ })
87
+ });
88
+ var RigInboxApprovalsOutput = Schema.Struct({
89
+ v: Schema.Literal(1),
90
+ command: Schema.Literal("inbox approvals"),
91
+ data: Schema.Struct({
92
+ approvals: Schema.Array(CliInboxRecord)
93
+ })
94
+ });
95
+ var RigInboxInputsOutput = Schema.Struct({
96
+ v: Schema.Literal(1),
97
+ command: Schema.Literal("inbox inputs"),
98
+ data: Schema.Struct({
99
+ requests: Schema.Array(CliInboxRecord)
100
+ })
101
+ });
102
+ var RigDoctorCheckOutput = Schema.Struct({
103
+ v: Schema.Literal(1),
104
+ command: Schema.Literal("doctor check"),
105
+ data: Schema.Struct({
106
+ checks: Schema.Array(CliDoctorCheck),
107
+ failures: Schema.Number
108
+ })
109
+ });
110
+ var RigStatsData = Schema.Struct({
111
+ since: Schema.NullOr(Schema.String),
112
+ totalRuns: Schema.Number,
113
+ statusCounts: Schema.Record(Schema.String, Schema.Number),
114
+ completedRuns: Schema.Number,
115
+ failedRuns: Schema.Number,
116
+ needsAttentionRuns: Schema.Number,
117
+ completionRate: Schema.NullOr(Schema.Number),
118
+ failureRate: Schema.NullOr(Schema.Number),
119
+ needsAttentionRate: Schema.NullOr(Schema.Number),
120
+ medianCompletionMs: Schema.NullOr(Schema.Number),
121
+ steeringTotal: Schema.Number,
122
+ steeringPerRun: Schema.NullOr(Schema.Number),
123
+ stallTotal: Schema.Number,
124
+ approvalsRequested: Schema.Number,
125
+ approvalsApproved: Schema.Number,
126
+ approvalsRejected: Schema.Number,
127
+ approvalsPending: Schema.Number
128
+ });
129
+ var RigStatsOutput = Schema.Struct({
130
+ v: Schema.Literal(1),
131
+ command: Schema.Literal("stats show"),
132
+ data: RigStatsData
133
+ });
134
+ export {
135
+ RigTaskShowOutput,
136
+ RigTaskListOutput,
137
+ RigStatsOutput,
138
+ RigStatsData,
139
+ RigServerStatusOutput,
140
+ RigRunShowOutput,
141
+ RigRunListOutput,
142
+ RigInboxInputsOutput,
143
+ RigInboxApprovalsOutput,
144
+ RigDoctorCheckOutput,
145
+ RigCliOutputEnvelope,
146
+ CliTaskSummary,
147
+ CliTaskFilters,
148
+ CliServerConnection,
149
+ CliRunRecord,
150
+ CliRepoConnectionState,
151
+ CliInboxRecord,
152
+ CliDoctorCheck,
153
+ CLI_OUTPUT_VERSION
154
+ };
@@ -93,6 +93,8 @@ var WorkspaceIsolation = Schema2.Literals([
93
93
  "worktree",
94
94
  "directory"
95
95
  ]);
96
+ var WorkspaceCheckout = WorkspaceIsolation;
97
+ var WorkspaceSandbox = Schema2.Literals(["enforce", "auto", "off"]);
96
98
  var ScopeSearchPrefix = Schema2.Struct({
97
99
  prefix: Schema2.String,
98
100
  matchStartsWith: Schema2.optional(Schema2.Array(Schema2.String)),
@@ -104,7 +106,9 @@ var ScopeNormalizationRules = Schema2.Struct({
104
106
  });
105
107
  var WorkspaceConfig = Schema2.Struct({
106
108
  mainRepo: Schema2.String,
107
- isolation: WorkspaceIsolation,
109
+ checkout: Schema2.optional(WorkspaceCheckout),
110
+ isolation: Schema2.optional(WorkspaceIsolation),
111
+ sandbox: Schema2.optional(WorkspaceSandbox),
108
112
  scopeNormalization: Schema2.optional(ScopeNormalizationRules)
109
113
  });
110
114
  var TaskSourceConfig = Schema2.Struct({
@@ -119,12 +123,16 @@ var TaskSourceConfig = Schema2.Struct({
119
123
  });
120
124
  var RuntimeHarness = Schema2.Literals(["pi", "claude-code", "codex"]);
121
125
  var RigRuntimeMode = Schema2.Literals(["yolo", "approval-required"]);
126
+ var PiRuntimeConfig = Schema2.Struct({
127
+ packages: Schema2.optional(Schema2.Array(Schema2.String))
128
+ });
122
129
  var RuntimeConfig = Schema2.Struct({
123
130
  agentRoles: Schema2.optional(Schema2.Record(Schema2.String, Schema2.Unknown)),
124
131
  timeouts: Schema2.optional(Schema2.Record(Schema2.String, Schema2.Number)),
125
132
  harness: Schema2.optional(RuntimeHarness),
126
133
  model: Schema2.optional(Schema2.String),
127
- mode: Schema2.optional(RigRuntimeMode)
134
+ mode: Schema2.optional(RigRuntimeMode),
135
+ pi: Schema2.optional(PiRuntimeConfig)
128
136
  });
129
137
  var ProjectIdentity = Schema2.Struct({
130
138
  name: Schema2.String,
@@ -143,6 +151,7 @@ var GitHubProjectStatusConfig = Schema2.Struct({
143
151
  running: Schema2.optional(Schema2.String),
144
152
  prOpen: Schema2.optional(Schema2.String),
145
153
  ciFixing: Schema2.optional(Schema2.String),
154
+ merging: Schema2.optional(Schema2.String),
146
155
  done: Schema2.optional(Schema2.String),
147
156
  needsAttention: Schema2.optional(Schema2.String)
148
157
  }))
@@ -195,8 +204,10 @@ var RigConfig = Schema2.Struct({
195
204
  issueAnalysis: Schema2.optional(IssueAnalysisConfig)
196
205
  });
197
206
  export {
207
+ WorkspaceSandbox,
198
208
  WorkspaceIsolation,
199
209
  WorkspaceConfig,
210
+ WorkspaceCheckout,
200
211
  TaskSourceConfig,
201
212
  ScopeSearchPrefix,
202
213
  ScopeNormalizationRules,
@@ -208,6 +219,7 @@ export {
208
219
  PullRequestConfig,
209
220
  ProjectIdentity,
210
221
  PlanningConfig,
222
+ PiRuntimeConfig,
211
223
  MergeConfig,
212
224
  IssueAnalysisConfig,
213
225
  GitHubProjectStatusConfig,
@@ -1069,12 +1069,14 @@ var RunStatus = Schema9.Literals([
1069
1069
  "running",
1070
1070
  "waiting-approval",
1071
1071
  "waiting-user-input",
1072
+ "paused",
1072
1073
  "validating",
1073
1074
  "reviewing",
1075
+ "closing-out",
1076
+ "needs-attention",
1074
1077
  "completed",
1075
1078
  "failed",
1076
- "cancelled",
1077
- "paused"
1079
+ "stopped"
1078
1080
  ]);
1079
1081
  var EngineSandboxMode = Schema9.Literals([
1080
1082
  "read-only",