@h-rig/contracts 0.0.6-alpha.16 → 0.0.6-alpha.161

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 (162) hide show
  1. package/dist/index.cjs +3280 -0
  2. package/dist/index.mjs +3239 -0
  3. package/dist/src/agent-roles.d.ts +8 -0
  4. package/dist/src/artifact.d.ts +13 -0
  5. package/dist/src/artifact.js +3 -0
  6. package/dist/src/baseSchemas.d.ts +63 -0
  7. package/dist/src/baseSchemas.js +6 -0
  8. package/dist/src/browser.d.ts +80 -0
  9. package/dist/src/browser.js +13 -0
  10. package/dist/src/capability-id.d.ts +22 -0
  11. package/dist/src/capability-id.js +8 -0
  12. package/dist/src/cli-output.d.ts +348 -0
  13. package/dist/src/cli-output.js +190 -0
  14. package/dist/src/cli-runner.d.ts +43 -0
  15. package/dist/src/cli-runner.js +13 -0
  16. package/dist/src/collab-session-viewer.d.ts +36 -0
  17. package/dist/src/collab-session-viewer.js +13 -0
  18. package/dist/src/config.d.ts +551 -0
  19. package/dist/src/config.js +765 -162
  20. package/dist/src/control-plane-types.d.ts +323 -0
  21. package/dist/src/control-plane-types.js +13 -0
  22. package/dist/src/conversation.d.ts +50 -0
  23. package/dist/src/conversation.js +3 -0
  24. package/dist/src/dependency-preflight.d.ts +43 -0
  25. package/dist/src/dependency-preflight.js +13 -0
  26. package/dist/src/doctor.d.ts +90 -0
  27. package/dist/src/doctor.js +13 -0
  28. package/dist/src/drift.d.ts +28 -0
  29. package/dist/src/drift.js +69 -0
  30. package/dist/src/editor.d.ts +25 -0
  31. package/dist/src/editor.js +3 -0
  32. package/dist/src/errors.d.ts +13 -0
  33. package/dist/src/errors.js +17 -0
  34. package/dist/src/git.d.ts +144 -0
  35. package/dist/src/git.js +3 -0
  36. package/dist/src/github.d.ts +146 -0
  37. package/dist/src/github.js +17 -0
  38. package/dist/src/graph.d.ts +360 -0
  39. package/dist/src/graph.js +137 -1
  40. package/dist/src/guard.d.ts +111 -0
  41. package/dist/src/guard.js +6 -0
  42. package/dist/src/harness-events.d.ts +8 -0
  43. package/dist/src/harness-events.js +1 -0
  44. package/dist/src/help-catalog.d.ts +41 -0
  45. package/dist/src/help-catalog.js +13 -0
  46. package/dist/src/host.d.ts +41 -0
  47. package/dist/src/host.js +13 -0
  48. package/dist/src/identity.d.ts +44 -0
  49. package/dist/src/identity.js +1 -0
  50. package/dist/src/index.d.ts +77 -0
  51. package/dist/src/index.js +2661 -3970
  52. package/dist/src/isolation.d.ts +213 -0
  53. package/dist/src/isolation.js +13 -0
  54. package/dist/src/kernel.d.ts +200 -0
  55. package/dist/src/kernel.js +261 -0
  56. package/dist/src/keybindings.d.ts +71 -0
  57. package/dist/src/keybindings.js +3 -0
  58. package/dist/src/layout.d.ts +49 -0
  59. package/dist/src/layout.js +10 -0
  60. package/dist/src/lifecycle-capabilities.d.ts +128 -0
  61. package/dist/src/lifecycle-capabilities.js +25 -0
  62. package/dist/src/managed-repos.d.ts +136 -0
  63. package/dist/src/managed-repos.js +17 -0
  64. package/dist/src/memory.d.ts +199 -0
  65. package/dist/src/memory.js +15 -0
  66. package/dist/src/model.d.ts +77 -0
  67. package/dist/src/notify.d.ts +46 -0
  68. package/dist/src/notify.js +13 -0
  69. package/dist/src/orchestration.d.ts +43 -0
  70. package/dist/src/orchestration.js +28 -961
  71. package/dist/src/panel-protocol.d.ts +17 -0
  72. package/dist/src/panel-protocol.js +10 -0
  73. package/dist/src/pi-session.d.ts +113 -0
  74. package/dist/src/pi-session.js +1 -0
  75. package/dist/src/planning.d.ts +64 -0
  76. package/dist/src/planning.js +90 -0
  77. package/dist/src/plugin-hooks.d.ts +51 -0
  78. package/dist/src/plugin-hooks.js +386 -0
  79. package/dist/src/plugin.d.ts +476 -0
  80. package/dist/src/plugin.js +346 -64
  81. package/dist/src/policy.d.ts +16 -0
  82. package/dist/src/policy.js +3 -0
  83. package/dist/src/project.d.ts +71 -0
  84. package/dist/src/project.js +3 -0
  85. package/dist/src/prompt.d.ts +29 -0
  86. package/dist/src/prompt.js +13 -0
  87. package/dist/src/protocol-version.d.ts +21 -0
  88. package/dist/src/protocol-version.js +6 -0
  89. package/dist/src/provider-instructions.d.ts +41 -0
  90. package/dist/src/provider-instructions.js +13 -0
  91. package/dist/src/provider.d.ts +105 -0
  92. package/dist/src/provider.js +4 -824
  93. package/dist/src/remote.d.ts +318 -0
  94. package/dist/src/remote.js +238 -1078
  95. package/dist/src/review.d.ts +18 -0
  96. package/dist/src/review.js +3 -0
  97. package/dist/src/rollups.d.ts +41 -0
  98. package/dist/src/rollups.js +70 -0
  99. package/dist/src/run-discovery.d.ts +79 -0
  100. package/dist/src/run-discovery.js +13 -0
  101. package/dist/src/run-dispatch.d.ts +34 -0
  102. package/dist/src/run-dispatch.js +13 -0
  103. package/dist/src/run-identity.d.ts +47 -0
  104. package/dist/src/run-identity.js +13 -0
  105. package/dist/src/run-journal.d.ts +694 -0
  106. package/dist/src/run-journal.js +569 -0
  107. package/dist/src/run-read-model.d.ts +234 -0
  108. package/dist/src/run-read-model.js +13 -0
  109. package/dist/src/run-record.d.ts +45 -0
  110. package/dist/src/run-record.js +1 -0
  111. package/dist/src/run-registry-backbone.d.ts +56 -0
  112. package/dist/src/run-registry-backbone.js +13 -0
  113. package/dist/src/run-session-journal.d.ts +69 -0
  114. package/dist/src/run-session-journal.js +78 -0
  115. package/dist/src/run-status.d.ts +10 -0
  116. package/dist/src/run-status.js +27 -0
  117. package/dist/src/run-timeline.d.ts +7 -0
  118. package/dist/src/run-timeline.js +1 -0
  119. package/dist/src/runtime-task-context.d.ts +82 -0
  120. package/dist/src/runtime-task-context.js +1 -0
  121. package/dist/src/runtime.d.ts +103 -0
  122. package/dist/src/runtime.js +73 -906
  123. package/dist/src/session-asset-materializer.d.ts +35 -0
  124. package/dist/src/session-asset-materializer.js +13 -0
  125. package/dist/src/setup.d.ts +47 -0
  126. package/dist/src/setup.js +13 -0
  127. package/dist/src/stage.d.ts +245 -0
  128. package/dist/src/stage.js +169 -0
  129. package/dist/src/supervisor-journal.d.ts +204 -0
  130. package/dist/src/supervisor-journal.js +334 -0
  131. package/dist/src/task-data.d.ts +239 -0
  132. package/dist/src/task-data.js +13 -0
  133. package/dist/src/task-graph-primitives.d.ts +47 -0
  134. package/dist/src/task-graph-primitives.js +1 -0
  135. package/dist/src/task-source.d.ts +102 -0
  136. package/dist/src/task-source.js +12 -0
  137. package/dist/src/task-state-metadata.d.ts +21 -0
  138. package/dist/src/task-state-metadata.js +1 -0
  139. package/dist/src/terminal.d.ts +130 -0
  140. package/dist/src/terminal.js +3 -0
  141. package/dist/src/tool-materializer.d.ts +36 -0
  142. package/dist/src/tool-materializer.js +13 -0
  143. package/dist/src/tool-registry.d.ts +3 -0
  144. package/dist/src/tool-registry.js +58 -0
  145. package/dist/src/toolchain-sources.d.ts +54 -0
  146. package/dist/src/toolchain-sources.js +17 -0
  147. package/dist/src/validation.d.ts +14 -0
  148. package/dist/src/validation.js +3 -0
  149. package/dist/src/workflow-journal.d.ts +92 -0
  150. package/dist/src/workflow-journal.js +18 -0
  151. package/dist/src/workspace-config.d.ts +18 -0
  152. package/dist/src/workspace-config.js +13 -0
  153. package/dist/src/workspace.d.ts +204 -0
  154. package/dist/src/workspace.js +76 -911
  155. package/package.json +51 -4
  156. package/dist/src/engine.js +0 -2278
  157. package/dist/src/providerRuntime.js +0 -1630
  158. package/dist/src/rig.js +0 -2374
  159. package/dist/src/server.js +0 -1053
  160. package/dist/src/serviceFabric.js +0 -1066
  161. package/dist/src/ws.js +0 -2968
  162. /package/dist/src/{ipc.js → agent-roles.js} +0 -0
