@h-rig/contracts 0.0.6-alpha.64 → 0.0.6-alpha.65

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({
@@ -200,8 +204,10 @@ var RigConfig = Schema2.Struct({
200
204
  issueAnalysis: Schema2.optional(IssueAnalysisConfig)
201
205
  });
202
206
  export {
207
+ WorkspaceSandbox,
203
208
  WorkspaceIsolation,
204
209
  WorkspaceConfig,
210
+ WorkspaceCheckout,
205
211
  TaskSourceConfig,
206
212
  ScopeSearchPrefix,
207
213
  ScopeNormalizationRules,
@@ -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",