@h-rig/contracts 0.0.6-alpha.131 → 0.0.6-alpha.133

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.
@@ -20,9 +20,18 @@ export interface TaskSourceUpdate {
20
20
  comment?: string;
21
21
  metadata?: Record<string, unknown>;
22
22
  }
23
+ export interface TaskSourceCreateInput {
24
+ title: string;
25
+ body: string;
26
+ deps?: readonly string[];
27
+ parents?: readonly string[];
28
+ metadata?: Record<string, unknown>;
29
+ }
30
+ export type TaskSourceCreateResult = TaskRecord;
23
31
  export interface RegisteredTaskSource extends TaskSourceRegistration {
24
32
  list(): Promise<readonly TaskRecord[]>;
25
33
  get?(id: string): Promise<TaskRecord | undefined>;
26
34
  updateStatus?(id: string, status: TaskRecord["status"]): Promise<void>;
27
35
  updateTask?(id: string, update: TaskSourceUpdate): Promise<void>;
36
+ create?(input: TaskSourceCreateInput): Promise<TaskSourceCreateResult>;
28
37
  }
package/dist/src/ws.js CHANGED
@@ -142,6 +142,114 @@ var QueueEntry = Schema3.Struct({
142
142
  unblockCount: NonNegativeInt,
143
143
  position: NonNegativeInt
144
144
  });
145
+ var DependencyEdgeType = Schema3.Literals(["blocks", "parent-child", "related"]);
146
+ var DependencyEdge = Schema3.Struct({
147
+ fromTaskId: TaskId,
148
+ toTaskId: TaskId,
149
+ type: DependencyEdgeType
150
+ });
151
+ var BlockerClass = Schema3.Literals([
152
+ "not-blocked",
153
+ "task-blocked",
154
+ "human-decision",
155
+ "human-approval",
156
+ "external-input",
157
+ "unknown"
158
+ ]);
159
+ var ActionRiskTier = Schema3.Literals(["t1-read", "t2-reversible", "t3-external", "t4-irreversible"]);
160
+ var BlockerClassification = Schema3.Struct({
161
+ taskId: TaskId,
162
+ blockerClass: BlockerClass,
163
+ actionRiskTier: Schema3.NullOr(ActionRiskTier),
164
+ rationale: Schema3.String,
165
+ source: Schema3.Literals(["elimination", "label", "status", "llm"]),
166
+ autoApplied: Schema3.Boolean
167
+ });
168
+ var DependencyNode = Schema3.Struct({
169
+ taskId: TaskId,
170
+ title: TrimmedNonEmptyString,
171
+ status: TaskStatus,
172
+ priority: Schema3.NullOr(PositiveInt),
173
+ assignee: Schema3.NullOr(TrimmedNonEmptyString),
174
+ blockedBy: Schema3.Array(TaskId),
175
+ blocks: Schema3.Array(TaskId),
176
+ blockingDepth: NonNegativeInt,
177
+ blockerClass: Schema3.NullOr(BlockerClass),
178
+ actionRiskTier: Schema3.NullOr(ActionRiskTier),
179
+ epicKey: Schema3.NullOr(TrimmedNonEmptyString),
180
+ groupKey: Schema3.optional(Schema3.NullOr(TrimmedNonEmptyString)),
181
+ externalId: Schema3.optional(Schema3.NullOr(TrimmedNonEmptyString)),
182
+ sourceIssueId: Schema3.optional(Schema3.NullOr(TrimmedNonEmptyString)),
183
+ scope: Schema3.optional(Schema3.Array(TrimmedNonEmptyString)),
184
+ validationKeys: Schema3.optional(Schema3.Array(TrimmedNonEmptyString))
185
+ });
186
+ var TaskGraphLane = Schema3.Struct({
187
+ key: TrimmedNonEmptyString,
188
+ label: TrimmedNonEmptyString,
189
+ rowIndex: NonNegativeInt,
190
+ x: Schema3.Number,
191
+ y: Schema3.Number,
192
+ width: NonNegativeInt,
193
+ height: NonNegativeInt,
194
+ color: Schema3.String,
195
+ taskCount: NonNegativeInt
196
+ });
197
+ var TaskGraphStage = Schema3.Struct({
198
+ index: NonNegativeInt,
199
+ label: TrimmedNonEmptyString,
200
+ x: Schema3.Number,
201
+ width: NonNegativeInt
202
+ });
203
+ var TaskGraphNode = Schema3.Struct({
204
+ id: TrimmedNonEmptyString,
205
+ taskId: TaskId,
206
+ task: Schema3.optional(TaskSummary),
207
+ rowKey: TrimmedNonEmptyString,
208
+ rowLabel: TrimmedNonEmptyString,
209
+ rowIndex: NonNegativeInt,
210
+ stage: NonNegativeInt,
211
+ x: Schema3.Number,
212
+ y: Schema3.Number,
213
+ width: NonNegativeInt,
214
+ height: NonNegativeInt,
215
+ color: Schema3.optional(Schema3.String),
216
+ taskCode: Schema3.optional(Schema3.NullOr(Schema3.String)),
217
+ strippedTitle: Schema3.optional(Schema3.String),
218
+ depsIn: Schema3.optional(NonNegativeInt),
219
+ depsOut: Schema3.optional(NonNegativeInt),
220
+ runCount: Schema3.optional(NonNegativeInt),
221
+ hasApprovals: Schema3.optional(Schema3.Boolean),
222
+ hasPendingUserInput: Schema3.optional(Schema3.Boolean),
223
+ hasRejectedReview: Schema3.optional(Schema3.Boolean),
224
+ hasFailedValidations: Schema3.optional(Schema3.Boolean),
225
+ artifactCount: Schema3.optional(NonNegativeInt)
226
+ });
227
+ var TaskGraphEdge = Schema3.Struct({
228
+ id: TrimmedNonEmptyString,
229
+ sourceId: TrimmedNonEmptyString,
230
+ targetId: TrimmedNonEmptyString,
231
+ color: Schema3.String,
232
+ kind: Schema3.Literals(["blocking", "parent-child"])
233
+ });
234
+ var TaskGraphLayout = Schema3.Struct({
235
+ lanes: Schema3.Array(TaskGraphLane),
236
+ stages: Schema3.Array(TaskGraphStage),
237
+ nodes: Schema3.Array(TaskGraphNode),
238
+ edges: Schema3.Array(TaskGraphEdge),
239
+ totalWidth: NonNegativeInt,
240
+ totalHeight: NonNegativeInt,
241
+ taskCount: NonNegativeInt
242
+ });
243
+ var DependencyGraphModel = Schema3.Struct({
244
+ graphId: GraphId,
245
+ nodes: Schema3.Array(DependencyNode),
246
+ edges: Schema3.Array(DependencyEdge),
247
+ layout: TaskGraphLayout,
248
+ cycles: Schema3.Array(Schema3.Array(TaskId)),
249
+ unresolvedRefs: Schema3.Array(TrimmedNonEmptyString),
250
+ degraded: Schema3.Boolean,
251
+ generatedAt: IsoDateTime
252
+ });
145
253
 
