@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.
- package/dist/index.cjs +3280 -0
- package/dist/index.mjs +3239 -0
- package/dist/src/agent-roles.d.ts +8 -0
- package/dist/src/artifact.d.ts +13 -0
- package/dist/src/artifact.js +3 -0
- package/dist/src/baseSchemas.d.ts +63 -0
- package/dist/src/baseSchemas.js +6 -0
- package/dist/src/browser.d.ts +80 -0
- package/dist/src/browser.js +13 -0
- package/dist/src/capability-id.d.ts +22 -0
- package/dist/src/capability-id.js +8 -0
- package/dist/src/cli-output.d.ts +348 -0
- package/dist/src/cli-output.js +190 -0
- package/dist/src/cli-runner.d.ts +43 -0
- package/dist/src/cli-runner.js +13 -0
- package/dist/src/collab-session-viewer.d.ts +36 -0
- package/dist/src/collab-session-viewer.js +13 -0
- package/dist/src/config.d.ts +551 -0
- package/dist/src/config.js +765 -162
- package/dist/src/control-plane-types.d.ts +323 -0
- package/dist/src/control-plane-types.js +13 -0
- package/dist/src/conversation.d.ts +50 -0
- package/dist/src/conversation.js +3 -0
- package/dist/src/dependency-preflight.d.ts +43 -0
- package/dist/src/dependency-preflight.js +13 -0
- package/dist/src/doctor.d.ts +90 -0
- package/dist/src/doctor.js +13 -0
- package/dist/src/drift.d.ts +28 -0
- package/dist/src/drift.js +69 -0
- package/dist/src/editor.d.ts +25 -0
- package/dist/src/editor.js +3 -0
- package/dist/src/errors.d.ts +13 -0
- package/dist/src/errors.js +17 -0
- package/dist/src/git.d.ts +144 -0
- package/dist/src/git.js +3 -0
- package/dist/src/github.d.ts +146 -0
- package/dist/src/github.js +17 -0
- package/dist/src/graph.d.ts +360 -0
- package/dist/src/graph.js +137 -1
- package/dist/src/guard.d.ts +111 -0
- package/dist/src/guard.js +6 -0
- package/dist/src/harness-events.d.ts +8 -0
- package/dist/src/harness-events.js +1 -0
- package/dist/src/help-catalog.d.ts +41 -0
- package/dist/src/help-catalog.js +13 -0
- package/dist/src/host.d.ts +41 -0
- package/dist/src/host.js +13 -0
- package/dist/src/identity.d.ts +44 -0
- package/dist/src/identity.js +1 -0
- package/dist/src/index.d.ts +77 -0
- package/dist/src/index.js +2661 -3970
- package/dist/src/isolation.d.ts +213 -0
- package/dist/src/isolation.js +13 -0
- package/dist/src/kernel.d.ts +200 -0
- package/dist/src/kernel.js +261 -0
- package/dist/src/keybindings.d.ts +71 -0
- package/dist/src/keybindings.js +3 -0
- package/dist/src/layout.d.ts +49 -0
- package/dist/src/layout.js +10 -0
- package/dist/src/lifecycle-capabilities.d.ts +128 -0
- package/dist/src/lifecycle-capabilities.js +25 -0
- package/dist/src/managed-repos.d.ts +136 -0
- package/dist/src/managed-repos.js +17 -0
- package/dist/src/memory.d.ts +199 -0
- package/dist/src/memory.js +15 -0
- package/dist/src/model.d.ts +77 -0
- package/dist/src/notify.d.ts +46 -0
- package/dist/src/notify.js +13 -0
- package/dist/src/orchestration.d.ts +43 -0
- package/dist/src/orchestration.js +28 -961
- package/dist/src/panel-protocol.d.ts +17 -0
- package/dist/src/panel-protocol.js +10 -0
- package/dist/src/pi-session.d.ts +113 -0
- package/dist/src/pi-session.js +1 -0
- package/dist/src/planning.d.ts +64 -0
- package/dist/src/planning.js +90 -0
- package/dist/src/plugin-hooks.d.ts +51 -0
- package/dist/src/plugin-hooks.js +386 -0
- package/dist/src/plugin.d.ts +476 -0
- package/dist/src/plugin.js +346 -64
- package/dist/src/policy.d.ts +16 -0
- package/dist/src/policy.js +3 -0
- package/dist/src/project.d.ts +71 -0
- package/dist/src/project.js +3 -0
- package/dist/src/prompt.d.ts +29 -0
- package/dist/src/prompt.js +13 -0
- package/dist/src/protocol-version.d.ts +21 -0
- package/dist/src/protocol-version.js +6 -0
- package/dist/src/provider-instructions.d.ts +41 -0
- package/dist/src/provider-instructions.js +13 -0
- package/dist/src/provider.d.ts +105 -0
- package/dist/src/provider.js +4 -824
- package/dist/src/remote.d.ts +318 -0
- package/dist/src/remote.js +238 -1078
- package/dist/src/review.d.ts +18 -0
- package/dist/src/review.js +3 -0
- package/dist/src/rollups.d.ts +41 -0
- package/dist/src/rollups.js +70 -0
- package/dist/src/run-discovery.d.ts +79 -0
- package/dist/src/run-discovery.js +13 -0
- package/dist/src/run-dispatch.d.ts +34 -0
- package/dist/src/run-dispatch.js +13 -0
- package/dist/src/run-identity.d.ts +47 -0
- package/dist/src/run-identity.js +13 -0
- package/dist/src/run-journal.d.ts +694 -0
- package/dist/src/run-journal.js +569 -0
- package/dist/src/run-read-model.d.ts +234 -0
- package/dist/src/run-read-model.js +13 -0
- package/dist/src/run-record.d.ts +45 -0
- package/dist/src/run-record.js +1 -0
- package/dist/src/run-registry-backbone.d.ts +56 -0
- package/dist/src/run-registry-backbone.js +13 -0
- package/dist/src/run-session-journal.d.ts +69 -0
- package/dist/src/run-session-journal.js +78 -0
- package/dist/src/run-status.d.ts +10 -0
- package/dist/src/run-status.js +27 -0
- package/dist/src/run-timeline.d.ts +7 -0
- package/dist/src/run-timeline.js +1 -0
- package/dist/src/runtime-task-context.d.ts +82 -0
- package/dist/src/runtime-task-context.js +1 -0
- package/dist/src/runtime.d.ts +103 -0
- package/dist/src/runtime.js +73 -906
- package/dist/src/session-asset-materializer.d.ts +35 -0
- package/dist/src/session-asset-materializer.js +13 -0
- package/dist/src/setup.d.ts +47 -0
- package/dist/src/setup.js +13 -0
- package/dist/src/stage.d.ts +245 -0
- package/dist/src/stage.js +169 -0
- package/dist/src/supervisor-journal.d.ts +204 -0
- package/dist/src/supervisor-journal.js +334 -0
- package/dist/src/task-data.d.ts +239 -0
- package/dist/src/task-data.js +13 -0
- package/dist/src/task-graph-primitives.d.ts +47 -0
- package/dist/src/task-graph-primitives.js +1 -0
- package/dist/src/task-source.d.ts +102 -0
- package/dist/src/task-source.js +12 -0
- package/dist/src/task-state-metadata.d.ts +21 -0
- package/dist/src/task-state-metadata.js +1 -0
- package/dist/src/terminal.d.ts +130 -0
- package/dist/src/terminal.js +3 -0
- package/dist/src/tool-materializer.d.ts +36 -0
- package/dist/src/tool-materializer.js +13 -0
- package/dist/src/tool-registry.d.ts +3 -0
- package/dist/src/tool-registry.js +58 -0
- package/dist/src/toolchain-sources.d.ts +54 -0
- package/dist/src/toolchain-sources.js +17 -0
- package/dist/src/validation.d.ts +14 -0
- package/dist/src/validation.js +3 -0
- package/dist/src/workflow-journal.d.ts +92 -0
- package/dist/src/workflow-journal.js +18 -0
- package/dist/src/workspace-config.d.ts +18 -0
- package/dist/src/workspace-config.js +13 -0
- package/dist/src/workspace.d.ts +204 -0
- package/dist/src/workspace.js +76 -911
- package/package.json +51 -4
- package/dist/src/engine.js +0 -2278
- package/dist/src/providerRuntime.js +0 -1630
- package/dist/src/rig.js +0 -2374
- package/dist/src/server.js +0 -1053
- package/dist/src/serviceFabric.js +0 -1066
- package/dist/src/ws.js +0 -2968
- /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
|
+
};
|