@cairn-tool/cairn 3.0.0 → 3.1.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.
Files changed (46) hide show
  1. package/README.md +4 -3
  2. package/dist/agent/types.d.ts +2 -1
  3. package/dist/agent/types.js.map +1 -1
  4. package/dist/cli.js +33 -0
  5. package/dist/cli.js.map +1 -1
  6. package/dist/commands/jira.d.ts +17 -0
  7. package/dist/commands/jira.js +195 -0
  8. package/dist/commands/jira.js.map +1 -0
  9. package/dist/contract/registry.js +37 -0
  10. package/dist/contract/registry.js.map +1 -1
  11. package/dist/contract/schemas/index.js +2 -0
  12. package/dist/contract/schemas/index.js.map +1 -1
  13. package/dist/contract/schemas/jira.d.ts +2 -0
  14. package/dist/contract/schemas/jira.js +102 -0
  15. package/dist/contract/schemas/jira.js.map +1 -0
  16. package/dist/jira/adf/diagnostics.d.ts +77 -0
  17. package/dist/jira/adf/diagnostics.js +100 -0
  18. package/dist/jira/adf/diagnostics.js.map +1 -0
  19. package/dist/jira/adf/from-markdown.d.ts +6 -0
  20. package/dist/jira/adf/from-markdown.js +650 -0
  21. package/dist/jira/adf/from-markdown.js.map +1 -0
  22. package/dist/jira/adf/inspect.d.ts +11 -0
  23. package/dist/jira/adf/inspect.js +56 -0
  24. package/dist/jira/adf/inspect.js.map +1 -0
  25. package/dist/jira/adf/profile.d.ts +101 -0
  26. package/dist/jira/adf/profile.js +248 -0
  27. package/dist/jira/adf/profile.js.map +1 -0
  28. package/dist/jira/adf/read.d.ts +33 -0
  29. package/dist/jira/adf/read.js +250 -0
  30. package/dist/jira/adf/read.js.map +1 -0
  31. package/dist/jira/adf/serialize.d.ts +5 -0
  32. package/dist/jira/adf/serialize.js +54 -0
  33. package/dist/jira/adf/serialize.js.map +1 -0
  34. package/dist/jira/adf/to-markdown.d.ts +14 -0
  35. package/dist/jira/adf/to-markdown.js +512 -0
  36. package/dist/jira/adf/to-markdown.js.map +1 -0
  37. package/dist/jira/adf/types.d.ts +73 -0
  38. package/dist/jira/adf/types.js +2 -0
  39. package/dist/jira/adf/types.js.map +1 -0
  40. package/dist/jira/adf/validate.d.ts +7 -0
  41. package/dist/jira/adf/validate.js +182 -0
  42. package/dist/jira/adf/validate.js.map +1 -0
  43. package/dist/mapping-quality.d.ts +18 -0
  44. package/dist/mapping-quality.js +12 -0
  45. package/dist/mapping-quality.js.map +1 -0
  46. package/package.json +4 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"from-markdown.js","sourceRoot":"","sources":["../../../src/jira/adf/from-markdown.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { AdfDocument, InventoryEntry } from "./types.js";
2
+ /**
3
+ * Counts every node and mark type in a document and rates each against the
4
+ * fidelity tables.
5
+ *
6
+ * The question this answers is "what will converting this cost me", asked before
7
+ * paying it. A type absent from the fidelity tables is reported as `unsupported`
8
+ * with a note saying so, rather than omitted — an inventory that quietly skips
9
+ * what it does not recognize is worse than no inventory.
10
+ */
11
+ export declare function inspectAdf(document: AdfDocument): InventoryEntry[];
@@ -0,0 +1,56 @@
1
+ import { FIDELITY, MARK_FIDELITY } from "./profile.js";
2
+ /**
3
+ * Counts every node and mark type in a document and rates each against the
4
+ * fidelity tables.
5
+ *
6
+ * The question this answers is "what will converting this cost me", asked before
7
+ * paying it. A type absent from the fidelity tables is reported as `unsupported`
8
+ * with a note saying so, rather than omitted — an inventory that quietly skips
9
+ * what it does not recognize is worse than no inventory.
10
+ */
11
+ export function inspectAdf(document) {
12
+ const nodes = new Map();
13
+ const marks = new Map();
14
+ const bump = (map, key) => {
15
+ map.set(key, (map.get(key) ?? 0) + 1);
16
+ };
17
+ const walk = (node) => {
18
+ bump(nodes, node.type);
19
+ for (const mark of node.marks ?? [])
20
+ bump(marks, mark.type);
21
+ for (const child of node.content ?? [])
22
+ walk(child);
23
+ };
24
+ for (const child of document.content ?? [])
25
+ walk(child);
26
+ const entries = [];
27
+ for (const [type, count] of nodes) {
28
+ const rating = FIDELITY[type];
29
+ entries.push({
30
+ type,
31
+ kind: "node",
32
+ count,
33
+ quality: rating?.quality ?? "unsupported",
34
+ note: rating?.note ?? "Unrecognized by this tool's content model.",
35
+ });
36
+ }
37
+ for (const [type, count] of marks) {
38
+ const rating = MARK_FIDELITY[type];
39
+ entries.push({
40
+ type,
41
+ kind: "mark",
42
+ count,
43
+ quality: rating?.quality ?? "unsupported",
44
+ note: rating?.note ?? "Unrecognized by this tool's content model.",
45
+ });
46
+ }
47
+ // Nodes before marks, then by byte comparison of the type. Never
48
+ // `localeCompare`: it is ICU-build dependent and would reorder output on a
49
+ // differently configured runner.
50
+ return entries.sort((a, b) => {
51
+ if (a.kind !== b.kind)
52
+ return a.kind === "node" ? -1 : 1;
53
+ return a.type < b.type ? -1 : a.type > b.type ? 1 : 0;
54
+ });
55
+ }
56
+ //# sourceMappingURL=inspect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inspect.js","sourceRoot":"","sources":["../../../src/jira/adf/inspect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAGvD;;;;;;;;GAQG;AACH,MAAM,UAAU,UAAU,CAAC,QAAqB;IAC9C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IAExC,MAAM,IAAI,GAAG,CAAC,GAAwB,EAAE,GAAW,EAAQ,EAAE;QAC3D,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACxC,CAAC,CAAC;IAEF,MAAM,IAAI,GAAG,CAAC,IAAa,EAAQ,EAAE;QACnC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE;YAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5D,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE;YAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACtD,CAAC,CAAC;IACF,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,OAAO,IAAI,EAAE;QAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAExD,MAAM,OAAO,GAAqB,EAAE,CAAC;IACrC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC;YACX,IAAI;YACJ,IAAI,EAAE,MAAM;YACZ,KAAK;YACL,OAAO,EAAE,MAAM,EAAE,OAAO,IAAI,aAAa;YACzC,IAAI,EAAE,MAAM,EAAE,IAAI,IAAI,4CAA4C;SACnE,CAAC,CAAC;IACL,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC;YACX,IAAI;YACJ,IAAI,EAAE,MAAM;YACZ,KAAK;YACL,OAAO,EAAE,MAAM,EAAE,OAAO,IAAI,aAAa;YACzC,IAAI,EAAE,MAAM,EAAE,IAAI,IAAI,4CAA4C;SACnE,CAAC,CAAC;IACL,CAAC;IAED,iEAAiE;IACjE,2EAA2E;IAC3E,iCAAiC;IACjC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC3B,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;YAAE,OAAO,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,101 @@
1
+ import type { MappingQuality } from "../../mapping-quality.js";
2
+ /**
3
+ * The ADF content model, and what to emit when Markdown asks for something it
4
+ * forbids.
5
+ *
6
+ * This is data, and the converters read it rather than branching on node type,
7
+ * for the same reason `src/agent/render.ts` reads `src/agent/targets/*.ts`
8
+ * instead of branching on the target: the legality question has one answer per
9
+ * (parent, child) pair, and a branch is where the answers drift apart.
10
+ *
11
+ * Every entry below was probed against `@atlaskit/adf-schema`'s published JSON
12
+ * Schema rather than transcribed from prose, and
13
+ * `tests/unit/jira-adf-profile.test.ts` re-probes all of it on every run. That test
14
+ * is the reason this file may be trusted; without it the tables are assertions
15
+ * about someone else's format with nothing checking them.
16
+ *
17
+ * Deliberately not derived from the schema at runtime: deriving would trade a
18
+ * small authored table for a parser against someone else's schema structure,
19
+ * which a restructure breaks and the agreement test would have survived.
20
+ */
21
+ /** Inline nodes, legal wherever a parent accepts inline content. */
22
+ export declare const INLINE_NODES: Set<string>;
23
+ /** Marks this tool recognizes. Anything else reports `AD101`. */
24
+ export declare const MARKS: Set<string>;
25
+ /** Closed enum in the schema: an unlisted value is invalid ADF, not an unknown. */
26
+ export declare const PANEL_TYPES: Set<string>;
27
+ export interface ContentRule {
28
+ /**
29
+ * Legal child types. `"inline"` means the inline set above; `"text"` means
30
+ * bare text nodes carrying no marks, which is `codeBlock` only.
31
+ */
32
+ children: readonly string[] | "inline" | "text";
33
+ /** Minimum children valid ADF requires. */
34
+ minimum: 0 | 1;
35
+ /** Maximum, where the schema imposes one. */
36
+ maximum?: number;
37
+ }
38
+ /**
39
+ * Every block container, with its verified legal children.
40
+ *
41
+ * Note `doc` has `minimum: 0` — an empty document is valid ADF, so no filler
42
+ * paragraph is needed there. `listItem`, `tableCell`, `tableHeader`, `table`,
43
+ * `tableRow`, and the lists all require content, and an empty GFM table cell is
44
+ * ordinary Markdown, so the filler rules below are load-bearing rather than
45
+ * defensive.
46
+ */
47
+ export declare const CONTENT_MODEL: Readonly<Record<string, ContentRule>>;
48
+ /**
49
+ * What to emit when Markdown nests something ADF forbids.
50
+ *
51
+ * Only three parents can arise from Markdown. A GFM table cell holds inline
52
+ * content only, so `tableCell` never receives an illegal block from this
53
+ * direction, and `panel`, `expand`, and `decisionList` have no mdast
54
+ * counterpart at all — which is why this table is far shorter than the set of
55
+ * illegal pairs in the content model.
56
+ */
57
+ export type Degradation =
58
+ /** Becomes a paragraph whose text carries the `strong` mark. */
59
+ "strong-paragraph"
60
+ /** The child's own children are lifted into the parent in place. */
61
+ | "unwrap"
62
+ /** One paragraph per table row, cells joined with a pipe. */
63
+ | "rows-as-paragraphs"
64
+ /** Carries no content of its own, so nothing is lost by omitting it. */
65
+ | "drop"
66
+ /** Block content collapsed to inline, separated by `hardBreak`. */
67
+ | "inline-flatten"
68
+ /**
69
+ * A `taskList` becomes a `bulletList`, each item's text keeping a literal
70
+ * `[x] ` or `[ ] ` prefix so the state stays visible to a reader. It is not
71
+ * reversible: converting back escapes the bracket, because an unescaped one
72
+ * would silently become a task item again.
73
+ */
74
+ | "list-downgrade";
75
+ export interface DegradationRule {
76
+ parent: string;
77
+ child: string;
78
+ action: Degradation;
79
+ quality: MappingQuality;
80
+ }
81
+ export declare const DEGRADATIONS: readonly DegradationRule[];
82
+ export declare function degradationFor(parent: string, child: string): DegradationRule | undefined;
83
+ /** True when `child` may appear directly inside `parent`. */
84
+ export declare function accepts(parent: string, child: string): boolean;
85
+ /**
86
+ * How each ADF construct survives the trip to Markdown.
87
+ *
88
+ * Read by `jira adf inspect` to answer "what will this cost me" before converting,
89
+ * and by `to-markdown` to pick the diagnostic. A type absent from this table is
90
+ * genuinely unknown to the tool and reports `AD100` rather than being dropped
91
+ * quietly.
92
+ */
93
+ export declare const FIDELITY: Readonly<Record<string, {
94
+ quality: MappingQuality;
95
+ note: string;
96
+ }>>;
97
+ /** How each mark survives the trip to Markdown. */
98
+ export declare const MARK_FIDELITY: Readonly<Record<string, {
99
+ quality: MappingQuality;
100
+ note: string;
101
+ }>>;
@@ -0,0 +1,248 @@
1
+ /**
2
+ * The ADF content model, and what to emit when Markdown asks for something it
3
+ * forbids.
4
+ *
5
+ * This is data, and the converters read it rather than branching on node type,
6
+ * for the same reason `src/agent/render.ts` reads `src/agent/targets/*.ts`
7
+ * instead of branching on the target: the legality question has one answer per
8
+ * (parent, child) pair, and a branch is where the answers drift apart.
9
+ *
10
+ * Every entry below was probed against `@atlaskit/adf-schema`'s published JSON
11
+ * Schema rather than transcribed from prose, and
12
+ * `tests/unit/jira-adf-profile.test.ts` re-probes all of it on every run. That test
13
+ * is the reason this file may be trusted; without it the tables are assertions
14
+ * about someone else's format with nothing checking them.
15
+ *
16
+ * Deliberately not derived from the schema at runtime: deriving would trade a
17
+ * small authored table for a parser against someone else's schema structure,
18
+ * which a restructure breaks and the agreement test would have survived.
19
+ */
20
+ /** Inline nodes, legal wherever a parent accepts inline content. */
21
+ export const INLINE_NODES = new Set([
22
+ "text",
23
+ "hardBreak",
24
+ "emoji",
25
+ "mention",
26
+ "date",
27
+ "status",
28
+ "inlineCard",
29
+ "placeholder",
30
+ "mediaInline",
31
+ "inlineExtension",
32
+ ]);
33
+ /** Marks this tool recognizes. Anything else reports `AD101`. */
34
+ export const MARKS = new Set([
35
+ "strong",
36
+ "em",
37
+ "code",
38
+ "strike",
39
+ "underline",
40
+ "subsup",
41
+ "link",
42
+ "textColor",
43
+ "backgroundColor",
44
+ "alignment",
45
+ "indentation",
46
+ "breakout",
47
+ "border",
48
+ "annotation",
49
+ "dataConsumer",
50
+ "fragment",
51
+ ]);
52
+ /** Closed enum in the schema: an unlisted value is invalid ADF, not an unknown. */
53
+ export const PANEL_TYPES = new Set([
54
+ "info",
55
+ "note",
56
+ "tip",
57
+ "warning",
58
+ "error",
59
+ "success",
60
+ "custom",
61
+ ]);
62
+ /**
63
+ * Every block container, with its verified legal children.
64
+ *
65
+ * Note `doc` has `minimum: 0` — an empty document is valid ADF, so no filler
66
+ * paragraph is needed there. `listItem`, `tableCell`, `tableHeader`, `table`,
67
+ * `tableRow`, and the lists all require content, and an empty GFM table cell is
68
+ * ordinary Markdown, so the filler rules below are load-bearing rather than
69
+ * defensive.
70
+ */
71
+ export const CONTENT_MODEL = {
72
+ doc: { children: BLOCKS(), minimum: 0 },
73
+ paragraph: { children: "inline", minimum: 0 },
74
+ heading: { children: "inline", minimum: 0 },
75
+ codeBlock: { children: "text", minimum: 0 },
76
+ rule: { children: [], minimum: 0 },
77
+ blockquote: {
78
+ children: ["paragraph", "codeBlock", "bulletList", "orderedList", "mediaSingle", "mediaGroup"],
79
+ minimum: 1,
80
+ },
81
+ bulletList: { children: ["listItem"], minimum: 1 },
82
+ orderedList: { children: ["listItem"], minimum: 1 },
83
+ listItem: {
84
+ children: ["paragraph", "codeBlock", "bulletList", "orderedList", "mediaSingle", "taskList"],
85
+ minimum: 1,
86
+ },
87
+ table: { children: ["tableRow"], minimum: 1 },
88
+ // A row with no cells is valid ADF, unlike a table with no rows or a cell
89
+ // with no blocks. Probed, not assumed.
90
+ tableRow: { children: ["tableCell", "tableHeader"], minimum: 0 },
91
+ tableCell: { children: CELL_BLOCKS(), minimum: 1 },
92
+ tableHeader: { children: CELL_BLOCKS(), minimum: 1 },
93
+ panel: {
94
+ children: [
95
+ "paragraph",
96
+ "heading",
97
+ "codeBlock",
98
+ "rule",
99
+ "bulletList",
100
+ "orderedList",
101
+ "mediaSingle",
102
+ "mediaGroup",
103
+ "taskList",
104
+ "decisionList",
105
+ ],
106
+ minimum: 1,
107
+ },
108
+ expand: {
109
+ children: BLOCKS()
110
+ .filter((type) => type !== "expand")
111
+ .concat("nestedExpand"),
112
+ minimum: 1,
113
+ },
114
+ nestedExpand: { children: CELL_BLOCKS().filter((t) => t !== "nestedExpand"), minimum: 1 },
115
+ taskList: { children: ["taskItem", "taskList"], minimum: 1 },
116
+ taskItem: { children: "inline", minimum: 0 },
117
+ decisionList: { children: ["decisionItem"], minimum: 1 },
118
+ decisionItem: { children: "inline", minimum: 0 },
119
+ mediaSingle: { children: ["media"], minimum: 1, maximum: 1 },
120
+ mediaGroup: { children: ["media"], minimum: 1 },
121
+ media: { children: [], minimum: 0 },
122
+ };
123
+ /** Top-level block set. A function so the two callers cannot share an array. */
124
+ function BLOCKS() {
125
+ return [
126
+ "paragraph",
127
+ "heading",
128
+ "codeBlock",
129
+ "rule",
130
+ "blockquote",
131
+ "bulletList",
132
+ "orderedList",
133
+ "panel",
134
+ "table",
135
+ "mediaSingle",
136
+ "mediaGroup",
137
+ "taskList",
138
+ "decisionList",
139
+ "expand",
140
+ ];
141
+ }
142
+ /** What a table cell accepts: the block set minus `table`, plus `nestedExpand`. */
143
+ function CELL_BLOCKS() {
144
+ return BLOCKS()
145
+ .filter((type) => type !== "table" && type !== "expand")
146
+ .concat("nestedExpand");
147
+ }
148
+ export const DEGRADATIONS = [
149
+ { parent: "listItem", child: "heading", action: "strong-paragraph", quality: "approximate" },
150
+ { parent: "listItem", child: "blockquote", action: "unwrap", quality: "approximate" },
151
+ { parent: "listItem", child: "table", action: "rows-as-paragraphs", quality: "approximate" },
152
+ { parent: "listItem", child: "rule", action: "drop", quality: "unsupported" },
153
+ { parent: "blockquote", child: "heading", action: "strong-paragraph", quality: "approximate" },
154
+ { parent: "blockquote", child: "blockquote", action: "unwrap", quality: "approximate" },
155
+ { parent: "blockquote", child: "table", action: "rows-as-paragraphs", quality: "approximate" },
156
+ { parent: "blockquote", child: "rule", action: "drop", quality: "unsupported" },
157
+ { parent: "blockquote", child: "taskList", action: "list-downgrade", quality: "approximate" },
158
+ { parent: "taskItem", child: "*", action: "inline-flatten", quality: "approximate" },
159
+ ];
160
+ export function degradationFor(parent, child) {
161
+ return (DEGRADATIONS.find((rule) => rule.parent === parent && rule.child === child) ??
162
+ DEGRADATIONS.find((rule) => rule.parent === parent && rule.child === "*"));
163
+ }
164
+ /** True when `child` may appear directly inside `parent`. */
165
+ export function accepts(parent, child) {
166
+ const rule = CONTENT_MODEL[parent];
167
+ if (!rule)
168
+ return false;
169
+ if (rule.children === "inline")
170
+ return INLINE_NODES.has(child);
171
+ if (rule.children === "text")
172
+ return child === "text";
173
+ return rule.children.includes(child);
174
+ }
175
+ /**
176
+ * How each ADF construct survives the trip to Markdown.
177
+ *
178
+ * Read by `jira adf inspect` to answer "what will this cost me" before converting,
179
+ * and by `to-markdown` to pick the diagnostic. A type absent from this table is
180
+ * genuinely unknown to the tool and reports `AD100` rather than being dropped
181
+ * quietly.
182
+ */
183
+ export const FIDELITY = {
184
+ doc: { quality: "exact", note: "The document root." },
185
+ paragraph: { quality: "exact", note: "A paragraph." },
186
+ text: { quality: "exact", note: "Text, with its marks mapped separately." },
187
+ heading: { quality: "exact", note: "An ATX heading of the same level." },
188
+ hardBreak: { quality: "exact", note: "A hard line break." },
189
+ rule: { quality: "exact", note: "A thematic break." },
190
+ blockquote: { quality: "exact", note: "A block quote." },
191
+ bulletList: { quality: "exact", note: "An unordered list." },
192
+ orderedList: { quality: "exact", note: "An ordered list, keeping its start number." },
193
+ listItem: { quality: "exact", note: "A list item." },
194
+ codeBlock: { quality: "exact", note: "A fenced code block, keeping its language." },
195
+ table: { quality: "approximate", note: "A GFM table. Cell blocks and spans flatten." },
196
+ tableRow: { quality: "approximate", note: "A GFM table row." },
197
+ tableCell: { quality: "approximate", note: "A GFM cell; block content flattens to inline." },
198
+ tableHeader: { quality: "approximate", note: "A GFM header cell." },
199
+ taskList: { quality: "approximate", note: "A GFM task list; localId is not represented." },
200
+ taskItem: { quality: "approximate", note: "A GFM checkbox item." },
201
+ panel: { quality: "approximate", note: "A block quote led by the panel type." },
202
+ expand: { quality: "approximate", note: "A bold title, then the body." },
203
+ nestedExpand: { quality: "approximate", note: "A bold title, then the body." },
204
+ mediaSingle: { quality: "approximate", note: "An image, or a link when the media has no URL." },
205
+ mediaGroup: { quality: "approximate", note: "A list of media links." },
206
+ media: {
207
+ quality: "approximate",
208
+ note: "External media becomes an image; a file becomes a link.",
209
+ },
210
+ mediaInline: { quality: "approximate", note: "A link carrying the attachment id." },
211
+ decisionList: { quality: "approximate", note: "A list; decision state is not represented." },
212
+ decisionItem: { quality: "approximate", note: "A list item." },
213
+ layoutSection: { quality: "approximate", note: "Columns collapse into sequential blocks." },
214
+ layoutColumn: { quality: "approximate", note: "Column content, in order." },
215
+ inlineCard: { quality: "approximate", note: "A link to the card URL." },
216
+ blockCard: { quality: "approximate", note: "A link to the card URL." },
217
+ embedCard: { quality: "approximate", note: "A link to the embedded URL." },
218
+ mention: { quality: "approximate", note: "The mention text; the account id is not represented." },
219
+ emoji: { quality: "approximate", note: "The emoji character, or its short name." },
220
+ status: { quality: "approximate", note: "Inline code; the colour is not represented." },
221
+ date: { quality: "approximate", note: "An ISO-8601 UTC date." },
222
+ placeholder: { quality: "unsupported", note: "Editor-only hint text; nothing is emitted." },
223
+ extension: { quality: "unsupported", note: "Macro content has no Markdown form." },
224
+ bodiedExtension: { quality: "unsupported", note: "Macro content has no Markdown form." },
225
+ inlineExtension: { quality: "unsupported", note: "Macro content has no Markdown form." },
226
+ multiBodiedExtension: { quality: "unsupported", note: "Macro content has no Markdown form." },
227
+ extensionFrame: { quality: "unsupported", note: "Macro content has no Markdown form." },
228
+ };
229
+ /** How each mark survives the trip to Markdown. */
230
+ export const MARK_FIDELITY = {
231
+ strong: { quality: "exact", note: "Strong emphasis." },
232
+ em: { quality: "exact", note: "Emphasis." },
233
+ code: { quality: "exact", note: "Inline code." },
234
+ strike: { quality: "exact", note: "GFM strikethrough." },
235
+ link: { quality: "exact", note: "A link, keeping its title." },
236
+ underline: { quality: "unsupported", note: "Markdown has no underline." },
237
+ subsup: { quality: "unsupported", note: "Markdown has no superscript or subscript." },
238
+ textColor: { quality: "unsupported", note: "Markdown carries no colour." },
239
+ backgroundColor: { quality: "unsupported", note: "Markdown carries no colour." },
240
+ alignment: { quality: "unsupported", note: "Markdown carries no block alignment." },
241
+ indentation: { quality: "unsupported", note: "Markdown carries no indentation level." },
242
+ breakout: { quality: "unsupported", note: "A layout hint with no Markdown form." },
243
+ border: { quality: "unsupported", note: "A layout hint with no Markdown form." },
244
+ annotation: { quality: "unsupported", note: "Inline comments have no Markdown form." },
245
+ dataConsumer: { quality: "unsupported", note: "A structural mark with no Markdown form." },
246
+ fragment: { quality: "unsupported", note: "A structural mark with no Markdown form." },
247
+ };
248
+ //# sourceMappingURL=profile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../../src/jira/adf/profile.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import type { AdfDocument, ConversionDiagnostic } from "./types.js";
2
+ /**
3
+ * Matches the snippet reader's cap. ADF documents are prose, not archives, and
4
+ * an issue description past two megabytes is a sign of something other than an
5
+ * issue description.
6
+ */
7
+ export declare const MAX_INPUT_BYTES: number;
8
+ /**
9
+ * Maximum ADF nesting depth.
10
+ *
11
+ * ADF is a recursive tree and both converters walk it recursively, so this is a
12
+ * correctness guard rather than hygiene: without it a document nested a few
13
+ * hundred thousand deep exits with a stack overflow and no diagnostic, which for
14
+ * input arriving off a network is the wrong failure.
15
+ */
16
+ export declare const MAX_DEPTH = 200;
17
+ export type ReadResult = {
18
+ ok: true;
19
+ content: string;
20
+ } | {
21
+ ok: false;
22
+ diagnostic: ConversionDiagnostic;
23
+ };
24
+ export declare function readInput(source: string, containmentRoot?: string): Promise<ReadResult>;
25
+ export type ParseResult = {
26
+ ok: true;
27
+ document: AdfDocument;
28
+ } | {
29
+ ok: false;
30
+ diagnostic: ConversionDiagnostic;
31
+ };
32
+ /** Parses and shape-checks an ADF document, without validating its content model. */
33
+ export declare function parseAdfDocument(content: string, source: string): ParseResult;