@h-rig/contracts 0.0.6-alpha.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/README.md +14 -0
- package/dist/src/artifact.js +53 -0
- package/dist/src/baseSchemas.js +66 -0
- package/dist/src/config.js +214 -0
- package/dist/src/conversation.js +95 -0
- package/dist/src/editor.js +55 -0
- package/dist/src/engine.js +2278 -0
- package/dist/src/git.js +193 -0
- package/dist/src/graph.js +93 -0
- package/dist/src/index.js +4545 -0
- package/dist/src/ipc.js +1 -0
- package/dist/src/keybindings.js +119 -0
- package/dist/src/model.js +64 -0
- package/dist/src/orchestration.js +1031 -0
- package/dist/src/plugin.js +102 -0
- package/dist/src/policy.js +56 -0
- package/dist/src/project.js +107 -0
- package/dist/src/provider.js +1013 -0
- package/dist/src/providerRuntime.js +1630 -0
- package/dist/src/remote.js +1474 -0
- package/dist/src/review.js +58 -0
- package/dist/src/rig.js +2374 -0
- package/dist/src/runtime.js +1043 -0
- package/dist/src/server.js +1053 -0
- package/dist/src/serviceFabric.js +1066 -0
- package/dist/src/task-source.js +1 -0
- package/dist/src/terminal.js +158 -0
- package/dist/src/validation.js +60 -0
- package/dist/src/workspace.js +1030 -0
- package/dist/src/ws.js +2968 -0
- package/package.json +28 -0
package/dist/src/git.js
ADDED
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
// packages/contracts/src/git.ts
|
|
3
|
+
import { Schema as Schema2 } from "effect";
|
|
4
|
+
|
|
5
|
+
// packages/contracts/src/baseSchemas.ts
|
|
6
|
+
import { Schema } from "effect";
|
|
7
|
+
var TrimmedString = Schema.Trim;
|
|
8
|
+
var TrimmedNonEmptyString = TrimmedString.check(Schema.isNonEmpty());
|
|
9
|
+
var NonNegativeInt = Schema.Int.check(Schema.isGreaterThanOrEqualTo(0));
|
|
10
|
+
var PositiveInt = Schema.Int.check(Schema.isGreaterThanOrEqualTo(1));
|
|
11
|
+
var IsoDateTime = Schema.String;
|
|
12
|
+
var makeEntityId = (brand) => TrimmedNonEmptyString.pipe(Schema.brand(brand));
|
|
13
|
+
var ThreadId = makeEntityId("ThreadId");
|
|
14
|
+
var ProjectId = makeEntityId("ProjectId");
|
|
15
|
+
var WorkspaceId = makeEntityId("WorkspaceId");
|
|
16
|
+
var GraphId = makeEntityId("GraphId");
|
|
17
|
+
var TaskId = makeEntityId("TaskId");
|
|
18
|
+
var RunId = makeEntityId("RunId");
|
|
19
|
+
var EngineRuntimeId = makeEntityId("EngineRuntimeId");
|
|
20
|
+
var ConversationId = makeEntityId("ConversationId");
|
|
21
|
+
var ActionId = makeEntityId("ActionId");
|
|
22
|
+
var ArtifactId = makeEntityId("ArtifactId");
|
|
23
|
+
var WorktreeId = makeEntityId("WorktreeId");
|
|
24
|
+
var ValidationResultId = makeEntityId("ValidationResultId");
|
|
25
|
+
var ReviewResultId = makeEntityId("ReviewResultId");
|
|
26
|
+
var CommandId = makeEntityId("CommandId");
|
|
27
|
+
var EventId = makeEntityId("EventId");
|
|
28
|
+
var MessageId = makeEntityId("MessageId");
|
|
29
|
+
var TurnId = makeEntityId("TurnId");
|
|
30
|
+
var ProviderItemId = makeEntityId("ProviderItemId");
|
|
31
|
+
var RuntimeSessionId = makeEntityId("RuntimeSessionId");
|
|
32
|
+
var RuntimeItemId = makeEntityId("RuntimeItemId");
|
|
33
|
+
var RuntimeRequestId = makeEntityId("RuntimeRequestId");
|
|
34
|
+
var RuntimeTaskId = makeEntityId("RuntimeTaskId");
|
|
35
|
+
var ApprovalRequestId = makeEntityId("ApprovalRequestId");
|
|
36
|
+
var CheckpointRef = makeEntityId("CheckpointRef");
|
|
37
|
+
var RemoteEndpointId = makeEntityId("RemoteEndpointId");
|
|
38
|
+
|
|
39
|
+
// packages/contracts/src/git.ts
|
|
40
|
+
var TrimmedNonEmptyStringSchema = TrimmedNonEmptyString;
|
|
41
|
+
var GitStackedAction = Schema2.Literals(["commit", "commit_push", "commit_push_pr"]);
|
|
42
|
+
var GitCommitStepStatus = Schema2.Literals(["created", "skipped_no_changes"]);
|
|
43
|
+
var GitPushStepStatus = Schema2.Literals([
|
|
44
|
+
"pushed",
|
|
45
|
+
"skipped_not_requested",
|
|
46
|
+
"skipped_up_to_date"
|
|
47
|
+
]);
|
|
48
|
+
var GitBranchStepStatus = Schema2.Literals(["created", "skipped_not_requested"]);
|
|
49
|
+
var GitPrStepStatus = Schema2.Literals([
|
|
50
|
+
"created",
|
|
51
|
+
"opened_existing",
|
|
52
|
+
"skipped_not_requested"
|
|
53
|
+
]);
|
|
54
|
+
var GitStatusPrState = Schema2.Literals(["open", "closed", "merged"]);
|
|
55
|
+
var GitBranch = Schema2.Struct({
|
|
56
|
+
name: TrimmedNonEmptyStringSchema,
|
|
57
|
+
isRemote: Schema2.optional(Schema2.Boolean),
|
|
58
|
+
remoteName: Schema2.optional(TrimmedNonEmptyStringSchema),
|
|
59
|
+
current: Schema2.Boolean,
|
|
60
|
+
isDefault: Schema2.Boolean,
|
|
61
|
+
worktreePath: TrimmedNonEmptyStringSchema.pipe(Schema2.NullOr)
|
|
62
|
+
});
|
|
63
|
+
var GitWorktree = Schema2.Struct({
|
|
64
|
+
path: TrimmedNonEmptyStringSchema,
|
|
65
|
+
branch: TrimmedNonEmptyStringSchema
|
|
66
|
+
});
|
|
67
|
+
var GitStatusInput = Schema2.Struct({
|
|
68
|
+
cwd: TrimmedNonEmptyStringSchema
|
|
69
|
+
});
|
|
70
|
+
var GitPullInput = Schema2.Struct({
|
|
71
|
+
cwd: TrimmedNonEmptyStringSchema
|
|
72
|
+
});
|
|
73
|
+
var GitReadWorkingTreePatchInput = Schema2.Struct({
|
|
74
|
+
cwd: TrimmedNonEmptyStringSchema,
|
|
75
|
+
relativePath: Schema2.optional(TrimmedNonEmptyStringSchema)
|
|
76
|
+
});
|
|
77
|
+
var GitRunStackedActionInput = Schema2.Struct({
|
|
78
|
+
cwd: TrimmedNonEmptyStringSchema,
|
|
79
|
+
action: GitStackedAction,
|
|
80
|
+
commitMessage: Schema2.optional(TrimmedNonEmptyStringSchema.check(Schema2.isMaxLength(1e4))),
|
|
81
|
+
featureBranch: Schema2.optional(Schema2.Boolean)
|
|
82
|
+
});
|
|
83
|
+
var GitListBranchesInput = Schema2.Struct({
|
|
84
|
+
cwd: TrimmedNonEmptyStringSchema
|
|
85
|
+
});
|
|
86
|
+
var GitCreateWorktreeInput = Schema2.Struct({
|
|
87
|
+
cwd: TrimmedNonEmptyStringSchema,
|
|
88
|
+
branch: TrimmedNonEmptyStringSchema,
|
|
89
|
+
newBranch: TrimmedNonEmptyStringSchema,
|
|
90
|
+
path: Schema2.NullOr(TrimmedNonEmptyStringSchema)
|
|
91
|
+
});
|
|
92
|
+
var GitRemoveWorktreeInput = Schema2.Struct({
|
|
93
|
+
cwd: TrimmedNonEmptyStringSchema,
|
|
94
|
+
path: TrimmedNonEmptyStringSchema,
|
|
95
|
+
force: Schema2.optional(Schema2.Boolean)
|
|
96
|
+
});
|
|
97
|
+
var GitCreateBranchInput = Schema2.Struct({
|
|
98
|
+
cwd: TrimmedNonEmptyStringSchema,
|
|
99
|
+
branch: TrimmedNonEmptyStringSchema
|
|
100
|
+
});
|
|
101
|
+
var GitCheckoutInput = Schema2.Struct({
|
|
102
|
+
cwd: TrimmedNonEmptyStringSchema,
|
|
103
|
+
branch: TrimmedNonEmptyStringSchema
|
|
104
|
+
});
|
|
105
|
+
var GitInitInput = Schema2.Struct({
|
|
106
|
+
cwd: TrimmedNonEmptyStringSchema
|
|
107
|
+
});
|
|
108
|
+
var GitStatusPr = Schema2.Struct({
|
|
109
|
+
number: PositiveInt,
|
|
110
|
+
title: TrimmedNonEmptyStringSchema,
|
|
111
|
+
url: Schema2.String,
|
|
112
|
+
baseBranch: TrimmedNonEmptyStringSchema,
|
|
113
|
+
headBranch: TrimmedNonEmptyStringSchema,
|
|
114
|
+
state: GitStatusPrState
|
|
115
|
+
});
|
|
116
|
+
var GitStatusResult = Schema2.Struct({
|
|
117
|
+
branch: TrimmedNonEmptyStringSchema.pipe(Schema2.NullOr),
|
|
118
|
+
hasWorkingTreeChanges: Schema2.Boolean,
|
|
119
|
+
workingTree: Schema2.Struct({
|
|
120
|
+
files: Schema2.Array(Schema2.Struct({
|
|
121
|
+
path: TrimmedNonEmptyStringSchema,
|
|
122
|
+
insertions: NonNegativeInt,
|
|
123
|
+
deletions: NonNegativeInt
|
|
124
|
+
})),
|
|
125
|
+
insertions: NonNegativeInt,
|
|
126
|
+
deletions: NonNegativeInt
|
|
127
|
+
}),
|
|
128
|
+
hasUpstream: Schema2.Boolean,
|
|
129
|
+
aheadCount: NonNegativeInt,
|
|
130
|
+
behindCount: NonNegativeInt,
|
|
131
|
+
pr: Schema2.NullOr(GitStatusPr)
|
|
132
|
+
});
|
|
133
|
+
var GitListBranchesResult = Schema2.Struct({
|
|
134
|
+
branches: Schema2.Array(GitBranch),
|
|
135
|
+
isRepo: Schema2.Boolean
|
|
136
|
+
});
|
|
137
|
+
var GitCreateWorktreeResult = Schema2.Struct({
|
|
138
|
+
worktree: GitWorktree
|
|
139
|
+
});
|
|
140
|
+
var GitRunStackedActionResult = Schema2.Struct({
|
|
141
|
+
action: GitStackedAction,
|
|
142
|
+
branch: Schema2.Struct({
|
|
143
|
+
status: GitBranchStepStatus,
|
|
144
|
+
name: Schema2.optional(TrimmedNonEmptyStringSchema)
|
|
145
|
+
}),
|
|
146
|
+
commit: Schema2.Struct({
|
|
147
|
+
status: GitCommitStepStatus,
|
|
148
|
+
commitSha: Schema2.optional(TrimmedNonEmptyStringSchema),
|
|
149
|
+
subject: Schema2.optional(TrimmedNonEmptyStringSchema)
|
|
150
|
+
}),
|
|
151
|
+
push: Schema2.Struct({
|
|
152
|
+
status: GitPushStepStatus,
|
|
153
|
+
branch: Schema2.optional(TrimmedNonEmptyStringSchema),
|
|
154
|
+
upstreamBranch: Schema2.optional(TrimmedNonEmptyStringSchema),
|
|
155
|
+
setUpstream: Schema2.optional(Schema2.Boolean)
|
|
156
|
+
}),
|
|
157
|
+
pr: Schema2.Struct({
|
|
158
|
+
status: GitPrStepStatus,
|
|
159
|
+
url: Schema2.optional(Schema2.String),
|
|
160
|
+
number: Schema2.optional(PositiveInt),
|
|
161
|
+
baseBranch: Schema2.optional(TrimmedNonEmptyStringSchema),
|
|
162
|
+
headBranch: Schema2.optional(TrimmedNonEmptyStringSchema),
|
|
163
|
+
title: Schema2.optional(TrimmedNonEmptyStringSchema)
|
|
164
|
+
})
|
|
165
|
+
});
|
|
166
|
+
var GitPullResult = Schema2.Struct({
|
|
167
|
+
status: Schema2.Literals(["pulled", "skipped_up_to_date"]),
|
|
168
|
+
branch: TrimmedNonEmptyStringSchema,
|
|
169
|
+
upstreamBranch: TrimmedNonEmptyStringSchema.pipe(Schema2.NullOr)
|
|
170
|
+
});
|
|
171
|
+
var GitReadWorkingTreePatchResult = Schema2.Struct({
|
|
172
|
+
diff: Schema2.String
|
|
173
|
+
});
|
|
174
|
+
export {
|
|
175
|
+
GitStatusResult,
|
|
176
|
+
GitStatusInput,
|
|
177
|
+
GitStackedAction,
|
|
178
|
+
GitRunStackedActionResult,
|
|
179
|
+
GitRunStackedActionInput,
|
|
180
|
+
GitRemoveWorktreeInput,
|
|
181
|
+
GitReadWorkingTreePatchResult,
|
|
182
|
+
GitReadWorkingTreePatchInput,
|
|
183
|
+
GitPullResult,
|
|
184
|
+
GitPullInput,
|
|
185
|
+
GitListBranchesResult,
|
|
186
|
+
GitListBranchesInput,
|
|
187
|
+
GitInitInput,
|
|
188
|
+
GitCreateWorktreeResult,
|
|
189
|
+
GitCreateWorktreeInput,
|
|
190
|
+
GitCreateBranchInput,
|
|
191
|
+
GitCheckoutInput,
|
|
192
|
+
GitBranch
|
|
193
|
+
};
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
// packages/contracts/src/graph.ts
|
|
3
|
+
import { Schema as Schema2 } from "effect";
|
|
4
|
+
|
|
5
|
+
// packages/contracts/src/baseSchemas.ts
|
|
6
|
+
import { Schema } from "effect";
|
|
7
|
+
var TrimmedString = Schema.Trim;
|
|
8
|
+
var TrimmedNonEmptyString = TrimmedString.check(Schema.isNonEmpty());
|
|
9
|
+
var NonNegativeInt = Schema.Int.check(Schema.isGreaterThanOrEqualTo(0));
|
|
10
|
+
var PositiveInt = Schema.Int.check(Schema.isGreaterThanOrEqualTo(1));
|
|
11
|
+
var IsoDateTime = Schema.String;
|
|
12
|
+
var makeEntityId = (brand) => TrimmedNonEmptyString.pipe(Schema.brand(brand));
|
|
13
|
+
var ThreadId = makeEntityId("ThreadId");
|
|
14
|
+
var ProjectId = makeEntityId("ProjectId");
|
|
15
|
+
var WorkspaceId = makeEntityId("WorkspaceId");
|
|
16
|
+
var GraphId = makeEntityId("GraphId");
|
|
17
|
+
var TaskId = makeEntityId("TaskId");
|
|
18
|
+
var RunId = makeEntityId("RunId");
|
|
19
|
+
var EngineRuntimeId = makeEntityId("EngineRuntimeId");
|
|
20
|
+
var ConversationId = makeEntityId("ConversationId");
|
|
21
|
+
var ActionId = makeEntityId("ActionId");
|
|
22
|
+
var ArtifactId = makeEntityId("ArtifactId");
|
|
23
|
+
var WorktreeId = makeEntityId("WorktreeId");
|
|
24
|
+
var ValidationResultId = makeEntityId("ValidationResultId");
|
|
25
|
+
var ReviewResultId = makeEntityId("ReviewResultId");
|
|
26
|
+
var CommandId = makeEntityId("CommandId");
|
|
27
|
+
var EventId = makeEntityId("EventId");
|
|
28
|
+
var MessageId = makeEntityId("MessageId");
|
|
29
|
+
var TurnId = makeEntityId("TurnId");
|
|
30
|
+
var ProviderItemId = makeEntityId("ProviderItemId");
|
|
31
|
+
var RuntimeSessionId = makeEntityId("RuntimeSessionId");
|
|
32
|
+
var RuntimeItemId = makeEntityId("RuntimeItemId");
|
|
33
|
+
var RuntimeRequestId = makeEntityId("RuntimeRequestId");
|
|
34
|
+
var RuntimeTaskId = makeEntityId("RuntimeTaskId");
|
|
35
|
+
var ApprovalRequestId = makeEntityId("ApprovalRequestId");
|
|
36
|
+
var CheckpointRef = makeEntityId("CheckpointRef");
|
|
37
|
+
var RemoteEndpointId = makeEntityId("RemoteEndpointId");
|
|
38
|
+
|
|
39
|
+
// packages/contracts/src/graph.ts
|
|
40
|
+
var TaskStatus = Schema2.Literals([
|
|
41
|
+
"draft",
|
|
42
|
+
"open",
|
|
43
|
+
"ready",
|
|
44
|
+
"queued",
|
|
45
|
+
"running",
|
|
46
|
+
"in_progress",
|
|
47
|
+
"under_review",
|
|
48
|
+
"blocked",
|
|
49
|
+
"unknown",
|
|
50
|
+
"completed",
|
|
51
|
+
"failed",
|
|
52
|
+
"cancelled",
|
|
53
|
+
"closed"
|
|
54
|
+
]);
|
|
55
|
+
var GraphSummary = Schema2.Struct({
|
|
56
|
+
id: GraphId,
|
|
57
|
+
workspaceId: WorkspaceId,
|
|
58
|
+
title: TrimmedNonEmptyString,
|
|
59
|
+
description: Schema2.NullOr(Schema2.String),
|
|
60
|
+
createdAt: IsoDateTime,
|
|
61
|
+
updatedAt: IsoDateTime
|
|
62
|
+
});
|
|
63
|
+
var TaskSummary = Schema2.Struct({
|
|
64
|
+
id: TaskId,
|
|
65
|
+
workspaceId: WorkspaceId,
|
|
66
|
+
graphId: Schema2.NullOr(GraphId),
|
|
67
|
+
externalId: Schema2.NullOr(TrimmedNonEmptyString),
|
|
68
|
+
title: TrimmedNonEmptyString,
|
|
69
|
+
description: Schema2.String,
|
|
70
|
+
status: TaskStatus,
|
|
71
|
+
priority: Schema2.NullOr(PositiveInt),
|
|
72
|
+
role: Schema2.NullOr(TrimmedNonEmptyString),
|
|
73
|
+
scope: Schema2.Array(TrimmedNonEmptyString),
|
|
74
|
+
validationKeys: Schema2.Array(TrimmedNonEmptyString),
|
|
75
|
+
sourceIssueId: Schema2.optional(Schema2.NullOr(TrimmedNonEmptyString)),
|
|
76
|
+
dependencies: Schema2.optional(Schema2.Array(TrimmedNonEmptyString)),
|
|
77
|
+
parentChildDeps: Schema2.optional(Schema2.Array(TrimmedNonEmptyString)),
|
|
78
|
+
metadata: Schema2.Unknown,
|
|
79
|
+
createdAt: IsoDateTime,
|
|
80
|
+
updatedAt: IsoDateTime
|
|
81
|
+
});
|
|
82
|
+
var QueueEntry = Schema2.Struct({
|
|
83
|
+
taskId: TaskId,
|
|
84
|
+
score: NonNegativeInt,
|
|
85
|
+
unblockCount: NonNegativeInt,
|
|
86
|
+
position: NonNegativeInt
|
|
87
|
+
});
|
|
88
|
+
export {
|
|
89
|
+
TaskSummary,
|
|
90
|
+
TaskStatus,
|
|
91
|
+
QueueEntry,
|
|
92
|
+
GraphSummary
|
|
93
|
+
};
|