@knpkv/rly 0.4.1 → 0.5.0

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.
@@ -0,0 +1,3138 @@
1
+ import { i as e, r as t, t as n } from "./PortalProvider-CN_81Fy3.js";
2
+ import { n as r } from "./LinkProvider-DMkhwZ3P.js";
3
+ import { a as i, i as a, l as o, n as s, r as c, t as l } from "./component-DKy8kjZl.js";
4
+ import { A as u, D as d, F as f, I as p, M as m, N as h, O as g, P as _, S as v, f as y, g as b, h as x, j as S, k as C, o as ee, s as te, t as ne, x as w } from "./Dialog-DSwimdwG.js";
5
+ import { Portal as T } from "radix-ui";
6
+ import { useCallback as re, useId as E, useLayoutEffect as ie, useRef as D, useState as ae, useSyncExternalStore as oe } from "react";
7
+ import { Fragment as se, jsx as O, jsxs as k } from "react/jsx-runtime";
8
+ var ce = {
9
+ root: "rly_AgentContextButton-module__root",
10
+ mark: "rly_AgentContextButton-module__mark",
11
+ glyph: "rly_AgentContextButton-module__glyph",
12
+ copy: "rly_AgentContextButton-module__copy",
13
+ contextRow: "rly_AgentContextButton-module__contextRow",
14
+ action: "rly_AgentContextButton-module__action",
15
+ agent: "rly_AgentContextButton-module__agent",
16
+ contextLabel: "rly_AgentContextButton-module__contextLabel",
17
+ context: "rly_AgentContextButton-module__context",
18
+ job: "rly_AgentContextButton-module__job",
19
+ count: "rly_AgentContextButton-module__count"
20
+ }, A = (e) => s(ce, e), le = () => /* @__PURE__ */ O("span", {
21
+ "aria-hidden": "true",
22
+ className: A("mark"),
23
+ children: /* @__PURE__ */ O("svg", {
24
+ className: A("glyph"),
25
+ focusable: "false",
26
+ viewBox: "0 0 24 24",
27
+ children: /* @__PURE__ */ O("path", {
28
+ d: "M12 3.5 14 10l6.5 2-6.5 2-2 6.5L10 14l-6.5-2 6.5-2Z",
29
+ fill: "currentColor"
30
+ })
31
+ })
32
+ }), ue = ({ actionLabel: e = "Ask agent", agentName: t, className: n, context: r, contextLabel: i = "Context", job: o, type: s, ...c }) => {
33
+ let u = a(e, "AgentContextButton actionLabel"), d = a(t, "AgentContextButton agentName"), f = a(r, "AgentContextButton context"), p = a(i, "AgentContextButton contextLabel"), m = o === void 0 ? void 0 : a(o.status, "AgentContextButton job status");
34
+ if (o?.count !== void 0 && (!Number.isInteger(o.count) || o.count < 0)) throw Error("AgentContextButton job count must be a non-negative integer");
35
+ return /* @__PURE__ */ k("button", {
36
+ ...c,
37
+ className: l(A("root"), n),
38
+ "data-rly-agent-context-button": "",
39
+ type: s ?? "button",
40
+ children: [
41
+ /* @__PURE__ */ O(le, {}),
42
+ /* @__PURE__ */ k("span", {
43
+ className: A("copy"),
44
+ children: [
45
+ /* @__PURE__ */ O("span", {
46
+ className: A("action"),
47
+ children: u
48
+ }),
49
+ /* @__PURE__ */ O("span", {
50
+ className: A("agent"),
51
+ children: d
52
+ }),
53
+ /* @__PURE__ */ k("span", {
54
+ className: A("contextRow"),
55
+ children: [/* @__PURE__ */ O("span", {
56
+ className: A("contextLabel"),
57
+ children: p
58
+ }), /* @__PURE__ */ O("span", {
59
+ className: A("context"),
60
+ children: f
61
+ })]
62
+ })
63
+ ]
64
+ }),
65
+ m === void 0 ? null : /* @__PURE__ */ k("span", {
66
+ className: A("job"),
67
+ "data-rly-agent-job": "",
68
+ children: [m, o?.count === void 0 ? null : /* @__PURE__ */ O("span", {
69
+ className: A("count"),
70
+ children: o.count
71
+ })]
72
+ })
73
+ ]
74
+ });
75
+ }, de = {
76
+ drawer: "rly_AgentDrawer-module__drawer",
77
+ body: "rly_AgentDrawer-module__body",
78
+ slot: "rly_AgentDrawer-module__slot",
79
+ slotContent: "rly_AgentDrawer-module__slotContent",
80
+ identityCopy: "rly_AgentDrawer-module__identityCopy",
81
+ contextSlot: "rly_AgentDrawer-module__contextSlot",
82
+ identity: "rly_AgentDrawer-module__identity",
83
+ mark: "rly_AgentDrawer-module__mark",
84
+ glyph: "rly_AgentDrawer-module__glyph",
85
+ eyebrow: "rly_AgentDrawer-module__eyebrow",
86
+ slotTitle: "rly_AgentDrawer-module__slotTitle",
87
+ contextSummary: "rly_AgentDrawer-module__contextSummary"
88
+ }, j = (e) => s(de, e), fe = () => /* @__PURE__ */ O("span", {
89
+ "aria-hidden": "true",
90
+ className: j("mark"),
91
+ children: /* @__PURE__ */ O("svg", {
92
+ className: j("glyph"),
93
+ focusable: "false",
94
+ viewBox: "0 0 24 24",
95
+ children: /* @__PURE__ */ O("path", {
96
+ d: "M12 3.5 14 10l6.5 2-6.5 2-2 6.5L10 14l-6.5-2 6.5-2Z",
97
+ fill: "currentColor"
98
+ })
99
+ })
100
+ }), pe = ({ children: e, label: t, name: n }) => /* @__PURE__ */ k("section", {
101
+ className: j("slot"),
102
+ "data-rly-agent-drawer-slot": n,
103
+ children: [/* @__PURE__ */ O("h2", {
104
+ className: j("slotTitle"),
105
+ children: t
106
+ }), /* @__PURE__ */ O("div", {
107
+ className: j("slotContent"),
108
+ children: e
109
+ })]
110
+ }), me = ({ agentName: e, capabilities: t, className: n, composer: r, context: i, contextSummary: o, evidence: s, onOpenChange: c, open: u, thread: f, title: p, ...m }) => {
111
+ let h = a(e, "AgentDrawer agentName"), g = a(o, "AgentDrawer contextSummary"), _ = a(p, "AgentDrawer title"), v = D(null);
112
+ return /* @__PURE__ */ O(d.Root, {
113
+ onOpenChange: c,
114
+ open: u,
115
+ children: /* @__PURE__ */ O(d.Content, {
116
+ className: l(j("drawer"), n),
117
+ description: `Context-aware session with ${h}`,
118
+ initialFocusRef: v,
119
+ title: _,
120
+ children: /* @__PURE__ */ k(d.Body, {
121
+ ...m,
122
+ className: j("body"),
123
+ children: [
124
+ /* @__PURE__ */ k("section", {
125
+ className: l(j("slot"), j("contextSlot")),
126
+ "data-rly-agent-drawer-slot": "context",
127
+ ref: v,
128
+ tabIndex: -1,
129
+ children: [/* @__PURE__ */ k("div", {
130
+ className: j("identity"),
131
+ children: [/* @__PURE__ */ O(fe, {}), /* @__PURE__ */ k("div", {
132
+ className: j("identityCopy"),
133
+ children: [/* @__PURE__ */ O("span", {
134
+ className: j("eyebrow"),
135
+ children: h
136
+ }), /* @__PURE__ */ O("h2", {
137
+ className: j("contextSummary"),
138
+ children: g
139
+ })]
140
+ })]
141
+ }), /* @__PURE__ */ O("div", {
142
+ className: j("slotContent"),
143
+ children: i
144
+ })]
145
+ }),
146
+ /* @__PURE__ */ O(pe, {
147
+ label: "Evidence",
148
+ name: "evidence",
149
+ children: s
150
+ }),
151
+ /* @__PURE__ */ O(pe, {
152
+ label: "Capabilities",
153
+ name: "capabilities",
154
+ children: t
155
+ }),
156
+ /* @__PURE__ */ k("section", {
157
+ "aria-live": "polite",
158
+ "aria-relevant": "additions text",
159
+ className: j("slot"),
160
+ "data-rly-agent-drawer-slot": "thread",
161
+ children: [/* @__PURE__ */ O("h2", {
162
+ className: j("slotTitle"),
163
+ children: "Thread"
164
+ }), /* @__PURE__ */ O("div", {
165
+ className: j("slotContent"),
166
+ children: f
167
+ })]
168
+ }),
169
+ /* @__PURE__ */ O(pe, {
170
+ label: "Message",
171
+ name: "composer",
172
+ children: r
173
+ })
174
+ ]
175
+ })
176
+ })
177
+ });
178
+ }, he = {
179
+ root: "rly_AgentJob-module__root",
180
+ header: "rly_AgentJob-module__header",
181
+ agentGlyph: "rly_AgentJob-module__agentGlyph",
182
+ titleBlock: "rly_AgentJob-module__titleBlock",
183
+ eyebrow: "rly_AgentJob-module__eyebrow",
184
+ progressLabel: "rly_AgentJob-module__progressLabel",
185
+ metadata: "rly_AgentJob-module__metadata",
186
+ progressBlock: "rly_AgentJob-module__progressBlock",
187
+ slot: "rly_AgentJob-module__slot",
188
+ footer: "rly_AgentJob-module__footer",
189
+ outcome: "rly_AgentJob-module__outcome"
190
+ }, M = (e) => s(he, e), ge = (e, t) => {
191
+ if (e == null || i(e)) throw Error(`${t} must contain renderable content`);
192
+ o(e) && a(e, t);
193
+ }, _e = {
194
+ queued: {
195
+ label: "Queued",
196
+ tone: "neutral"
197
+ },
198
+ running: {
199
+ label: "Running",
200
+ tone: "progress"
201
+ },
202
+ "cancel-requested": {
203
+ label: "Cancel requested",
204
+ tone: "caution"
205
+ },
206
+ succeeded: {
207
+ label: "Succeeded",
208
+ tone: "positive"
209
+ },
210
+ failed: {
211
+ label: "Failed",
212
+ tone: "critical"
213
+ },
214
+ cancelled: {
215
+ label: "Cancelled",
216
+ tone: "neutral"
217
+ }
218
+ }, ve = (e) => {
219
+ if (e !== void 0 && (!Number.isFinite(e) || e < 0 || e > 100)) throw Error("AgentJob progress must be between 0 and 100");
220
+ }, ye = ({ cancelLabel: e = "Request cancellation", capability: t, className: n, context: r, evidence: i, heading: o, onCancel: s, outcome: c, progress: u, provider: d, revision: f, sandbox: p, state: m, ...h }) => {
221
+ let g = a(o, "AgentJob heading"), _ = a(d, "AgentJob provider"), y = a(t, "AgentJob capability"), b = a(e, "AgentJob cancelLabel");
222
+ ge(r, "AgentJob context"), ge(i, "AgentJob evidence"), (m === "succeeded" || m === "failed" || m === "cancelled") && ge(c, "AgentJob terminal outcome"), p !== void 0 && a(p, "AgentJob sandbox"), f !== void 0 && a(f, "AgentJob revision"), ve(u);
223
+ let x = _e[m], S = m === "queued" || m === "running", C = `rly-agent-job-progress-${E()}`;
224
+ return /* @__PURE__ */ k("article", {
225
+ ...h,
226
+ "aria-busy": m === "queued" || m === "running" || m === "cancel-requested",
227
+ className: l(M("root"), n),
228
+ "data-rly-agent-job-state": m,
229
+ children: [
230
+ /* @__PURE__ */ k("header", {
231
+ className: M("header"),
232
+ children: [
233
+ /* @__PURE__ */ O("span", {
234
+ "aria-hidden": "true",
235
+ className: M("agentGlyph"),
236
+ children: "AI"
237
+ }),
238
+ /* @__PURE__ */ k("span", {
239
+ className: M("titleBlock"),
240
+ children: [/* @__PURE__ */ k("span", {
241
+ className: M("eyebrow"),
242
+ children: [
243
+ _,
244
+ " · ",
245
+ y
246
+ ]
247
+ }), /* @__PURE__ */ O("h2", { children: g })]
248
+ }),
249
+ /* @__PURE__ */ O(w, {
250
+ label: x.label,
251
+ size: "compact",
252
+ tone: x.tone
253
+ })
254
+ ]
255
+ }),
256
+ u === void 0 ? null : /* @__PURE__ */ k("div", {
257
+ className: M("progressBlock"),
258
+ children: [/* @__PURE__ */ k("span", {
259
+ className: M("progressLabel"),
260
+ id: C,
261
+ children: ["Progress ", /* @__PURE__ */ k("strong", { children: [Math.round(u), "%"] })]
262
+ }), /* @__PURE__ */ O("progress", {
263
+ "aria-labelledby": C,
264
+ max: 100,
265
+ value: u
266
+ })]
267
+ }),
268
+ /* @__PURE__ */ k("dl", {
269
+ className: M("metadata"),
270
+ children: [
271
+ /* @__PURE__ */ k("div", { children: [/* @__PURE__ */ O("dt", { children: "Provider" }), /* @__PURE__ */ O("dd", { children: _ })] }),
272
+ /* @__PURE__ */ k("div", { children: [/* @__PURE__ */ O("dt", { children: "Capability" }), /* @__PURE__ */ O("dd", { children: y })] }),
273
+ p === void 0 ? null : /* @__PURE__ */ k("div", { children: [/* @__PURE__ */ O("dt", { children: "Sandbox" }), /* @__PURE__ */ O("dd", { children: /* @__PURE__ */ O("code", { children: p }) })] }),
274
+ f === void 0 ? null : /* @__PURE__ */ k("div", { children: [/* @__PURE__ */ O("dt", { children: "Revision" }), /* @__PURE__ */ O("dd", { children: /* @__PURE__ */ O("code", { children: f }) })] })
275
+ ]
276
+ }),
277
+ /* @__PURE__ */ k("section", {
278
+ className: M("slot"),
279
+ "data-rly-agent-job-context": "",
280
+ children: [/* @__PURE__ */ O("h3", { children: "Exact context" }), r]
281
+ }),
282
+ /* @__PURE__ */ k("section", {
283
+ className: M("slot"),
284
+ "data-rly-agent-job-evidence": "",
285
+ children: [/* @__PURE__ */ O("h3", { children: "Evidence" }), i]
286
+ }),
287
+ c === void 0 ? null : /* @__PURE__ */ k("section", {
288
+ className: l(M("slot"), M("outcome")),
289
+ "data-rly-agent-job-outcome": m,
290
+ children: [/* @__PURE__ */ O("h3", { children: "Terminal outcome" }), c]
291
+ }),
292
+ S && s !== void 0 ? /* @__PURE__ */ O("footer", {
293
+ className: M("footer"),
294
+ children: /* @__PURE__ */ O(v, {
295
+ onClick: s,
296
+ size: "compact",
297
+ variant: "quiet",
298
+ children: b
299
+ })
300
+ }) : null
301
+ ]
302
+ });
303
+ }, be = {
304
+ root: "rly_AgentProposal-module__root",
305
+ header: "rly_AgentProposal-module__header",
306
+ agentIdentity: "rly_AgentProposal-module__agentIdentity",
307
+ agentText: "rly_AgentProposal-module__agentText",
308
+ eyebrow: "rly_AgentProposal-module__eyebrow",
309
+ heading: "rly_AgentProposal-module__heading",
310
+ agentRole: "rly_AgentProposal-module__agentRole",
311
+ proposalReference: "rly_AgentProposal-module__proposalReference",
312
+ context: "rly_AgentProposal-module__context",
313
+ boundary: "rly_AgentProposal-module__boundary",
314
+ evidence: "rly_AgentProposal-module__evidence",
315
+ outcome: "rly_AgentProposal-module__outcome",
316
+ state: "rly_AgentProposal-module__state",
317
+ facts: "rly_AgentProposal-module__facts"
318
+ }, N = (e) => s(be, e), xe = (e) => {
319
+ a(e.id, "AgentProposal agent id"), a(e.name, "AgentProposal agent name"), a(e.role, "AgentProposal agent role"), a(e.avatarFallback, "AgentProposal agent avatarFallback"), e.avatarSrc !== void 0 && a(e.avatarSrc, "AgentProposal agent avatarSrc");
320
+ }, Se = (e) => {
321
+ if (a(e.id, "AgentProposal id"), xe(e.agent), a(e.capability, "AgentProposal capability"), a(e.context, "AgentProposal context"), a(e.expectedRevision, "AgentProposal expectedRevision"), a(e.impact, "AgentProposal impact"), a(e.target, "AgentProposal target"), e.evidence.length === 0) throw Error("AgentProposal evidence must contain at least one reference");
322
+ let t = /* @__PURE__ */ new Set();
323
+ for (let n of e.evidence) {
324
+ let e = a(n.id, "AgentProposal evidence id");
325
+ if (t.has(e)) throw Error(`AgentProposal evidence ids must be unique: ${e}`);
326
+ t.add(e), a(n.label, `AgentProposal evidence label for ${e}`), a(n.reference, `AgentProposal evidence reference for ${e}`);
327
+ }
328
+ return e;
329
+ }, Ce = ({ className: e, outcome: t, proposal: n, state: r, ...i }) => {
330
+ let a = Se(n), o = `rly-agent-proposal-${E()}`, s = `rly-agent-proposal-reference-${E()}`;
331
+ return /* @__PURE__ */ k("section", {
332
+ ...i,
333
+ "aria-labelledby": `${o} ${s}`,
334
+ className: l(N("root"), e),
335
+ "data-rly-agent-proposal-id": a.id,
336
+ children: [
337
+ /* @__PURE__ */ k("header", {
338
+ className: N("header"),
339
+ children: [/* @__PURE__ */ k("div", {
340
+ className: N("agentIdentity"),
341
+ children: [/* @__PURE__ */ O(b, {
342
+ decorative: !0,
343
+ fallback: a.agent.avatarFallback,
344
+ form: "rounded-square",
345
+ ...a.agent.avatarSrc === void 0 ? {} : { src: a.agent.avatarSrc }
346
+ }), /* @__PURE__ */ k("div", {
347
+ className: N("agentText"),
348
+ children: [
349
+ /* @__PURE__ */ O("p", {
350
+ className: N("eyebrow"),
351
+ children: "Agent proposal"
352
+ }),
353
+ /* @__PURE__ */ O("h2", {
354
+ className: N("heading"),
355
+ id: o,
356
+ children: a.agent.name
357
+ }),
358
+ /* @__PURE__ */ O("p", {
359
+ className: N("agentRole"),
360
+ children: a.agent.role
361
+ }),
362
+ /* @__PURE__ */ O("code", {
363
+ className: N("proposalReference"),
364
+ id: s,
365
+ children: a.id
366
+ })
367
+ ]
368
+ })]
369
+ }), /* @__PURE__ */ O("div", {
370
+ className: N("state"),
371
+ "data-rly-agent-proposal-slot": "state",
372
+ children: r
373
+ })]
374
+ }),
375
+ /* @__PURE__ */ O("p", {
376
+ className: N("boundary"),
377
+ children: "This is an agent proposal. It is not human authorization."
378
+ }),
379
+ /* @__PURE__ */ k("p", {
380
+ className: N("context"),
381
+ children: [/* @__PURE__ */ O("span", { children: "Context" }), a.context]
382
+ }),
383
+ /* @__PURE__ */ k("dl", {
384
+ className: N("facts"),
385
+ children: [
386
+ /* @__PURE__ */ k("div", { children: [/* @__PURE__ */ O("dt", { children: "Capability" }), /* @__PURE__ */ O("dd", { children: a.capability })] }),
387
+ /* @__PURE__ */ k("div", { children: [/* @__PURE__ */ O("dt", { children: "Target" }), /* @__PURE__ */ O("dd", { children: a.target })] }),
388
+ /* @__PURE__ */ k("div", { children: [/* @__PURE__ */ O("dt", { children: "Expected revision" }), /* @__PURE__ */ O("dd", { children: a.expectedRevision })] }),
389
+ /* @__PURE__ */ k("div", { children: [/* @__PURE__ */ O("dt", { children: "Impact" }), /* @__PURE__ */ O("dd", { children: a.impact })] })
390
+ ]
391
+ }),
392
+ /* @__PURE__ */ k("div", {
393
+ className: N("evidence"),
394
+ "data-rly-agent-proposal-evidence": "",
395
+ children: [/* @__PURE__ */ O("h3", { children: "Evidence" }), /* @__PURE__ */ O("ul", { children: a.evidence.map((e) => /* @__PURE__ */ k("li", { children: [/* @__PURE__ */ O("span", { children: e.label }), /* @__PURE__ */ O("code", { children: e.reference })] }, e.id)) })]
396
+ }),
397
+ /* @__PURE__ */ k("div", {
398
+ className: N("outcome"),
399
+ "data-rly-agent-proposal-slot": "outcome",
400
+ children: [/* @__PURE__ */ O("h3", { children: "Outcome" }), t]
401
+ })
402
+ ]
403
+ });
404
+ }, we = {
405
+ root: "rly_AgentThread-module__root",
406
+ header: "rly_AgentThread-module__header",
407
+ messageHead: "rly_AgentThread-module__messageHead",
408
+ actor: "rly_AgentThread-module__actor",
409
+ actions: "rly_AgentThread-module__actions",
410
+ agentGlyph: "rly_AgentThread-module__agentGlyph",
411
+ avatar: "rly_AgentThread-module__avatar",
412
+ context: "rly_AgentThread-module__context",
413
+ composer: "rly_AgentThread-module__composer",
414
+ conceptLabel: "rly_AgentThread-module__conceptLabel",
415
+ messages: "rly_AgentThread-module__messages",
416
+ message: "rly_AgentThread-module__message",
417
+ agent: "rly_AgentThread-module__agent",
418
+ human: "rly_AgentThread-module__human",
419
+ system: "rly_AgentThread-module__system",
420
+ actorText: "rly_AgentThread-module__actorText",
421
+ empty: "rly_AgentThread-module__empty",
422
+ content: "rly_AgentThread-module__content",
423
+ evidence: "rly_AgentThread-module__evidence",
424
+ visuallyHidden: "rly_AgentThread-module__visuallyHidden"
425
+ }, P = (e) => s(we, e), Te = (e, t) => {
426
+ if (e == null || i(e)) throw Error(`${t} must contain renderable content`);
427
+ o(e) && a(e, t);
428
+ }, Ee = (e) => {
429
+ let t = e.trim().split(/\s+/u), n = Array.from(t[0] ?? "")[0] ?? "", r = Array.from(t[t.length - 1] ?? "")[0] ?? "";
430
+ return a(`${n}${t.length > 1 ? r : ""}`, "AgentThread actor fallback");
431
+ }, De = (e) => {
432
+ if (e.kind === "human") {
433
+ a(e.person.id, "AgentThread human id"), a(e.person.name, "AgentThread human name"), a(e.person.role, "AgentThread human role"), e.person.avatarFallback !== void 0 && a(e.person.avatarFallback, "AgentThread human avatarFallback"), e.person.avatarSrc !== void 0 && a(e.person.avatarSrc, "AgentThread human avatarSrc");
434
+ return;
435
+ }
436
+ a(e.id, `AgentThread ${e.kind} id`), a(e.name, `AgentThread ${e.kind} name`), e.kind === "agent" && (a(e.role, "AgentThread agent role"), e.avatarFallback !== void 0 && a(e.avatarFallback, "AgentThread agent avatarFallback"));
437
+ }, Oe = (e) => {
438
+ let t = e.kind === "human" ? e.person.name : e.name, n = e.kind === "human" ? e.person.role : e.kind === "agent" ? e.role : "System event", r = e.kind === "human" ? e.person.avatarFallback ?? Ee(t) : e.kind === "agent" ? e.avatarFallback ?? Ee(t) : "·", i = e.kind === "human" ? e.person.avatarSrc : void 0;
439
+ return /* @__PURE__ */ k("div", {
440
+ className: l(P("actor"), P(e.kind)),
441
+ "data-rly-agent-thread-actor": e.kind,
442
+ children: [/* @__PURE__ */ O(b, {
443
+ className: P("avatar"),
444
+ "data-rly-agent-thread-avatar-form": e.kind === "human" ? "circle" : "rounded-square",
445
+ decorative: !0,
446
+ fallback: r,
447
+ form: e.kind === "human" ? "circle" : "rounded-square",
448
+ size: "default",
449
+ ...i === void 0 ? {} : { src: i }
450
+ }), /* @__PURE__ */ k("span", {
451
+ className: P("actorText"),
452
+ children: [/* @__PURE__ */ O("strong", { children: t }), /* @__PURE__ */ O("span", { children: n })]
453
+ })]
454
+ });
455
+ }, ke = ({ announcement: e, className: t, composer: n, context: r, emptyLabel: i = "No messages yet.", heading: o, messages: s, ...c }) => {
456
+ let u = a(o, "AgentThread heading"), d = a(i, "AgentThread emptyLabel");
457
+ Te(r, "AgentThread context"), Te(n, "AgentThread composer"), e !== void 0 && a(e, "AgentThread announcement");
458
+ let f = /* @__PURE__ */ new Set();
459
+ for (let e of s) {
460
+ let t = a(e.id, "AgentThread message id");
461
+ if (f.has(t)) throw Error(`AgentThread message ids must be unique: ${t}`);
462
+ f.add(t), De(e.actor), Te(e.content, `AgentThread message content for ${t}`), a(e.dateTime, `AgentThread message dateTime for ${t}`), a(e.time, `AgentThread message time for ${t}`);
463
+ }
464
+ return /* @__PURE__ */ k("section", {
465
+ ...c,
466
+ className: l(P("root"), t),
467
+ "data-rly-agent-thread": "",
468
+ children: [
469
+ /* @__PURE__ */ k("header", {
470
+ className: P("header"),
471
+ children: [/* @__PURE__ */ O("span", {
472
+ "aria-hidden": "true",
473
+ className: P("agentGlyph"),
474
+ children: "AI"
475
+ }), /* @__PURE__ */ O("h2", { children: u })]
476
+ }),
477
+ /* @__PURE__ */ k("div", {
478
+ className: P("context"),
479
+ "data-rly-agent-thread-context": "",
480
+ children: [/* @__PURE__ */ O("span", {
481
+ className: P("conceptLabel"),
482
+ children: "Exact context"
483
+ }), r]
484
+ }),
485
+ s.length === 0 ? /* @__PURE__ */ O("p", {
486
+ className: P("empty"),
487
+ children: d
488
+ }) : /* @__PURE__ */ O("ol", {
489
+ "aria-label": `${u} messages`,
490
+ className: P("messages"),
491
+ children: s.map((e) => /* @__PURE__ */ k("li", {
492
+ className: P("message"),
493
+ "data-rly-agent-thread-message": e.id,
494
+ children: [
495
+ /* @__PURE__ */ k("div", {
496
+ className: P("messageHead"),
497
+ children: [Oe(e.actor), /* @__PURE__ */ O("time", {
498
+ dateTime: e.dateTime,
499
+ children: e.time
500
+ })]
501
+ }),
502
+ /* @__PURE__ */ O("div", {
503
+ className: P("content"),
504
+ children: e.content
505
+ }),
506
+ e.evidence === void 0 ? null : /* @__PURE__ */ O("div", {
507
+ className: P("evidence"),
508
+ "data-rly-agent-thread-evidence": "",
509
+ children: e.evidence
510
+ }),
511
+ e.actions === void 0 ? null : /* @__PURE__ */ O("div", {
512
+ className: P("actions"),
513
+ "data-rly-agent-thread-actions": "",
514
+ children: e.actions
515
+ })
516
+ ]
517
+ }, e.id))
518
+ }),
519
+ /* @__PURE__ */ O("p", {
520
+ "aria-atomic": "true",
521
+ "aria-live": "polite",
522
+ className: P("visuallyHidden"),
523
+ children: e
524
+ }),
525
+ /* @__PURE__ */ O("div", {
526
+ className: P("composer"),
527
+ "data-rly-agent-thread-composer": "",
528
+ children: n
529
+ })
530
+ ]
531
+ });
532
+ }, Ae = {
533
+ root: "rly_Person-module__root",
534
+ compact: "rly_Person-module__compact",
535
+ defaultSize: "rly_Person-module__defaultSize",
536
+ identity: "rly_Person-module__identity",
537
+ name: "rly_Person-module__name",
538
+ role: "rly_Person-module__role"
539
+ }, je = (e) => s(Ae, e), Me = c({ size: {
540
+ compact: {
541
+ className: je("compact"),
542
+ purpose: "Dense identity row with complete attribution",
543
+ tokens: ["space-24", "type-meta"]
544
+ },
545
+ default: {
546
+ className: je("defaultSize"),
547
+ purpose: "Standard identity row with complete attribution",
548
+ tokens: [
549
+ "space-32",
550
+ "type-label",
551
+ "type-meta"
552
+ ]
553
+ }
554
+ } }), Ne = c({ size: "default" }), Pe = (e) => {
555
+ let t = e.trim().split(/\s+/u), n = t[0] ?? "", r = t[t.length - 1] ?? n, i = Array.from(n), o = i[0] ?? "", s = t.length > 1 ? Array.from(r)[0] ?? "" : i[1] ?? "";
556
+ return a(`${o}${s}`, "Person avatar fallback");
557
+ }, Fe = (e) => (a(e.id, "Person id"), a(e.name, "Person name"), a(e.role, "Person role"), e.avatarFallback !== void 0 && a(e.avatarFallback, "Person avatarFallback"), e.avatarSrc !== void 0 && a(e.avatarSrc, "Person avatarSrc"), e), F = ({ className: e, person: t, size: n = "default", ...r }) => {
558
+ let i = Fe(t), a = i.avatarFallback ?? Pe(i.name);
559
+ return /* @__PURE__ */ k("div", {
560
+ ...r,
561
+ className: l(je("root"), Me.size[n].className, e),
562
+ "data-rly-person-size": n,
563
+ children: [/* @__PURE__ */ O(b, {
564
+ decorative: !0,
565
+ fallback: a,
566
+ size: n === "compact" ? "small" : "default",
567
+ ...i.avatarSrc === void 0 ? {} : { src: i.avatarSrc }
568
+ }), /* @__PURE__ */ k("span", {
569
+ className: je("identity"),
570
+ children: [/* @__PURE__ */ O("span", {
571
+ className: je("name"),
572
+ children: i.name
573
+ }), /* @__PURE__ */ O("span", {
574
+ className: je("role"),
575
+ children: i.role
576
+ })]
577
+ })]
578
+ });
579
+ }, Ie = {
580
+ root: "rly_PeopleStrip-module__root",
581
+ compact: "rly_PeopleStrip-module__compact",
582
+ defaultSize: "rly_PeopleStrip-module__defaultSize",
583
+ personItem: "rly_PeopleStrip-module__personItem",
584
+ controlItem: "rly_PeopleStrip-module__controlItem",
585
+ overflow: "rly_PeopleStrip-module__overflow"
586
+ }, Le = (e) => s(Ie, e), Re = c({ size: {
587
+ compact: {
588
+ className: Le("compact"),
589
+ purpose: "Dense attributed people list for narrow surfaces",
590
+ tokens: ["space-8", "space-40"]
591
+ },
592
+ default: {
593
+ className: Le("defaultSize"),
594
+ purpose: "Standard attributed people list",
595
+ tokens: ["space-12", "space-40"]
596
+ }
597
+ } }), ze = c({ size: "default" }), Be = (e) => {
598
+ if (!Number.isInteger(e) || e < 1) throw Error("PeopleStrip limit must be a positive integer");
599
+ return e;
600
+ }, Ve = (e) => {
601
+ let t = /* @__PURE__ */ new Set();
602
+ for (let n of e) {
603
+ let e = a(n.id, "PeopleStrip person id");
604
+ if (a(n.name, `PeopleStrip name for ${e}`), a(n.role, `PeopleStrip role for ${e}`), t.has(e)) throw Error(`PeopleStrip person ids must be unique: ${e}`);
605
+ t.add(e);
606
+ }
607
+ }, He = ({ "aria-label": e, className: t, expanded: n, limit: r = 3, onExpandedChange: i, people: o, size: s = "default", ...c }) => {
608
+ let u = a(e, "PeopleStrip aria-label"), d = Be(r);
609
+ Ve(o);
610
+ let f = Math.max(o.length - d, 0), p = n ? o : o.slice(0, d);
611
+ return /* @__PURE__ */ k("ul", {
612
+ ...c,
613
+ "aria-label": u,
614
+ className: l(Le("root"), Re.size[s].className, t),
615
+ "data-rly-people-strip-size": s,
616
+ children: [p.map((e) => /* @__PURE__ */ O("li", {
617
+ className: Le("personItem"),
618
+ children: /* @__PURE__ */ O(F, {
619
+ person: e,
620
+ size: s
621
+ })
622
+ }, e.id)), f === 0 ? null : /* @__PURE__ */ O("li", {
623
+ className: Le("controlItem"),
624
+ children: /* @__PURE__ */ O("button", {
625
+ "aria-expanded": n,
626
+ "aria-label": n ? "Show fewer people" : `Show ${f} more people`,
627
+ className: Le("overflow"),
628
+ onClick: () => i(!n),
629
+ type: "button",
630
+ children: n ? "Show fewer" : `+${f} people`
631
+ })
632
+ })]
633
+ });
634
+ }, Ue = {
635
+ root: "rly_CollaboratorGroup-module__root",
636
+ compact: "rly_CollaboratorGroup-module__compact",
637
+ defaultSize: "rly_CollaboratorGroup-module__defaultSize",
638
+ heading: "rly_CollaboratorGroup-module__heading",
639
+ lanes: "rly_CollaboratorGroup-module__lanes",
640
+ lane: "rly_CollaboratorGroup-module__lane",
641
+ laneHeading: "rly_CollaboratorGroup-module__laneHeading",
642
+ empty: "rly_CollaboratorGroup-module__empty"
643
+ }, I = (e) => s(Ue, e), We = c({ size: {
644
+ compact: {
645
+ className: I("compact"),
646
+ purpose: "Narrow entity attribution with explicit role lanes",
647
+ tokens: ["space-12", "type-label"]
648
+ },
649
+ default: {
650
+ className: I("defaultSize"),
651
+ purpose: "Standard entity attribution with explicit role lanes",
652
+ tokens: ["space-20", "type-card-title"]
653
+ }
654
+ } }), Ge = c({ size: "default" }), Ke = ({ approvers: e = [], authors: t = [], className: n, emptyLabel: r = "No collaborators assigned.", expandedCategories: i, heading: o, limit: s = 3, onCategoryExpandedChange: c, operators: u = [], owners: d = [], reviewers: f = [], size: p = "default", ...m }) => {
655
+ let h = a(o, "CollaboratorGroup heading"), g = a(r, "CollaboratorGroup emptyLabel"), _ = `rly-collaborators-${E()}`, v = new Set(i), y = [
656
+ {
657
+ category: "authors",
658
+ label: "Authors",
659
+ people: t
660
+ },
661
+ {
662
+ category: "owners",
663
+ label: "Owners",
664
+ people: d
665
+ },
666
+ {
667
+ category: "reviewers",
668
+ label: "Reviewers",
669
+ people: f
670
+ },
671
+ {
672
+ category: "operators",
673
+ label: "Operators",
674
+ people: u
675
+ },
676
+ {
677
+ category: "approvers",
678
+ label: "Approvers",
679
+ people: e
680
+ }
681
+ ].filter((e) => e.people.length > 0);
682
+ return /* @__PURE__ */ k("section", {
683
+ ...m,
684
+ "aria-labelledby": _,
685
+ className: l(I("root"), We.size[p].className, n),
686
+ "data-rly-collaborator-group-size": p,
687
+ children: [/* @__PURE__ */ O("h2", {
688
+ className: I("heading"),
689
+ id: _,
690
+ children: h
691
+ }), y.length === 0 ? /* @__PURE__ */ O("p", {
692
+ className: I("empty"),
693
+ children: g
694
+ }) : /* @__PURE__ */ O("div", {
695
+ className: I("lanes"),
696
+ children: y.map((e) => /* @__PURE__ */ k("section", {
697
+ className: I("lane"),
698
+ children: [/* @__PURE__ */ O("h3", {
699
+ className: I("laneHeading"),
700
+ children: e.label
701
+ }), /* @__PURE__ */ O(He, {
702
+ "aria-label": `${h}: ${e.label}`,
703
+ expanded: v.has(e.category),
704
+ limit: s,
705
+ onExpandedChange: (t) => c(e.category, t),
706
+ people: e.people,
707
+ size: p
708
+ })]
709
+ }, e.category))
710
+ })]
711
+ });
712
+ }, qe = {
713
+ root: "rly_FreshnessStamp-module__root",
714
+ stateWord: "rly_FreshnessStamp-module__stateWord",
715
+ separator: "rly_FreshnessStamp-module__separator",
716
+ time: "rly_FreshnessStamp-module__time",
717
+ compact: "rly_FreshnessStamp-module__compact",
718
+ defaultSize: "rly_FreshnessStamp-module__defaultSize",
719
+ current: "rly_FreshnessStamp-module__current",
720
+ cached: "rly_FreshnessStamp-module__cached",
721
+ missing: "rly_FreshnessStamp-module__missing",
722
+ stale: "rly_FreshnessStamp-module__stale",
723
+ unavailable: "rly_FreshnessStamp-module__unavailable"
724
+ }, L = (e) => s(qe, e), Je = c({
725
+ state: {
726
+ current: {
727
+ className: L("current"),
728
+ purpose: "Current source observation",
729
+ tokens: ["color-success-ink", "color-success-tint"]
730
+ },
731
+ cached: {
732
+ className: L("cached"),
733
+ purpose: "Valid cached source observation",
734
+ tokens: ["color-text-2", "color-surface-2"]
735
+ },
736
+ stale: {
737
+ className: L("stale"),
738
+ purpose: "Source observation beyond its supplied freshness threshold",
739
+ tokens: ["color-held-ink", "color-held-tint"]
740
+ },
741
+ missing: {
742
+ className: L("missing"),
743
+ purpose: "Provider authoritatively reported no object",
744
+ tokens: ["color-text-2", "color-surface-2"]
745
+ },
746
+ unavailable: {
747
+ className: L("unavailable"),
748
+ purpose: "No valid source observation is available",
749
+ tokens: ["color-blocked-ink", "color-blocked-tint"]
750
+ }
751
+ },
752
+ size: {
753
+ compact: {
754
+ className: L("compact"),
755
+ purpose: "Dense freshness metadata",
756
+ tokens: ["type-meta"]
757
+ },
758
+ default: {
759
+ className: L("defaultSize"),
760
+ purpose: "Standard freshness metadata",
761
+ tokens: ["type-label", "type-meta"]
762
+ }
763
+ }
764
+ }), Ye = c({ size: "default" }), Xe = {
765
+ current: "Current",
766
+ cached: "Cached",
767
+ stale: "Stale",
768
+ missing: "Missing",
769
+ unavailable: "Unavailable"
770
+ }, Ze = {
771
+ current: "check",
772
+ cached: "clock",
773
+ stale: "clock",
774
+ missing: "minus",
775
+ unavailable: "alert"
776
+ }, R = ({ className: t, dateTime: n, size: r = "default", state: i, time: o, ...s }) => {
777
+ let c = o === void 0 ? void 0 : a(o, "FreshnessStamp time"), u = n === void 0 ? void 0 : a(n, "FreshnessStamp dateTime");
778
+ return /* @__PURE__ */ k("span", {
779
+ ...s,
780
+ className: l(L("root"), Je.state[i].className, Je.size[r].className, t),
781
+ "data-rly-freshness-state": i,
782
+ children: [/* @__PURE__ */ k("span", {
783
+ className: L("stateWord"),
784
+ children: [/* @__PURE__ */ O(e, {
785
+ decorative: !0,
786
+ name: Ze[i],
787
+ size: "small"
788
+ }), /* @__PURE__ */ O("span", { children: Xe[i] })]
789
+ }), c === void 0 || u === void 0 ? null : /* @__PURE__ */ k(se, { children: [/* @__PURE__ */ O("span", {
790
+ "aria-hidden": "true",
791
+ className: L("separator"),
792
+ children: "·"
793
+ }), /* @__PURE__ */ O("time", {
794
+ className: L("time"),
795
+ dateTime: u,
796
+ children: c
797
+ })] })]
798
+ });
799
+ }, Qe = {
800
+ root: "rly_ServiceMark-module__root",
801
+ rail: "rly_ServiceMark-module__rail",
802
+ glyph: "rly_ServiceMark-module__glyph",
803
+ name: "rly_ServiceMark-module__name",
804
+ compact: "rly_ServiceMark-module__compact",
805
+ defaultSize: "rly_ServiceMark-module__defaultSize",
806
+ codecommit: "rly_ServiceMark-module__codecommit",
807
+ codepipeline: "rly_ServiceMark-module__codepipeline",
808
+ jira: "rly_ServiceMark-module__jira",
809
+ confluence: "rly_ServiceMark-module__confluence",
810
+ clockify: "rly_ServiceMark-module__clockify"
811
+ }, z = (e) => s(Qe, e), $e = c({
812
+ service: {
813
+ codecommit: {
814
+ className: z("codecommit"),
815
+ purpose: "CodeCommit provenance",
816
+ tokens: ["color-service-codecommit"]
817
+ },
818
+ codepipeline: {
819
+ className: z("codepipeline"),
820
+ purpose: "CodePipeline provenance",
821
+ tokens: ["color-service-codepipeline"]
822
+ },
823
+ jira: {
824
+ className: z("jira"),
825
+ purpose: "Jira provenance",
826
+ tokens: ["color-service-jira"]
827
+ },
828
+ confluence: {
829
+ className: z("confluence"),
830
+ purpose: "Confluence provenance",
831
+ tokens: ["color-service-confluence"]
832
+ },
833
+ clockify: {
834
+ className: z("clockify"),
835
+ purpose: "Clockify provenance",
836
+ tokens: ["color-service-clockify"]
837
+ }
838
+ },
839
+ size: {
840
+ compact: {
841
+ className: z("compact"),
842
+ purpose: "Dense provenance metadata",
843
+ tokens: ["space-24", "type-meta"]
844
+ },
845
+ default: {
846
+ className: z("defaultSize"),
847
+ purpose: "Standard provenance identity",
848
+ tokens: ["space-32", "type-label"]
849
+ }
850
+ }
851
+ }), et = c({ size: "default" }), tt = {
852
+ codecommit: "CodeCommit",
853
+ codepipeline: "CodePipeline",
854
+ jira: "Jira",
855
+ confluence: "Confluence",
856
+ clockify: "Clockify"
857
+ }, nt = {
858
+ codecommit: () => /* @__PURE__ */ k("svg", {
859
+ "aria-hidden": "true",
860
+ className: z("glyph"),
861
+ focusable: "false",
862
+ viewBox: "0 0 24 24",
863
+ children: [
864
+ /* @__PURE__ */ O("path", {
865
+ d: "M6 5.5h7.5a3 3 0 0 1 3 3v7",
866
+ fill: "none",
867
+ stroke: "currentColor",
868
+ strokeLinecap: "round",
869
+ strokeWidth: "1.8"
870
+ }),
871
+ /* @__PURE__ */ O("circle", {
872
+ cx: "6",
873
+ cy: "5.5",
874
+ fill: "currentColor",
875
+ r: "2"
876
+ }),
877
+ /* @__PURE__ */ O("circle", {
878
+ cx: "16.5",
879
+ cy: "17.5",
880
+ fill: "currentColor",
881
+ r: "2"
882
+ }),
883
+ /* @__PURE__ */ O("path", {
884
+ d: "m10 12 2-2 2 2-2 2Z",
885
+ fill: "none",
886
+ stroke: "currentColor",
887
+ strokeLinejoin: "round",
888
+ strokeWidth: "1.6"
889
+ })
890
+ ]
891
+ }),
892
+ codepipeline: () => /* @__PURE__ */ k("svg", {
893
+ "aria-hidden": "true",
894
+ className: z("glyph"),
895
+ focusable: "false",
896
+ viewBox: "0 0 24 24",
897
+ children: [
898
+ /* @__PURE__ */ O("rect", {
899
+ fill: "none",
900
+ height: "5",
901
+ rx: "1",
902
+ stroke: "currentColor",
903
+ strokeWidth: "1.7",
904
+ width: "5",
905
+ x: "2.5",
906
+ y: "9.5"
907
+ }),
908
+ /* @__PURE__ */ O("rect", {
909
+ fill: "none",
910
+ height: "5",
911
+ rx: "1",
912
+ stroke: "currentColor",
913
+ strokeWidth: "1.7",
914
+ width: "5",
915
+ x: "16.5",
916
+ y: "9.5"
917
+ }),
918
+ /* @__PURE__ */ O("path", {
919
+ d: "M8 12h7m-2.5-2.5L15 12l-2.5 2.5",
920
+ fill: "none",
921
+ stroke: "currentColor",
922
+ strokeLinecap: "round",
923
+ strokeLinejoin: "round",
924
+ strokeWidth: "1.8"
925
+ })
926
+ ]
927
+ }),
928
+ jira: () => /* @__PURE__ */ k("svg", {
929
+ "aria-hidden": "true",
930
+ className: z("glyph"),
931
+ focusable: "false",
932
+ viewBox: "0 0 24 24",
933
+ children: [
934
+ /* @__PURE__ */ O("path", {
935
+ d: "m12 2.8 8.8 8.8a.6.6 0 0 1 0 .8L12 21.2l-8.8-8.8a.6.6 0 0 1 0-.8Z",
936
+ fill: "currentColor"
937
+ }),
938
+ /* @__PURE__ */ O("path", {
939
+ d: "m12 7.2 4.8 4.8-4.8 4.8L7.2 12Z",
940
+ fill: "var(--rly-color-surface-1)"
941
+ }),
942
+ /* @__PURE__ */ O("path", {
943
+ d: "m12 9.8 2.2 2.2-2.2 2.2L9.8 12Z",
944
+ fill: "currentColor"
945
+ })
946
+ ]
947
+ }),
948
+ confluence: () => /* @__PURE__ */ k("svg", {
949
+ "aria-hidden": "true",
950
+ className: z("glyph"),
951
+ focusable: "false",
952
+ viewBox: "0 0 24 24",
953
+ children: [/* @__PURE__ */ O("path", {
954
+ d: "M4 7.2c3.6 2.1 6.8 2.4 9.6.9L17 6.3l2.7 4.3-3.4 1.8c-4.6 2.4-9.5 1.8-14-1.5Z",
955
+ fill: "currentColor"
956
+ }), /* @__PURE__ */ O("path", {
957
+ d: "M20 16.8c-3.6-2.1-6.8-2.4-9.6-.9L7 17.7l-2.7-4.3 3.4-1.8c4.6-2.4 9.5-1.8 14 1.5Z",
958
+ fill: "currentColor"
959
+ })]
960
+ }),
961
+ clockify: () => /* @__PURE__ */ k("svg", {
962
+ "aria-hidden": "true",
963
+ className: z("glyph"),
964
+ focusable: "false",
965
+ viewBox: "0 0 24 24",
966
+ children: [/* @__PURE__ */ O("circle", {
967
+ cx: "11",
968
+ cy: "13",
969
+ fill: "none",
970
+ r: "7",
971
+ stroke: "currentColor",
972
+ strokeWidth: "1.8"
973
+ }), /* @__PURE__ */ O("path", {
974
+ d: "M11 9v4l3 2m1.5-10.7 1.8-1.8M18 7l2-2",
975
+ fill: "none",
976
+ stroke: "currentColor",
977
+ strokeLinecap: "round",
978
+ strokeWidth: "1.8"
979
+ })]
980
+ })
981
+ }, B = ({ className: e, service: t, size: n = "default", ...r }) => {
982
+ let i = nt[t], a = tt[t];
983
+ return /* @__PURE__ */ k("span", {
984
+ ...r,
985
+ "aria-label": a,
986
+ className: l(z("root"), $e.service[t].className, $e.size[n].className, e),
987
+ "data-rly-service": t,
988
+ role: "img",
989
+ children: [
990
+ /* @__PURE__ */ O("span", {
991
+ "aria-hidden": "true",
992
+ className: z("rail")
993
+ }),
994
+ /* @__PURE__ */ O(i, {}),
995
+ /* @__PURE__ */ O("span", {
996
+ "aria-hidden": "true",
997
+ className: z("name"),
998
+ children: a
999
+ })
1000
+ ]
1001
+ });
1002
+ }, rt = {
1003
+ root: "rly_Verdict-module__root",
1004
+ verdict: "rly_Verdict-module__verdict",
1005
+ caution: "rly_Verdict-module__caution",
1006
+ critical: "rly_Verdict-module__critical",
1007
+ neutral: "rly_Verdict-module__neutral",
1008
+ positive: "rly_Verdict-module__positive",
1009
+ progress: "rly_Verdict-module__progress",
1010
+ reasonPanel: "rly_Verdict-module__reasonPanel",
1011
+ icon: "rly_Verdict-module__icon",
1012
+ reason: "rly_Verdict-module__reason"
1013
+ }, V = (e) => s(rt, e), it = c({ tone: {
1014
+ caution: {
1015
+ className: V("caution"),
1016
+ purpose: "Intentional hold or caution requiring attention",
1017
+ tokens: ["color-held-ink", "color-held-tint"]
1018
+ },
1019
+ critical: {
1020
+ className: V("critical"),
1021
+ purpose: "Explicit blocker or failed prerequisite",
1022
+ tokens: ["color-blocked-ink", "color-blocked-tint"]
1023
+ },
1024
+ neutral: {
1025
+ className: V("neutral"),
1026
+ purpose: "Neutral, missing, or unavailable outcome",
1027
+ tokens: ["color-text-2", "color-surface-2"]
1028
+ },
1029
+ positive: {
1030
+ className: V("positive"),
1031
+ purpose: "Satisfied readiness or successful outcome",
1032
+ tokens: ["color-success-ink", "color-success-tint"]
1033
+ },
1034
+ progress: {
1035
+ className: V("progress"),
1036
+ purpose: "Active work or delivery progress",
1037
+ tokens: ["color-deploying-ink", "color-deploying-tint"]
1038
+ }
1039
+ } }), at = {
1040
+ caution: "clock",
1041
+ critical: "alert",
1042
+ neutral: "minus",
1043
+ positive: "check",
1044
+ progress: "loader"
1045
+ }, ot = ({ className: t, reason: n, tone: r, verdict: i, ...o }) => {
1046
+ let s = a(n, "Verdict reason"), c = a(i, "Verdict verdict");
1047
+ return /* @__PURE__ */ k("section", {
1048
+ ...o,
1049
+ className: l(V("root"), it.tone[r].className, t),
1050
+ "data-rly-verdict-tone": r,
1051
+ children: [/* @__PURE__ */ O("h2", {
1052
+ className: V("verdict"),
1053
+ children: c
1054
+ }), /* @__PURE__ */ k("div", {
1055
+ className: V("reasonPanel"),
1056
+ children: [/* @__PURE__ */ O("span", {
1057
+ "aria-hidden": "true",
1058
+ className: V("icon"),
1059
+ children: /* @__PURE__ */ O(e, {
1060
+ decorative: !0,
1061
+ name: at[r],
1062
+ size: "large"
1063
+ })
1064
+ }), /* @__PURE__ */ O("p", {
1065
+ className: V("reason"),
1066
+ children: s
1067
+ })]
1068
+ })]
1069
+ });
1070
+ }, st = {
1071
+ root: "rly_EntityShell-module__root",
1072
+ navigation: "rly_EntityShell-module__navigation",
1073
+ header: "rly_EntityShell-module__header",
1074
+ identity: "rly_EntityShell-module__identity",
1075
+ title: "rly_EntityShell-module__title",
1076
+ hero: "rly_EntityShell-module__hero",
1077
+ body: "rly_EntityShell-module__body",
1078
+ headerAside: "rly_EntityShell-module__headerAside",
1079
+ freshness: "rly_EntityShell-module__freshness",
1080
+ headerSlot: "rly_EntityShell-module__headerSlot",
1081
+ slotLabel: "rly_EntityShell-module__slotLabel",
1082
+ content: "rly_EntityShell-module__content",
1083
+ relationships: "rly_EntityShell-module__relationships",
1084
+ activity: "rly_EntityShell-module__activity",
1085
+ asideSlot: "rly_EntityShell-module__asideSlot",
1086
+ aside: "rly_EntityShell-module__aside"
1087
+ }, H = (e) => s(st, e), ct = ({ actions: e, activity: t, agentEntry: n, className: r, collaborators: i, content: o, evidence: s, facts: c, freshness: u, freshnessDateTime: d, freshnessTime: f, navigation: p, reason: m, relationships: h, service: g, title: _, tone: v, verdict: y, ...b }) => {
1088
+ let x = a(_, "EntityShell title");
1089
+ if (d === void 0 != (f === void 0)) throw Error("EntityShell freshnessDateTime and freshnessTime must be supplied together");
1090
+ let S = `rly-entity-shell-${E()}`;
1091
+ return /* @__PURE__ */ k("article", {
1092
+ ...b,
1093
+ "aria-labelledby": S,
1094
+ className: l(H("root"), r),
1095
+ "data-rly-entity-shell": "",
1096
+ children: [
1097
+ p === void 0 ? null : /* @__PURE__ */ O("nav", {
1098
+ "aria-label": `${x} navigation`,
1099
+ className: H("navigation"),
1100
+ "data-rly-entity-shell-slot": "navigation",
1101
+ children: p
1102
+ }),
1103
+ /* @__PURE__ */ k("header", {
1104
+ className: H("header"),
1105
+ children: [/* @__PURE__ */ k("div", {
1106
+ className: H("identity"),
1107
+ children: [/* @__PURE__ */ O(B, { service: g }), /* @__PURE__ */ O("h1", {
1108
+ className: H("title"),
1109
+ id: S,
1110
+ children: x
1111
+ })]
1112
+ }), /* @__PURE__ */ k("div", {
1113
+ className: H("hero"),
1114
+ children: [/* @__PURE__ */ O(ot, {
1115
+ reason: m,
1116
+ tone: v,
1117
+ verdict: y
1118
+ }), /* @__PURE__ */ k("div", {
1119
+ className: H("headerAside"),
1120
+ children: [
1121
+ /* @__PURE__ */ k("div", {
1122
+ className: H("freshness"),
1123
+ "data-rly-entity-shell-slot": "freshness",
1124
+ children: [/* @__PURE__ */ O("span", {
1125
+ className: H("slotLabel"),
1126
+ children: "Freshness"
1127
+ }), d === void 0 || f === void 0 ? /* @__PURE__ */ O(R, { state: u }) : /* @__PURE__ */ O(R, {
1128
+ dateTime: d,
1129
+ state: u,
1130
+ time: f
1131
+ })]
1132
+ }),
1133
+ /* @__PURE__ */ O("div", {
1134
+ className: H("headerSlot"),
1135
+ "data-rly-entity-shell-slot": "actions",
1136
+ children: e
1137
+ }),
1138
+ /* @__PURE__ */ O("div", {
1139
+ className: H("headerSlot"),
1140
+ "data-rly-entity-shell-slot": "agent-entry",
1141
+ children: n
1142
+ })
1143
+ ]
1144
+ })]
1145
+ })]
1146
+ }),
1147
+ /* @__PURE__ */ k("div", {
1148
+ className: H("body"),
1149
+ children: [/* @__PURE__ */ O("section", {
1150
+ className: H("content"),
1151
+ "data-rly-entity-shell-slot": "content",
1152
+ children: o
1153
+ }), /* @__PURE__ */ k("aside", {
1154
+ className: H("aside"),
1155
+ children: [
1156
+ c === void 0 ? null : /* @__PURE__ */ O("section", {
1157
+ className: H("asideSlot"),
1158
+ "data-rly-entity-shell-slot": "facts",
1159
+ children: c
1160
+ }),
1161
+ s === void 0 ? null : /* @__PURE__ */ O("section", {
1162
+ className: H("asideSlot"),
1163
+ "data-rly-entity-shell-slot": "evidence",
1164
+ children: s
1165
+ }),
1166
+ /* @__PURE__ */ O("section", {
1167
+ className: H("asideSlot"),
1168
+ "data-rly-entity-shell-slot": "collaborators",
1169
+ children: i
1170
+ })
1171
+ ]
1172
+ })]
1173
+ }),
1174
+ /* @__PURE__ */ O("section", {
1175
+ className: H("relationships"),
1176
+ "data-rly-entity-shell-slot": "relationships",
1177
+ children: h
1178
+ }),
1179
+ t === void 0 ? null : /* @__PURE__ */ O("section", {
1180
+ className: H("activity"),
1181
+ "data-rly-entity-shell-slot": "activity",
1182
+ children: t
1183
+ })
1184
+ ]
1185
+ });
1186
+ }, lt = {
1187
+ root: "rly_EntityTable-module__root",
1188
+ heading: "rly_EntityTable-module__heading",
1189
+ loading: "rly_EntityTable-module__loading",
1190
+ stateLabel: "rly_EntityTable-module__stateLabel",
1191
+ table: "rly_EntityTable-module__table",
1192
+ head: "rly_EntityTable-module__head",
1193
+ sortControls: "rly_EntityTable-module__sortControls",
1194
+ sortLabel: "rly_EntityTable-module__sortLabel",
1195
+ sortButton: "rly_EntityTable-module__sortButton",
1196
+ cell: "rly_EntityTable-module__cell",
1197
+ row: "rly_EntityTable-module__row",
1198
+ body: "rly_EntityTable-module__body"
1199
+ }, U = (e) => s(lt, e), ut = (e) => {
1200
+ let t = /* @__PURE__ */ new Set();
1201
+ for (let n of e) {
1202
+ let e = a(n.id, "EntityTable column id");
1203
+ if (t.has(e)) throw Error(`EntityTable column ids must be unique: ${e}`);
1204
+ t.add(e), a(n.label, `EntityTable column label for ${e}`);
1205
+ }
1206
+ return t;
1207
+ }, dt = (e, t) => {
1208
+ let n = /* @__PURE__ */ new Set();
1209
+ for (let r of e) {
1210
+ let e = a(r.id, "EntityTable row id");
1211
+ if (n.has(e)) throw Error(`EntityTable row ids must be unique: ${e}`);
1212
+ n.add(e);
1213
+ let i = /* @__PURE__ */ new Set();
1214
+ for (let n of r.cells) {
1215
+ let r = a(n.columnId, `EntityTable cell column id for ${e}`);
1216
+ if (!t.has(r)) throw Error(`EntityTable row ${e} has an unknown column: ${r}`);
1217
+ if (i.has(r)) throw Error(`EntityTable row ${e} repeats column: ${r}`);
1218
+ i.add(r);
1219
+ }
1220
+ for (let n of t) if (!i.has(n)) throw Error(`EntityTable row ${e} is missing column: ${n}`);
1221
+ }
1222
+ }, ft = (e) => e.state === "ready" || e.state === "stale" || e.state === "partial" || e.state === "error" || e.state === "unavailable" ? e.rows : [], pt = ({ direction: t }) => /* @__PURE__ */ O(e, {
1223
+ decorative: !0,
1224
+ name: t === "ascending" ? "arrow-up" : t === "descending" ? "arrow-down" : "minus",
1225
+ size: "small"
1226
+ }), mt = ({ className: e, columns: t, data: n, heading: r, onSortChange: i, ...o }) => {
1227
+ let s = a(r, "EntityTable heading"), c = ut(t), u = ft(n);
1228
+ if (dt(u, c), n.state === "ready" && u.length === 0) throw Error("EntityTable ready state must contain at least one row; use the empty state instead");
1229
+ if (n.state === "loading") {
1230
+ a(n.label, "EntityTable loading label");
1231
+ let e = n.skeletonRows ?? 3;
1232
+ if (!Number.isInteger(e) || e < 1 || e > 20) throw Error("EntityTable skeletonRows must be an integer from 1 to 20");
1233
+ }
1234
+ if ((n.state === "empty" || n.state === "not-found") && (a(n.title, "EntityTable state title"), n.description !== void 0 && a(n.description, "EntityTable state description")), (n.state === "stale" || n.state === "partial" || n.state === "error" || n.state === "unavailable") && (a(n.title, "EntityTable cached state title"), a(n.description, "EntityTable cached state description"), u.length === 0)) throw Error(`EntityTable ${n.state} state must retain at least one cached row`);
1235
+ let d = `rly-entity-table-${E()}`, f = new Map(t.map((e) => [e.id, e])), p = n.state === "stale" || n.state === "partial" || n.state === "error" || n.state === "unavailable" ? /* @__PURE__ */ O(y, {
1236
+ description: n.description,
1237
+ title: n.title,
1238
+ tone: n.tone
1239
+ }) : null;
1240
+ return /* @__PURE__ */ k("section", {
1241
+ ...o,
1242
+ "aria-busy": n.state === "loading" ? "true" : void 0,
1243
+ "aria-labelledby": d,
1244
+ className: l(U("root"), e),
1245
+ "data-rly-entity-table-state": n.state,
1246
+ children: [/* @__PURE__ */ O("h2", {
1247
+ className: U("heading"),
1248
+ id: d,
1249
+ children: s
1250
+ }), n.state === "loading" ? /* @__PURE__ */ k("div", {
1251
+ "aria-label": n.label,
1252
+ className: U("loading"),
1253
+ role: "status",
1254
+ children: [/* @__PURE__ */ O("span", {
1255
+ className: U("stateLabel"),
1256
+ children: n.label
1257
+ }), Array.from({ length: n.skeletonRows ?? 3 }, (e, t) => /* @__PURE__ */ O(x, {
1258
+ height: "48px",
1259
+ variant: "block"
1260
+ }, t))]
1261
+ }) : n.state === "empty" || n.state === "not-found" ? /* @__PURE__ */ O(y, {
1262
+ description: n.description,
1263
+ title: n.title
1264
+ }) : /* @__PURE__ */ k(se, { children: [
1265
+ p,
1266
+ /* @__PURE__ */ k("div", {
1267
+ "aria-label": `${s} sorting`,
1268
+ className: U("sortControls"),
1269
+ role: "group",
1270
+ children: [/* @__PURE__ */ O("span", {
1271
+ className: U("sortLabel"),
1272
+ children: "Sort"
1273
+ }), t.map((e) => e.sortable ? /* @__PURE__ */ k("button", {
1274
+ "aria-label": `Sort by ${e.label}, currently ${e.sortDirection}`,
1275
+ className: U("sortButton"),
1276
+ onClick: () => i(e.id),
1277
+ type: "button",
1278
+ children: [/* @__PURE__ */ O("span", { children: e.label }), /* @__PURE__ */ O(pt, { direction: e.sortDirection })]
1279
+ }, e.id) : null)]
1280
+ }),
1281
+ /* @__PURE__ */ k("table", {
1282
+ "aria-labelledby": d,
1283
+ className: U("table"),
1284
+ children: [/* @__PURE__ */ O("thead", {
1285
+ className: U("head"),
1286
+ children: /* @__PURE__ */ O("tr", { children: t.map((e) => /* @__PURE__ */ O("th", {
1287
+ "aria-sort": e.sortable ? e.sortDirection : void 0,
1288
+ scope: "col",
1289
+ children: e.label
1290
+ }, e.id)) })
1291
+ }), /* @__PURE__ */ O("tbody", {
1292
+ className: U("body"),
1293
+ children: u.map((e) => {
1294
+ let n = new Map(e.cells.map((e) => [e.columnId, e.content]));
1295
+ return /* @__PURE__ */ O("tr", {
1296
+ className: U("row"),
1297
+ "data-rly-entity-row-id": e.id,
1298
+ children: t.map((e) => /* @__PURE__ */ O("td", {
1299
+ className: U("cell"),
1300
+ "data-label": f.get(e.id)?.label,
1301
+ children: n.get(e.id)
1302
+ }, e.id))
1303
+ }, e.id);
1304
+ })
1305
+ })]
1306
+ })
1307
+ ] })]
1308
+ });
1309
+ }, ht = {
1310
+ root: "rly_EvidenceStamp-module__root",
1311
+ source: "rly_EvidenceStamp-module__source",
1312
+ freshness: "rly_EvidenceStamp-module__freshness",
1313
+ conceptLabel: "rly_EvidenceStamp-module__conceptLabel",
1314
+ sourceDetail: "rly_EvidenceStamp-module__sourceDetail",
1315
+ reference: "rly_EvidenceStamp-module__reference"
1316
+ }, gt = (e) => s(ht, e), _t = ({ className: e, freshness: t, freshnessDateTime: n, freshnessTime: r, reference: i, service: o, ...s }) => {
1317
+ let c = a(i, "EvidenceStamp reference"), u = n === void 0 || r === void 0 ? /* @__PURE__ */ O(R, {
1318
+ size: "compact",
1319
+ state: t
1320
+ }) : /* @__PURE__ */ O(R, {
1321
+ dateTime: n,
1322
+ size: "compact",
1323
+ state: t,
1324
+ time: r
1325
+ });
1326
+ return /* @__PURE__ */ k("div", {
1327
+ ...s,
1328
+ className: l(gt("root"), e),
1329
+ "data-rly-evidence-stamp": "",
1330
+ children: [/* @__PURE__ */ k("div", {
1331
+ className: gt("source"),
1332
+ "data-rly-evidence-source": o,
1333
+ children: [/* @__PURE__ */ O("span", {
1334
+ className: gt("conceptLabel"),
1335
+ children: "Evidence source"
1336
+ }), /* @__PURE__ */ k("div", {
1337
+ className: gt("sourceDetail"),
1338
+ children: [/* @__PURE__ */ O(B, {
1339
+ service: o,
1340
+ size: "compact"
1341
+ }), /* @__PURE__ */ O("code", {
1342
+ className: gt("reference"),
1343
+ children: c
1344
+ })]
1345
+ })]
1346
+ }), /* @__PURE__ */ k("div", {
1347
+ className: gt("freshness"),
1348
+ "data-rly-evidence-freshness": t,
1349
+ children: [/* @__PURE__ */ O("span", {
1350
+ className: gt("conceptLabel"),
1351
+ children: "Freshness"
1352
+ }), u]
1353
+ })]
1354
+ });
1355
+ }, vt = {
1356
+ root: "rly_GovernedActionReview-module__root",
1357
+ header: "rly_GovernedActionReview-module__header",
1358
+ eyebrow: "rly_GovernedActionReview-module__eyebrow",
1359
+ heading: "rly_GovernedActionReview-module__heading",
1360
+ boundary: "rly_GovernedActionReview-module__boundary",
1361
+ confirmationHelp: "rly_GovernedActionReview-module__confirmationHelp",
1362
+ reviewer: "rly_GovernedActionReview-module__reviewer",
1363
+ facts: "rly_GovernedActionReview-module__facts",
1364
+ evidence: "rly_GovernedActionReview-module__evidence",
1365
+ outcome: "rly_GovernedActionReview-module__outcome",
1366
+ proposalReference: "rly_GovernedActionReview-module__proposalReference",
1367
+ decision: "rly_GovernedActionReview-module__decision",
1368
+ confirmation: "rly_GovernedActionReview-module__confirmation",
1369
+ actions: "rly_GovernedActionReview-module__actions"
1370
+ }, W = (e) => s(vt, e), yt = {
1371
+ pending: {
1372
+ label: "Awaiting human decision",
1373
+ tone: "caution"
1374
+ },
1375
+ rejected: {
1376
+ label: "Rejected by human reviewer",
1377
+ tone: "critical"
1378
+ },
1379
+ authorized: {
1380
+ label: "Authorized by human reviewer",
1381
+ tone: "positive"
1382
+ },
1383
+ executing: {
1384
+ label: "Authorized action executing",
1385
+ tone: "progress"
1386
+ },
1387
+ succeeded: {
1388
+ label: "Authorized action succeeded",
1389
+ tone: "positive"
1390
+ },
1391
+ failed: {
1392
+ label: "Authorized action failed",
1393
+ tone: "critical"
1394
+ },
1395
+ cancelled: {
1396
+ label: "Authorized action cancelled",
1397
+ tone: "neutral"
1398
+ }
1399
+ }, bt = ({ authorizeLabel: e = "Authorize exact action", className: t, confirmationLabel: n, isConfirmed: r, onAuthorize: i, onConfirmationChange: o, onReject: s, outcome: c, proposal: u, rejectLabel: d = "Reject proposal", reviewer: f, state: p, ...m }) => {
1400
+ let h = Se(u), g = a(e, "GovernedActionReview authorizeLabel"), _ = a(n, "GovernedActionReview confirmationLabel"), y = a(d, "GovernedActionReview rejectLabel");
1401
+ a(f.id, "GovernedActionReview reviewer id"), a(f.name, "GovernedActionReview reviewer name"), a(f.role, "GovernedActionReview reviewer role");
1402
+ let b = `rly-governed-action-${E()}`, x = `rly-governed-action-reference-${E()}`, S = `rly-governed-confirmation-${E()}`, C = yt[p], ee = () => {
1403
+ p === "pending" && r && i();
1404
+ };
1405
+ return /* @__PURE__ */ k("section", {
1406
+ ...m,
1407
+ "aria-labelledby": `${b} ${x}`,
1408
+ className: l(W("root"), t),
1409
+ "data-rly-governed-action-state": p,
1410
+ children: [
1411
+ /* @__PURE__ */ k("header", {
1412
+ className: W("header"),
1413
+ children: [/* @__PURE__ */ k("div", { children: [
1414
+ /* @__PURE__ */ O("p", {
1415
+ className: W("eyebrow"),
1416
+ children: "Human authorization"
1417
+ }),
1418
+ /* @__PURE__ */ O("h2", {
1419
+ className: W("heading"),
1420
+ id: b,
1421
+ children: "Review exact proposed action"
1422
+ }),
1423
+ /* @__PURE__ */ O("code", {
1424
+ className: W("proposalReference"),
1425
+ id: x,
1426
+ children: h.id
1427
+ })
1428
+ ] }), /* @__PURE__ */ O(w, {
1429
+ label: C.label,
1430
+ tone: C.tone
1431
+ })]
1432
+ }),
1433
+ /* @__PURE__ */ O("p", {
1434
+ className: W("boundary"),
1435
+ children: "The agent proposed this action. Only the named human reviewer can authorize it."
1436
+ }),
1437
+ /* @__PURE__ */ k("div", {
1438
+ className: W("reviewer"),
1439
+ children: [/* @__PURE__ */ O("span", { children: "Human reviewer" }), /* @__PURE__ */ O(F, { person: f })]
1440
+ }),
1441
+ /* @__PURE__ */ k("dl", {
1442
+ className: W("facts"),
1443
+ children: [
1444
+ /* @__PURE__ */ k("div", { children: [/* @__PURE__ */ O("dt", { children: "Proposal" }), /* @__PURE__ */ O("dd", { children: h.capability })] }),
1445
+ /* @__PURE__ */ k("div", { children: [/* @__PURE__ */ O("dt", { children: "Target" }), /* @__PURE__ */ O("dd", { children: h.target })] }),
1446
+ /* @__PURE__ */ k("div", { children: [/* @__PURE__ */ O("dt", { children: "Expected revision" }), /* @__PURE__ */ O("dd", { children: h.expectedRevision })] }),
1447
+ /* @__PURE__ */ k("div", { children: [/* @__PURE__ */ O("dt", { children: "Impact" }), /* @__PURE__ */ O("dd", { children: h.impact })] })
1448
+ ]
1449
+ }),
1450
+ /* @__PURE__ */ k("div", {
1451
+ className: W("evidence"),
1452
+ "data-rly-governed-action-evidence": "",
1453
+ children: [/* @__PURE__ */ O("h3", { children: "Evidence reviewed before decision" }), /* @__PURE__ */ O("ul", { children: h.evidence.map((e) => /* @__PURE__ */ k("li", { children: [/* @__PURE__ */ O("span", { children: e.label }), /* @__PURE__ */ O("code", { children: e.reference })] }, e.id)) })]
1454
+ }),
1455
+ p === "pending" ? /* @__PURE__ */ k("form", {
1456
+ className: W("decision"),
1457
+ onSubmit: (e) => e.preventDefault(),
1458
+ children: [
1459
+ /* @__PURE__ */ k("label", {
1460
+ className: W("confirmation"),
1461
+ htmlFor: S,
1462
+ children: [/* @__PURE__ */ O("input", {
1463
+ checked: r,
1464
+ id: S,
1465
+ onChange: (e) => o(e.currentTarget.checked),
1466
+ type: "checkbox"
1467
+ }), /* @__PURE__ */ O("span", { children: _ })]
1468
+ }),
1469
+ /* @__PURE__ */ O("p", {
1470
+ className: W("confirmationHelp"),
1471
+ children: "Confirm the exact proposal, target, revision, impact, and evidence above."
1472
+ }),
1473
+ /* @__PURE__ */ k("div", {
1474
+ className: W("actions"),
1475
+ children: [/* @__PURE__ */ O(v, {
1476
+ onClick: s,
1477
+ variant: "secondary",
1478
+ children: y
1479
+ }), /* @__PURE__ */ O(v, {
1480
+ disabled: !r,
1481
+ onClick: ee,
1482
+ variant: "primary",
1483
+ children: g
1484
+ })]
1485
+ })
1486
+ ]
1487
+ }) : null,
1488
+ /* @__PURE__ */ k("div", {
1489
+ className: W("outcome"),
1490
+ "data-rly-governed-action-outcome": "",
1491
+ children: [/* @__PURE__ */ O("h3", { children: "Recorded outcome" }), c]
1492
+ })
1493
+ ]
1494
+ });
1495
+ }, xt = {
1496
+ missing: {
1497
+ icon: "alert",
1498
+ label: "Missing"
1499
+ },
1500
+ inferred: {
1501
+ icon: "search",
1502
+ label: "Inferred"
1503
+ },
1504
+ proposed: {
1505
+ icon: "plus",
1506
+ label: "Proposed"
1507
+ },
1508
+ verified: {
1509
+ icon: "check",
1510
+ label: "Verified"
1511
+ },
1512
+ governed: {
1513
+ icon: "link",
1514
+ label: "Governed"
1515
+ },
1516
+ rejected: {
1517
+ icon: "close",
1518
+ label: "Rejected"
1519
+ },
1520
+ superseded: {
1521
+ icon: "arrow-right",
1522
+ label: "Superseded"
1523
+ }
1524
+ }, St = {
1525
+ forward: {
1526
+ arrow: "→",
1527
+ label: "Forward"
1528
+ },
1529
+ reverse: {
1530
+ arrow: "←",
1531
+ label: "Reverse"
1532
+ },
1533
+ bidirectional: {
1534
+ arrow: "↔",
1535
+ label: "Bidirectional"
1536
+ }
1537
+ }, Ct = (e, t) => {
1538
+ a(e.id, `${t} person id`), a(e.name, `${t} person name`), a(e.role, `${t} person role`), e.avatarFallback !== void 0 && a(e.avatarFallback, `${t} person avatarFallback`), e.avatarSrc !== void 0 && a(e.avatarSrc, `${t} person avatarSrc`);
1539
+ }, wt = (e, t) => {
1540
+ if (!Object.hasOwn($e.service, e)) throw Error(`${t} service must be a supported rly service`);
1541
+ }, Tt = (e, t) => {
1542
+ if (e.state === "present") {
1543
+ a(e.id, `${t} id`), a(e.title, `${t} title`), a(e.reference, `${t} reference`), wt(e.service, t), e.href !== void 0 && a(e.href, `${t} href`), e.person !== void 0 && Ct(e.person, t);
1544
+ return;
1545
+ }
1546
+ if (e.state === "missing") {
1547
+ a(e.label, `${t} missing label`), a(e.reason, `${t} missing reason`), e.service !== void 0 && wt(e.service, t);
1548
+ return;
1549
+ }
1550
+ throw Error(`${t} state must be present or missing`);
1551
+ }, Et = (e) => {
1552
+ let t = /* @__PURE__ */ new Set();
1553
+ for (let n of e) {
1554
+ let e = a(n.id, "Relationship id");
1555
+ if (t.has(e)) throw Error(`Relationship ids must be unique: ${e}`);
1556
+ if (t.add(e), a(n.kind, `Relationship kind for ${e}`), !Object.hasOwn(St, n.direction)) throw Error(`Relationship direction for ${e} must be supported`);
1557
+ if (!Object.hasOwn(xt, n.lifecycle)) throw Error(`Relationship lifecycle for ${e} must be supported`);
1558
+ Tt(n.source, `Relationship ${e} source`), Tt(n.target, `Relationship ${e} target`), n.evidence !== void 0 && a(n.evidence, `Relationship evidence for ${e}`), n.actor !== void 0 && Ct(n.actor, `Relationship ${e} actor`);
1559
+ }
1560
+ }, Dt = {
1561
+ root: "rly_RelationshipChain-module__root",
1562
+ heading: "rly_RelationshipChain-module__heading",
1563
+ empty: "rly_RelationshipChain-module__empty",
1564
+ list: "rly_RelationshipChain-module__list",
1565
+ item: "rly_RelationshipChain-module__item",
1566
+ endpoint: "rly_RelationshipChain-module__endpoint",
1567
+ endpointLink: "rly_RelationshipChain-module__endpointLink",
1568
+ identity: "rly_RelationshipChain-module__identity",
1569
+ missingIdentity: "rly_RelationshipChain-module__missingIdentity",
1570
+ title: "rly_RelationshipChain-module__title",
1571
+ missingLabel: "rly_RelationshipChain-module__missingLabel",
1572
+ kind: "rly_RelationshipChain-module__kind",
1573
+ reference: "rly_RelationshipChain-module__reference",
1574
+ direction: "rly_RelationshipChain-module__direction",
1575
+ evidence: "rly_RelationshipChain-module__evidence",
1576
+ fieldLabel: "rly_RelationshipChain-module__fieldLabel",
1577
+ missingEndpoint: "rly_RelationshipChain-module__missingEndpoint",
1578
+ relationship: "rly_RelationshipChain-module__relationship",
1579
+ arrow: "rly_RelationshipChain-module__arrow",
1580
+ actor: "rly_RelationshipChain-module__actor"
1581
+ }, G = (e) => s(Dt, e), Ot = ({ endpoint: t }) => {
1582
+ if (t.state === "missing") return /* @__PURE__ */ k("div", {
1583
+ className: l(G("endpoint"), G("missingEndpoint")),
1584
+ "data-rly-endpoint-state": "missing",
1585
+ children: [t.service === void 0 ? null : /* @__PURE__ */ O(B, {
1586
+ service: t.service,
1587
+ size: "compact"
1588
+ }), /* @__PURE__ */ k("span", {
1589
+ className: G("missingIdentity"),
1590
+ children: [/* @__PURE__ */ k("span", {
1591
+ className: G("missingLabel"),
1592
+ children: [/* @__PURE__ */ O(e, {
1593
+ decorative: !0,
1594
+ name: "alert",
1595
+ size: "small"
1596
+ }), t.label]
1597
+ }), /* @__PURE__ */ O("span", {
1598
+ className: G("reference"),
1599
+ children: t.reason
1600
+ })]
1601
+ })]
1602
+ });
1603
+ let n = /* @__PURE__ */ k("span", {
1604
+ className: G("identity"),
1605
+ children: [/* @__PURE__ */ O("span", {
1606
+ className: G("title"),
1607
+ children: t.title
1608
+ }), /* @__PURE__ */ O("span", {
1609
+ className: G("reference"),
1610
+ children: t.reference
1611
+ })]
1612
+ });
1613
+ return /* @__PURE__ */ k("div", {
1614
+ className: G("endpoint"),
1615
+ "data-rly-endpoint-id": t.id,
1616
+ "data-rly-endpoint-state": "present",
1617
+ children: [
1618
+ /* @__PURE__ */ O(B, {
1619
+ service: t.service,
1620
+ size: "compact"
1621
+ }),
1622
+ t.href === void 0 ? n : /* @__PURE__ */ O(r, {
1623
+ className: G("endpointLink"),
1624
+ href: t.href,
1625
+ children: n
1626
+ }),
1627
+ t.person === void 0 ? null : /* @__PURE__ */ O(F, {
1628
+ person: t.person,
1629
+ size: "compact"
1630
+ })
1631
+ ]
1632
+ });
1633
+ }, kt = ({ className: e, emptyLabel: t = "No relationships recorded.", heading: n, relationships: r, ...i }) => {
1634
+ let o = a(n, "RelationshipChain heading"), s = a(t, "RelationshipChain emptyLabel");
1635
+ Et(r);
1636
+ let c = `${E()}-heading`;
1637
+ return /* @__PURE__ */ k("section", {
1638
+ ...i,
1639
+ "aria-labelledby": c,
1640
+ className: l(G("root"), e),
1641
+ children: [/* @__PURE__ */ O("h2", {
1642
+ className: G("heading"),
1643
+ id: c,
1644
+ children: o
1645
+ }), r.length === 0 ? /* @__PURE__ */ O("p", {
1646
+ className: G("empty"),
1647
+ children: s
1648
+ }) : /* @__PURE__ */ O("ol", {
1649
+ className: G("list"),
1650
+ children: r.map((e) => {
1651
+ let t = St[e.direction], n = xt[e.lifecycle];
1652
+ return /* @__PURE__ */ k("li", {
1653
+ className: G("item"),
1654
+ "data-rly-relationship-id": e.id,
1655
+ "data-rly-relationship-direction": e.direction,
1656
+ "data-rly-relationship-kind": e.kind,
1657
+ "data-rly-relationship-lifecycle": e.lifecycle,
1658
+ children: [
1659
+ /* @__PURE__ */ O(Ot, { endpoint: e.source }),
1660
+ /* @__PURE__ */ k("div", {
1661
+ className: G("relationship"),
1662
+ "data-rly-relationship-detail": "",
1663
+ children: [
1664
+ /* @__PURE__ */ k("span", {
1665
+ className: G("direction"),
1666
+ children: [/* @__PURE__ */ O("span", { children: t.label }), /* @__PURE__ */ O("span", {
1667
+ "aria-hidden": "true",
1668
+ className: G("arrow"),
1669
+ children: t.arrow
1670
+ })]
1671
+ }),
1672
+ /* @__PURE__ */ O("span", {
1673
+ className: G("kind"),
1674
+ children: e.kind
1675
+ }),
1676
+ /* @__PURE__ */ O(w, {
1677
+ icon: n.icon,
1678
+ label: n.label,
1679
+ size: "compact",
1680
+ tone: "neutral"
1681
+ }),
1682
+ e.actor === void 0 ? null : /* @__PURE__ */ k("div", {
1683
+ className: G("actor"),
1684
+ "data-rly-relationship-actor": e.actor.id,
1685
+ children: [/* @__PURE__ */ O("span", {
1686
+ className: G("fieldLabel"),
1687
+ children: "Actor"
1688
+ }), /* @__PURE__ */ O(F, {
1689
+ person: e.actor,
1690
+ size: "compact"
1691
+ })]
1692
+ })
1693
+ ]
1694
+ }),
1695
+ /* @__PURE__ */ O(Ot, { endpoint: e.target }),
1696
+ /* @__PURE__ */ k("p", {
1697
+ className: G("evidence"),
1698
+ children: [/* @__PURE__ */ O("span", {
1699
+ className: G("fieldLabel"),
1700
+ children: "Evidence"
1701
+ }), /* @__PURE__ */ O("span", {
1702
+ "data-rly-relationship-evidence": "",
1703
+ children: e.evidence ?? "No evidence recorded."
1704
+ })]
1705
+ })
1706
+ ]
1707
+ }, e.id);
1708
+ })
1709
+ })]
1710
+ });
1711
+ }, At = {
1712
+ root: "rly_RelationshipTable-module__root",
1713
+ heading: "rly_RelationshipTable-module__heading",
1714
+ empty: "rly_RelationshipTable-module__empty",
1715
+ table: "rly_RelationshipTable-module__table",
1716
+ head: "rly_RelationshipTable-module__head",
1717
+ cell: "rly_RelationshipTable-module__cell",
1718
+ endpoint: "rly_RelationshipTable-module__endpoint",
1719
+ identity: "rly_RelationshipTable-module__identity",
1720
+ relationship: "rly_RelationshipTable-module__relationship",
1721
+ actor: "rly_RelationshipTable-module__actor",
1722
+ endpointLink: "rly_RelationshipTable-module__endpointLink",
1723
+ title: "rly_RelationshipTable-module__title",
1724
+ missingLabel: "rly_RelationshipTable-module__missingLabel",
1725
+ kind: "rly_RelationshipTable-module__kind",
1726
+ reference: "rly_RelationshipTable-module__reference",
1727
+ direction: "rly_RelationshipTable-module__direction",
1728
+ evidence: "rly_RelationshipTable-module__evidence",
1729
+ fieldLabel: "rly_RelationshipTable-module__fieldLabel",
1730
+ missingEndpoint: "rly_RelationshipTable-module__missingEndpoint",
1731
+ arrow: "rly_RelationshipTable-module__arrow",
1732
+ body: "rly_RelationshipTable-module__body",
1733
+ row: "rly_RelationshipTable-module__row"
1734
+ }, K = (e) => s(At, e), jt = ({ endpoint: t }) => {
1735
+ if (t.state === "missing") return /* @__PURE__ */ k("div", {
1736
+ className: l(K("endpoint"), K("missingEndpoint")),
1737
+ "data-rly-endpoint-state": "missing",
1738
+ children: [t.service === void 0 ? null : /* @__PURE__ */ O(B, {
1739
+ service: t.service,
1740
+ size: "compact"
1741
+ }), /* @__PURE__ */ k("span", {
1742
+ className: K("identity"),
1743
+ children: [/* @__PURE__ */ k("span", {
1744
+ className: K("missingLabel"),
1745
+ children: [/* @__PURE__ */ O(e, {
1746
+ decorative: !0,
1747
+ name: "alert",
1748
+ size: "small"
1749
+ }), t.label]
1750
+ }), /* @__PURE__ */ O("span", {
1751
+ className: K("reference"),
1752
+ children: t.reason
1753
+ })]
1754
+ })]
1755
+ });
1756
+ let n = /* @__PURE__ */ k("span", {
1757
+ className: K("identity"),
1758
+ children: [/* @__PURE__ */ O("span", {
1759
+ className: K("title"),
1760
+ children: t.title
1761
+ }), /* @__PURE__ */ O("span", {
1762
+ className: K("reference"),
1763
+ children: t.reference
1764
+ })]
1765
+ });
1766
+ return /* @__PURE__ */ k("div", {
1767
+ className: K("endpoint"),
1768
+ "data-rly-endpoint-id": t.id,
1769
+ "data-rly-endpoint-state": "present",
1770
+ children: [
1771
+ /* @__PURE__ */ O(B, {
1772
+ service: t.service,
1773
+ size: "compact"
1774
+ }),
1775
+ t.href === void 0 ? n : /* @__PURE__ */ O(r, {
1776
+ className: K("endpointLink"),
1777
+ href: t.href,
1778
+ children: n
1779
+ }),
1780
+ t.person === void 0 ? null : /* @__PURE__ */ O(F, {
1781
+ person: t.person,
1782
+ size: "compact"
1783
+ })
1784
+ ]
1785
+ });
1786
+ }, Mt = ({ className: e, emptyLabel: t = "No relationships recorded.", heading: n, relationships: r, ...i }) => {
1787
+ let o = a(n, "RelationshipTable heading"), s = a(t, "RelationshipTable emptyLabel");
1788
+ Et(r);
1789
+ let c = `${E()}-heading`;
1790
+ return /* @__PURE__ */ k("section", {
1791
+ ...i,
1792
+ "aria-labelledby": c,
1793
+ className: l(K("root"), e),
1794
+ children: [/* @__PURE__ */ O("h2", {
1795
+ className: K("heading"),
1796
+ id: c,
1797
+ children: o
1798
+ }), r.length === 0 ? /* @__PURE__ */ O("p", {
1799
+ className: K("empty"),
1800
+ children: s
1801
+ }) : /* @__PURE__ */ k("table", {
1802
+ "aria-labelledby": c,
1803
+ className: K("table"),
1804
+ children: [/* @__PURE__ */ O("thead", {
1805
+ className: K("head"),
1806
+ children: /* @__PURE__ */ k("tr", { children: [
1807
+ /* @__PURE__ */ O("th", {
1808
+ scope: "col",
1809
+ children: "Source"
1810
+ }),
1811
+ /* @__PURE__ */ O("th", {
1812
+ scope: "col",
1813
+ children: "Relationship"
1814
+ }),
1815
+ /* @__PURE__ */ O("th", {
1816
+ scope: "col",
1817
+ children: "Target"
1818
+ }),
1819
+ /* @__PURE__ */ O("th", {
1820
+ scope: "col",
1821
+ children: "Evidence"
1822
+ })
1823
+ ] })
1824
+ }), /* @__PURE__ */ O("tbody", {
1825
+ className: K("body"),
1826
+ children: r.map((e) => {
1827
+ let t = St[e.direction], n = xt[e.lifecycle];
1828
+ return /* @__PURE__ */ k("tr", {
1829
+ className: K("row"),
1830
+ "data-rly-relationship-id": e.id,
1831
+ "data-rly-relationship-direction": e.direction,
1832
+ "data-rly-relationship-kind": e.kind,
1833
+ "data-rly-relationship-lifecycle": e.lifecycle,
1834
+ children: [
1835
+ /* @__PURE__ */ O("td", {
1836
+ className: K("cell"),
1837
+ "data-label": "Source",
1838
+ children: /* @__PURE__ */ O(jt, { endpoint: e.source })
1839
+ }),
1840
+ /* @__PURE__ */ O("td", {
1841
+ className: K("cell"),
1842
+ "data-label": "Relationship",
1843
+ children: /* @__PURE__ */ k("div", {
1844
+ className: K("relationship"),
1845
+ "data-rly-relationship-detail": "",
1846
+ children: [
1847
+ /* @__PURE__ */ k("span", {
1848
+ className: K("direction"),
1849
+ children: [/* @__PURE__ */ O("span", { children: t.label }), /* @__PURE__ */ O("span", {
1850
+ "aria-hidden": "true",
1851
+ className: K("arrow"),
1852
+ children: t.arrow
1853
+ })]
1854
+ }),
1855
+ /* @__PURE__ */ O("span", {
1856
+ className: K("kind"),
1857
+ children: e.kind
1858
+ }),
1859
+ /* @__PURE__ */ O(w, {
1860
+ icon: n.icon,
1861
+ label: n.label,
1862
+ size: "compact",
1863
+ tone: "neutral"
1864
+ }),
1865
+ e.actor === void 0 ? null : /* @__PURE__ */ k("div", {
1866
+ className: K("actor"),
1867
+ "data-rly-relationship-actor": e.actor.id,
1868
+ children: [/* @__PURE__ */ O("span", {
1869
+ className: K("fieldLabel"),
1870
+ children: "Actor"
1871
+ }), /* @__PURE__ */ O(F, {
1872
+ person: e.actor,
1873
+ size: "compact"
1874
+ })]
1875
+ })
1876
+ ]
1877
+ })
1878
+ }),
1879
+ /* @__PURE__ */ O("td", {
1880
+ className: K("cell"),
1881
+ "data-label": "Target",
1882
+ children: /* @__PURE__ */ O(jt, { endpoint: e.target })
1883
+ }),
1884
+ /* @__PURE__ */ O("td", {
1885
+ className: K("cell"),
1886
+ "data-label": "Evidence",
1887
+ children: /* @__PURE__ */ O("span", {
1888
+ className: K("evidence"),
1889
+ "data-rly-relationship-evidence": "",
1890
+ children: e.evidence ?? "No evidence recorded."
1891
+ })
1892
+ })
1893
+ ]
1894
+ }, e.id);
1895
+ })
1896
+ })]
1897
+ })]
1898
+ });
1899
+ }, Nt = {
1900
+ root: "rly_RelayDock-module__root",
1901
+ trigger: "rly_RelayDock-module__trigger",
1902
+ close: "rly_RelayDock-module__close",
1903
+ mark: "rly_RelayDock-module__mark",
1904
+ markLine: "rly_RelayDock-module__markLine",
1905
+ markGlyph: "rly_RelayDock-module__markGlyph",
1906
+ layer: "rly_RelayDock-module__layer",
1907
+ overlay: "rly_RelayDock-module__overlay",
1908
+ panel: "rly_RelayDock-module__panel",
1909
+ sheet: "rly_RelayDock-module__sheet",
1910
+ rail: "rly_RelayDock-module__rail",
1911
+ railHeader: "rly_RelayDock-module__railHeader",
1912
+ railHeading: "rly_RelayDock-module__railHeading",
1913
+ title: "rly_RelayDock-module__title",
1914
+ description: "rly_RelayDock-module__description",
1915
+ fixedContext: "rly_RelayDock-module__fixedContext",
1916
+ contents: "rly_RelayDock-module__contents",
1917
+ context: "rly_RelayDock-module__context",
1918
+ selection: "rly_RelayDock-module__selection",
1919
+ sectionLabel: "rly_RelayDock-module__sectionLabel",
1920
+ chipList: "rly_RelayDock-module__chipList",
1921
+ chip: "rly_RelayDock-module__chip",
1922
+ chipLabel: "rly_RelayDock-module__chipLabel",
1923
+ chipValue: "rly_RelayDock-module__chipValue",
1924
+ selectionGrid: "rly_RelayDock-module__selectionGrid",
1925
+ body: "rly_RelayDock-module__body",
1926
+ ready: "rly_RelayDock-module__ready",
1927
+ state: "rly_RelayDock-module__state",
1928
+ footer: "rly_RelayDock-module__footer"
1929
+ }, q = (e) => s(Nt, e), Pt = "(max-width: 40rem), (max-height: 40rem) and (pointer: coarse)", Ft = [
1930
+ "a[href]",
1931
+ "button:not([disabled])",
1932
+ "input:not([disabled])",
1933
+ "select:not([disabled])",
1934
+ "details > summary:first-of-type",
1935
+ "textarea:not([disabled])",
1936
+ "[contenteditable]:not([contenteditable=\"false\"])",
1937
+ "[tabindex]:not([tabindex=\"-1\"])"
1938
+ ].join(","), It = (e) => "activeElement" in e, Lt = (e) => {
1939
+ let t = e.getRootNode();
1940
+ return It(t) ? t.activeElement : e.ownerDocument.activeElement;
1941
+ }, Rt = (e) => {
1942
+ let t = e.activeElement;
1943
+ return u(t) ? t.shadowRoot === null ? t : Rt(t.shadowRoot) ?? t : null;
1944
+ }, zt = (e) => {
1945
+ let t = Rt(e);
1946
+ return t === e.body || t === e.documentElement ? null : t;
1947
+ }, Bt = (e) => {
1948
+ if (e.matches(":disabled")) return !1;
1949
+ let t = e.ownerDocument.defaultView;
1950
+ if (t === null) return e.hidden === !1;
1951
+ let n = t.getComputedStyle(e).visibility;
1952
+ if (n === "hidden" || n === "collapse") return !1;
1953
+ let r = e;
1954
+ for (; r !== null;) {
1955
+ if (r.tagName === "DETAILS" && !r.hasAttribute("open")) {
1956
+ let t = r.querySelector(":scope > summary:first-of-type");
1957
+ if (t === null || !t.contains(e)) return !1;
1958
+ }
1959
+ if (r !== e && r.tagName === "FIELDSET" && r.hasAttribute("disabled")) {
1960
+ let t = r.querySelector(":scope > legend:first-of-type");
1961
+ if (t === null || !t.contains(e)) return !1;
1962
+ }
1963
+ let n = t.getComputedStyle(r);
1964
+ if (r.hidden !== !1 || n.display === "none") return !1;
1965
+ r = r.parentElement;
1966
+ }
1967
+ return !0;
1968
+ }, Vt = (e, t) => {
1969
+ let n = [...t.querySelectorAll("input[type=\"radio\"]")].find((t) => t === e);
1970
+ if (n === void 0 || n.name.length === 0) return !0;
1971
+ let r = [...t.querySelectorAll("input[type=\"radio\"]")].filter((e) => e.name === n.name && e.form === n.form && Bt(e)), i = r.find((e) => e.checked);
1972
+ return i === void 0 ? r[0] === n : i === n;
1973
+ }, Ht = (e, t) => {
1974
+ if (e === null || !("matchMedia" in e)) return () => void 0;
1975
+ let n = e.matchMedia(Pt);
1976
+ return n.addEventListener("change", t), () => n.removeEventListener("change", t);
1977
+ }, Ut = (e) => e !== null && "matchMedia" in e && e.matchMedia(Pt).matches, Wt = () => !1, Gt = (e) => {
1978
+ let t = re((t) => Ht(e, t), [e]), n = re(() => Ut(e), [e]);
1979
+ return oe(t, n, Wt);
1980
+ }, Kt = () => /* @__PURE__ */ k("span", {
1981
+ "aria-hidden": "true",
1982
+ className: q("mark"),
1983
+ children: [/* @__PURE__ */ O("span", { className: q("markLine") }), /* @__PURE__ */ O("svg", {
1984
+ className: q("markGlyph"),
1985
+ focusable: "false",
1986
+ viewBox: "0 0 24 24",
1987
+ children: /* @__PURE__ */ O("path", {
1988
+ d: "M12 3.5 14 10l6.5 2-6.5 2-2 6.5L10 14l-6.5-2 6.5-2Z",
1989
+ fill: "currentColor"
1990
+ })
1991
+ })]
1992
+ }), qt = ({ context: e, labelId: t }) => {
1993
+ if (e.length === 0) throw Error("RelayDock context must contain at least one chip");
1994
+ let n = /* @__PURE__ */ new Set();
1995
+ return /* @__PURE__ */ k("section", {
1996
+ "aria-labelledby": t,
1997
+ className: q("context"),
1998
+ children: [/* @__PURE__ */ O("h2", {
1999
+ className: q("sectionLabel"),
2000
+ id: t,
2001
+ children: "Context"
2002
+ }), /* @__PURE__ */ O("ul", {
2003
+ className: q("chipList"),
2004
+ children: e.map((e) => {
2005
+ let t = a(e.id, "RelayDock context chip id");
2006
+ if (n.has(t)) throw Error(`Duplicate RelayDock context chip id: ${t}`);
2007
+ return n.add(t), /* @__PURE__ */ k("li", {
2008
+ className: q("chip"),
2009
+ "data-rly-relay-dock-context": t,
2010
+ children: [/* @__PURE__ */ O("span", {
2011
+ className: q("chipLabel"),
2012
+ children: a(e.label, "RelayDock context chip label")
2013
+ }), /* @__PURE__ */ O("span", {
2014
+ className: q("chipValue"),
2015
+ children: a(e.value, "RelayDock context chip value")
2016
+ })]
2017
+ }, t);
2018
+ })
2019
+ })]
2020
+ });
2021
+ }, Jt = ({ labelId: e, selection: t }) => {
2022
+ let n = E(), r = E();
2023
+ return /* @__PURE__ */ k("section", {
2024
+ "aria-labelledby": e,
2025
+ className: q("selection"),
2026
+ children: [/* @__PURE__ */ O("h2", {
2027
+ className: q("sectionLabel"),
2028
+ id: e,
2029
+ children: "Run with"
2030
+ }), /* @__PURE__ */ k("div", {
2031
+ className: q("selectionGrid"),
2032
+ children: [/* @__PURE__ */ O(te, {
2033
+ controlId: `rly-relay-dock-profile-${n}`,
2034
+ label: "Profile",
2035
+ size: "compact",
2036
+ children: (e) => /* @__PURE__ */ O(ee, {
2037
+ ...e,
2038
+ ...t.profile.disabled === void 0 ? {} : { disabled: t.profile.disabled },
2039
+ onValueChange: t.profile.onValueChange,
2040
+ options: t.profile.options,
2041
+ size: "compact",
2042
+ value: t.profile.value
2043
+ })
2044
+ }), /* @__PURE__ */ O(te, {
2045
+ controlId: `rly-relay-dock-model-${r}`,
2046
+ label: "Model",
2047
+ size: "compact",
2048
+ children: (e) => /* @__PURE__ */ O(ee, {
2049
+ ...e,
2050
+ ...t.model.disabled === void 0 ? {} : { disabled: t.model.disabled },
2051
+ onValueChange: t.model.onValueChange,
2052
+ options: t.model.options,
2053
+ size: "compact",
2054
+ value: t.model.value
2055
+ })
2056
+ })]
2057
+ })]
2058
+ });
2059
+ }, Yt = ({ state: e }) => {
2060
+ if (e.status === "ready") return /* @__PURE__ */ O("section", {
2061
+ "aria-live": "polite",
2062
+ className: q("ready"),
2063
+ "data-rly-relay-dock-state": "ready",
2064
+ children: e.content
2065
+ });
2066
+ let t = e.status === "error" ? "assertive" : "polite", n = e.status === "loading" ? "progress" : e.status === "error" ? "critical" : "neutral";
2067
+ return /* @__PURE__ */ O(y, {
2068
+ action: "action" in e ? e.action : void 0,
2069
+ announce: t,
2070
+ className: q("state"),
2071
+ "data-rly-relay-dock-state": e.status,
2072
+ description: e.description,
2073
+ title: a(e.title, `RelayDock ${e.status} title`),
2074
+ tone: n
2075
+ });
2076
+ }, Xt = ({ context: e, footer: t, selection: n, state: r }) => {
2077
+ let i = E(), a = E();
2078
+ return /* @__PURE__ */ k("div", {
2079
+ className: q("contents"),
2080
+ "data-rly-relay-dock-scroll": "",
2081
+ children: [
2082
+ /* @__PURE__ */ k("div", {
2083
+ className: q("fixedContext"),
2084
+ children: [/* @__PURE__ */ O(qt, {
2085
+ context: e,
2086
+ labelId: i
2087
+ }), /* @__PURE__ */ O(Jt, {
2088
+ labelId: a,
2089
+ selection: n
2090
+ })]
2091
+ }),
2092
+ /* @__PURE__ */ O("section", {
2093
+ "aria-label": "Relay thread",
2094
+ className: q("body"),
2095
+ tabIndex: 0,
2096
+ children: /* @__PURE__ */ O(Yt, { state: r })
2097
+ }),
2098
+ t == null ? null : /* @__PURE__ */ O("footer", {
2099
+ className: q("footer"),
2100
+ children: t
2101
+ })
2102
+ ]
2103
+ });
2104
+ }, Zt = ({ restoreDocument: e, restoreTarget: t, target: n }) => {
2105
+ let r = D(!1);
2106
+ return ie(() => {
2107
+ let i = n.current;
2108
+ i !== null && (r.current ||= (t.current = zt(e ?? i.ownerDocument), !0), i.focus());
2109
+ }, [
2110
+ e,
2111
+ t,
2112
+ n
2113
+ ]), null;
2114
+ }, Qt = ({ children: e, modal: t, modalLayer: n }) => {
2115
+ let r = D(null);
2116
+ return m(), h(r, t), _(r, t), /* @__PURE__ */ O("div", {
2117
+ className: q("layer"),
2118
+ "data-rly-modal-layer": n ? "" : void 0,
2119
+ "data-rly-relay-dock-modal": t ? "true" : "false",
2120
+ ref: r,
2121
+ children: e
2122
+ });
2123
+ }, $t = ({ closeRef: t, compactViewport: r, context: i, description: a, footer: o, headingId: s, modal: c, onClose: u, parentModalPresent: d, restoreDocument: f, restoreTargetRef: p, selection: m, state: h, title: g }) => {
2124
+ let _ = `${s}-description`, v = (e) => {
2125
+ let t = e.currentTarget;
2126
+ if (!e.nativeEvent.composedPath().includes(t) || e.defaultPrevented) return;
2127
+ if (e.key === "Escape") {
2128
+ if (e.nativeEvent.isComposing) return;
2129
+ e.stopPropagation(), u();
2130
+ return;
2131
+ }
2132
+ if (!c || e.key !== "Tab") return;
2133
+ let n = Array.from(t.querySelectorAll(Ft)).filter((e) => Bt(e) && Vt(e, t) && (e.tabIndex >= 0 || e.isContentEditable && !e.hasAttribute("tabindex") || e.matches("details > summary:first-of-type"))), r = n[0] ?? t, i = n[n.length - 1] ?? t, a = Lt(t), o = e.shiftKey && (a === r || !t.contains(a)), s = !e.shiftKey && (a === i || !t.contains(a));
2134
+ !o && !s || (e.preventDefault(), (e.shiftKey ? i : r).focus());
2135
+ };
2136
+ return /* @__PURE__ */ O(n, { children: (n) => /* @__PURE__ */ O(T.Root, {
2137
+ container: n,
2138
+ children: /* @__PURE__ */ k(Qt, {
2139
+ modal: c,
2140
+ modalLayer: c || d,
2141
+ children: [c ? /* @__PURE__ */ O("div", {
2142
+ "aria-hidden": "true",
2143
+ className: q("overlay"),
2144
+ "data-rly-relay-dock-overlay": "",
2145
+ onPointerDown: u
2146
+ }) : null, /* @__PURE__ */ k("section", {
2147
+ "aria-describedby": _,
2148
+ "aria-labelledby": s,
2149
+ "aria-modal": c ? !0 : void 0,
2150
+ className: l(q("panel"), q(c ? "sheet" : "rail")),
2151
+ "data-rly-relay-dock-presentation": r ? "mobile-sheet" : c ? "overlay" : "rail",
2152
+ onKeyDown: v,
2153
+ role: c ? "dialog" : "complementary",
2154
+ tabIndex: -1,
2155
+ children: [
2156
+ /* @__PURE__ */ k("header", {
2157
+ className: q("railHeader"),
2158
+ children: [/* @__PURE__ */ k("div", {
2159
+ className: q("railHeading"),
2160
+ children: [/* @__PURE__ */ O("h1", {
2161
+ className: q("title"),
2162
+ id: s,
2163
+ children: g
2164
+ }), /* @__PURE__ */ O("p", {
2165
+ className: q("description"),
2166
+ id: _,
2167
+ children: a
2168
+ })]
2169
+ }), /* @__PURE__ */ O("button", {
2170
+ "aria-label": `Close ${g}`,
2171
+ className: q("close"),
2172
+ onClick: u,
2173
+ ref: t,
2174
+ type: "button",
2175
+ children: /* @__PURE__ */ O(e, {
2176
+ decorative: !0,
2177
+ name: "close"
2178
+ })
2179
+ })]
2180
+ }),
2181
+ /* @__PURE__ */ O(Zt, {
2182
+ restoreDocument: f,
2183
+ restoreTarget: p,
2184
+ target: t
2185
+ }),
2186
+ /* @__PURE__ */ O(Xt, {
2187
+ context: i,
2188
+ footer: o,
2189
+ selection: m,
2190
+ state: h
2191
+ })
2192
+ ]
2193
+ })]
2194
+ })
2195
+ }) });
2196
+ }, en = (e) => {
2197
+ let { className: n, context: r, defaultOpen: i = !1, description: o = "Ask in this context or prepare approval-bound work.", desktopPresentation: s = "overlay", footer: c, onOpenChange: u, open: d, ref: m, selection: h, state: _, title: v = "Relay", triggerLabel: y = "Open Relay", ...b } = e, [x, ee] = ae(i), te = f(), ne = p(), w = t(), T = (d ?? x) && ne && w.available, re = Gt(w.available ? w.container.ownerDocument.defaultView : null), oe = re || s === "overlay", se = D(null), ce = D(null), A = D(null), le = D({
2198
+ modal: oe,
2199
+ open: !1
2200
+ }), ue = E(), de = a(o, "RelayDock description"), j = a(v, "RelayDock title"), fe = a(y, "RelayDock triggerLabel"), pe = (e) => {
2201
+ d === void 0 && ee(e), u?.(e);
2202
+ };
2203
+ return ie(() => {
2204
+ let e = le.current;
2205
+ le.current = {
2206
+ modal: oe,
2207
+ open: T
2208
+ }, !e.open && T ? (C(), ce.current?.focus()) : e.open && T && e.modal !== oe ? ce.current?.focus() : e.open && !T && (S(A.current ?? se.current), A.current = null);
2209
+ }, [oe, T]), /* @__PURE__ */ k("div", {
2210
+ ...b,
2211
+ className: l(q("root"), n),
2212
+ "data-rly-relay-dock": "",
2213
+ "data-rly-relay-dock-open": T ? "true" : "false",
2214
+ ref: m,
2215
+ children: [/* @__PURE__ */ k("button", {
2216
+ "aria-expanded": T,
2217
+ "aria-haspopup": oe ? "dialog" : void 0,
2218
+ className: q("trigger"),
2219
+ "data-rly-relay-dock-trigger": "",
2220
+ hidden: T,
2221
+ onClick: (e) => {
2222
+ e.currentTarget.focus(), pe(!0);
2223
+ },
2224
+ ref: se,
2225
+ type: "button",
2226
+ children: [/* @__PURE__ */ O(Kt, {}), /* @__PURE__ */ O("span", { children: fe })]
2227
+ }), T ? /* @__PURE__ */ O(g, { children: /* @__PURE__ */ O($t, {
2228
+ closeRef: ce,
2229
+ compactViewport: re,
2230
+ context: r,
2231
+ description: de,
2232
+ footer: c,
2233
+ headingId: ue,
2234
+ modal: oe,
2235
+ onClose: () => pe(!1),
2236
+ parentModalPresent: te,
2237
+ restoreDocument: se.current?.ownerDocument ?? null,
2238
+ restoreTargetRef: A,
2239
+ selection: h,
2240
+ state: _,
2241
+ title: j
2242
+ }) }) : null]
2243
+ });
2244
+ }, tn = /^(?:--[A-Za-z0-9_\-\u0080-\uD7FF\uE000-\u{10ffff}]*|-?[A-Za-z_\u0080-\uD7FF\uE000-\u{10ffff}][A-Za-z0-9_\-\u0080-\uD7FF\uE000-\u{10ffff}]*)$/u, nn = /* @__PURE__ */ new Set([
2245
+ "auto",
2246
+ "default",
2247
+ "inherit",
2248
+ "initial",
2249
+ "match-element",
2250
+ "none",
2251
+ "revert",
2252
+ "revert-layer",
2253
+ "unset"
2254
+ ]), rn = (e) => {
2255
+ if (e === void 0) return;
2256
+ let t = {
2257
+ relay: e.relay,
2258
+ verdict: e.verdict,
2259
+ version: e.version
2260
+ }, n = [
2261
+ ["relay", t.relay],
2262
+ ["verdict", t.verdict],
2263
+ ["version", t.version]
2264
+ ], r = /* @__PURE__ */ new Set();
2265
+ for (let [e, t] of n) {
2266
+ let n = a(t, `Release transition ${e} name`);
2267
+ if (n === "root" || nn.has(n.toLowerCase())) throw Error(`Release transition ${e} name must not use a reserved CSS value: ${n}`);
2268
+ if (!tn.test(n)) throw Error(`Release transition ${e} name must be a valid unescaped CSS custom identifier: ${n}`);
2269
+ if (r.has(n)) throw Error(`Release transition names must be unique: ${n}`);
2270
+ r.add(n);
2271
+ }
2272
+ return Object.freeze(t);
2273
+ }, an = {
2274
+ blocked: !0,
2275
+ ready: !0,
2276
+ deploying: !0,
2277
+ building: !0,
2278
+ shipped: !0,
2279
+ held: !0,
2280
+ unknown: !0
2281
+ }, on = (e) => {
2282
+ if (a(e.id, "Release presentation id"), a(e.version, "Release presentation version"), a(e.codename, "Release presentation codename"), a(e.algorithm, "Release presentation algorithm"), a(e.verdict, "Release presentation verdict"), a(e.reason, "Release presentation reason"), !Object.hasOwn(an, e.state)) throw Error("Release presentation state must be supported");
2283
+ e.freshnessDateTime !== void 0 && (a(e.freshnessDateTime, "Release presentation freshnessDateTime"), a(e.freshnessTime, "Release presentation freshnessTime"));
2284
+ let t = /* @__PURE__ */ new Set();
2285
+ for (let n of e.facts) {
2286
+ let e = a(n.id, "Release presentation fact id");
2287
+ if (t.has(e)) throw Error(`Release presentation fact ids must be unique: ${e}`);
2288
+ t.add(e), a(n.label, `Release presentation fact label for ${e}`), a(n.value, `Release presentation fact value for ${e}`);
2289
+ }
2290
+ return e;
2291
+ }, sn = {
2292
+ root: "rly_ReleaseRelay-module__root",
2293
+ tiles: "rly_ReleaseRelay-module__tiles",
2294
+ handoff: "rly_ReleaseRelay-module__handoff",
2295
+ tile: "rly_ReleaseRelay-module__tile",
2296
+ glyph: "rly_ReleaseRelay-module__glyph",
2297
+ identity: "rly_ReleaseRelay-module__identity",
2298
+ codename: "rly_ReleaseRelay-module__codename",
2299
+ algorithm: "rly_ReleaseRelay-module__algorithm",
2300
+ compact: "rly_ReleaseRelay-module__compact",
2301
+ hero: "rly_ReleaseRelay-module__hero"
2302
+ }, J = (e) => s(sn, e), cn = c({
2303
+ 0: { name: "orbit" },
2304
+ 1: { name: "split" },
2305
+ 2: { name: "brace" },
2306
+ 3: { name: "wave" },
2307
+ 4: { name: "gate" },
2308
+ 5: { name: "fork" },
2309
+ 6: { name: "bridge" },
2310
+ 7: { name: "beacon" },
2311
+ 8: { name: "loop" },
2312
+ 9: { name: "pulse" },
2313
+ 10: { name: "anchor" },
2314
+ 11: { name: "ladder" },
2315
+ 12: { name: "knot" },
2316
+ 13: { name: "spark" },
2317
+ 14: { name: "stack" },
2318
+ 15: { name: "compass" }
2319
+ }), ln = c({ size: {
2320
+ compact: {
2321
+ className: J("compact"),
2322
+ purpose: "Release rows and compact previews",
2323
+ tokens: [
2324
+ "space-32",
2325
+ "space-8",
2326
+ "type-label"
2327
+ ]
2328
+ },
2329
+ hero: {
2330
+ className: J("hero"),
2331
+ purpose: "Page-level release identity",
2332
+ tokens: [
2333
+ "space-48",
2334
+ "space-4",
2335
+ "space-8",
2336
+ "type-card-title"
2337
+ ]
2338
+ }
2339
+ } }), un = c({ size: "compact" }), dn = {
2340
+ 0: "M12 4a8 8 0 1 1-6.9 4M5.1 8H9V4.1",
2341
+ 1: "M5 5v4c0 2 1 3 3 3h8c2 0 3 1 3 3v4M12 12V5",
2342
+ 2: "M9 4H7v5l-3 3 3 3v5h2M15 4h2v5l3 3-3 3v5h-2",
2343
+ 3: "M3 9c3-4 6-4 9 0s6 4 9 0M3 15c3-4 6-4 9 0s6 4 9 0",
2344
+ 4: "M5 19V8l7-4 7 4v11M9 19v-7h6v7",
2345
+ 5: "M12 20V9M12 12 6 6M12 12l6-6M6 6v4M18 6v4",
2346
+ 6: "M3 17h18M5 17v-5c4-5 10-5 14 0v5M8 17v-3M16 17v-3",
2347
+ 7: "M12 3v3M5.6 5.6l2.1 2.1M18.4 5.6l-2.1 2.1M6 20h12l-2-9H8Z",
2348
+ 8: "M8 8a4 4 0 0 1 8 0v8a4 4 0 0 1-8 0V8Zm0 4h8",
2349
+ 9: "M3 13h4l2-6 4 12 2-6h6",
2350
+ 10: "M12 3v15M8 7h8M5 14c0 4 3 7 7 7s7-3 7-7M5 14l-2 2M19 14l2 2",
2351
+ 11: "M7 3v18M17 3v18M7 7h10M7 12h10M7 17h10",
2352
+ 12: "M8 5a4 4 0 0 1 4 4v6a4 4 0 1 0 4-4H8a4 4 0 1 0 4 4V9a4 4 0 0 1 4-4",
2353
+ 13: "M12 3v5M12 16v5M3 12h5M16 12h5M5.6 5.6l3.5 3.5M14.9 14.9l3.5 3.5M18.4 5.6l-3.5 3.5M9.1 14.9l-3.5 3.5",
2354
+ 14: "m4 8 8-4 8 4-8 4Zm0 4 8 4 8-4M4 16l8 4 8-4",
2355
+ 15: "m12 3 3 6 6 3-6 3-3 6-3-6-6-3 6-3Zm0 6v6M9 12h6"
2356
+ }, fn = (e) => {
2357
+ if (e.length !== 3) throw Error("ReleaseRelay symbolIndices must contain exactly three indices");
2358
+ let t = /* @__PURE__ */ new Set();
2359
+ for (let n of e) {
2360
+ if (!Number.isInteger(n) || n < 0 || n > 15) throw Error("ReleaseRelay symbol indices must be integers from 0 through 15");
2361
+ if (t.has(n)) throw Error("ReleaseRelay symbol indices must be distinct");
2362
+ t.add(n);
2363
+ }
2364
+ return e;
2365
+ }, pn = ({ algorithm: e, className: t, codename: n, size: r = "compact", symbolIndices: i, ...o }) => {
2366
+ let s = a(e, "ReleaseRelay algorithm"), c = a(n, "ReleaseRelay codename"), u = fn(i), d = `Release relay, ${c}, symbols ${u.map((e) => cn[e].name).join(", ")}.`;
2367
+ return /* @__PURE__ */ k("figure", {
2368
+ ...o,
2369
+ className: l(J("root"), ln.size[r].className, t),
2370
+ "data-rly-release-relay-size": r,
2371
+ children: [/* @__PURE__ */ k("span", {
2372
+ "aria-label": d,
2373
+ className: J("tiles"),
2374
+ role: "img",
2375
+ children: [/* @__PURE__ */ O("span", {
2376
+ "aria-hidden": "true",
2377
+ className: J("handoff"),
2378
+ "data-rly-release-relay-handoff": ""
2379
+ }), u.map((e, t) => /* @__PURE__ */ O("span", {
2380
+ "aria-hidden": "true",
2381
+ className: J("tile"),
2382
+ "data-rly-release-relay-position": t,
2383
+ "data-rly-release-symbol-index": e,
2384
+ "data-rly-release-symbol-name": cn[e].name,
2385
+ children: /* @__PURE__ */ O("svg", {
2386
+ className: J("glyph"),
2387
+ focusable: "false",
2388
+ viewBox: "0 0 24 24",
2389
+ children: /* @__PURE__ */ O("path", {
2390
+ d: dn[e],
2391
+ fill: "none",
2392
+ stroke: "currentColor",
2393
+ strokeLinecap: "round",
2394
+ strokeLinejoin: "round",
2395
+ strokeWidth: "1.7",
2396
+ vectorEffect: "non-scaling-stroke"
2397
+ })
2398
+ })
2399
+ }, e))]
2400
+ }), /* @__PURE__ */ k("figcaption", {
2401
+ className: J("identity"),
2402
+ children: [/* @__PURE__ */ O("span", {
2403
+ className: J("codename"),
2404
+ children: c
2405
+ }), /* @__PURE__ */ k("span", {
2406
+ className: J("algorithm"),
2407
+ children: ["Identity algorithm: ", s]
2408
+ })]
2409
+ })]
2410
+ });
2411
+ }, mn = {
2412
+ body: "rly_ReleasePreview-module__body",
2413
+ summary: "rly_ReleasePreview-module__summary",
2414
+ releaseMeta: "rly_ReleasePreview-module__releaseMeta",
2415
+ personGroup: "rly_ReleasePreview-module__personGroup",
2416
+ fact: "rly_ReleasePreview-module__fact",
2417
+ dialogSurface: "rly_ReleasePreview-module__dialogSurface",
2418
+ dialogFrame: "rly_ReleasePreview-module__dialogFrame",
2419
+ dialogScroll: "rly_ReleasePreview-module__dialogScroll",
2420
+ identityRow: "rly_ReleasePreview-module__identityRow",
2421
+ version: "rly_ReleasePreview-module__version",
2422
+ people: "rly_ReleasePreview-module__people",
2423
+ eyebrow: "rly_ReleasePreview-module__eyebrow",
2424
+ unassigned: "rly_ReleasePreview-module__unassigned",
2425
+ facts: "rly_ReleasePreview-module__facts",
2426
+ slot: "rly_ReleasePreview-module__slot",
2427
+ dialogFooter: "rly_ReleasePreview-module__dialogFooter",
2428
+ sheetFooter: "rly_ReleasePreview-module__sheetFooter",
2429
+ dialogClose: "rly_ReleasePreview-module__dialogClose",
2430
+ fullViewButton: "rly_ReleasePreview-module__fullViewButton"
2431
+ }, Y = (e) => s(mn, e), hn = ({ agentEntry: e, collaborators: t, entryMotion: n = "intrinsic", evidence: r, onOpenChange: i, onOpenFullView: o, open: s, openFullViewLabel: c = "Open full view", presentation: l = "dialog", primaryAction: u, release: f, stages: p, transitionNames: m, workset: h }) => {
2432
+ let g = on(f), _ = rn(m), y = a(c, "ReleasePreview openFullViewLabel"), b = D(null), x = g.freshnessDateTime === void 0 ? /* @__PURE__ */ O(R, { state: g.freshness }) : /* @__PURE__ */ O(R, {
2433
+ dateTime: g.freshnessDateTime,
2434
+ state: g.freshness,
2435
+ time: g.freshnessTime
2436
+ }), S = `Release preview: ${g.version} ${g.codename}`, C = /* @__PURE__ */ k("div", {
2437
+ className: Y("body"),
2438
+ "data-rly-release-preview-presentation": l,
2439
+ "data-rly-release-state": g.state,
2440
+ children: [
2441
+ /* @__PURE__ */ k("section", {
2442
+ "aria-label": "Release summary",
2443
+ className: Y("summary"),
2444
+ "data-rly-release-preview-summary": "",
2445
+ ref: b,
2446
+ tabIndex: -1,
2447
+ children: [
2448
+ /* @__PURE__ */ k("div", {
2449
+ className: Y("identityRow"),
2450
+ children: [/* @__PURE__ */ O(pn, {
2451
+ algorithm: g.algorithm,
2452
+ codename: g.codename,
2453
+ "data-rly-release-transition-name": _?.relay,
2454
+ "data-rly-release-transition-part": "relay",
2455
+ size: "hero",
2456
+ style: _ === void 0 ? void 0 : { viewTransitionName: _.relay },
2457
+ symbolIndices: g.symbolIndices
2458
+ }), /* @__PURE__ */ k("div", {
2459
+ className: Y("releaseMeta"),
2460
+ children: [/* @__PURE__ */ O("p", {
2461
+ className: Y("version"),
2462
+ "data-rly-release-transition-name": _?.version,
2463
+ "data-rly-release-transition-part": "version",
2464
+ style: _ === void 0 ? void 0 : { viewTransitionName: _.version },
2465
+ children: g.version
2466
+ }), x]
2467
+ })]
2468
+ }),
2469
+ /* @__PURE__ */ k("div", {
2470
+ className: Y("people"),
2471
+ children: [/* @__PURE__ */ k("div", {
2472
+ className: Y("personGroup"),
2473
+ children: [/* @__PURE__ */ O("span", {
2474
+ className: Y("eyebrow"),
2475
+ children: "Owner"
2476
+ }), g.owner === void 0 ? /* @__PURE__ */ O("span", {
2477
+ className: Y("unassigned"),
2478
+ "data-rly-release-owner": "unassigned",
2479
+ children: "Unassigned"
2480
+ }) : /* @__PURE__ */ O(F, { person: g.owner })]
2481
+ }), /* @__PURE__ */ k("div", {
2482
+ className: Y("personGroup"),
2483
+ children: [/* @__PURE__ */ O("span", {
2484
+ className: Y("eyebrow"),
2485
+ children: "Approver"
2486
+ }), g.approver === void 0 ? /* @__PURE__ */ O("span", {
2487
+ className: Y("unassigned"),
2488
+ "data-rly-release-approver": "unassigned",
2489
+ children: "Unassigned"
2490
+ }) : /* @__PURE__ */ O(F, { person: g.approver })]
2491
+ })]
2492
+ }),
2493
+ /* @__PURE__ */ O(ot, {
2494
+ "data-rly-release-transition-name": _?.verdict,
2495
+ "data-rly-release-transition-part": "verdict",
2496
+ reason: g.reason,
2497
+ style: _ === void 0 ? void 0 : { viewTransitionName: _.verdict },
2498
+ tone: g.tone,
2499
+ verdict: g.verdict
2500
+ }),
2501
+ /* @__PURE__ */ O("dl", {
2502
+ className: Y("facts"),
2503
+ children: g.facts.map((e) => /* @__PURE__ */ k("div", {
2504
+ className: Y("fact"),
2505
+ children: [/* @__PURE__ */ O("dt", { children: e.label }), /* @__PURE__ */ O("dd", { children: e.value })]
2506
+ }, e.id))
2507
+ })
2508
+ ]
2509
+ }),
2510
+ t === void 0 ? null : /* @__PURE__ */ O("div", {
2511
+ className: Y("slot"),
2512
+ "data-rly-release-preview-slot": "collaborators",
2513
+ children: t
2514
+ }),
2515
+ /* @__PURE__ */ O("div", {
2516
+ className: Y("slot"),
2517
+ "data-rly-release-preview-slot": "primary-action",
2518
+ children: u
2519
+ }),
2520
+ /* @__PURE__ */ O("div", {
2521
+ className: Y("slot"),
2522
+ "data-rly-release-preview-slot": "stages",
2523
+ children: p
2524
+ }),
2525
+ /* @__PURE__ */ O("div", {
2526
+ className: Y("slot"),
2527
+ "data-rly-release-preview-slot": "workset",
2528
+ children: h
2529
+ }),
2530
+ /* @__PURE__ */ O("div", {
2531
+ className: Y("slot"),
2532
+ "data-rly-release-preview-slot": "evidence",
2533
+ children: r
2534
+ }),
2535
+ /* @__PURE__ */ O("div", {
2536
+ className: Y("slot"),
2537
+ "data-rly-release-preview-slot": "agent-entry",
2538
+ children: e
2539
+ })
2540
+ ]
2541
+ }), ee = /* @__PURE__ */ O(v, {
2542
+ className: Y("fullViewButton"),
2543
+ onClick: o,
2544
+ size: "default",
2545
+ variant: "secondary",
2546
+ children: y
2547
+ });
2548
+ return l === "sheet" ? /* @__PURE__ */ O(d.Root, {
2549
+ onOpenChange: i,
2550
+ open: s,
2551
+ children: /* @__PURE__ */ k(d.Content, {
2552
+ entryMotion: n,
2553
+ initialFocusRef: b,
2554
+ title: S,
2555
+ children: [/* @__PURE__ */ O(d.Body, {
2556
+ "data-rly-release-preview-scroll": "sheet",
2557
+ children: C
2558
+ }), /* @__PURE__ */ O(d.Footer, {
2559
+ className: Y("sheetFooter"),
2560
+ "data-rly-release-preview-footer": "sheet",
2561
+ children: ee
2562
+ })]
2563
+ })
2564
+ }) : /* @__PURE__ */ O(ne.Root, {
2565
+ onOpenChange: i,
2566
+ open: s,
2567
+ children: /* @__PURE__ */ O(ne.Content, {
2568
+ className: Y("dialogSurface"),
2569
+ entryMotion: n,
2570
+ initialFocusRef: b,
2571
+ size: "wide",
2572
+ title: S,
2573
+ children: /* @__PURE__ */ k("div", {
2574
+ className: Y("dialogFrame"),
2575
+ children: [
2576
+ /* @__PURE__ */ O("div", {
2577
+ className: Y("dialogClose"),
2578
+ children: /* @__PURE__ */ O(ne.Close, {
2579
+ size: "compact",
2580
+ variant: "quiet",
2581
+ children: "Close preview"
2582
+ })
2583
+ }),
2584
+ /* @__PURE__ */ O("div", {
2585
+ className: Y("dialogScroll"),
2586
+ "data-rly-release-preview-scroll": "dialog",
2587
+ children: C
2588
+ }),
2589
+ /* @__PURE__ */ O("footer", {
2590
+ className: Y("dialogFooter"),
2591
+ "data-rly-release-preview-footer": "dialog",
2592
+ children: ee
2593
+ })
2594
+ ]
2595
+ })
2596
+ })
2597
+ });
2598
+ }, gn = {
2599
+ root: "rly_ReleaseRow-module__root",
2600
+ identity: "rly_ReleaseRow-module__identity",
2601
+ verdictBlock: "rly_ReleaseRow-module__verdictBlock",
2602
+ people: "rly_ReleaseRow-module__people",
2603
+ actions: "rly_ReleaseRow-module__actions",
2604
+ personGroup: "rly_ReleaseRow-module__personGroup",
2605
+ fact: "rly_ReleaseRow-module__fact",
2606
+ version: "rly_ReleaseRow-module__version",
2607
+ verdict: "rly_ReleaseRow-module__verdict",
2608
+ reason: "rly_ReleaseRow-module__reason",
2609
+ eyebrow: "rly_ReleaseRow-module__eyebrow",
2610
+ unassigned: "rly_ReleaseRow-module__unassigned",
2611
+ facts: "rly_ReleaseRow-module__facts",
2612
+ agentEntry: "rly_ReleaseRow-module__agentEntry",
2613
+ previewButton: "rly_ReleaseRow-module__previewButton"
2614
+ }, X = (e) => s(gn, e), _n = ({ agentEntry: e, className: t, onPreview: n, previewLabel: r = "Preview release", release: i, transitionNames: o, ...s }) => {
2615
+ let c = on(i), u = rn(o), d = a(r, "ReleaseRow previewLabel"), f = `rly-release-row-verdict-${E()}`, p = c.freshnessDateTime === void 0 ? /* @__PURE__ */ O(R, {
2616
+ size: "compact",
2617
+ state: c.freshness
2618
+ }) : /* @__PURE__ */ O(R, {
2619
+ dateTime: c.freshnessDateTime,
2620
+ size: "compact",
2621
+ state: c.freshness,
2622
+ time: c.freshnessTime
2623
+ });
2624
+ return /* @__PURE__ */ k("article", {
2625
+ ...s,
2626
+ className: l(X("root"), t),
2627
+ "data-rly-release-id": c.id,
2628
+ "data-rly-release-state": c.state,
2629
+ children: [
2630
+ /* @__PURE__ */ k("div", {
2631
+ className: X("identity"),
2632
+ children: [
2633
+ /* @__PURE__ */ O(pn, {
2634
+ algorithm: c.algorithm,
2635
+ codename: c.codename,
2636
+ "data-rly-release-transition-name": u?.relay,
2637
+ "data-rly-release-transition-part": "relay",
2638
+ size: "compact",
2639
+ style: u === void 0 ? void 0 : { viewTransitionName: u.relay },
2640
+ symbolIndices: c.symbolIndices
2641
+ }),
2642
+ /* @__PURE__ */ O("p", {
2643
+ className: X("version"),
2644
+ "data-rly-release-transition-name": u?.version,
2645
+ "data-rly-release-transition-part": "version",
2646
+ style: u === void 0 ? void 0 : { viewTransitionName: u.version },
2647
+ children: c.version
2648
+ }),
2649
+ p
2650
+ ]
2651
+ }),
2652
+ /* @__PURE__ */ k("section", {
2653
+ "aria-labelledby": f,
2654
+ className: X("verdictBlock"),
2655
+ "data-rly-release-transition-name": u?.verdict,
2656
+ "data-rly-release-transition-part": "verdict",
2657
+ style: u === void 0 ? void 0 : { viewTransitionName: u.verdict },
2658
+ children: [/* @__PURE__ */ O("h2", {
2659
+ className: X("verdict"),
2660
+ id: f,
2661
+ children: c.verdict
2662
+ }), /* @__PURE__ */ O("p", {
2663
+ className: X("reason"),
2664
+ children: c.reason
2665
+ })]
2666
+ }),
2667
+ /* @__PURE__ */ k("div", {
2668
+ className: X("people"),
2669
+ children: [/* @__PURE__ */ k("div", {
2670
+ className: X("personGroup"),
2671
+ children: [/* @__PURE__ */ O("span", {
2672
+ className: X("eyebrow"),
2673
+ children: "Owner"
2674
+ }), c.owner === void 0 ? /* @__PURE__ */ O("span", {
2675
+ className: X("unassigned"),
2676
+ "data-rly-release-owner": "unassigned",
2677
+ children: "Unassigned"
2678
+ }) : /* @__PURE__ */ O(F, {
2679
+ person: c.owner,
2680
+ size: "compact"
2681
+ })]
2682
+ }), c.approver === void 0 ? null : /* @__PURE__ */ k("div", {
2683
+ className: X("personGroup"),
2684
+ children: [/* @__PURE__ */ O("span", {
2685
+ className: X("eyebrow"),
2686
+ children: "Approver"
2687
+ }), /* @__PURE__ */ O(F, {
2688
+ person: c.approver,
2689
+ size: "compact"
2690
+ })]
2691
+ })]
2692
+ }),
2693
+ /* @__PURE__ */ O("dl", {
2694
+ className: X("facts"),
2695
+ children: c.facts.map((e) => /* @__PURE__ */ k("div", {
2696
+ className: X("fact"),
2697
+ "data-rly-release-fact": e.id,
2698
+ children: [/* @__PURE__ */ O("dt", { children: e.label }), /* @__PURE__ */ O("dd", { children: e.value })]
2699
+ }, e.id))
2700
+ }),
2701
+ /* @__PURE__ */ k("div", {
2702
+ className: X("actions"),
2703
+ children: [/* @__PURE__ */ O(v, {
2704
+ className: X("previewButton"),
2705
+ onClick: n,
2706
+ size: "default",
2707
+ children: d
2708
+ }), e === void 0 ? null : /* @__PURE__ */ O("div", {
2709
+ className: X("agentEntry"),
2710
+ children: e
2711
+ })]
2712
+ })
2713
+ ]
2714
+ });
2715
+ }, vn = {
2716
+ root: "rly_StageRail-module__root",
2717
+ heading: "rly_StageRail-module__heading",
2718
+ list: "rly_StageRail-module__list",
2719
+ item: "rly_StageRail-module__item",
2720
+ marker: "rly_StageRail-module__marker",
2721
+ connector: "rly_StageRail-module__connector",
2722
+ content: "rly_StageRail-module__content",
2723
+ name: "rly_StageRail-module__name",
2724
+ reason: "rly_StageRail-module__reason",
2725
+ empty: "rly_StageRail-module__empty",
2726
+ compact: "rly_StageRail-module__compact",
2727
+ defaultSize: "rly_StageRail-module__defaultSize",
2728
+ long: "rly_StageRail-module__long"
2729
+ }, Z = (e) => s(vn, e), yn = c({ size: {
2730
+ compact: {
2731
+ className: Z("compact"),
2732
+ purpose: "Dense release and entity stage summaries",
2733
+ tokens: [
2734
+ "space-24",
2735
+ "space-8",
2736
+ "type-label",
2737
+ "type-meta"
2738
+ ]
2739
+ },
2740
+ default: {
2741
+ className: Z("defaultSize"),
2742
+ purpose: "Standard stage progression with supporting context",
2743
+ tokens: [
2744
+ "space-24",
2745
+ "space-12",
2746
+ "type-card-title",
2747
+ "type-body"
2748
+ ]
2749
+ }
2750
+ } }), bn = c({ size: "default" }), xn = (e) => {
2751
+ let t = /* @__PURE__ */ new Set();
2752
+ for (let n of e) {
2753
+ let e = a(n.id, "StageRail stage id");
2754
+ if (a(n.name, `StageRail name for ${e}`), a(n.state, `StageRail state for ${e}`), n.reason !== void 0 && a(n.reason, `StageRail reason for ${e}`), t.has(e)) throw Error(`StageRail stage ids must be unique: ${e}`);
2755
+ t.add(e);
2756
+ }
2757
+ return e;
2758
+ }, Sn = ({ className: e, emptyLabel: t = "No stages recorded.", heading: n, size: r = "default", stages: i, ...o }) => {
2759
+ let s = a(n, "StageRail heading"), c = a(t, "StageRail emptyLabel"), u = xn(i), d = `rly-stage-rail-${E()}`;
2760
+ return /* @__PURE__ */ k("section", {
2761
+ ...o,
2762
+ "aria-labelledby": d,
2763
+ className: l(Z("root"), yn.size[r].className, u.length > 6 && Z("long"), e),
2764
+ "data-rly-stage-rail-size": r,
2765
+ children: [/* @__PURE__ */ O("h2", {
2766
+ className: Z("heading"),
2767
+ id: d,
2768
+ children: s
2769
+ }), u.length === 0 ? /* @__PURE__ */ O("p", {
2770
+ className: Z("empty"),
2771
+ children: c
2772
+ }) : /* @__PURE__ */ O("ol", {
2773
+ className: Z("list"),
2774
+ children: u.map((e, t) => /* @__PURE__ */ k("li", {
2775
+ className: Z("item"),
2776
+ "data-rly-stage-id": e.id,
2777
+ children: [
2778
+ /* @__PURE__ */ O("span", {
2779
+ "aria-hidden": "true",
2780
+ className: Z("marker"),
2781
+ "data-rly-stage-marker": "",
2782
+ children: t + 1
2783
+ }),
2784
+ t === u.length - 1 ? null : /* @__PURE__ */ O("span", {
2785
+ "aria-hidden": "true",
2786
+ className: Z("connector"),
2787
+ "data-rly-stage-connector": ""
2788
+ }),
2789
+ /* @__PURE__ */ k("div", {
2790
+ className: Z("content"),
2791
+ children: [
2792
+ /* @__PURE__ */ O("h3", {
2793
+ className: Z("name"),
2794
+ children: e.name
2795
+ }),
2796
+ /* @__PURE__ */ O(w, {
2797
+ label: e.state,
2798
+ size: r === "compact" ? "compact" : "default",
2799
+ tone: e.tone
2800
+ }),
2801
+ e.reason === void 0 ? null : /* @__PURE__ */ O("p", {
2802
+ className: Z("reason"),
2803
+ children: e.reason
2804
+ }),
2805
+ e.owner === void 0 ? null : /* @__PURE__ */ O(F, {
2806
+ person: e.owner,
2807
+ size: r
2808
+ })
2809
+ ]
2810
+ })
2811
+ ]
2812
+ }, e.id))
2813
+ })]
2814
+ });
2815
+ }, Cn = {
2816
+ root: "rly_TimelineRow-module__root",
2817
+ time: "rly_TimelineRow-module__time",
2818
+ marker: "rly_TimelineRow-module__marker",
2819
+ dot: "rly_TimelineRow-module__dot",
2820
+ connector: "rly_TimelineRow-module__connector",
2821
+ content: "rly_TimelineRow-module__content",
2822
+ meta: "rly_TimelineRow-module__meta",
2823
+ title: "rly_TimelineRow-module__title",
2824
+ link: "rly_TimelineRow-module__link",
2825
+ detail: "rly_TimelineRow-module__detail",
2826
+ actorKind: "rly_TimelineRow-module__actorKind",
2827
+ actor: "rly_TimelineRow-module__actor"
2828
+ }, Q = (e) => s(Cn, e), wn = {
2829
+ human: "Human",
2830
+ agent: "Agent",
2831
+ plugin: "Plugin",
2832
+ system: "System"
2833
+ }, Tn = (e) => {
2834
+ if (a(e.id, "TimelineRow event id"), a(e.title, "TimelineRow event title"), a(e.detail, "TimelineRow event detail"), a(e.dateTime, "TimelineRow event dateTime"), a(e.time, "TimelineRow event time"), e.href !== void 0 && a(e.href, "TimelineRow event href"), !Object.hasOwn(wn, e.actorKind)) throw Error("TimelineRow event actorKind must be human, agent, plugin, or system");
2835
+ return e;
2836
+ }, En = ({ className: e, continued: t, event: n, ...i }) => {
2837
+ let a = Tn(n), o = `rly-timeline-row-${E()}`, s = /* @__PURE__ */ O("h2", {
2838
+ className: Q("title"),
2839
+ id: o,
2840
+ children: a.title
2841
+ });
2842
+ return /* @__PURE__ */ k("li", {
2843
+ ...i,
2844
+ className: l(Q("root"), e),
2845
+ "data-rly-timeline-actor": a.actorKind,
2846
+ "data-rly-timeline-event-id": a.id,
2847
+ children: [
2848
+ /* @__PURE__ */ O("time", {
2849
+ className: Q("time"),
2850
+ dateTime: a.dateTime,
2851
+ children: a.time
2852
+ }),
2853
+ /* @__PURE__ */ k("span", {
2854
+ "aria-hidden": "true",
2855
+ className: Q("marker"),
2856
+ children: [/* @__PURE__ */ O("span", { className: Q("dot") }), t ? /* @__PURE__ */ O("span", {
2857
+ className: Q("connector"),
2858
+ "data-rly-timeline-connector": ""
2859
+ }) : null]
2860
+ }),
2861
+ /* @__PURE__ */ k("article", {
2862
+ "aria-labelledby": o,
2863
+ className: Q("content"),
2864
+ children: [a.href === void 0 ? s : /* @__PURE__ */ O(r, {
2865
+ className: Q("link"),
2866
+ href: a.href,
2867
+ children: s
2868
+ }), /* @__PURE__ */ O("p", {
2869
+ className: Q("detail"),
2870
+ children: a.detail
2871
+ })]
2872
+ }),
2873
+ /* @__PURE__ */ k("div", {
2874
+ className: Q("meta"),
2875
+ children: [
2876
+ /* @__PURE__ */ O("span", {
2877
+ className: Q("actorKind"),
2878
+ children: wn[a.actorKind]
2879
+ }),
2880
+ a.service === void 0 ? null : /* @__PURE__ */ O(B, {
2881
+ service: a.service,
2882
+ size: "compact"
2883
+ }),
2884
+ a.actor === void 0 ? null : /* @__PURE__ */ O("div", {
2885
+ className: Q("actor"),
2886
+ children: a.actor
2887
+ })
2888
+ ]
2889
+ })
2890
+ ]
2891
+ });
2892
+ }, Dn = {
2893
+ root: "rly_WorksetCard-module__root",
2894
+ heading: "rly_WorksetCard-module__heading",
2895
+ dimensions: "rly_WorksetCard-module__dimensions",
2896
+ dimension: "rly_WorksetCard-module__dimension",
2897
+ dimensionHeading: "rly_WorksetCard-module__dimensionHeading",
2898
+ gaps: "rly_WorksetCard-module__gaps",
2899
+ list: "rly_WorksetCard-module__list",
2900
+ gapList: "rly_WorksetCard-module__gapList",
2901
+ keyList: "rly_WorksetCard-module__keyList",
2902
+ item: "rly_WorksetCard-module__item",
2903
+ gap: "rly_WorksetCard-module__gap",
2904
+ identity: "rly_WorksetCard-module__identity",
2905
+ link: "rly_WorksetCard-module__link",
2906
+ itemTitle: "rly_WorksetCard-module__itemTitle",
2907
+ reference: "rly_WorksetCard-module__reference",
2908
+ empty: "rly_WorksetCard-module__empty",
2909
+ conceptLabel: "rly_WorksetCard-module__conceptLabel",
2910
+ emptyLink: "rly_WorksetCard-module__emptyLink",
2911
+ linkedWork: "rly_WorksetCard-module__linkedWork"
2912
+ }, $ = (e) => s(Dn, e), On = (e, t) => {
2913
+ e !== void 0 && a(e, `${t} href`);
2914
+ }, kn = (e, t, n) => {
2915
+ let r = a(e, `${n} id`);
2916
+ if (t.has(r)) throw Error(`${n} ids must be unique: ${r}`);
2917
+ return t.add(r), r;
2918
+ }, An = (e) => {
2919
+ let t = /* @__PURE__ */ new Set();
2920
+ for (let n of e) {
2921
+ let e = kn(n.id, t, "WorksetCard Jira item");
2922
+ a(n.key, `WorksetCard Jira key for ${e}`), a(n.title, `WorksetCard Jira title for ${e}`), a(n.state, `WorksetCard Jira state for ${e}`), On(n.href, `WorksetCard Jira item ${e}`);
2923
+ }
2924
+ }, jn = (e) => {
2925
+ let t = /* @__PURE__ */ new Set();
2926
+ for (let n of e) {
2927
+ let e = kn(n.id, t, "WorksetCard pull request group");
2928
+ a(n.title, `WorksetCard pull request title for ${e}`), a(n.reference, `WorksetCard pull request reference for ${e}`), a(n.state, `WorksetCard pull request state for ${e}`), On(n.href, `WorksetCard pull request group ${e}`);
2929
+ for (let t of n.linkedJiraKeys) a(t, `WorksetCard linked Jira key for ${e}`);
2930
+ }
2931
+ }, Mn = (e) => {
2932
+ let t = /* @__PURE__ */ new Set();
2933
+ for (let n of e) {
2934
+ let e = kn(n.id, t, "WorksetCard gap");
2935
+ if (a(n.label, `WorksetCard gap label for ${e}`), a(n.reason, `WorksetCard gap reason for ${e}`), !Object.hasOwn($e.service, n.service)) throw Error(`WorksetCard gap service for ${e} must be supported`);
2936
+ }
2937
+ }, Nn = (e) => {
2938
+ let t = /* @__PURE__ */ new Set();
2939
+ for (let n of e) {
2940
+ let e = kn(n.id, t, "WorksetCard pipeline");
2941
+ a(n.title, `WorksetCard pipeline title for ${e}`), a(n.reference, `WorksetCard pipeline reference for ${e}`), a(n.state, `WorksetCard pipeline state for ${e}`), On(n.href, `WorksetCard pipeline ${e}`);
2942
+ }
2943
+ }, Pn = ({ href: e, reference: t, title: n }) => {
2944
+ let i = /* @__PURE__ */ k("span", {
2945
+ className: $("identity"),
2946
+ children: [/* @__PURE__ */ O("span", {
2947
+ className: $("itemTitle"),
2948
+ children: n
2949
+ }), /* @__PURE__ */ O("span", {
2950
+ className: $("reference"),
2951
+ children: t
2952
+ })]
2953
+ });
2954
+ return e === void 0 ? i : /* @__PURE__ */ O(r, {
2955
+ className: $("link"),
2956
+ href: e,
2957
+ children: i
2958
+ });
2959
+ }, Fn = ({ className: e, gapEmptyLabel: t = "No relationship gaps recorded.", gaps: n, heading: r, jiraEmptyLabel: i = "No Jira work recorded.", jiraItems: o, pipelineEmptyLabel: s = "No pipeline delivery recorded.", pipelines: c, pullRequestEmptyLabel: u = "No pull request groups recorded.", pullRequestGroups: d, ...f }) => {
2960
+ let p = a(r, "WorksetCard heading"), m = a(i, "WorksetCard jiraEmptyLabel"), h = a(u, "WorksetCard pullRequestEmptyLabel"), g = a(t, "WorksetCard gapEmptyLabel"), _ = a(s, "WorksetCard pipelineEmptyLabel");
2961
+ An(o), jn(d), Mn(n), Nn(c);
2962
+ let v = `rly-workset-${E()}`;
2963
+ return /* @__PURE__ */ k("section", {
2964
+ ...f,
2965
+ "aria-labelledby": v,
2966
+ className: l($("root"), e),
2967
+ children: [/* @__PURE__ */ O("h2", {
2968
+ className: $("heading"),
2969
+ id: v,
2970
+ children: p
2971
+ }), /* @__PURE__ */ k("div", {
2972
+ className: $("dimensions"),
2973
+ children: [
2974
+ /* @__PURE__ */ k("section", {
2975
+ className: $("dimension"),
2976
+ "data-rly-workset-dimension": "jira",
2977
+ children: [/* @__PURE__ */ k("div", {
2978
+ className: $("dimensionHeading"),
2979
+ children: [/* @__PURE__ */ O(B, {
2980
+ service: "jira",
2981
+ size: "compact"
2982
+ }), /* @__PURE__ */ O("h3", { children: "Jira work" })]
2983
+ }), o.length === 0 ? /* @__PURE__ */ O("p", {
2984
+ className: $("empty"),
2985
+ children: m
2986
+ }) : /* @__PURE__ */ O("ul", {
2987
+ className: $("list"),
2988
+ children: o.map((e) => /* @__PURE__ */ k("li", {
2989
+ className: $("item"),
2990
+ "data-rly-workset-jira-id": e.id,
2991
+ children: [
2992
+ /* @__PURE__ */ O(Pn, {
2993
+ ...e.href === void 0 ? {} : { href: e.href },
2994
+ reference: e.key,
2995
+ title: e.title
2996
+ }),
2997
+ /* @__PURE__ */ O(w, {
2998
+ label: e.state,
2999
+ size: "compact",
3000
+ tone: e.tone
3001
+ }),
3002
+ e.owner === void 0 ? null : /* @__PURE__ */ O(F, {
3003
+ person: e.owner,
3004
+ size: "compact"
3005
+ })
3006
+ ]
3007
+ }, e.id))
3008
+ })]
3009
+ }),
3010
+ /* @__PURE__ */ k("section", {
3011
+ className: $("dimension"),
3012
+ "data-rly-workset-dimension": "pull-requests",
3013
+ children: [
3014
+ /* @__PURE__ */ k("div", {
3015
+ className: $("dimensionHeading"),
3016
+ children: [/* @__PURE__ */ O(B, {
3017
+ service: "codecommit",
3018
+ size: "compact"
3019
+ }), /* @__PURE__ */ O("h3", { children: "Pull request groups" })]
3020
+ }),
3021
+ d.length === 0 ? /* @__PURE__ */ O("p", {
3022
+ className: $("empty"),
3023
+ children: h
3024
+ }) : /* @__PURE__ */ O("ul", {
3025
+ className: $("list"),
3026
+ children: d.map((e) => /* @__PURE__ */ k("li", {
3027
+ className: $("item"),
3028
+ "data-rly-workset-pr-id": e.id,
3029
+ children: [
3030
+ /* @__PURE__ */ O(Pn, {
3031
+ ...e.href === void 0 ? {} : { href: e.href },
3032
+ reference: e.reference,
3033
+ title: e.title
3034
+ }),
3035
+ /* @__PURE__ */ O(w, {
3036
+ label: e.state,
3037
+ size: "compact",
3038
+ tone: e.tone
3039
+ }),
3040
+ /* @__PURE__ */ k("div", {
3041
+ className: $("linkedWork"),
3042
+ children: [/* @__PURE__ */ O("span", {
3043
+ className: $("conceptLabel"),
3044
+ children: "Linked Jira work"
3045
+ }), e.linkedJiraKeys.length === 0 ? /* @__PURE__ */ O("span", {
3046
+ className: $("emptyLink"),
3047
+ children: "No Jira links recorded."
3048
+ }) : /* @__PURE__ */ O("ul", {
3049
+ className: $("keyList"),
3050
+ children: e.linkedJiraKeys.map((e, t) => /* @__PURE__ */ O("li", {
3051
+ "data-rly-linked-jira-key": e,
3052
+ children: e
3053
+ }, `${e}-${t}`))
3054
+ })]
3055
+ }),
3056
+ e.author === void 0 ? null : /* @__PURE__ */ O(F, {
3057
+ person: e.author,
3058
+ size: "compact"
3059
+ })
3060
+ ]
3061
+ }, e.id))
3062
+ }),
3063
+ /* @__PURE__ */ k("div", {
3064
+ className: $("gaps"),
3065
+ children: [/* @__PURE__ */ O("h4", { children: "Relationship gaps" }), n.length === 0 ? /* @__PURE__ */ O("p", {
3066
+ className: $("empty"),
3067
+ children: g
3068
+ }) : /* @__PURE__ */ O("ul", {
3069
+ className: $("gapList"),
3070
+ children: n.map((e) => /* @__PURE__ */ k("li", {
3071
+ className: $("gap"),
3072
+ "data-rly-workset-gap-id": e.id,
3073
+ children: [
3074
+ /* @__PURE__ */ O(B, {
3075
+ service: e.service,
3076
+ size: "compact"
3077
+ }),
3078
+ /* @__PURE__ */ O("strong", { children: e.label }),
3079
+ /* @__PURE__ */ O("span", { children: e.reason })
3080
+ ]
3081
+ }, e.id))
3082
+ })]
3083
+ })
3084
+ ]
3085
+ }),
3086
+ /* @__PURE__ */ k("section", {
3087
+ className: $("dimension"),
3088
+ "data-rly-workset-dimension": "pipelines",
3089
+ children: [/* @__PURE__ */ k("div", {
3090
+ className: $("dimensionHeading"),
3091
+ children: [/* @__PURE__ */ O(B, {
3092
+ service: "codepipeline",
3093
+ size: "compact"
3094
+ }), /* @__PURE__ */ O("h3", { children: "Pipeline delivery" })]
3095
+ }), c.length === 0 ? /* @__PURE__ */ O("p", {
3096
+ className: $("empty"),
3097
+ children: _
3098
+ }) : /* @__PURE__ */ O("ul", {
3099
+ className: $("list"),
3100
+ children: c.map((e) => /* @__PURE__ */ k("li", {
3101
+ className: $("item"),
3102
+ "data-rly-workset-pipeline-id": e.id,
3103
+ children: [
3104
+ /* @__PURE__ */ O(Pn, {
3105
+ ...e.href === void 0 ? {} : { href: e.href },
3106
+ reference: e.reference,
3107
+ title: e.title
3108
+ }),
3109
+ /* @__PURE__ */ O(w, {
3110
+ label: e.state,
3111
+ size: "compact",
3112
+ tone: e.tone
3113
+ }),
3114
+ e.operator === void 0 ? null : /* @__PURE__ */ O(F, {
3115
+ person: e.operator,
3116
+ size: "compact"
3117
+ }),
3118
+ e.approver === void 0 ? null : /* @__PURE__ */ O(F, {
3119
+ person: e.approver,
3120
+ size: "compact"
3121
+ }),
3122
+ /* @__PURE__ */ O(Sn, {
3123
+ heading: `${e.reference} stages`,
3124
+ size: "compact",
3125
+ stages: e.stages
3126
+ })
3127
+ ]
3128
+ }, e.id))
3129
+ })]
3130
+ })
3131
+ ]
3132
+ })]
3133
+ });
3134
+ };
3135
+ //#endregion
3136
+ export { Ge as A, ye as B, et as C, Ye as D, R as E, F, ue as H, Ne as I, Me as L, He as M, ze as N, Je as O, Re as P, ke as R, ot as S, B as T, me as V, bt as _, Sn as a, ct as b, un as c, pn as d, en as f, xt as g, St as h, yn as i, We as j, Ke as k, cn as l, kt as m, En as n, _n as o, Mt as p, bn as r, hn as s, Fn as t, ln as u, _t as v, $e as w, it as x, mt as y, Ce as z };
3137
+
3138
+ //# sourceMappingURL=patterns-DB9mAzxZ.js.map