@h-rig/contracts 0.0.6-alpha.90 → 0.0.6-alpha.92

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.
Files changed (42) hide show
  1. package/dist/index.cjs +563 -2
  2. package/dist/index.mjs +565 -2
  3. package/dist/src/artifact.js +3 -0
  4. package/dist/src/baseSchemas.d.ts +6 -0
  5. package/dist/src/baseSchemas.js +6 -0
  6. package/dist/src/cli-output.d.ts +90 -0
  7. package/dist/src/cli-output.js +38 -2
  8. package/dist/src/conversation.js +3 -0
  9. package/dist/src/editor.js +3 -0
  10. package/dist/src/engine.js +3 -0
  11. package/dist/src/git.js +3 -0
  12. package/dist/src/graph.js +3 -0
  13. package/dist/src/help-catalog.d.ts +30 -0
  14. package/dist/src/help-catalog.js +351 -0
  15. package/dist/src/index.d.ts +4 -0
  16. package/dist/src/index.js +565 -2
  17. package/dist/src/ipc.d.ts +2 -1
  18. package/dist/src/keybindings.js +3 -0
  19. package/dist/src/orchestration.js +3 -0
  20. package/dist/src/policy.js +3 -0
  21. package/dist/src/project.js +3 -0
  22. package/dist/src/provider.js +3 -0
  23. package/dist/src/providerRuntime.js +3 -0
  24. package/dist/src/remote.js +3 -0
  25. package/dist/src/review.js +3 -0
  26. package/dist/src/rig.d.ts +30 -0
  27. package/dist/src/rig.js +26 -0
  28. package/dist/src/run-journal.d.ts +4 -4
  29. package/dist/src/run-journal.js +3 -0
  30. package/dist/src/run-session-journal.d.ts +53 -0
  31. package/dist/src/run-session-journal.js +1582 -0
  32. package/dist/src/run-status.d.ts +12 -0
  33. package/dist/src/run-status.js +38 -0
  34. package/dist/src/runtime.js +3 -0
  35. package/dist/src/server.js +3 -0
  36. package/dist/src/serviceFabric.js +3 -0
  37. package/dist/src/terminal.js +3 -0
  38. package/dist/src/validation.js +3 -0
  39. package/dist/src/workspace.js +3 -0
  40. package/dist/src/ws.d.ts +14 -0
  41. package/dist/src/ws.js +25 -0
  42. package/package.json +1 -1
@@ -0,0 +1,12 @@
1
+ /** Operator-facing active-run classification.
2
+ *
3
+ * The canonical run-journal vocabulary intentionally keeps `needs-attention` as
4
+ * non-terminal so resume/steer/closeout state machines can still act on it.
5
+ * OpenTUI/task projections need a narrower meaning: only runs that are actively
6
+ * occupying a task slot should render as the task's active run. Legacy/closeout
7
+ * statuses from older authority files are treated conservatively as inactive so
8
+ * merged/closed runs do not pin task rows forever.
9
+ */
10
+ export declare const OPERATOR_INACTIVE_RUN_STATUSES: ReadonlySet<string>;
11
+ export declare function normalizeRunStatusToken(status: unknown): string;
12
+ export declare function isOperatorActiveRunStatus(status: unknown): boolean;
@@ -0,0 +1,38 @@
1
+ // @bun
2
+ // packages/contracts/src/run-status.ts
3
+ var OPERATOR_INACTIVE_RUN_STATUSES = new Set([
4
+ "completed",
5
+ "complete",
6
+ "done",
7
+ "success",
8
+ "succeeded",
9
+ "passed",
10
+ "failed",
11
+ "failure",
12
+ "error",
13
+ "errored",
14
+ "stopped",
15
+ "cancelled",
16
+ "canceled",
17
+ "aborted",
18
+ "abort",
19
+ "merged",
20
+ "closed",
21
+ "skipped",
22
+ "needs-attention",
23
+ "needs_attention"
24
+ ]);
25
+ function normalizeRunStatusToken(status) {
26
+ return String(status ?? "").trim().toLowerCase().replace(/\s+/g, "-");
27
+ }
28
+ function isOperatorActiveRunStatus(status) {
29
+ const normalized = normalizeRunStatusToken(status);
30
+ if (!normalized)
31
+ return false;
32
+ return !OPERATOR_INACTIVE_RUN_STATUSES.has(normalized);
33
+ }
34
+ export {
35
+ normalizeRunStatusToken,
36
+ isOperatorActiveRunStatus,
37
+ OPERATOR_INACTIVE_RUN_STATUSES
38
+ };
@@ -16,6 +16,9 @@ var WorkspaceId = makeEntityId("WorkspaceId");
16
16
  var GraphId = makeEntityId("GraphId");