146
254
  // packages/contracts/src/policy.ts
147
255
  import { Schema as Schema4 } from "effect";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@h-rig/contracts",
3
- "version": "0.0.6-alpha.131",
3
+ "version": "0.0.6-alpha.133",
4
4
  "type": "module",
5
5
  "description": "Rig package",
6
6
  "license": "UNLICENSED",
@@ -17,6 +17,50 @@
17
17
  "./remote": {
18
18
  "types": "./dist/src/remote.d.ts",
19
19
  "import": "./dist/src/remote.js"
20
+ },
21
+ "./stage": {
22
+ "types": "./dist/src/stage.d.ts",
23
+ "import": "./dist/src/stage.js"
24
+ },
25
+ "./kernel": {
26
+ "types": "./dist/src/kernel.d.ts",
27
+ "import": "./dist/src/kernel.js"
28
+ },
29
+ "./supervisor-journal": {
30
+ "types": "./dist/src/supervisor-journal.d.ts",
31
+ "import": "./dist/src/supervisor-journal.js"
32
+ },
33
+ "./planning": {
34
+ "types": "./dist/src/planning.d.ts",
35
+ "import": "./dist/src/planning.js"
36
+ },
37
+ "./drift": {
38
+ "types": "./dist/src/drift.d.ts",
39
+ "import": "./dist/src/drift.js"
40
+ },
41
+ "./rollups": {
42
+ "types": "./dist/src/rollups.d.ts",
43
+ "import": "./dist/src/rollups.js"
44
+ },
45
+ "./graph": {
46
+ "types": "./dist/src/graph.d.ts",
47
+ "import": "./dist/src/graph.js"
48
+ },
49
+ "./task-source": {
50
+ "types": "./dist/src/task-source.d.ts",
51
+ "import": "./dist/src/task-source.js"
52
+ },
53
+ "./config": {
54
+ "types": "./dist/src/config.d.ts",
55
+ "import": "./dist/src/config.js"
56
+ },
57
+ "./plugin": {
58
+ "types": "./dist/src/plugin.d.ts",
59
+ "import": "./dist/src/plugin.js"
60
+ },
61
+ "./plugin-hooks": {
62
+ "types": "./dist/src/plugin-hooks.d.ts",
63
+ "import": "./dist/src/plugin-hooks.js"
20
64
  }
21
65
  },
22
66
  "engines": {