@miadi/reference-ui 0.1.2 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -1
- package/dist/index.d.ts +67 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +54 -5
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
- package/src/index.ts +120 -6
- package/src/reference-ui.css +6 -0
package/README.md
CHANGED
|
@@ -10,6 +10,10 @@ the chronicle or its grounding:
|
|
|
10
10
|
| `miadi-chronicle:550/foundations/<topic>` | a foundation packet an episode wrote itself |
|
|
11
11
|
| `miadi-foundation:<slug>[/<file>][#place]` | a distributed foundation packet, or one file in it |
|
|
12
12
|
| `miadi-ceremony:<id>`, `miadi-circle:<id>` | a ceremony or circle; its page asks the reader for a seat |
|
|
13
|
+
| `miadi-notebook:<uuid>` | a Deep Diver notebook an episode holds |
|
|
14
|
+
| `miadi-prototype:<slug>` | a prototype made from an episode |
|
|
15
|
+
| `miadi-tracing:<domain>/<resource>/<id>[@<v>]` | a trace, prompt, session, dataset or score config (`miadi-trace:<domain>/<id>` and `miadi-prompt:<domain>/<name>[@<v>]` are accepted) |
|
|
16
|
+
| `rise://<owner>/<repo>/<path>[@<commit>]` | a specification file |
|
|
13
17
|
|
|
14
18
|
`//` after the scheme is accepted on input and dropped on output. Rendering options
|
|
15
19
|
travel in `mc.*` query parameters (`mc.show=card`, `mc.label=…`, `mc.highlight=true`),
|
|
@@ -72,7 +76,12 @@ Every text is escaped. The React components produce the same markup.
|
|
|
72
76
|
A resolver is `(uri) => Promise<ResolveAnswer | null>`. `createRemoteResolver`
|
|
73
77
|
calls `GET <origin>/api/chronicle/resolve?uri=…`. A host that holds its own catalog
|
|
74
78
|
builds views directly with `episodeReferenceView`, `foundationReferenceView`,
|
|
75
|
-
`episodeFoundationView` and `wheelReferenceView`.
|
|
79
|
+
`episodeFoundationView`, `artefactReferenceView` and `wheelReferenceView`.
|
|
80
|
+
|
|
81
|
+
An artefact or spec chip points at the front's open door
|
|
82
|
+
(`/api/chronicle/open?uri=…`), which redirects to the notebook, the published
|
|
83
|
+
prototype, the room holding a trace, or the specification file. The chip never
|
|
84
|
+
carries a provider URL, a project id or an editing address.
|
|
76
85
|
|
|
77
86
|
## Styling
|
|
78
87
|
|
package/dist/index.d.ts
CHANGED
|
@@ -15,8 +15,8 @@
|
|
|
15
15
|
*
|
|
16
16
|
* Ref: jgwill/Miadi#713. Grounding: foundations/resource-addressing-and-terminal-hypermedia/.
|
|
17
17
|
*/
|
|
18
|
-
import { isFoundationUri, isMiadiChronicleUri, isWheelRefUri, linkBareReferences, transformDirectives, type ChronicleResolution, type ParsedChronicleUri, type ParsedFoundationUri, type ParsedWheelRef } from "@miadi/inquiry-weave/references";
|
|
19
|
-
export type ReferenceScheme = "chronicle" | "foundation" | "ceremony" | "circle";
|
|
18
|
+
import { isFoundationUri, isMiadiChronicleUri, isWheelRefUri, linkBareReferences, transformDirectives, type ChronicleResolution, type ParsedArtefactUri, type ParsedChronicleUri, type ParsedFoundationUri, type ParsedWheelRef } from "@miadi/inquiry-weave/references";
|
|
19
|
+
export type ReferenceScheme = "chronicle" | "foundation" | "ceremony" | "circle" | "notebook" | "prototype" | "tracing" | "rise";
|
|
20
20
|
export type ReferenceShow = "chip" | "card";
|
|
21
21
|
interface ViewBase {
|
|
22
22
|
/** The URI as written. Rendered into `data-miadi-uri`. */
|
|
@@ -60,14 +60,55 @@ export interface WheelReferenceView extends ViewBase {
|
|
|
60
60
|
/** The page that asks the reader for their seat. Nothing of the record is shown. */
|
|
61
61
|
href: string;
|
|
62
62
|
}
|
|
63
|
+
/**
|
|
64
|
+
* An artefact an episode holds beside its text: a Deep Diver notebook, a
|
|
65
|
+
* prototype, a tracing resource (jgwill/Miadi#769). The chip's href is the
|
|
66
|
+
* host's open door, so the reader's browser never carries a Google URL, a
|
|
67
|
+
* provider page or a project id; the door redirects to what the reader may see.
|
|
68
|
+
*/
|
|
69
|
+
/** An artefact address as this package reads it: a parsed `miadi-notebook:` / `miadi-prototype:` / `miadi-tracing:` URI, or a `rise://` spec address. */
|
|
70
|
+
export interface ArtefactAddress {
|
|
71
|
+
uri: string;
|
|
72
|
+
canonical: string;
|
|
73
|
+
kind: "notebook" | "prototype" | "tracing" | "rise";
|
|
74
|
+
id: string;
|
|
75
|
+
/** For a `rise://` address: the canonical address without options, for the open door. */
|
|
76
|
+
bare?: string;
|
|
77
|
+
tracing?: {
|
|
78
|
+
domain: string;
|
|
79
|
+
resource: string;
|
|
80
|
+
id: string;
|
|
81
|
+
version?: number;
|
|
82
|
+
};
|
|
83
|
+
query: Record<string, string>;
|
|
84
|
+
options: Record<string, string>;
|
|
85
|
+
fragment?: string;
|
|
86
|
+
}
|
|
87
|
+
export interface ArtefactReferenceView extends ViewBase {
|
|
88
|
+
kind: "artefact";
|
|
89
|
+
artefact: "notebook" | "prototype" | "tracing" | "rise";
|
|
90
|
+
href: string;
|
|
91
|
+
/** A notebook uuid, a prototype slug, or `<domain>/<resource>/<id>`. */
|
|
92
|
+
id: string;
|
|
93
|
+
title?: string;
|
|
94
|
+
/** The badge of the episode holding it, `ep 120`. */
|
|
95
|
+
episode?: string;
|
|
96
|
+
/** For a tracing resource: `trace`, `prompt`, … */
|
|
97
|
+
resource?: string;
|
|
98
|
+
/** For a tracing resource: `ceremony`, `story`, `eng`. */
|
|
99
|
+
domain?: string;
|
|
100
|
+
/** For a tracing resource: the provider's id, a prompt's name. */
|
|
101
|
+
resourceId?: string;
|
|
102
|
+
version?: number;
|
|
103
|
+
}
|
|
63
104
|
export interface UnresolvedReferenceView extends ViewBase {
|
|
64
105
|
kind: "unresolved";
|
|
65
106
|
scheme: ReferenceScheme;
|
|
66
107
|
/** Why, for the title attribute. */
|
|
67
108
|
reason: string;
|
|
68
109
|
}
|
|
69
|
-
export type ReferenceView = EpisodeReferenceView | FoundationReferenceView | WheelReferenceView | UnresolvedReferenceView;
|
|
70
|
-
/** True for the
|
|
110
|
+
export type ReferenceView = EpisodeReferenceView | FoundationReferenceView | WheelReferenceView | ArtefactReferenceView | UnresolvedReferenceView;
|
|
111
|
+
/** True for the schemes this package renders: chronicle, foundation, ceremony, circle, and the artefact schemes. */
|
|
71
112
|
export declare function isReferenceUri(url: string | undefined): boolean;
|
|
72
113
|
/**
|
|
73
114
|
* A markdown renderer's URL filter that lets the four schemes through and
|
|
@@ -117,6 +158,26 @@ export declare function episodeFoundationView(parsed: ParsedChronicleUri, resolu
|
|
|
117
158
|
}, options?: {
|
|
118
159
|
base?: string;
|
|
119
160
|
}): FoundationReferenceView | UnresolvedReferenceView;
|
|
161
|
+
/** What a host knows about one artefact: the `artefact` field of `/api/chronicle/resolve`. Never an editing URL, never a provider project id. */
|
|
162
|
+
export interface ArtefactInfo {
|
|
163
|
+
kind: "notebook" | "prototype" | "tracing" | "rise";
|
|
164
|
+
id: string;
|
|
165
|
+
exists: boolean;
|
|
166
|
+
title?: string;
|
|
167
|
+
/** The episode holding it. */
|
|
168
|
+
episode?: {
|
|
169
|
+
name: string;
|
|
170
|
+
number?: number;
|
|
171
|
+
};
|
|
172
|
+
/** Where the chip points; defaults to the host's open door for the address. */
|
|
173
|
+
route?: string;
|
|
174
|
+
resource?: string;
|
|
175
|
+
domain?: string;
|
|
176
|
+
version?: number;
|
|
177
|
+
}
|
|
178
|
+
export declare function artefactReferenceView(parsed: ArtefactAddress | ParsedArtefactUri, info: ArtefactInfo | null, options?: {
|
|
179
|
+
base?: string;
|
|
180
|
+
}): ArtefactReferenceView | UnresolvedReferenceView;
|
|
120
181
|
export declare function wheelReferenceView(parsed: ParsedWheelRef, route: string, options?: {
|
|
121
182
|
base?: string;
|
|
122
183
|
}): WheelReferenceView | UnresolvedReferenceView;
|
|
@@ -154,6 +215,8 @@ export interface ResolveAnswer {
|
|
|
154
215
|
exists: boolean;
|
|
155
216
|
hasReadme?: boolean;
|
|
156
217
|
};
|
|
218
|
+
/** For a notebook, prototype or tracing address. */
|
|
219
|
+
artefact?: ArtefactInfo;
|
|
157
220
|
wheelRef?: {
|
|
158
221
|
kind: "ceremony" | "circle";
|
|
159
222
|
id: string;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAGL,eAAe,EACf,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAIlB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -15,10 +15,10 @@
|
|
|
15
15
|
*
|
|
16
16
|
* Ref: jgwill/Miadi#713. Grounding: foundations/resource-addressing-and-terminal-hypermedia/.
|
|
17
17
|
*/
|
|
18
|
-
import { findTextReferences, foundationRoute, isFoundationUri, isMiadiChronicleUri, isWheelRefUri, linkBareReferences, parseFoundationUri, parseMiadiChronicleUri, parseWheelRefUri, transformDirectives, } from "@miadi/inquiry-weave/references";
|
|
19
|
-
/** True for the
|
|
18
|
+
import { findTextReferences, foundationRoute, isFoundationUri, isMiadiChronicleUri, isWheelRefUri, linkBareReferences, parseFoundationUri, parseMiadiChronicleUri, parseWheelRefUri, transformDirectives, artefactOpenRoute, canonicalRiseRef, isArtefactUri, isRiseUri, parseArtefactUri, parseRiseUri, } from "@miadi/inquiry-weave/references";
|
|
19
|
+
/** True for the schemes this package renders: chronicle, foundation, ceremony, circle, and the artefact schemes. */
|
|
20
20
|
export function isReferenceUri(url) {
|
|
21
|
-
return isMiadiChronicleUri(url) || isFoundationUri(url) || isWheelRefUri(url);
|
|
21
|
+
return isMiadiChronicleUri(url) || isFoundationUri(url) || isWheelRefUri(url) || isArtefactUri(url) || isRiseUri(url);
|
|
22
22
|
}
|
|
23
23
|
/**
|
|
24
24
|
* A markdown renderer's URL filter that lets the four schemes through and
|
|
@@ -134,6 +134,26 @@ export function episodeFoundationView(parsed, resolution, info, options = {}) {
|
|
|
134
134
|
episode: episode.badge,
|
|
135
135
|
};
|
|
136
136
|
}
|
|
137
|
+
export function artefactReferenceView(parsed, info, options = {}) {
|
|
138
|
+
const short = parsed.kind === "tracing" ? (parsed.tracing?.id ?? parsed.id) : parsed.kind === "notebook" ? parsed.id.slice(0, 8) : parsed.kind === "rise" ? parsed.id.replace(/^[^/]+\/[^/]+\//, "") : parsed.id;
|
|
139
|
+
const door = parsed.kind === "rise" ? `/api/chronicle/open?uri=${encodeURIComponent(parsed.bare ?? parsed.canonical)}` : artefactOpenRoute(parsed);
|
|
140
|
+
const href = info && info.exists === true ? safeHref(info.route ?? door, options.base) : null;
|
|
141
|
+
if (!info || !href) {
|
|
142
|
+
return unresolvedView(parsed.uri, parsed.kind, `Unresolved ${parsed.kind} reference: ${parsed.uri}`, parsed.options, short);
|
|
143
|
+
}
|
|
144
|
+
const title = typeof info.title === "string" ? info.title : undefined;
|
|
145
|
+
const number = info.episode && typeof info.episode.number === "number" ? info.episode.number : undefined;
|
|
146
|
+
return {
|
|
147
|
+
kind: "artefact",
|
|
148
|
+
artefact: parsed.kind,
|
|
149
|
+
...base(parsed.uri, parsed.options, title ?? short),
|
|
150
|
+
href,
|
|
151
|
+
id: parsed.id,
|
|
152
|
+
...(title ? { title } : {}),
|
|
153
|
+
...(info.episode ? { episode: number !== undefined ? `ep ${pad(number)}` : info.episode.name } : {}),
|
|
154
|
+
...(parsed.tracing ? { resource: parsed.tracing.resource, domain: parsed.tracing.domain, resourceId: parsed.tracing.id, ...(parsed.tracing.version !== undefined ? { version: parsed.tracing.version } : {}) } : {}),
|
|
155
|
+
};
|
|
156
|
+
}
|
|
137
157
|
export function wheelReferenceView(parsed, route, options = {}) {
|
|
138
158
|
const href = safeHref(route, options.base);
|
|
139
159
|
if (!href)
|
|
@@ -165,7 +185,8 @@ export function referenceClasses(view) {
|
|
|
165
185
|
return `mr-ref mr-ref--chip mr-ref--unresolved not-prose`;
|
|
166
186
|
const dir = view.kind === "episode" && view.direction && DIRECTIONS.has(view.direction) ? ` mr-dir-${view.direction}` : "";
|
|
167
187
|
const highlight = view.highlight ? " mr-ref--highlight" : "";
|
|
168
|
-
|
|
188
|
+
const art = view.kind === "artefact" ? ` mr-art-${view.artefact}` : "";
|
|
189
|
+
return `mr-ref mr-ref--${view.show} mr-ref--${view.kind}${dir}${art}${highlight} not-prose`;
|
|
169
190
|
}
|
|
170
191
|
/**
|
|
171
192
|
* What a view shows. `text` is the link text a markdown author wrote
|
|
@@ -177,7 +198,17 @@ export function referenceParts(view, text) {
|
|
|
177
198
|
const label = view.label || words || view.fallback;
|
|
178
199
|
switch (view.kind) {
|
|
179
200
|
case "unresolved":
|
|
180
|
-
return { badge: view.scheme === "foundation" ? "◇" : "⟐", label, note: "(unresolved)", tooltip: view.reason };
|
|
201
|
+
return { badge: view.scheme === "foundation" ? "◇" : view.scheme === "notebook" ? "▤" : view.scheme === "prototype" ? "▣" : view.scheme === "tracing" ? "⌁" : view.scheme === "rise" ? "▧" : "⟐", label, note: "(unresolved)", tooltip: view.reason };
|
|
202
|
+
case "artefact": {
|
|
203
|
+
const glyph = view.artefact === "notebook" ? "▤" : view.artefact === "prototype" ? "▣" : view.artefact === "rise" ? "▧" : "⌁";
|
|
204
|
+
const kind = view.artefact === "tracing" ? `${view.resource ?? "tracing"} · ${view.domain ?? ""}`.replace(/ · $/, "") : view.artefact === "rise" ? "spec" : view.artefact;
|
|
205
|
+
const badge = `${glyph} ${kind}${view.episode ? ` · ${view.episode}` : ""}`;
|
|
206
|
+
const name = view.title ?? view.resourceId ?? view.id;
|
|
207
|
+
const meta = [view.artefact === "tracing" ? (view.resourceId ?? view.id) : "", view.version !== undefined ? `v${view.version}` : ""].filter(Boolean).join(" · ");
|
|
208
|
+
return view.show === "card"
|
|
209
|
+
? { badge, label, title: view.label || name, meta, tooltip: name }
|
|
210
|
+
: { badge, label, tooltip: `${name}${view.episode ? ` (${view.episode})` : ""}` };
|
|
211
|
+
}
|
|
181
212
|
case "wheel":
|
|
182
213
|
return { badge: view.wheel === "ceremony" ? "◆" : "○", label, tooltip: `${view.wheel} ${view.id}: its page asks for your seat` };
|
|
183
214
|
case "episode": {
|
|
@@ -272,6 +303,18 @@ function resolutionOf(value) {
|
|
|
272
303
|
*/
|
|
273
304
|
export function viewFromAnswer(uri, answer, options = {}) {
|
|
274
305
|
const a = isObject(answer) ? answer : {};
|
|
306
|
+
const artefact = parseArtefactUri(uri);
|
|
307
|
+
if (artefact) {
|
|
308
|
+
const info = isObject(a.artefact) && a.artefact.id === artefact.id ? a.artefact : null;
|
|
309
|
+
return artefactReferenceView(artefact, info, options);
|
|
310
|
+
}
|
|
311
|
+
const rise = parseRiseUri(uri);
|
|
312
|
+
if (rise) {
|
|
313
|
+
const id = `${rise.owner}/${rise.repo}/${rise.path}`;
|
|
314
|
+
const info = isObject(a.artefact) && a.artefact.id === id ? a.artefact : null;
|
|
315
|
+
const address = { uri: rise.uri, canonical: rise.canonical, kind: "rise", id, bare: canonicalRiseRef(rise.owner, rise.repo, rise.path, rise.commit), query: rise.query, options: rise.options, ...(rise.fragment ? { fragment: rise.fragment } : {}) };
|
|
316
|
+
return artefactReferenceView(address, info, options);
|
|
317
|
+
}
|
|
275
318
|
const foundation = parseFoundationUri(uri);
|
|
276
319
|
if (foundation) {
|
|
277
320
|
const info = isObject(a.foundation) && a.foundation.slug === foundation.slug ? a.foundation : null;
|
|
@@ -316,6 +359,12 @@ function safeDecode(s) {
|
|
|
316
359
|
export function referenceKey(href) {
|
|
317
360
|
const text = href.trim();
|
|
318
361
|
const pairs = (query) => Object.entries(query).sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0));
|
|
362
|
+
const artefact = parseArtefactUri(text);
|
|
363
|
+
if (artefact)
|
|
364
|
+
return JSON.stringify(["artefact", artefact.kind, artefact.id, pairs(artefact.query), pairs(artefact.options), safeDecode(artefact.fragment ?? "")]);
|
|
365
|
+
const rise = parseRiseUri(text);
|
|
366
|
+
if (rise)
|
|
367
|
+
return JSON.stringify(["rise", rise.owner, rise.repo, rise.path, rise.commit ?? "", pairs(rise.query), pairs(rise.options), safeDecode(rise.fragment ?? "")]);
|
|
319
368
|
const foundation = parseFoundationUri(text);
|
|
320
369
|
if (foundation) {
|
|
321
370
|
return JSON.stringify(["foundation", foundation.slug, foundation.file ?? "", pairs(foundation.query), pairs(foundation.options), safeDecode(foundation.fragment ?? "")]);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@miadi/reference-ui",
|
|
3
|
-
"version": "0.1
|
|
4
|
-
"description": "Render Miadi references — miadi-chronicle:<episode>, miadi-foundation:<slug>, miadi-ceremony:<id>, miadi-circle:<id> — as chips and cards in any host. A view model and an HTML renderer with no framework, React components on ./react, and a resolver client for a Miadi front's public /api/chronicle/resolve. It holds no URL or token: the host passes the resolver.",
|
|
3
|
+
"version": "0.2.1",
|
|
4
|
+
"description": "Render Miadi references — miadi-chronicle:<episode>, miadi-foundation:<slug>, miadi-ceremony:<id>, miadi-circle:<id>, miadi-notebook:<uuid>, miadi-prototype:<slug>, miadi-tracing:<domain>/<resource>/<id>, rise://<owner>/<repo>/<path> — as chips and cards in any host. A view model and an HTML renderer with no framework, React components on ./react, and a resolver client for a Miadi front's public /api/chronicle/resolve. It holds no URL or token: the host passes the resolver.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"publishConfig": {
|
|
7
7
|
"access": "public"
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
"react"
|
|
53
53
|
],
|
|
54
54
|
"dependencies": {
|
|
55
|
-
"@miadi/inquiry-weave": "^0.
|
|
55
|
+
"@miadi/inquiry-weave": "^0.17.0"
|
|
56
56
|
},
|
|
57
57
|
"peerDependencies": {
|
|
58
58
|
"react": ">=18"
|
package/src/index.ts
CHANGED
|
@@ -27,13 +27,20 @@ import {
|
|
|
27
27
|
parseMiadiChronicleUri,
|
|
28
28
|
parseWheelRefUri,
|
|
29
29
|
transformDirectives,
|
|
30
|
+
artefactOpenRoute,
|
|
31
|
+
canonicalRiseRef,
|
|
32
|
+
isArtefactUri,
|
|
33
|
+
isRiseUri,
|
|
34
|
+
parseArtefactUri,
|
|
35
|
+
parseRiseUri,
|
|
30
36
|
type ChronicleResolution,
|
|
37
|
+
type ParsedArtefactUri,
|
|
31
38
|
type ParsedChronicleUri,
|
|
32
39
|
type ParsedFoundationUri,
|
|
33
40
|
type ParsedWheelRef,
|
|
34
41
|
} from "@miadi/inquiry-weave/references"
|
|
35
42
|
|
|
36
|
-
export type ReferenceScheme = "chronicle" | "foundation" | "ceremony" | "circle"
|
|
43
|
+
export type ReferenceScheme = "chronicle" | "foundation" | "ceremony" | "circle" | "notebook" | "prototype" | "tracing" | "rise"
|
|
37
44
|
export type ReferenceShow = "chip" | "card"
|
|
38
45
|
|
|
39
46
|
interface ViewBase {
|
|
@@ -82,6 +89,44 @@ export interface WheelReferenceView extends ViewBase {
|
|
|
82
89
|
href: string
|
|
83
90
|
}
|
|
84
91
|
|
|
92
|
+
/**
|
|
93
|
+
* An artefact an episode holds beside its text: a Deep Diver notebook, a
|
|
94
|
+
* prototype, a tracing resource (jgwill/Miadi#769). The chip's href is the
|
|
95
|
+
* host's open door, so the reader's browser never carries a Google URL, a
|
|
96
|
+
* provider page or a project id; the door redirects to what the reader may see.
|
|
97
|
+
*/
|
|
98
|
+
/** An artefact address as this package reads it: a parsed `miadi-notebook:` / `miadi-prototype:` / `miadi-tracing:` URI, or a `rise://` spec address. */
|
|
99
|
+
export interface ArtefactAddress {
|
|
100
|
+
uri: string
|
|
101
|
+
canonical: string
|
|
102
|
+
kind: "notebook" | "prototype" | "tracing" | "rise"
|
|
103
|
+
id: string
|
|
104
|
+
/** For a `rise://` address: the canonical address without options, for the open door. */
|
|
105
|
+
bare?: string
|
|
106
|
+
tracing?: { domain: string; resource: string; id: string; version?: number }
|
|
107
|
+
query: Record<string, string>
|
|
108
|
+
options: Record<string, string>
|
|
109
|
+
fragment?: string
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
export interface ArtefactReferenceView extends ViewBase {
|
|
113
|
+
kind: "artefact"
|
|
114
|
+
artefact: "notebook" | "prototype" | "tracing" | "rise"
|
|
115
|
+
href: string
|
|
116
|
+
/** A notebook uuid, a prototype slug, or `<domain>/<resource>/<id>`. */
|
|
117
|
+
id: string
|
|
118
|
+
title?: string
|
|
119
|
+
/** The badge of the episode holding it, `ep 120`. */
|
|
120
|
+
episode?: string
|
|
121
|
+
/** For a tracing resource: `trace`, `prompt`, … */
|
|
122
|
+
resource?: string
|
|
123
|
+
/** For a tracing resource: `ceremony`, `story`, `eng`. */
|
|
124
|
+
domain?: string
|
|
125
|
+
/** For a tracing resource: the provider's id, a prompt's name. */
|
|
126
|
+
resourceId?: string
|
|
127
|
+
version?: number
|
|
128
|
+
}
|
|
129
|
+
|
|
85
130
|
export interface UnresolvedReferenceView extends ViewBase {
|
|
86
131
|
kind: "unresolved"
|
|
87
132
|
scheme: ReferenceScheme
|
|
@@ -89,11 +134,11 @@ export interface UnresolvedReferenceView extends ViewBase {
|
|
|
89
134
|
reason: string
|
|
90
135
|
}
|
|
91
136
|
|
|
92
|
-
export type ReferenceView = EpisodeReferenceView | FoundationReferenceView | WheelReferenceView | UnresolvedReferenceView
|
|
137
|
+
export type ReferenceView = EpisodeReferenceView | FoundationReferenceView | WheelReferenceView | ArtefactReferenceView | UnresolvedReferenceView
|
|
93
138
|
|
|
94
|
-
/** True for the
|
|
139
|
+
/** True for the schemes this package renders: chronicle, foundation, ceremony, circle, and the artefact schemes. */
|
|
95
140
|
export function isReferenceUri(url: string | undefined): boolean {
|
|
96
|
-
return isMiadiChronicleUri(url) || isFoundationUri(url) || isWheelRefUri(url)
|
|
141
|
+
return isMiadiChronicleUri(url) || isFoundationUri(url) || isWheelRefUri(url) || isArtefactUri(url) || isRiseUri(url)
|
|
97
142
|
}
|
|
98
143
|
|
|
99
144
|
/**
|
|
@@ -237,6 +282,46 @@ export function episodeFoundationView(
|
|
|
237
282
|
}
|
|
238
283
|
}
|
|
239
284
|
|
|
285
|
+
/** What a host knows about one artefact: the `artefact` field of `/api/chronicle/resolve`. Never an editing URL, never a provider project id. */
|
|
286
|
+
export interface ArtefactInfo {
|
|
287
|
+
kind: "notebook" | "prototype" | "tracing" | "rise"
|
|
288
|
+
id: string
|
|
289
|
+
exists: boolean
|
|
290
|
+
title?: string
|
|
291
|
+
/** The episode holding it. */
|
|
292
|
+
episode?: { name: string; number?: number }
|
|
293
|
+
/** Where the chip points; defaults to the host's open door for the address. */
|
|
294
|
+
route?: string
|
|
295
|
+
resource?: string
|
|
296
|
+
domain?: string
|
|
297
|
+
version?: number
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
export function artefactReferenceView(
|
|
301
|
+
parsed: ArtefactAddress | ParsedArtefactUri,
|
|
302
|
+
info: ArtefactInfo | null,
|
|
303
|
+
options: { base?: string } = {},
|
|
304
|
+
): ArtefactReferenceView | UnresolvedReferenceView {
|
|
305
|
+
const short = parsed.kind === "tracing" ? (parsed.tracing?.id ?? parsed.id) : parsed.kind === "notebook" ? parsed.id.slice(0, 8) : parsed.kind === "rise" ? parsed.id.replace(/^[^/]+\/[^/]+\//, "") : parsed.id
|
|
306
|
+
const door = parsed.kind === "rise" ? `/api/chronicle/open?uri=${encodeURIComponent((parsed as ArtefactAddress).bare ?? parsed.canonical)}` : artefactOpenRoute(parsed as ParsedArtefactUri)
|
|
307
|
+
const href = info && info.exists === true ? safeHref(info.route ?? door, options.base) : null
|
|
308
|
+
if (!info || !href) {
|
|
309
|
+
return unresolvedView(parsed.uri, parsed.kind, `Unresolved ${parsed.kind} reference: ${parsed.uri}`, parsed.options, short)
|
|
310
|
+
}
|
|
311
|
+
const title = typeof info.title === "string" ? info.title : undefined
|
|
312
|
+
const number = info.episode && typeof info.episode.number === "number" ? info.episode.number : undefined
|
|
313
|
+
return {
|
|
314
|
+
kind: "artefact",
|
|
315
|
+
artefact: parsed.kind,
|
|
316
|
+
...base(parsed.uri, parsed.options, title ?? short),
|
|
317
|
+
href,
|
|
318
|
+
id: parsed.id,
|
|
319
|
+
...(title ? { title } : {}),
|
|
320
|
+
...(info.episode ? { episode: number !== undefined ? `ep ${pad(number)}` : info.episode.name } : {}),
|
|
321
|
+
...(parsed.tracing ? { resource: parsed.tracing.resource, domain: parsed.tracing.domain, resourceId: parsed.tracing.id, ...(parsed.tracing.version !== undefined ? { version: parsed.tracing.version } : {}) } : {}),
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
|
|
240
325
|
export function wheelReferenceView(parsed: ParsedWheelRef, route: string, options: { base?: string } = {}): WheelReferenceView | UnresolvedReferenceView {
|
|
241
326
|
const href = safeHref(route, options.base)
|
|
242
327
|
if (!href) return unresolvedView(parsed.uri, parsed.kind, `Unresolved ${parsed.kind} reference: ${parsed.uri}`, parsed.options, parsed.kind)
|
|
@@ -271,7 +356,8 @@ export function referenceClasses(view: ReferenceView): string {
|
|
|
271
356
|
if (view.kind === "unresolved") return `mr-ref mr-ref--chip mr-ref--unresolved not-prose`
|
|
272
357
|
const dir = view.kind === "episode" && view.direction && DIRECTIONS.has(view.direction) ? ` mr-dir-${view.direction}` : ""
|
|
273
358
|
const highlight = view.highlight ? " mr-ref--highlight" : ""
|
|
274
|
-
|
|
359
|
+
const art = view.kind === "artefact" ? ` mr-art-${view.artefact}` : ""
|
|
360
|
+
return `mr-ref mr-ref--${view.show} mr-ref--${view.kind}${dir}${art}${highlight} not-prose`
|
|
275
361
|
}
|
|
276
362
|
|
|
277
363
|
/** The text pieces a view shows, in order. Both renderers place these and nothing else. */
|
|
@@ -294,7 +380,17 @@ export function referenceParts(view: ReferenceView, text?: string): ReferencePar
|
|
|
294
380
|
const label = view.label || words || view.fallback
|
|
295
381
|
switch (view.kind) {
|
|
296
382
|
case "unresolved":
|
|
297
|
-
return { badge: view.scheme === "foundation" ? "◇" : "⟐", label, note: "(unresolved)", tooltip: view.reason }
|
|
383
|
+
return { badge: view.scheme === "foundation" ? "◇" : view.scheme === "notebook" ? "▤" : view.scheme === "prototype" ? "▣" : view.scheme === "tracing" ? "⌁" : view.scheme === "rise" ? "▧" : "⟐", label, note: "(unresolved)", tooltip: view.reason }
|
|
384
|
+
case "artefact": {
|
|
385
|
+
const glyph = view.artefact === "notebook" ? "▤" : view.artefact === "prototype" ? "▣" : view.artefact === "rise" ? "▧" : "⌁"
|
|
386
|
+
const kind = view.artefact === "tracing" ? `${view.resource ?? "tracing"} · ${view.domain ?? ""}`.replace(/ · $/, "") : view.artefact === "rise" ? "spec" : view.artefact
|
|
387
|
+
const badge = `${glyph} ${kind}${view.episode ? ` · ${view.episode}` : ""}`
|
|
388
|
+
const name = view.title ?? view.resourceId ?? view.id
|
|
389
|
+
const meta = [view.artefact === "tracing" ? (view.resourceId ?? view.id) : "", view.version !== undefined ? `v${view.version}` : ""].filter(Boolean).join(" · ")
|
|
390
|
+
return view.show === "card"
|
|
391
|
+
? { badge, label, title: view.label || name, meta, tooltip: name }
|
|
392
|
+
: { badge, label, tooltip: `${name}${view.episode ? ` (${view.episode})` : ""}` }
|
|
393
|
+
}
|
|
298
394
|
case "wheel":
|
|
299
395
|
return { badge: view.wheel === "ceremony" ? "◆" : "○", label, tooltip: `${view.wheel} ${view.id}: its page asks for your seat` }
|
|
300
396
|
case "episode": {
|
|
@@ -345,6 +441,8 @@ export interface ResolveAnswer {
|
|
|
345
441
|
foundation?: FoundationInfo
|
|
346
442
|
/** For `<ep>/foundations/<topic>`: the episode's own packet. */
|
|
347
443
|
episodeFoundation?: { slug: string; title?: string; exists: boolean; hasReadme?: boolean }
|
|
444
|
+
/** For a notebook, prototype or tracing address. */
|
|
445
|
+
artefact?: ArtefactInfo
|
|
348
446
|
wheelRef?: { kind: "ceremony" | "circle"; id: string; route: string }
|
|
349
447
|
}
|
|
350
448
|
|
|
@@ -412,6 +510,18 @@ function resolutionOf(value: unknown): ChronicleResolution | undefined {
|
|
|
412
510
|
*/
|
|
413
511
|
export function viewFromAnswer(uri: string, answer: ResolveAnswer | null, options: { base?: string } = {}): ReferenceView | null {
|
|
414
512
|
const a: Record<string, unknown> = isObject(answer) ? answer : {}
|
|
513
|
+
const artefact = parseArtefactUri(uri)
|
|
514
|
+
if (artefact) {
|
|
515
|
+
const info = isObject(a.artefact) && a.artefact.id === artefact.id ? (a.artefact as unknown as ArtefactInfo) : null
|
|
516
|
+
return artefactReferenceView(artefact, info, options)
|
|
517
|
+
}
|
|
518
|
+
const rise = parseRiseUri(uri)
|
|
519
|
+
if (rise) {
|
|
520
|
+
const id = `${rise.owner}/${rise.repo}/${rise.path}`
|
|
521
|
+
const info = isObject(a.artefact) && a.artefact.id === id ? (a.artefact as unknown as ArtefactInfo) : null
|
|
522
|
+
const address: ArtefactAddress = { uri: rise.uri, canonical: rise.canonical, kind: "rise", id, bare: canonicalRiseRef(rise.owner, rise.repo, rise.path, rise.commit), query: rise.query, options: rise.options, ...(rise.fragment ? { fragment: rise.fragment } : {}) }
|
|
523
|
+
return artefactReferenceView(address, info, options)
|
|
524
|
+
}
|
|
415
525
|
const foundation = parseFoundationUri(uri)
|
|
416
526
|
if (foundation) {
|
|
417
527
|
const info = isObject(a.foundation) && a.foundation.slug === foundation.slug ? (a.foundation as unknown as FoundationInfo) : null
|
|
@@ -460,6 +570,10 @@ function safeDecode(s: string): string {
|
|
|
460
570
|
export function referenceKey(href: string): string {
|
|
461
571
|
const text = href.trim()
|
|
462
572
|
const pairs = (query: Record<string, string>) => Object.entries(query).sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0))
|
|
573
|
+
const artefact = parseArtefactUri(text)
|
|
574
|
+
if (artefact) return JSON.stringify(["artefact", artefact.kind, artefact.id, pairs(artefact.query), pairs(artefact.options), safeDecode(artefact.fragment ?? "")])
|
|
575
|
+
const rise = parseRiseUri(text)
|
|
576
|
+
if (rise) return JSON.stringify(["rise", rise.owner, rise.repo, rise.path, rise.commit ?? "", pairs(rise.query), pairs(rise.options), safeDecode(rise.fragment ?? "")])
|
|
463
577
|
const foundation = parseFoundationUri(text)
|
|
464
578
|
if (foundation) {
|
|
465
579
|
return JSON.stringify(["foundation", foundation.slug, foundation.file ?? "", pairs(foundation.query), pairs(foundation.options), safeDecode(foundation.fragment ?? "")])
|
package/src/reference-ui.css
CHANGED
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
--mr-west: #1d4ed8;
|
|
20
20
|
--mr-north: #374151;
|
|
21
21
|
--mr-foundation: #6d28d9;
|
|
22
|
+
--mr-artefact: #0f766e;
|
|
22
23
|
--mr-wheel: #0f766e;
|
|
23
24
|
--mr-muted: #4b5563;
|
|
24
25
|
--mr-card-bg: #f9fafb;
|
|
@@ -34,6 +35,7 @@
|
|
|
34
35
|
--mr-west: #93c5fd;
|
|
35
36
|
--mr-north: #e5e7eb;
|
|
36
37
|
--mr-foundation: #c4b5fd;
|
|
38
|
+
--mr-artefact: #5eead4;
|
|
37
39
|
--mr-wheel: #5eead4;
|
|
38
40
|
--mr-muted: #9ca3af;
|
|
39
41
|
--mr-card-bg: #111827;
|
|
@@ -48,6 +50,7 @@
|
|
|
48
50
|
--mr-west: #93c5fd;
|
|
49
51
|
--mr-north: #e5e7eb;
|
|
50
52
|
--mr-foundation: #c4b5fd;
|
|
53
|
+
--mr-artefact: #5eead4;
|
|
51
54
|
--mr-wheel: #5eead4;
|
|
52
55
|
--mr-muted: #9ca3af;
|
|
53
56
|
--mr-card-bg: #111827;
|
|
@@ -64,6 +67,7 @@
|
|
|
64
67
|
--mr-west: #1d4ed8;
|
|
65
68
|
--mr-north: #374151;
|
|
66
69
|
--mr-foundation: #6d28d9;
|
|
70
|
+
--mr-artefact: #0f766e;
|
|
67
71
|
--mr-wheel: #0f766e;
|
|
68
72
|
--mr-muted: #4b5563;
|
|
69
73
|
--mr-card-bg: #f9fafb;
|
|
@@ -80,6 +84,7 @@
|
|
|
80
84
|
--mr-west: #93c5fd;
|
|
81
85
|
--mr-north: #e5e7eb;
|
|
82
86
|
--mr-foundation: #c4b5fd;
|
|
87
|
+
--mr-artefact: #5eead4;
|
|
83
88
|
--mr-wheel: #5eead4;
|
|
84
89
|
--mr-muted: #9ca3af;
|
|
85
90
|
--mr-card-bg: #111827;
|
|
@@ -92,6 +97,7 @@
|
|
|
92
97
|
.mr-dir-west { --mr-accent: var(--mr-west); }
|
|
93
98
|
.mr-dir-north { --mr-accent: var(--mr-north); }
|
|
94
99
|
.mr-ref--foundation { --mr-accent: var(--mr-foundation); }
|
|
100
|
+
.mr-ref--artefact { --mr-accent: var(--mr-artefact); }
|
|
95
101
|
.mr-ref--wheel { --mr-accent: var(--mr-wheel); }
|
|
96
102
|
|
|
97
103
|
/* `a.mr-ref` outranks a typography plugin's `.prose :where(a)`. */
|