17
17
  var TaskId = makeEntityId("TaskId");
18
18
  var RunId = makeEntityId("RunId");
19
+ var SafePathSegment = TrimmedNonEmptyString.check(Schema.isPattern(/^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/)).pipe(Schema.brand("SafePathSegment"));
20
+ var SafeRunId = TrimmedNonEmptyString.check(Schema.isPattern(/^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/)).pipe(Schema.brand("SafeRunId"));
21
+ var SafeGitRefComponent = TrimmedNonEmptyString.check(Schema.isPattern(/^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/)).pipe(Schema.brand("SafeGitRefComponent"));
19
22
  var EngineRuntimeId = makeEntityId("EngineRuntimeId");
20
23
  var ConversationId = makeEntityId("ConversationId");
21
24
  var ActionId = makeEntityId("ActionId");
@@ -16,6 +16,9 @@ var WorkspaceId = makeEntityId("WorkspaceId");
16
16
  var GraphId = makeEntityId("GraphId");
17
17
  var TaskId = makeEntityId("TaskId");
18
18
  var RunId = makeEntityId("RunId");
19
+ var SafePathSegment = TrimmedNonEmptyString.check(Schema.isPattern(/^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/)).pipe(Schema.brand("SafePathSegment"));
20
+ var SafeRunId = TrimmedNonEmptyString.check(Schema.isPattern(/^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/)).pipe(Schema.brand("SafeRunId"));
21
+ var SafeGitRefComponent = TrimmedNonEmptyString.check(Schema.isPattern(/^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/)).pipe(Schema.brand("SafeGitRefComponent"));
19
22
  var EngineRuntimeId = makeEntityId("EngineRuntimeId");
20
23
  var ConversationId = makeEntityId("ConversationId");
21
24
  var ActionId = makeEntityId("ActionId");
@@ -16,6 +16,9 @@ var WorkspaceId = makeEntityId("WorkspaceId");
16
16
  var GraphId = makeEntityId("GraphId");
17
17
  var TaskId = makeEntityId("TaskId");
18
18
  var RunId = makeEntityId("RunId");
19
+ var SafePathSegment = TrimmedNonEmptyString.check(Schema.isPattern(/^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/)).pipe(Schema.brand("SafePathSegment"));
20
+ var SafeRunId = TrimmedNonEmptyString.check(Schema.isPattern(/^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/)).pipe(Schema.brand("SafeRunId"));
21
+ var SafeGitRefComponent = TrimmedNonEmptyString.check(Schema.isPattern(/^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/)).pipe(Schema.brand("SafeGitRefComponent"));
19
22
  var EngineRuntimeId = makeEntityId("EngineRuntimeId");
20
23
  var ConversationId = makeEntityId("ConversationId");
21
24
  var ActionId = makeEntityId("ActionId");
@@ -16,6 +16,9 @@ var WorkspaceId = makeEntityId("WorkspaceId");
16
16
  var GraphId = makeEntityId("GraphId");
17
17
  var TaskId = makeEntityId("TaskId");
18
18
  var RunId = makeEntityId("RunId");
19
+ var SafePathSegment = TrimmedNonEmptyString.check(Schema.isPattern(/^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/)).pipe(Schema.brand("SafePathSegment"));
20
+ var SafeRunId = TrimmedNonEmptyString.check(Schema.isPattern(/^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/)).pipe(Schema.brand("SafeRunId"));
21
+ var SafeGitRefComponent = TrimmedNonEmptyString.check(Schema.isPattern(/^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/)).pipe(Schema.brand("SafeGitRefComponent"));
19
22
  var EngineRuntimeId = makeEntityId("EngineRuntimeId");
20
23
  var ConversationId = makeEntityId("ConversationId");
21
24
  var ActionId = makeEntityId("ActionId");
@@ -16,6 +16,9 @@ var WorkspaceId = makeEntityId("WorkspaceId");
16
16
  var GraphId = makeEntityId("GraphId");
17
17
  var TaskId = makeEntityId("TaskId");
18
18
  var RunId = makeEntityId("RunId");
19
+ var SafePathSegment = TrimmedNonEmptyString.check(Schema.isPattern(/^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/)).pipe(Schema.brand("SafePathSegment"));
20
+ var SafeRunId = TrimmedNonEmptyString.check(Schema.isPattern(/^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/)).pipe(Schema.brand("SafeRunId"));
21
+ var SafeGitRefComponent = TrimmedNonEmptyString.check(Schema.isPattern(/^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/)).pipe(Schema.brand("SafeGitRefComponent"));
19
22
  var EngineRuntimeId = makeEntityId("EngineRuntimeId");
20
23
  var ConversationId = makeEntityId("ConversationId");
