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

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
package/dist/src/ipc.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import type { GitCheckoutInput, GitCreateBranchInput, GitCreateWorktreeInput, GitCreateWorktreeResult, GitInitInput, GitListBranchesInput, GitListBranchesResult, GitPullInput, GitPullResult, GitReadWorkingTreePatchInput, GitReadWorkingTreePatchResult, GitRemoveWorktreeInput, GitRunStackedActionInput, GitRunStackedActionResult, GitStatusInput, GitStatusResult } from "./git";
2
2
  import type { ProjectListDirectoryInput, ProjectListDirectoryResult, ProjectSearchEntriesInput, ProjectSearchEntriesResult, ProjectReadFileInput, ProjectReadFileResult, ProjectWriteFileInput, ProjectWriteFileResult } from "./project";
3
3
  import type { ServerConfig } from "./server";
4
- import type { RigCreateAdhocRunInput, RigCreateTaskRunInput, RigDeleteRunInput, RigEnqueueTaskInput, RigGetRunLogsInput, RigGetRunLogsResult, RigGetTaskArtifactsResult, RigRunLogAppendedPayload, RigGetWorkspaceInput, RigGetWorkspaceResult, RigListWorkspacesResult, RigMutationResult, RigInterruptRunInput, RigResumeRunInput, RigResolveApprovalInput, RigResolveUserInputInput, RigSnapshot, RigStopRunInput, RigSubmitRunMessageInput } from "./rig";
4
+ import type { RigCreateAdhocRunInput, RigCreateTaskRunInput, RigDeleteRunInput, RigEnqueueTaskInput, RigGetRunLogsInput, RigGetRunLogsResult, RigGetTaskArtifactsResult, RigRunLogAppendedPayload, RigGetWorkspaceInput, RigGetWorkspaceResult, RigListWorkspacesResult, RigMutationResult, RigInterruptRunInput, RigQueueRunSteeringInput, RigQueueRunSteeringResult, RigResumeRunInput, RigResolveApprovalInput, RigResolveUserInputInput, RigSnapshot, RigStopRunInput, RigSubmitRunMessageInput } from "./rig";
5
5
  import type { TerminalClearInput, TerminalCloseInput, TerminalEvent, TerminalOpenInput, TerminalResizeInput, TerminalSessionSnapshot, TerminalWriteInput } from "./terminal";
6
6
  import type { ServerUpsertKeybindingInput, ServerUpsertKeybindingResult } from "./server";
7
7
  import type { ClientOrchestrationCommand, OrchestrationGetFullThreadDiffInput, OrchestrationGetFullThreadDiffResult, OrchestrationGetTurnDiffInput, OrchestrationGetTurnDiffResult, OrchestrationEvent, OrchestrationReadModel } from "./orchestration";
