@h-rig/contracts 0.0.6-alpha.7 → 0.0.6-alpha.71
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/dist/src/cli-output.js +154 -0
- package/dist/src/config.js +14 -2
- package/dist/src/engine.js +4 -2
- package/dist/src/index.js +1906 -1219
- package/dist/src/pi-session.js +1 -0
- package/dist/src/plugin-hooks.js +112 -0
- package/dist/src/protocol-version.js +6 -0
- package/dist/src/remote.js +4 -2
- package/dist/src/rig.js +32 -4
- package/dist/src/run-journal.js +1506 -0
- package/dist/src/runtime.js +4 -2
- package/dist/src/ws.js +27 -3
- package/package.json +1 -1
|
@@ -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
|
+
};
|
package/dist/src/config.js
CHANGED
|
@@ -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
|
-
|
|
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,
|
package/dist/src/engine.js
CHANGED
|
@@ -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
|
-
"
|
|
1077
|
-
"paused"
|
|
1079
|
+
"stopped"
|
|
1078
1080
|
]);
|
|
1079
1081
|
var EngineSandboxMode = Schema9.Literals([
|
|
1080
1082
|
"read-only",
|