21
24
  var ActionId = makeEntityId("ActionId");
@@ -16,6 +16,9 @@ var WorkspaceId = makeEntityId("WorkspaceId");
16
16
  var GraphId = makeEntityId("GraphId");
17
17
  var TaskId = makeEntityId("TaskId");
18
18
  var RunId = makeEntityId("RunId");
19
+ var SafePathSegment = TrimmedNonEmptyString.check(Schema.isPattern(/^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/)).pipe(Schema.brand("SafePathSegment"));
20
+ var SafeRunId = TrimmedNonEmptyString.check(Schema.isPattern(/^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/)).pipe(Schema.brand("SafeRunId"));
21
+ var SafeGitRefComponent = TrimmedNonEmptyString.check(Schema.isPattern(/^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/)).pipe(Schema.brand("SafeGitRefComponent"));
19
22
  var EngineRuntimeId = makeEntityId("EngineRuntimeId");
20
23
  var ConversationId = makeEntityId("ConversationId");
21
24
  var ActionId = makeEntityId("ActionId");
package/dist/src/ws.d.ts CHANGED
@@ -84,6 +84,9 @@ export declare const WebSocketRequest: Schema.Struct<{
84
84
  readonly executionTarget: Schema.optional<Schema.Literals<readonly ["local", "remote"]>>;
85
85
  readonly remoteHostId: Schema.optional<Schema.String>;
86
86
  readonly initialPrompt: Schema.optional<Schema.String>;
87
+ readonly baselineMode: Schema.optional<Schema.Literals<readonly ["head", "dirty-snapshot"]>>;
88
+ readonly prMode: Schema.optional<Schema.Literals<readonly ["auto", "ask", "off"]>>;
89
+ readonly initiatedBy: Schema.optional<Schema.String>;
87
90
  readonly createdAt: Schema.String;
88
91
  readonly _tag: Schema.tag<"rig.createAdhocRun">;
89
92
  }>, Schema.Struct<{
@@ -97,6 +100,10 @@ export declare const WebSocketRequest: Schema.Struct<{
97
100
  readonly interactionMode: Schema.withDecodingDefault<Schema.Literals<readonly ["default", "plan"]>>;
98
101
  readonly executionTarget: Schema.optional<Schema.Literals<readonly ["local", "remote"]>>;
99
102
  readonly remoteHostId: Schema.optional<Schema.String>;
103
+ readonly initialPrompt: Schema.optional<Schema.String>;
104
+ readonly baselineMode: Schema.optional<Schema.Literals<readonly ["head", "dirty-snapshot"]>>;
105
+ readonly prMode: Schema.optional<Schema.Literals<readonly ["auto", "ask", "off"]>>;
106
+ readonly initiatedBy: Schema.optional<Schema.String>;
100
107
  readonly createdAt: Schema.String;
101
108
  readonly _tag: Schema.tag<"rig.createTaskRun">;
102
109
  }>, Schema.Struct<{
@@ -125,6 +132,13 @@ export declare const WebSocketRequest: Schema.Struct<{
125
132
  readonly attachments: Schema.optional<Schema.$Array<Schema.Unknown>>;
126
133
  readonly createdAt: Schema.String;
127
134
  readonly _tag: Schema.tag<"rig.submitRunMessage">;
135
+ }>, Schema.Struct<{
136
+ readonly commandId: Schema.brand<Schema.Trim, "CommandId">;
137
+ readonly runId: Schema.brand<Schema.Trim, "RunId">;
138
+ readonly message: Schema.Trim;
139
+ readonly actor: Schema.optional<Schema.String>;
140
+ readonly createdAt: Schema.String;
141
+ readonly _tag: Schema.tag<"rig.queueRunSteering">;
128
142
  }>, Schema.Struct<{
129
143
  readonly commandId: Schema.brand<Schema.Trim, "CommandId">;
130
144
  readonly runId: Schema.brand<Schema.Trim, "RunId">;
package/dist/src/ws.js CHANGED
@@ -16,6 +16,9 @@ var WorkspaceId = makeEntityId("WorkspaceId");
16
16
  var GraphId = makeEntityId("GraphId");
17
17
  var TaskId = makeEntityId("TaskId");
18
18
  var RunId = makeEntityId("RunId");
19
+ var SafePathSegment = TrimmedNonEmptyString.check(Schema.isPattern(/^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/)).pipe(Schema.brand("SafePathSegment"));
20
+ var SafeRunId = TrimmedNonEmptyString.check(Schema.isPattern(/^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/)).pipe(Schema.brand("SafeRunId"));
21
+ var SafeGitRefComponent = TrimmedNonEmptyString.check(Schema.isPattern(/^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/)).pipe(Schema.brand("SafeGitRefComponent"));
19
22
  var EngineRuntimeId = makeEntityId("EngineRuntimeId");
20
23
  var ConversationId = makeEntityId("ConversationId");
21
24
  var ActionId = makeEntityId("ActionId");
@@ -2208,6 +2211,7 @@ var RIG_WS_METHODS = {
2208
2211
  enqueueTask: "rig.enqueueTask",
2209
2212
  resumeRun: "rig.resumeRun",
2210
2213
  submitRunMessage: "rig.submitRunMessage",
2214
+ queueRunSteering: "rig.queueRunSteering",
2211
2215
  interruptRun: "rig.interruptRun",
2212
2216
  stopRun: "rig.stopRun",
2213
2217
  resolveApproval: "rig.resolveApproval",
@@ -2286,6 +2290,9 @@ var RigCreateAdhocRunInput = Schema14.Struct({
2286
2290
  executionTarget: Schema14.optional(RunExecutionTarget),
2287
2291
  remoteHostId: Schema14.optional(Schema14.String),
2288
2292
  initialPrompt: Schema14.optional(Schema14.String),
2293
+ baselineMode: Schema14.optional(Schema14.Literals(["head", "dirty-snapshot"])),
2294
+ prMode: Schema14.optional(Schema14.Literals(["auto", "ask", "off"])),
2295
+ initiatedBy: Schema14.optional(Schema14.String),
2289
2296
  createdAt: IsoDateTime
2290
2297
  });
2291
2298
  var RigCreateTaskRunInput = Schema14.Struct({
@@ -2299,6 +2306,10 @@ var RigCreateTaskRunInput = Schema14.Struct({
2299
2306
  interactionMode: ProviderInteractionMode.pipe(Schema14.withDecodingDefault(() => DEFAULT_PROVIDER_INTERACTION_MODE)),
2300
2307
  executionTarget: Schema14.optional(RunExecutionTarget),
2301
2308
  remoteHostId: Schema14.optional(Schema14.String),
2309
+ initialPrompt: Schema14.optional(Schema14.String),
2310
+ baselineMode: Schema14.optional(Schema14.Literals(["head", "dirty-snapshot"])),
2311
+ prMode: Schema14.optional(Schema14.Literals(["auto", "ask", "off"])),
2312
+ initiatedBy: Schema14.optional(Schema14.String),
2302
2313
  createdAt: IsoDateTime
2303
2314
  });
2304
2315
  var RigEnqueueTaskInput = Schema14.Struct({
@@ -2327,6 +2338,19 @@ var RigSubmitRunMessageInput = Schema14.Struct({
2327
2338
  attachments: Schema14.optional(Schema14.Array(Schema14.Unknown)),
2328
2339
  createdAt: IsoDateTime
2329
2340
  });
2341
+ var RigQueueRunSteeringInput = Schema14.Struct({
2342
+ commandId: CommandId,
2343
+ runId: RunId,
2344
+ message: TrimmedNonEmptyString,
2345
+ actor: Schema14.optional(Schema14.String),
2346
+ createdAt: IsoDateTime
2347
+ });
2348
+ var RigQueueRunSteeringResult = Schema14.Struct({
2349
+ sequence: NonNegativeInt,
2350
+ runId: RunId,
2351
+ queued: Schema14.Boolean,
2352
+ message: RigQueuedRunSteeringMessage
2353
+ });
2330
2354
  var RigInterruptRunInput = Schema14.Struct({
2331
2355
  commandId: CommandId,
2332
2356
  runId: RunId,
@@ -2818,6 +2842,7 @@ var WebSocketRequestBody = Schema20.Union([
2818
2842
  tagRequestBody(RIG_WS_METHODS.enqueueTask, RigEnqueueTaskInput),
2819
2843
  tagRequestBody(RIG_WS_METHODS.resumeRun, RigResumeRunInput),
2820
2844
  tagRequestBody(RIG_WS_METHODS.submitRunMessage, RigSubmitRunMessageInput),
2845
+ tagRequestBody(RIG_WS_METHODS.queueRunSteering, RigQueueRunSteeringInput),
2821
2846
  tagRequestBody(RIG_WS_METHODS.interruptRun, RigInterruptRunInput),
2822
2847
  tagRequestBody(RIG_WS_METHODS.stopRun, RigStopRunInput),
2823
2848
  tagRequestBody(RIG_WS_METHODS.resolveApproval, RigResolveApprovalInput),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@h-rig/contracts",
3
- "version": "0.0.6-alpha.90",
3
+ "version": "0.0.6-alpha.92",
4
4
  "type": "module",
5
5
  "description": "Rig package",
6
6
  "license": "UNLICENSED",