@@ -165,6 +165,7 @@ export interface NativeApi {
165
165
  enqueueTask: (input: RigEnqueueTaskInput) => Promise<RigMutationResult>;
166
166
  resumeRun: (input: RigResumeRunInput) => Promise<RigMutationResult>;
167
167
  submitRunMessage: (input: RigSubmitRunMessageInput) => Promise<RigMutationResult>;
168
+ queueRunSteering: (input: RigQueueRunSteeringInput) => Promise<RigQueueRunSteeringResult>;
168
169
  interruptRun: (input: RigInterruptRunInput) => Promise<RigMutationResult>;
169
170
  stopRun: (input: RigStopRunInput) => Promise<RigMutationResult>;
170
171
  resolveApproval: (input: RigResolveApprovalInput) => Promise<RigMutationResult>;
@@ -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");
@@ -29,6 +29,9 @@ var WorkspaceId = makeEntityId("WorkspaceId");
29
29
  var GraphId = makeEntityId("GraphId");
30
30
  var TaskId = makeEntityId("TaskId");
31
31
  var RunId = makeEntityId("RunId");
32
+ var SafePathSegment = TrimmedNonEmptyString.check(Schema2.isPattern(/^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/)).pipe(Schema2.brand("SafePathSegment"));
33
+ var SafeRunId = TrimmedNonEmptyString.check(Schema2.isPattern(/^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/)).pipe(Schema2.brand("SafeRunId"));
34
+ var SafeGitRefComponent = TrimmedNonEmptyString.check(Schema2.isPattern(/^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/)).pipe(Schema2.brand("SafeGitRefComponent"));
32
35
  var EngineRuntimeId = makeEntityId("EngineRuntimeId");
33
36
  var ConversationId = makeEntityId("ConversationId");
34
37
  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");
@@ -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/rig.d.ts CHANGED
@@ -11,6 +11,7 @@ export declare const RIG_WS_METHODS: {
11
11
  readonly enqueueTask: "rig.enqueueTask";
12
12
  readonly resumeRun: "rig.resumeRun";
13
13
  readonly submitRunMessage: "rig.submitRunMessage";
14
+ readonly queueRunSteering: "rig.queueRunSteering";
14
15
  readonly interruptRun: "rig.interruptRun";
15
16
  readonly stopRun: "rig.stopRun";
16
17
  readonly resolveApproval: "rig.resolveApproval";
@@ -656,6 +657,9 @@ export declare const RigCreateAdhocRunInput: Schema.Struct<{
656
657
  readonly executionTarget: Schema.optional<Schema.Literals<readonly ["local", "remote"]>>;
657
658
  readonly remoteHostId: Schema.optional<Schema.String>;
658
659
  readonly initialPrompt: Schema.optional<Schema.String>;
660
+ readonly baselineMode: Schema.optional<Schema.Literals<readonly ["head", "dirty-snapshot"]>>;
661
+ readonly prMode: Schema.optional<Schema.Literals<readonly ["auto", "ask", "off"]>>;
662
+ readonly initiatedBy: Schema.optional<Schema.String>;
659
663
  readonly createdAt: Schema.String;
660
664
  }>;
661
665
  export type RigCreateAdhocRunInput = typeof RigCreateAdhocRunInput.Type;
@@ -670,6 +674,10 @@ export declare const RigCreateTaskRunInput: Schema.Struct<{
670
674
  readonly interactionMode: Schema.withDecodingDefault<Schema.Literals<readonly ["default", "plan"]>>;
671
675
  readonly executionTarget: Schema.optional<Schema.Literals<readonly ["local", "remote"]>>;
672
676
  readonly remoteHostId: Schema.optional<Schema.String>;
677
+ readonly initialPrompt: Schema.optional<Schema.String>;
678
+ readonly baselineMode: Schema.optional<Schema.Literals<readonly ["head", "dirty-snapshot"]>>;
679
+ readonly prMode: Schema.optional<Schema.Literals<readonly ["auto", "ask", "off"]>>;
680
+ readonly initiatedBy: Schema.optional<Schema.String>;
673
681
  readonly createdAt: Schema.String;
674
682
  }>;
675
683
  export type RigCreateTaskRunInput = typeof RigCreateTaskRunInput.Type;
@@ -703,6 +711,28 @@ export declare const RigSubmitRunMessageInput: Schema.Struct<{
703
711
  readonly createdAt: Schema.String;
704
712
  }>;
705
713
  export type RigSubmitRunMessageInput = typeof RigSubmitRunMessageInput.Type;
714
+ export declare const RigQueueRunSteeringInput: Schema.Struct<{
715
+ readonly commandId: Schema.brand<Schema.Trim, "CommandId">;
716
+ readonly runId: Schema.brand<Schema.Trim, "RunId">;
717
+ readonly message: Schema.Trim;
718
+ readonly actor: Schema.optional<Schema.String>;
719
+ readonly createdAt: Schema.String;
720
+ }>;
721
+ export type RigQueueRunSteeringInput = typeof RigQueueRunSteeringInput.Type;
722
+ export declare const RigQueueRunSteeringResult: Schema.Struct<{
723
+ readonly sequence: Schema.Int;
724
+ readonly runId: Schema.brand<Schema.Trim, "RunId">;
725
+ readonly queued: Schema.Boolean;
726
+ readonly message: Schema.Struct<{
727
+ readonly id: Schema.Trim;
728
+ readonly runId: Schema.brand<Schema.Trim, "RunId">;
729
+ readonly message: Schema.Trim;
730
+ readonly actor: Schema.Trim;
731
+ readonly createdAt: Schema.String;
732
+ readonly delivered: Schema.Boolean;
733
+ }>;
734
+ }>;
735
+ export type RigQueueRunSteeringResult = typeof RigQueueRunSteeringResult.Type;
706
736
  export declare const RigInterruptRunInput: Schema.Struct<{
707
737
  readonly commandId: Schema.brand<Schema.Trim, "CommandId">;
708
738
  readonly runId: Schema.brand<Schema.Trim, "RunId">;
package/dist/src/rig.js CHANGED
@@ -19,6 +19,9 @@ var WorkspaceId = makeEntityId("WorkspaceId");
19
19
  var GraphId = makeEntityId("GraphId");
20
20
  var TaskId = makeEntityId("TaskId");
21
21
  var RunId = makeEntityId("RunId");
22
+ var SafePathSegment = TrimmedNonEmptyString.check(Schema.isPattern(/^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/)).pipe(Schema.brand("SafePathSegment"));
23
+ var SafeRunId = TrimmedNonEmptyString.check(Schema.isPattern(/^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/)).pipe(Schema.brand("SafeRunId"));
24
+ var SafeGitRefComponent = TrimmedNonEmptyString.check(Schema.isPattern(/^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/)).pipe(Schema.brand("SafeGitRefComponent"));
22
25
  var EngineRuntimeId = makeEntityId("EngineRuntimeId");
23
26
  var ConversationId = makeEntityId("ConversationId");
24
27
  var ActionId = makeEntityId("ActionId");
@@ -2209,6 +2212,7 @@ var RIG_WS_METHODS = {
2209
2212
  enqueueTask: "rig.enqueueTask",
2210
2213
  resumeRun: "rig.resumeRun",
2211
2214
  submitRunMessage: "rig.submitRunMessage",
2215
+ queueRunSteering: "rig.queueRunSteering",
2212
2216
  interruptRun: "rig.interruptRun",
2213
2217
  stopRun: "rig.stopRun",
2214
2218
  resolveApproval: "rig.resolveApproval",
@@ -2294,6 +2298,9 @@ var RigCreateAdhocRunInput = Schema14.Struct({
2294
2298
  executionTarget: Schema14.optional(RunExecutionTarget),
2295
2299
  remoteHostId: Schema14.optional(Schema14.String),
2296
2300
  initialPrompt: Schema14.optional(Schema14.String),
2301
+ baselineMode: Schema14.optional(Schema14.Literals(["head", "dirty-snapshot"])),
2302
+ prMode: Schema14.optional(Schema14.Literals(["auto", "ask", "off"])),
2303
+ initiatedBy: Schema14.optional(Schema14.String),
2297
2304
  createdAt: IsoDateTime
2298
2305
  });
2299
2306
  var RigCreateTaskRunInput = Schema14.Struct({
@@ -2307,6 +2314,10 @@ var RigCreateTaskRunInput = Schema14.Struct({
2307
2314
  interactionMode: ProviderInteractionMode.pipe(Schema14.withDecodingDefault(() => DEFAULT_PROVIDER_INTERACTION_MODE)),
2308
2315
  executionTarget: Schema14.optional(RunExecutionTarget),
2309
2316
  remoteHostId: Schema14.optional(Schema14.String),
2317
+ initialPrompt: Schema14.optional(Schema14.String),
2318
+ baselineMode: Schema14.optional(Schema14.Literals(["head", "dirty-snapshot"])),
2319
+ prMode: Schema14.optional(Schema14.Literals(["auto", "ask", "off"])),
2320
+ initiatedBy: Schema14.optional(Schema14.String),
2310
2321
  createdAt: IsoDateTime
2311
2322
  });
2312
2323
  var RigEnqueueTaskInput = Schema14.Struct({
@@ -2335,6 +2346,19 @@ var RigSubmitRunMessageInput = Schema14.Struct({
2335
2346
  attachments: Schema14.optional(Schema14.Array(Schema14.Unknown)),
2336
2347
  createdAt: IsoDateTime
2337
2348
  });
2349
+ var RigQueueRunSteeringInput = Schema14.Struct({
2350
+ commandId: CommandId,
2351
+ runId: RunId,
2352
+ message: TrimmedNonEmptyString,
2353
+ actor: Schema14.optional(Schema14.String),
2354
+ createdAt: IsoDateTime
2355
+ });
2356
+ var RigQueueRunSteeringResult = Schema14.Struct({
2357
+ sequence: NonNegativeInt,
2358
+ runId: RunId,
2359
+ queued: Schema14.Boolean,
2360
+ message: RigQueuedRunSteeringMessage
2361
+ });
2338
2362
  var RigInterruptRunInput = Schema14.Struct({
2339
2363
  commandId: CommandId,
2340
2364
  runId: RunId,
@@ -2380,6 +2404,8 @@ export {
2380
2404
  RigReplayEventsInput,
2381
2405
  RigRawRunLogEntry,
2382
2406
  RigQueuedRunSteeringMessage,
2407
+ RigQueueRunSteeringResult,
2408
+ RigQueueRunSteeringInput,
2383
2409
  RigMutationResult,
2384
2410
  RigListWorkspacesResult,
2385
2411
  RigListWorkspacesInput,
@@ -538,7 +538,7 @@ export declare const decodeRunJournalEvent: (input: unknown, options?: import("e
538
538
  readonly seq: number;
539
539
  readonly reason?: string | null | undefined;
540
540
  readonly actor?: {
541
- readonly kind: "server" | "system" | "operator" | "agent";
541
+ readonly kind: "server" | "system" | "agent" | "operator";
542
542
  readonly id?: string | null | undefined;
543
543
  } | undefined;
544
544
  } | {
@@ -639,7 +639,7 @@ export declare const decodeRunJournalEvent: (input: unknown, options?: import("e
639
639
  readonly type: "approval-resolved";
640
640
  readonly requestId: string;
641
641
  readonly actor: {
642
- readonly kind: "server" | "system" | "operator" | "agent";
642
+ readonly kind: "server" | "system" | "agent" | "operator";
643
643
  readonly id?: string | null | undefined;
644
644
  };
645
645
  readonly seq: number;
@@ -662,7 +662,7 @@ export declare const decodeRunJournalEvent: (input: unknown, options?: import("e
662
662
  readonly [x: string]: string;
663
663
  };
664
664
  readonly actor: {
665
- readonly kind: "server" | "system" | "operator" | "agent";
665
+ readonly kind: "server" | "system" | "agent" | "operator";
666
666
  readonly id?: string | null | undefined;
667
667
  };
668
668
  readonly seq: number;
@@ -673,7 +673,7 @@ export declare const decodeRunJournalEvent: (input: unknown, options?: import("e
673
673
  readonly text: string;
674
674
  readonly type: "steering";
675
675
  readonly actor: {
676
- readonly kind: "server" | "system" | "operator" | "agent";
676
+ readonly kind: "server" | "system" | "agent" | "operator";
677
677
  readonly id?: string | null | undefined;
678
678
  };
679
679
  readonly seq: number;
@@ -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");
@@ -0,0 +1,53 @@
1
+ import { type RunJournalEvent, type RunJournalProjection } from "./run-journal";
2
+ type DistributiveOmit<T, K extends PropertyKey> = T extends unknown ? Omit<T, K> : never;
3
+ export type RunJournalEventInit = DistributiveOmit<RunJournalEvent, "v" | "seq" | "at" | "runId">;
4
+ export declare const RIG_RUN_STATUS_CHANGED = "rig.run.status-changed";
5
+ export declare const RIG_RUN_RECORD_PATCH = "rig.run.record-patch";
6
+ export declare const RIG_RUN_TIMELINE_ENTRY = "rig.run.timeline-entry";
7
+ export declare const RIG_RUN_LOG_ENTRY = "rig.run.log-entry";
8
+ export declare const RIG_RUN_APPROVAL_REQUESTED = "rig.run.approval-requested";
9
+ export declare const RIG_RUN_APPROVAL_RESOLVED = "rig.run.approval-resolved";
10
+ export declare const RIG_RUN_INPUT_REQUESTED = "rig.run.input-requested";
11
+ export declare const RIG_RUN_INPUT_RESOLVED = "rig.run.input-resolved";
12
+ export declare const RIG_RUN_STEERING = "rig.run.steering";
13
+ export declare const RIG_RUN_ADOPTED = "rig.run.adopted";
14
+ export declare const RIG_RUN_STALL_DETECTED = "rig.run.stall-detected";
15
+ export declare const RIG_RUN_CLOSEOUT_PHASE = "rig.run.closeout-phase";
16
+ export declare const RIG_STOP_SENTINEL = "<<RIG_STOP";
17
+ export declare const RIG_STOP_SENTINEL_END = ">>";
18
+ export declare function buildStopSentinel(runId: string, reason?: string | null, requestedBy?: string): string;
19
+ export declare function parseStopSentinel(text: string, expectedRunId: string): {
20
+ reason: string | null;
21
+ } | null;
22
+ /**
23
+ * The OMP session id embedded in a session journal filename
24
+ * (`<ISO-timestamp>_<sessionId>.jsonl`). This is a run's CANONICAL id — the same
25
+ * id OMP hosts as the collab roomId and the relay registry + operator CLI key on.
26
+ * A run's dispatch/worktree id is different; this is what links them, so stop /
27
+ * steer / discovery all resolve a run by one id (the OMP session id).
28
+ */
29
+ export declare function sessionIdFromSessionFile(sessionPath: string | null | undefined): string | null;
30
+ export declare const CUSTOM_TYPE_FOR: {
31
+ readonly "status-changed": "rig.run.status-changed";
32
+ readonly "record-patch": "rig.run.record-patch";
33
+ readonly "timeline-entry": "rig.run.timeline-entry";
34
+ readonly "log-entry": "rig.run.log-entry";
35
+ readonly "approval-requested": "rig.run.approval-requested";
36
+ readonly "approval-resolved": "rig.run.approval-resolved";
37
+ readonly "input-requested": "rig.run.input-requested";
38
+ readonly "input-resolved": "rig.run.input-resolved";
39
+ readonly steering: "rig.run.steering";
40
+ readonly adopted: "rig.run.adopted";
41
+ readonly "stall-detected": "rig.run.stall-detected";
42
+ readonly "closeout-phase": "rig.run.closeout-phase";
43
+ };
44
+ export type RunSessionCustomType = (typeof CUSTOM_TYPE_FOR)[RunJournalEvent["type"]];
45
+ export declare const TYPE_FOR_CUSTOM: Readonly<Record<RunSessionCustomType, RunJournalEvent["type"]>>;
46
+ export type RunSessionCustomEntry = {
47
+ type: string;
48
+ customType?: string;
49
+ data?: unknown;
50
+ };
51
+ export declare function isRunSessionCustomType(customType: string | undefined): customType is RunSessionCustomType;
52
+ export declare function foldRunSessionEntries(entries: ReadonlyArray<RunSessionCustomEntry>, runId: string): RunJournalProjection;
53
+ export {};