@@ -0,0 +1,190 @@
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
+ serverProjectRootAlias: Schema.optional(Schema.String),
48
+ serverProjectRootBaseUrl: Schema.optional(Schema.String)
49
+ });
50
+ var CliRemoteProjectLink = Schema.Struct({
51
+ ok: Schema.Boolean,
52
+ status: Schema.String,
53
+ alias: Schema.optional(Schema.String),
54
+ baseUrl: Schema.optional(Schema.String),
55
+ repoSlug: Schema.optional(Schema.String),
56
+ serverProjectRoot: Schema.optional(Schema.String),
57
+ source: Schema.optional(Schema.String),
58
+ prepared: Schema.optional(Schema.Boolean),
59
+ validated: Schema.optional(Schema.Boolean),
60
+ statusCode: Schema.optional(Schema.Number),
61
+ message: Schema.String,
62
+ hint: Schema.String,
63
+ next: Schema.optional(Schema.String),
64
+ skippedCandidates: Schema.optional(Schema.Array(Schema.String))
65
+ });
66
+ var RigTaskListOutput = Schema.Struct({
67
+ v: Schema.Literal(1),
68
+ command: Schema.Literal("task list"),
69
+ data: Schema.Struct({
70
+ count: Schema.Number,
71
+ filters: CliTaskFilters,
72
+ raw: Schema.Boolean,
73
+ tasks: Schema.Array(CliTaskSummary)
74
+ })
75
+ });
76
+ var RigTaskShowOutput = Schema.Struct({
77
+ v: Schema.Literal(1),
78
+ command: Schema.Literal("task show"),
79
+ data: Schema.Struct({
80
+ task: CliTaskSummary,
81
+ raw: Schema.Boolean
82
+ })
83
+ });
84
+ var RigRunListOutput = Schema.Struct({
85
+ v: Schema.Literal(1),
86
+ command: Schema.Literal("run list"),
87
+ data: Schema.Struct({
88
+ runs: Schema.Array(CliRunRecord),
89
+ source: Schema.Literals(["local", "server"])
90
+ })
91
+ });
92
+ var RigRunShowOutput = Schema.Struct({
93
+ v: Schema.Literal(1),
94
+ command: Schema.Literal("run show"),
95
+ data: CliRunRecord
96
+ });
97
+ var RigServerUseOutput = Schema.Struct({
98
+ v: Schema.Literal(1),
99
+ command: Schema.Literal("server use"),
100
+ data: Schema.Struct({
101
+ selected: Schema.String,
102
+ repo: Schema.NullOr(CliRepoConnectionState),
103
+ remoteProjectLink: Schema.NullOr(CliRemoteProjectLink)
104
+ })
105
+ });
106
+ var RigServerStatusOutput = Schema.Struct({
107
+ v: Schema.Literal(1),
108
+ command: Schema.Literal("server status"),
109
+ data: Schema.Struct({
110
+ selected: Schema.String,
111
+ repo: Schema.NullOr(CliRepoConnectionState),
112
+ connections: Schema.Record(Schema.String, CliServerConnection),
113
+ remoteProjectLink: Schema.NullOr(CliRemoteProjectLink)
114
+ })
115
+ });
116
+ var RigServerRepairLinkOutput = Schema.Struct({
117
+ v: Schema.Literal(1),
118
+ command: Schema.Literal("server repair-link"),
119
+ data: CliRemoteProjectLink
120
+ });
121
+ var RigInboxApprovalsOutput = Schema.Struct({
122
+ v: Schema.Literal(1),
123
+ command: Schema.Literal("inbox approvals"),
124
+ data: Schema.Struct({
125
+ approvals: Schema.Array(CliInboxRecord)
126
+ })
127
+ });
128
+ var RigInboxInputsOutput = Schema.Struct({
129
+ v: Schema.Literal(1),
130
+ command: Schema.Literal("inbox inputs"),
131
+ data: Schema.Struct({
132
+ requests: Schema.Array(CliInboxRecord)
133
+ })
134
+ });
135
+ var RigDoctorCheckOutput = Schema.Struct({
136
+ v: Schema.Literal(1),
137
+ command: Schema.Literal("doctor check"),
138
+ data: Schema.Struct({
139
+ checks: Schema.Array(CliDoctorCheck),
140
+ failures: Schema.Number
141
+ })
142
+ });
143
+ var RigStatsData = Schema.Struct({
144
+ since: Schema.NullOr(Schema.String),
145
+ totalRuns: Schema.Number,
146
+ statusCounts: Schema.Record(Schema.String, Schema.Number),
147
+ completedRuns: Schema.Number,
148
+ failedRuns: Schema.Number,
149
+ needsAttentionRuns: Schema.Number,
150
+ completionRate: Schema.NullOr(Schema.Number),
151
+ failureRate: Schema.NullOr(Schema.Number),
152
+ needsAttentionRate: Schema.NullOr(Schema.Number),
153
+ medianCompletionMs: Schema.NullOr(Schema.Number),
154
+ steeringTotal: Schema.Number,
155
+ steeringPerRun: Schema.NullOr(Schema.Number),
156
+ stallTotal: Schema.Number,
157
+ approvalsRequested: Schema.Number,
158
+ approvalsApproved: Schema.Number,
159
+ approvalsRejected: Schema.Number,
160
+ approvalsPending: Schema.Number
161
+ });
162
+ var RigStatsOutput = Schema.Struct({
163
+ v: Schema.Literal(1),
164
+ command: Schema.Literal("stats show"),
165
+ data: RigStatsData
166
+ });
167
+ export {
168
+ RigTaskShowOutput,
169
+ RigTaskListOutput,
170
+ RigStatsOutput,
171
+ RigStatsData,
172
+ RigServerUseOutput,
173
+ RigServerStatusOutput,
174
+ RigServerRepairLinkOutput,
175
+ RigRunShowOutput,
176
+ RigRunListOutput,
177
+ RigInboxInputsOutput,
178
+ RigInboxApprovalsOutput,
179
+ RigDoctorCheckOutput,
180
+ RigCliOutputEnvelope,
181
+ CliTaskSummary,
182
+ CliTaskFilters,
183
+ CliServerConnection,
184
+ CliRunRecord,
185
+ CliRepoConnectionState,
186
+ CliRemoteProjectLink,
187
+ CliInboxRecord,
188
+ CliDoctorCheck,
189
+ CLI_OUTPUT_VERSION
190
+ };
@@ -0,0 +1,43 @@
1
+ import type { CapabilityId } from "./capability-id";
2
+ import type { CommandExecutionResult, OutputMode } from "./cli-output";
3
+ import type { HarnessEvent, HarnessEventType } from "./harness-events";
4
+ import type { PolicyConfig, PolicyMode } from "./guard";
5
+ export type CliRuntimeInitializeOptions = {
6
+ readonly projectRoot: string;
7
+ readonly dryRun: boolean;
8
+ readonly outputMode: OutputMode;
9
+ readonly runId?: string;
10
+ readonly policyMode?: PolicyMode;
11
+ };
12
+ export type CliRuntimeContext = {
13
+ readonly projectRoot: string;
14
+ readonly dryRun: boolean;
15
+ readonly outputMode: OutputMode;
16
+ readonly runId: string;
17
+ readonly policyMode?: PolicyMode;
18
+ readonly eventBus: {
19
+ getRunId(): string;
20
+ getEventsFile(): string;
21
+ getMemoryEvents(): HarnessEvent[];
22
+ emit<TPayload extends Record<string, unknown>>(type: HarnessEventType, payload: TPayload): Promise<HarnessEvent<TPayload>>;
23
+ };
24
+ readonly emitEvent: <TPayload extends Record<string, unknown>>(type: HarnessEventType, payload: TPayload) => Promise<void>;
25
+ readonly runCommand: (parts: string[]) => Promise<CommandExecutionResult>;
26
+ };
27
+ export type AgentShellMaterializationOptions = {
28
+ readonly env?: Record<string, string | undefined>;
29
+ readonly cwd?: string;
30
+ readonly moduleDir?: string;
31
+ readonly build?: (entrypoint: string, output: string, cwd: string, define?: Record<string, string>) => Promise<void>;
32
+ };
33
+ export interface CliRunnerService {
34
+ initializeRuntime(options: CliRuntimeInitializeOptions): Promise<CliRuntimeContext>;
35
+ runCommand(context: CliRuntimeContext, parts: string[]): Promise<CommandExecutionResult>;
36
+ ensureAgentShellBinary(projectRoot: string, options?: AgentShellMaterializationOptions): Promise<string>;
37
+ resolveAgentMaterializationSourceRoot(projectRoot: string, options?: AgentShellMaterializationOptions): string;
38
+ withProjectRoot(projectRoot: string): void;
39
+ formatCommand(parts: string[]): string;
40
+ loadPolicy(projectRoot: string): PolicyConfig;
41
+ }
42
+ export declare const CLI_RUNNER_CAPABILITY_ID = "rig.cli.runner";
43
+ export declare const CLI_RUNNER: CapabilityId<CliRunnerService>;
@@ -0,0 +1,13 @@
1
+ // @bun
2
+ // packages/contracts/src/capability-id.ts
3
+ function makeCapabilityId(id) {
4
+ return id;
5
+ }
6
+
7
+ // packages/contracts/src/cli-runner.ts
8
+ var CLI_RUNNER_CAPABILITY_ID = "rig.cli.runner";
9
+ var CLI_RUNNER = makeCapabilityId(CLI_RUNNER_CAPABILITY_ID);
10
+ export {
11
+ CLI_RUNNER_CAPABILITY_ID,
12
+ CLI_RUNNER
13
+ };
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Pure collab-session-viewer surface vocab.
3
+ *
4
+ * The neutral seam for the browser collab-session viewer SPA (the `collab-web`
5
+ * client, owned by `@rig/collab-session-browser-plugin`). Consumers resolve the
6
+ * surface off a plugin host without importing the plugin or the SPA. Carries no
7
+ * behaviour — like `browser.ts` / `notify.ts`.
8
+ *
9
+ * The plugin provides the concrete impl (built `dist/` location + the pi-wire
10
+ * link grammar) under {@link COLLAB_SESSION_VIEWER_CAPABILITY} via the
11
+ * `defineCapability` seam.
12
+ */
13
+ import type { CapabilityId } from "./capability-id";
14
+ /** Inputs to format a shareable collab-session viewer link (pi-wire grammar). */
15
+ export interface CollabSessionViewerLinkInput {
16
+ relayUrl: string;
17
+ roomId: string;
18
+ key: Uint8Array;
19
+ writeToken?: Uint8Array;
20
+ }
21
+ /** Capability id the collab-session-browser plugin registers its surface under. */
22
+ export declare const COLLAB_SESSION_VIEWER_CAPABILITY_ID = "collab.session-viewer";
23
+ /**
24
+ * The browser collab-session viewer surface. `distDir()` is the built SPA static
25
+ * root (serve it to hand a browser the live transcript viewer); `formatViewerLink`
26
+ * preserves the exact `@oh-my-pi/pi-wire` link grammar so a `roomId.key` link
27
+ * opens the streaming session.
28
+ */
29
+ export interface CollabSessionViewerSurface {
30
+ /** Absolute path to the built browser SPA dist directory (static assets). */
31
+ distDir(): string;
32
+ /** Format the shareable viewer link using the preserved pi-wire link grammar. */
33
+ formatViewerLink(input: CollabSessionViewerLinkInput): string;
34
+ }
35
+ /** Typed capability id the plugin provides and consumers require. */
36
+ export declare const COLLAB_SESSION_VIEWER_CAPABILITY: CapabilityId<CollabSessionViewerSurface>;
@@ -0,0 +1,13 @@
1
+ // @bun
2
+ // packages/contracts/src/capability-id.ts
3
+ function makeCapabilityId(id) {
4
+ return id;
5
+ }
6
+
7
+ // packages/contracts/src/collab-session-viewer.ts
8
+ var COLLAB_SESSION_VIEWER_CAPABILITY_ID = "collab.session-viewer";
9
+ var COLLAB_SESSION_VIEWER_CAPABILITY = makeCapabilityId(COLLAB_SESSION_VIEWER_CAPABILITY_ID);
10
+ export {
11
+ COLLAB_SESSION_VIEWER_CAPABILITY_ID,
12
+ COLLAB_SESSION_VIEWER_CAPABILITY
13
+ };