@dendelion/paper-camp 0.15.0 → 0.16.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.
- package/dist/app/assets/{index-DKjtMMrA.js → index-0BzPyUVh.js} +2 -2
- package/dist/app/assets/{index-DKjtMMrA.js.map → index-0BzPyUVh.js.map} +1 -1
- package/dist/app/assets/{index-BSp1FE97.js → index-BiDION9V.js} +2 -2
- package/dist/app/assets/{index-BSp1FE97.js.map → index-BiDION9V.js.map} +1 -1
- package/dist/app/assets/{index-Bo0V9-3F.js → index-Bz4Df_iX.js} +2 -2
- package/dist/app/assets/{index-Bo0V9-3F.js.map → index-Bz4Df_iX.js.map} +1 -1
- package/dist/app/assets/{index-Bi4fur5H.js → index-C6vBW0wx.js} +2 -2
- package/dist/app/assets/{index-Bi4fur5H.js.map → index-C6vBW0wx.js.map} +1 -1
- package/dist/app/assets/{index-BTyua-6D.js → index-CGtPCj1V.js} +2 -2
- package/dist/app/assets/{index-BTyua-6D.js.map → index-CGtPCj1V.js.map} +1 -1
- package/dist/app/assets/{index-2ahHj0hk.js → index-Cm3hzD0z.js} +2 -2
- package/dist/app/assets/{index-2ahHj0hk.js.map → index-Cm3hzD0z.js.map} +1 -1
- package/dist/app/assets/{index-Cz9HEIaO.js → index-Dtdlcmro.js} +2 -2
- package/dist/app/assets/{index-Cz9HEIaO.js.map → index-Dtdlcmro.js.map} +1 -1
- package/dist/app/assets/main-Ba3mXsWY.js +207 -0
- package/dist/app/assets/main-Ba3mXsWY.js.map +1 -0
- package/dist/app/assets/main-CIoBIAYG.css +1 -0
- package/dist/app/assets/{sidebar-section-BHLbvk_X.js → sidebar-section-B3aJWLXB.js} +2 -2
- package/dist/app/assets/{sidebar-section-BHLbvk_X.js.map → sidebar-section-B3aJWLXB.js.map} +1 -1
- package/dist/app/index.html +2 -2
- package/dist/app/toolbar.js +5486 -5348
- package/dist/app/toolbar.js.map +1 -1
- package/dist/chunks/{parked-questions.BoAnCnQA.js → parked-questions.DZYZgrSZ.js} +1119 -1096
- package/dist/chunks/parked-questions.DZYZgrSZ.js.map +1 -0
- package/dist/cli/index.js +851 -838
- package/dist/cli/index.js.map +1 -1
- package/dist/core/git-log.d.ts +6 -0
- package/dist/core/git-log.d.ts.map +1 -0
- package/dist/core/git-log.test.d.ts +2 -0
- package/dist/core/git-log.test.d.ts.map +1 -0
- package/dist/core/git-pr/branch.d.ts.map +1 -1
- package/dist/core/index.js +79 -78
- package/dist/core/parse/parser.d.ts +1 -0
- package/dist/core/parse/parser.d.ts.map +1 -1
- package/dist/core/readers.d.ts +1 -1
- package/dist/core/readers.d.ts.map +1 -1
- package/dist/core/status/status.d.ts +1 -1
- package/dist/core/status/status.d.ts.map +1 -1
- package/dist/core/trail.d.ts +2 -2
- package/dist/core/trail.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +8 -8
- package/dist/types/index.js.map +1 -1
- package/dist/vite/index.d.ts +1 -1
- package/dist/vite/index.d.ts.map +1 -1
- package/dist/vite/index.js +49 -30
- package/dist/vite/index.js.map +1 -1
- package/dist/vite/proxy.d.ts +3 -1
- package/dist/vite/proxy.d.ts.map +1 -1
- package/package.json +2 -2
- package/dist/app/assets/main-BW24wv9K.js +0 -207
- package/dist/app/assets/main-BW24wv9K.js.map +0 -1
- package/dist/app/assets/main-C-ynmROL.css +0 -1
- package/dist/chunks/parked-questions.BoAnCnQA.js.map +0 -1
|
@@ -1,66 +1,98 @@
|
|
|
1
1
|
import { spawn as K } from "node:child_process";
|
|
2
|
-
import { readdir as
|
|
3
|
-
import { join as $, dirname as
|
|
4
|
-
import { AGENT_IDS as
|
|
5
|
-
import { createHash as
|
|
2
|
+
import { readdir as ks, readFile as pe, stat as Mn, writeFile as x, mkdir as le, rename as jn, access as Bn } from "node:fs/promises";
|
|
3
|
+
import { join as $, dirname as Kn } from "node:path";
|
|
4
|
+
import { AGENT_IDS as Ce, PLAN_KINDS as Fn } from "../types/index.js";
|
|
5
|
+
import { createHash as qn } from "node:crypto";
|
|
6
6
|
import { z as b } from "zod";
|
|
7
|
-
const
|
|
8
|
-
function
|
|
7
|
+
const Un = /^([A-Za-z_][A-Za-z0-9_]*)\s*=\s*(.*)$/;
|
|
8
|
+
function Yn(s) {
|
|
9
9
|
return s.length >= 2 && (s.startsWith('"') && s.endsWith('"') || s.startsWith("'") && s.endsWith("'")) ? s.slice(1, -1) : s;
|
|
10
10
|
}
|
|
11
|
-
function
|
|
11
|
+
function ss(s) {
|
|
12
12
|
return s === "" || /[\s#"]/.test(s) ? `"${s.replace(/"/g, '\\"')}"` : s;
|
|
13
13
|
}
|
|
14
|
-
function
|
|
14
|
+
function Ss(s) {
|
|
15
15
|
const e = s.trim();
|
|
16
16
|
if (!e || e.startsWith("#")) return null;
|
|
17
|
-
const t = e.match(
|
|
18
|
-
return t ? { key: t[1], value:
|
|
17
|
+
const t = e.match(Un);
|
|
18
|
+
return t ? { key: t[1], value: Yn(t[2]) } : null;
|
|
19
19
|
}
|
|
20
|
-
function
|
|
20
|
+
function Wo(s) {
|
|
21
21
|
const e = [];
|
|
22
22
|
for (const t of s.split(`
|
|
23
23
|
`)) {
|
|
24
|
-
const n =
|
|
24
|
+
const n = Ss(t);
|
|
25
25
|
n && e.push(n);
|
|
26
26
|
}
|
|
27
27
|
return e;
|
|
28
28
|
}
|
|
29
|
-
function
|
|
29
|
+
function xo(s, e) {
|
|
30
30
|
const t = new Map(e.map((r) => [r.key, r.value])), n = s.length > 0 ? s.split(`
|
|
31
31
|
`) : [], i = [];
|
|
32
32
|
for (const r of n) {
|
|
33
|
-
const o =
|
|
33
|
+
const o = Ss(r);
|
|
34
34
|
if (!o) {
|
|
35
35
|
i.push(r);
|
|
36
36
|
continue;
|
|
37
37
|
}
|
|
38
|
-
t.has(o.key) && (i.push(`${o.key}=${
|
|
38
|
+
t.has(o.key) && (i.push(`${o.key}=${ss(t.get(o.key) ?? "")}`), t.delete(o.key));
|
|
39
39
|
}
|
|
40
40
|
for (const [r, o] of t)
|
|
41
|
-
i.push(`${r}=${
|
|
41
|
+
i.push(`${r}=${ss(o)}`);
|
|
42
42
|
for (; i.length > 0 && i[i.length - 1] === ""; ) i.pop();
|
|
43
43
|
return i.length > 0 ? `${i.join(`
|
|
44
44
|
`)}
|
|
45
45
|
` : "";
|
|
46
46
|
}
|
|
47
|
-
const
|
|
47
|
+
const Hn = /^[0-9a-f]{4,40}$/i, Gn = /^Merge pull request #\d+ from \S+\/([a-z]+-\d+)-/i;
|
|
48
|
+
function me(s, e) {
|
|
49
|
+
return new Promise((t) => {
|
|
50
|
+
var r;
|
|
51
|
+
const n = K("git", e, { cwd: s, stdio: ["ignore", "pipe", "ignore"] });
|
|
52
|
+
let i = "";
|
|
53
|
+
(r = n.stdout) == null || r.on("data", (o) => {
|
|
54
|
+
i += o.toString();
|
|
55
|
+
}), n.on("close", () => t(i)), n.on("error", () => t(""));
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
async function Es(s) {
|
|
59
|
+
var t;
|
|
60
|
+
return ((t = (await me(s, ["symbolic-ref", "refs/remotes/origin/HEAD"])).trim().match(/refs\/remotes\/origin\/(.+)/)) == null ? void 0 : t[1]) ?? "main";
|
|
61
|
+
}
|
|
62
|
+
function wt(s) {
|
|
63
|
+
const e = s.match(/^Refs:\s*([A-Za-z]+-\d+)\s*$/m);
|
|
64
|
+
if (e) return e[1].toUpperCase();
|
|
65
|
+
const t = s.split(`
|
|
66
|
+
`, 1)[0], n = t.match(/\(([A-Za-z]+-\d+)\)/);
|
|
67
|
+
if (n) return n[1].toUpperCase();
|
|
68
|
+
const i = t.match(Gn);
|
|
69
|
+
return i ? i[1].toUpperCase() : null;
|
|
70
|
+
}
|
|
71
|
+
async function Ns(s) {
|
|
72
|
+
const e = await Es(s), t = await me(s, ["log", "--format=%B%x00", e]), n = /* @__PURE__ */ new Set();
|
|
73
|
+
for (const i of t.split("\0")) {
|
|
74
|
+
const r = wt(i.trim());
|
|
75
|
+
r && n.add(r);
|
|
76
|
+
}
|
|
77
|
+
return n;
|
|
78
|
+
}
|
|
79
|
+
const bt = /* @__PURE__ */ new Map(), Vn = 5 * 60 * 1e3, Jn = {
|
|
48
80
|
APPROVED: "approved",
|
|
49
81
|
CHANGES_REQUESTED: "changes-requested",
|
|
50
82
|
REVIEW_REQUIRED: "review-required"
|
|
51
83
|
};
|
|
52
|
-
function
|
|
53
|
-
const e = s.state === "MERGED" ? "merged" : s.state === "CLOSED" ? "closed" : s.isDraft ? "draft" : "open", t =
|
|
84
|
+
function Wn(s) {
|
|
85
|
+
const e = s.state === "MERGED" ? "merged" : s.state === "CLOSED" ? "closed" : s.isDraft ? "draft" : "open", t = Jn[s.reviewDecision];
|
|
54
86
|
return { number: s.number, url: s.url, state: e, ...t && { reviewDecision: t } };
|
|
55
87
|
}
|
|
56
|
-
const
|
|
57
|
-
function
|
|
88
|
+
const ns = { merged: 4, open: 3, draft: 2, closed: 1 };
|
|
89
|
+
function Is(s, e) {
|
|
58
90
|
const t = s == null ? void 0 : s.match(/\*\*Plan:\*\*\s*`?([A-Za-z]+-\d+)`?/);
|
|
59
91
|
if (t) return t[1].toUpperCase();
|
|
60
92
|
const n = e == null ? void 0 : e.match(/^[a-z]+\/([a-z]+-\d+)-/);
|
|
61
93
|
return n ? n[1].toUpperCase() : null;
|
|
62
94
|
}
|
|
63
|
-
const
|
|
95
|
+
const xn = `
|
|
64
96
|
query($owner: String!, $repo: String!, $number: Int!) {
|
|
65
97
|
repository(owner: $owner, name: $repo) {
|
|
66
98
|
pullRequest(number: $number) {
|
|
@@ -71,14 +103,14 @@ query($owner: String!, $repo: String!, $number: Int!) {
|
|
|
71
103
|
}
|
|
72
104
|
}
|
|
73
105
|
}`;
|
|
74
|
-
function
|
|
106
|
+
function vt(s) {
|
|
75
107
|
const e = s.match(/github\.com\/([^/]+)\/([^/]+)\/pull\/(\d+)/);
|
|
76
108
|
if (!e) return null;
|
|
77
109
|
const [, t, n, i] = e;
|
|
78
110
|
return { owner: t, repo: n, number: i };
|
|
79
111
|
}
|
|
80
|
-
const
|
|
81
|
-
function
|
|
112
|
+
const zn = 15e3;
|
|
113
|
+
function Ts(s, e) {
|
|
82
114
|
return new Promise((t) => {
|
|
83
115
|
var c, l;
|
|
84
116
|
const n = K("gh", e, { cwd: s, stdio: ["ignore", "pipe", "pipe"] });
|
|
@@ -87,7 +119,7 @@ function Ss(s, e) {
|
|
|
87
119
|
i || (i = !0, clearTimeout(o), u());
|
|
88
120
|
}, o = setTimeout(() => {
|
|
89
121
|
n.kill(), r(() => t(void 0));
|
|
90
|
-
},
|
|
122
|
+
}, zn);
|
|
91
123
|
let a = "";
|
|
92
124
|
(c = n.stdout) == null || c.on("data", (u) => {
|
|
93
125
|
a += u.toString();
|
|
@@ -107,8 +139,8 @@ function Ss(s, e) {
|
|
|
107
139
|
}), n.on("error", () => r(() => t(void 0)));
|
|
108
140
|
});
|
|
109
141
|
}
|
|
110
|
-
function
|
|
111
|
-
return
|
|
142
|
+
function $s(s, e, t, n, i) {
|
|
143
|
+
return vs(s, [
|
|
112
144
|
"-f",
|
|
113
145
|
`query=${e}`,
|
|
114
146
|
"-f",
|
|
@@ -119,25 +151,25 @@ function Es(s, e, t, n, i) {
|
|
|
119
151
|
`number=${i}`
|
|
120
152
|
]);
|
|
121
153
|
}
|
|
122
|
-
function
|
|
154
|
+
function As(s, e, t) {
|
|
123
155
|
const n = ["-f", `query=${e}`];
|
|
124
156
|
for (const [i, r] of Object.entries(t))
|
|
125
157
|
n.push("-f", `${i}=${r}`);
|
|
126
|
-
return
|
|
158
|
+
return vs(s, n);
|
|
127
159
|
}
|
|
128
|
-
function
|
|
129
|
-
return
|
|
160
|
+
function vs(s, e) {
|
|
161
|
+
return Ts(s, ["api", "graphql", ...e]);
|
|
130
162
|
}
|
|
131
|
-
async function
|
|
132
|
-
var l, u, f,
|
|
133
|
-
const t =
|
|
163
|
+
async function Qn(s, e) {
|
|
164
|
+
var l, u, f, d, p;
|
|
165
|
+
const t = vt(e);
|
|
134
166
|
if (!t) return;
|
|
135
|
-
const n = await
|
|
167
|
+
const n = await $s(s, xn, t.owner, t.repo, t.number), i = (u = (l = n == null ? void 0 : n.data) == null ? void 0 : l.repository) == null ? void 0 : u.pullRequest;
|
|
136
168
|
if (!i) return;
|
|
137
|
-
const r = i.reviewThreads.nodes.filter((g) => !g.isResolved).length, o = (f = i.commits.nodes[0]) == null ? void 0 : f.commit.committedDate, a = [(
|
|
169
|
+
const r = i.reviewThreads.nodes.filter((g) => !g.isResolved).length, o = (f = i.commits.nodes[0]) == null ? void 0 : f.commit.committedDate, a = [(d = i.comments.nodes[0]) == null ? void 0 : d.createdAt, (p = i.reviews.nodes[0]) == null ? void 0 : p.createdAt].filter((g) => !!g).sort().at(-1), c = !!(o && a && a > o);
|
|
138
170
|
return { unresolvedThreadCount: r, hasNewCommentsSincePush: c };
|
|
139
171
|
}
|
|
140
|
-
const
|
|
172
|
+
const Xn = `
|
|
141
173
|
query($owner: String!, $repo: String!, $number: Int!) {
|
|
142
174
|
repository(owner: $owner, name: $repo) {
|
|
143
175
|
pullRequest(number: $number) {
|
|
@@ -151,11 +183,11 @@ query($owner: String!, $repo: String!, $number: Int!) {
|
|
|
151
183
|
}
|
|
152
184
|
}
|
|
153
185
|
}`;
|
|
154
|
-
async function
|
|
186
|
+
async function zo(s, e) {
|
|
155
187
|
var r, o, a;
|
|
156
|
-
const t =
|
|
188
|
+
const t = vt(e);
|
|
157
189
|
if (!t) return [];
|
|
158
|
-
const n = await
|
|
190
|
+
const n = await $s(s, Xn, t.owner, t.repo, t.number);
|
|
159
191
|
return (((a = (o = (r = n == null ? void 0 : n.data) == null ? void 0 : r.repository) == null ? void 0 : o.pullRequest) == null ? void 0 : a.reviewThreads.nodes) ?? []).filter((c) => !c.isResolved).map((c) => ({ id: c.id, comment: c.comments.nodes[0] })).filter((c) => !!c.comment).map(({ id: c, comment: l }) => {
|
|
160
192
|
var u;
|
|
161
193
|
return {
|
|
@@ -167,38 +199,38 @@ async function Wo(s, e) {
|
|
|
167
199
|
};
|
|
168
200
|
});
|
|
169
201
|
}
|
|
170
|
-
const
|
|
202
|
+
const Zn = `
|
|
171
203
|
mutation($threadId: ID!) {
|
|
172
204
|
resolveReviewThread(input: { threadId: $threadId }) {
|
|
173
205
|
thread { id isResolved }
|
|
174
206
|
}
|
|
175
|
-
}`,
|
|
207
|
+
}`, ei = `
|
|
176
208
|
mutation($threadId: ID!, $body: String!) {
|
|
177
209
|
addPullRequestReviewThreadReply(input: { pullRequestReviewThreadId: $threadId, body: $body }) {
|
|
178
210
|
comment { id }
|
|
179
211
|
}
|
|
180
212
|
}`;
|
|
181
|
-
async function
|
|
213
|
+
async function Qo(s, e) {
|
|
182
214
|
var n, i, r;
|
|
183
|
-
const t = await
|
|
215
|
+
const t = await As(s, Zn, { threadId: e });
|
|
184
216
|
return !!((r = (i = (n = t == null ? void 0 : t.data) == null ? void 0 : n.resolveReviewThread) == null ? void 0 : i.thread) != null && r.isResolved);
|
|
185
217
|
}
|
|
186
|
-
async function
|
|
218
|
+
async function Xo(s, e, t) {
|
|
187
219
|
var i, r, o;
|
|
188
|
-
const n = await
|
|
220
|
+
const n = await As(s, ei, { threadId: e, body: t });
|
|
189
221
|
return !!((o = (r = (i = n == null ? void 0 : n.data) == null ? void 0 : i.addPullRequestReviewThreadReply) == null ? void 0 : r.comment) != null && o.id);
|
|
190
222
|
}
|
|
191
|
-
async function
|
|
223
|
+
async function ti(s, e) {
|
|
192
224
|
const t = [...e.entries()].filter(
|
|
193
225
|
([, i]) => i.state === "open" || i.state === "draft"
|
|
194
|
-
), n = await Promise.all(t.map(([, i]) =>
|
|
226
|
+
), n = await Promise.all(t.map(([, i]) => Qn(s, i.url)));
|
|
195
227
|
t.forEach(([i, r], o) => {
|
|
196
228
|
const a = n[o];
|
|
197
229
|
a && e.set(i, { ...r, ...a });
|
|
198
230
|
});
|
|
199
231
|
}
|
|
200
|
-
async function
|
|
201
|
-
const e = await
|
|
232
|
+
async function si(s) {
|
|
233
|
+
const e = await Ts(s, [
|
|
202
234
|
"pr",
|
|
203
235
|
"list",
|
|
204
236
|
"--state",
|
|
@@ -211,28 +243,28 @@ async function zn(s) {
|
|
|
211
243
|
if (!e) return;
|
|
212
244
|
const t = /* @__PURE__ */ new Map();
|
|
213
245
|
for (const n of e) {
|
|
214
|
-
const i =
|
|
246
|
+
const i = Is(n.body, n.headRefName);
|
|
215
247
|
if (!i) continue;
|
|
216
|
-
const r =
|
|
217
|
-
(!o ||
|
|
248
|
+
const r = Wn(n), o = t.get(i);
|
|
249
|
+
(!o || ns[r.state] > ns[o.state]) && t.set(i, r);
|
|
218
250
|
}
|
|
219
|
-
return await
|
|
251
|
+
return await ti(s, t), t;
|
|
220
252
|
}
|
|
221
|
-
async function
|
|
222
|
-
const t =
|
|
253
|
+
async function Os(s, e = Vn) {
|
|
254
|
+
const t = bt.get(s);
|
|
223
255
|
if (t && Date.now() - t.fetchedAt < e) return t.prs;
|
|
224
|
-
const n = await
|
|
225
|
-
return n !== void 0 &&
|
|
256
|
+
const n = await si(s);
|
|
257
|
+
return n !== void 0 && bt.set(s, { prs: n, fetchedAt: Date.now() }), n;
|
|
226
258
|
}
|
|
227
|
-
function
|
|
228
|
-
|
|
259
|
+
function Zo() {
|
|
260
|
+
bt.clear();
|
|
229
261
|
}
|
|
230
|
-
const
|
|
262
|
+
const Ot = Symbol.for("yaml.alias"), kt = Symbol.for("yaml.document"), z = Symbol.for("yaml.map"), Cs = Symbol.for("yaml.pair"), H = Symbol.for("yaml.scalar"), ge = Symbol.for("yaml.seq"), B = Symbol.for("yaml.node.type"), ye = (s) => !!s && typeof s == "object" && s[B] === Ot, Le = (s) => !!s && typeof s == "object" && s[B] === kt, _e = (s) => !!s && typeof s == "object" && s[B] === z, _ = (s) => !!s && typeof s == "object" && s[B] === Cs, O = (s) => !!s && typeof s == "object" && s[B] === H, Pe = (s) => !!s && typeof s == "object" && s[B] === ge;
|
|
231
263
|
function C(s) {
|
|
232
264
|
if (s && typeof s == "object")
|
|
233
265
|
switch (s[B]) {
|
|
234
266
|
case z:
|
|
235
|
-
case
|
|
267
|
+
case ge:
|
|
236
268
|
return !0;
|
|
237
269
|
}
|
|
238
270
|
return !1;
|
|
@@ -240,26 +272,26 @@ function C(s) {
|
|
|
240
272
|
function L(s) {
|
|
241
273
|
if (s && typeof s == "object")
|
|
242
274
|
switch (s[B]) {
|
|
243
|
-
case
|
|
275
|
+
case Ot:
|
|
244
276
|
case z:
|
|
245
277
|
case H:
|
|
246
|
-
case
|
|
278
|
+
case ge:
|
|
247
279
|
return !0;
|
|
248
280
|
}
|
|
249
281
|
return !1;
|
|
250
282
|
}
|
|
251
|
-
const
|
|
252
|
-
function
|
|
253
|
-
const t =
|
|
254
|
-
|
|
283
|
+
const Ls = (s) => (O(s) || C(s)) && !!s.anchor, X = Symbol("break visit"), ni = Symbol("skip children"), $e = Symbol("remove node");
|
|
284
|
+
function we(s, e) {
|
|
285
|
+
const t = ii(e);
|
|
286
|
+
Le(s) ? re(null, s.contents, t, Object.freeze([s])) === $e && (s.contents = null) : re(null, s, t, Object.freeze([]));
|
|
255
287
|
}
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
288
|
+
we.BREAK = X;
|
|
289
|
+
we.SKIP = ni;
|
|
290
|
+
we.REMOVE = $e;
|
|
259
291
|
function re(s, e, t, n) {
|
|
260
|
-
const i =
|
|
292
|
+
const i = ri(s, e, t, n);
|
|
261
293
|
if (L(i) || _(i))
|
|
262
|
-
return
|
|
294
|
+
return oi(s, n, i), re(s, i, t, n);
|
|
263
295
|
if (typeof i != "symbol") {
|
|
264
296
|
if (C(e)) {
|
|
265
297
|
n = Object.freeze(n.concat(e));
|
|
@@ -270,7 +302,7 @@ function re(s, e, t, n) {
|
|
|
270
302
|
else {
|
|
271
303
|
if (o === X)
|
|
272
304
|
return X;
|
|
273
|
-
o ===
|
|
305
|
+
o === $e && (e.items.splice(r, 1), r -= 1);
|
|
274
306
|
}
|
|
275
307
|
}
|
|
276
308
|
} else if (_(e)) {
|
|
@@ -278,16 +310,16 @@ function re(s, e, t, n) {
|
|
|
278
310
|
const r = re("key", e.key, t, n);
|
|
279
311
|
if (r === X)
|
|
280
312
|
return X;
|
|
281
|
-
r ===
|
|
313
|
+
r === $e && (e.key = null);
|
|
282
314
|
const o = re("value", e.value, t, n);
|
|
283
315
|
if (o === X)
|
|
284
316
|
return X;
|
|
285
|
-
o ===
|
|
317
|
+
o === $e && (e.value = null);
|
|
286
318
|
}
|
|
287
319
|
}
|
|
288
320
|
return i;
|
|
289
321
|
}
|
|
290
|
-
function
|
|
322
|
+
function ii(s) {
|
|
291
323
|
return typeof s == "object" && (s.Collection || s.Node || s.Value) ? Object.assign({
|
|
292
324
|
Alias: s.Node,
|
|
293
325
|
Map: s.Node,
|
|
@@ -302,42 +334,42 @@ function Xn(s) {
|
|
|
302
334
|
Seq: s.Collection
|
|
303
335
|
}, s) : s;
|
|
304
336
|
}
|
|
305
|
-
function
|
|
337
|
+
function ri(s, e, t, n) {
|
|
306
338
|
var i, r, o, a, c;
|
|
307
339
|
if (typeof t == "function")
|
|
308
340
|
return t(s, e, n);
|
|
309
|
-
if (Le(e))
|
|
310
|
-
return (i = t.Map) == null ? void 0 : i.call(t, s, e, n);
|
|
311
341
|
if (_e(e))
|
|
342
|
+
return (i = t.Map) == null ? void 0 : i.call(t, s, e, n);
|
|
343
|
+
if (Pe(e))
|
|
312
344
|
return (r = t.Seq) == null ? void 0 : r.call(t, s, e, n);
|
|
313
345
|
if (_(e))
|
|
314
346
|
return (o = t.Pair) == null ? void 0 : o.call(t, s, e, n);
|
|
315
347
|
if (O(e))
|
|
316
348
|
return (a = t.Scalar) == null ? void 0 : a.call(t, s, e, n);
|
|
317
|
-
if (
|
|
349
|
+
if (ye(e))
|
|
318
350
|
return (c = t.Alias) == null ? void 0 : c.call(t, s, e, n);
|
|
319
351
|
}
|
|
320
|
-
function
|
|
352
|
+
function oi(s, e, t) {
|
|
321
353
|
const n = e[e.length - 1];
|
|
322
354
|
if (C(n))
|
|
323
355
|
n.items[s] = t;
|
|
324
356
|
else if (_(n))
|
|
325
357
|
s === "key" ? n.key = t : n.value = t;
|
|
326
|
-
else if (
|
|
358
|
+
else if (Le(n))
|
|
327
359
|
n.contents = t;
|
|
328
360
|
else {
|
|
329
|
-
const i =
|
|
361
|
+
const i = ye(n) ? "alias" : "scalar";
|
|
330
362
|
throw new Error(`Cannot replace node with ${i} parent`);
|
|
331
363
|
}
|
|
332
364
|
}
|
|
333
|
-
const
|
|
365
|
+
const ai = {
|
|
334
366
|
"!": "%21",
|
|
335
367
|
",": "%2C",
|
|
336
368
|
"[": "%5B",
|
|
337
369
|
"]": "%5D",
|
|
338
370
|
"{": "%7B",
|
|
339
371
|
"}": "%7D"
|
|
340
|
-
},
|
|
372
|
+
}, ci = (s) => s.replace(/[!,[\]{}]/g, (e) => ai[e]);
|
|
341
373
|
class R {
|
|
342
374
|
constructor(e, t) {
|
|
343
375
|
this.docStart = null, this.docEnd = !1, this.yaml = Object.assign({}, R.defaultYaml, e), this.tags = Object.assign({}, R.defaultTags, t);
|
|
@@ -427,7 +459,7 @@ class R {
|
|
|
427
459
|
tagString(e) {
|
|
428
460
|
for (const [t, n] of Object.entries(this.tags))
|
|
429
461
|
if (e.startsWith(n))
|
|
430
|
-
return t +
|
|
462
|
+
return t + ci(e.substring(n.length));
|
|
431
463
|
return e[0] === "!" ? e : `!<${e}>`;
|
|
432
464
|
}
|
|
433
465
|
toString(e) {
|
|
@@ -435,7 +467,7 @@ class R {
|
|
|
435
467
|
let i;
|
|
436
468
|
if (e && n.length > 0 && L(e.contents)) {
|
|
437
469
|
const r = {};
|
|
438
|
-
|
|
470
|
+
we(e.contents, (o, a) => {
|
|
439
471
|
L(a) && a.tag && (r[a.tag] = !0);
|
|
440
472
|
}), i = Object.keys(r);
|
|
441
473
|
} else
|
|
@@ -448,35 +480,35 @@ class R {
|
|
|
448
480
|
}
|
|
449
481
|
R.defaultYaml = { explicit: !1, version: "1.2" };
|
|
450
482
|
R.defaultTags = { "!!": "tag:yaml.org,2002:" };
|
|
451
|
-
function
|
|
483
|
+
function _s(s) {
|
|
452
484
|
if (/[\x00-\x19\s,[\]{}]/.test(s)) {
|
|
453
485
|
const t = `Anchor must not contain whitespace or control characters: ${JSON.stringify(s)}`;
|
|
454
486
|
throw new Error(t);
|
|
455
487
|
}
|
|
456
488
|
return !0;
|
|
457
489
|
}
|
|
458
|
-
function
|
|
490
|
+
function Ps(s) {
|
|
459
491
|
const e = /* @__PURE__ */ new Set();
|
|
460
|
-
return
|
|
492
|
+
return we(s, {
|
|
461
493
|
Value(t, n) {
|
|
462
494
|
n.anchor && e.add(n.anchor);
|
|
463
495
|
}
|
|
464
496
|
}), e;
|
|
465
497
|
}
|
|
466
|
-
function
|
|
498
|
+
function Rs(s, e) {
|
|
467
499
|
for (let t = 1; ; ++t) {
|
|
468
500
|
const n = `${s}${t}`;
|
|
469
501
|
if (!e.has(n))
|
|
470
502
|
return n;
|
|
471
503
|
}
|
|
472
504
|
}
|
|
473
|
-
function
|
|
505
|
+
function li(s, e) {
|
|
474
506
|
const t = [], n = /* @__PURE__ */ new Map();
|
|
475
507
|
let i = null;
|
|
476
508
|
return {
|
|
477
509
|
onAnchor: (r) => {
|
|
478
|
-
t.push(r), i ?? (i =
|
|
479
|
-
const o =
|
|
510
|
+
t.push(r), i ?? (i = Ps(s));
|
|
511
|
+
const o = Rs(e, i);
|
|
480
512
|
return i.add(o), o;
|
|
481
513
|
},
|
|
482
514
|
/**
|
|
@@ -526,7 +558,7 @@ function j(s, e, t) {
|
|
|
526
558
|
if (Array.isArray(s))
|
|
527
559
|
return s.map((n, i) => j(n, String(i), t));
|
|
528
560
|
if (s && typeof s.toJSON == "function") {
|
|
529
|
-
if (!t || !
|
|
561
|
+
if (!t || !Ls(s))
|
|
530
562
|
return s.toJSON(e, t);
|
|
531
563
|
const n = { aliasCount: 0, count: 1, res: void 0 };
|
|
532
564
|
t.anchors.set(s, n), t.onCreate = (r) => {
|
|
@@ -537,7 +569,7 @@ function j(s, e, t) {
|
|
|
537
569
|
}
|
|
538
570
|
return typeof s == "bigint" && !(t != null && t.keep) ? Number(s) : s;
|
|
539
571
|
}
|
|
540
|
-
class
|
|
572
|
+
class Ct {
|
|
541
573
|
constructor(e) {
|
|
542
574
|
Object.defineProperty(this, B, { value: e });
|
|
543
575
|
}
|
|
@@ -548,7 +580,7 @@ class vt {
|
|
|
548
580
|
}
|
|
549
581
|
/** A plain JavaScript representation of this node. */
|
|
550
582
|
toJS(e, { mapAsMap: t, maxAliasCount: n, onAnchor: i, reviver: r } = {}) {
|
|
551
|
-
if (!
|
|
583
|
+
if (!Le(e))
|
|
552
584
|
throw new TypeError("A document argument is required");
|
|
553
585
|
const o = {
|
|
554
586
|
anchors: /* @__PURE__ */ new Map(),
|
|
@@ -564,9 +596,9 @@ class vt {
|
|
|
564
596
|
return typeof r == "function" ? oe(r, { "": a }, "", a) : a;
|
|
565
597
|
}
|
|
566
598
|
}
|
|
567
|
-
class
|
|
599
|
+
class Lt extends Ct {
|
|
568
600
|
constructor(e) {
|
|
569
|
-
super(
|
|
601
|
+
super(Ot), this.source = e, Object.defineProperty(this, "tag", {
|
|
570
602
|
set() {
|
|
571
603
|
throw new Error("Alias nodes cannot have tags");
|
|
572
604
|
}
|
|
@@ -580,9 +612,9 @@ class Ot extends vt {
|
|
|
580
612
|
if ((t == null ? void 0 : t.maxAliasCount) === 0)
|
|
581
613
|
throw new ReferenceError("Alias resolution is disabled");
|
|
582
614
|
let n;
|
|
583
|
-
t != null && t.aliasResolveCache ? n = t.aliasResolveCache : (n = [],
|
|
615
|
+
t != null && t.aliasResolveCache ? n = t.aliasResolveCache : (n = [], we(e, {
|
|
584
616
|
Node: (r, o) => {
|
|
585
|
-
(
|
|
617
|
+
(ye(o) || Ls(o)) && n.push(o);
|
|
586
618
|
}
|
|
587
619
|
}), t && (t.aliasResolveCache = n));
|
|
588
620
|
let i;
|
|
@@ -615,7 +647,7 @@ class Ot extends vt {
|
|
|
615
647
|
toString(e, t, n) {
|
|
616
648
|
const i = `*${this.source}`;
|
|
617
649
|
if (e) {
|
|
618
|
-
if (
|
|
650
|
+
if (_s(this.source), e.options.verifyAliasOrder && !e.anchors.has(this.source)) {
|
|
619
651
|
const r = `Unresolved alias (the anchor must be set before the alias): ${this.source}`;
|
|
620
652
|
throw new Error(r);
|
|
621
653
|
}
|
|
@@ -626,7 +658,7 @@ class Ot extends vt {
|
|
|
626
658
|
}
|
|
627
659
|
}
|
|
628
660
|
function Ye(s, e, t) {
|
|
629
|
-
if (
|
|
661
|
+
if (ye(e)) {
|
|
630
662
|
const n = e.resolve(s), i = t && n && t.get(n);
|
|
631
663
|
return i ? i.count * i.aliasCount : 0;
|
|
632
664
|
} else if (C(e)) {
|
|
@@ -642,8 +674,8 @@ function Ye(s, e, t) {
|
|
|
642
674
|
}
|
|
643
675
|
return 1;
|
|
644
676
|
}
|
|
645
|
-
const
|
|
646
|
-
class I extends
|
|
677
|
+
const Ds = (s) => !s || typeof s != "function" && typeof s != "object";
|
|
678
|
+
class I extends Ct {
|
|
647
679
|
constructor(e) {
|
|
648
680
|
super(H), this.value = e;
|
|
649
681
|
}
|
|
@@ -659,8 +691,8 @@ I.BLOCK_LITERAL = "BLOCK_LITERAL";
|
|
|
659
691
|
I.PLAIN = "PLAIN";
|
|
660
692
|
I.QUOTE_DOUBLE = "QUOTE_DOUBLE";
|
|
661
693
|
I.QUOTE_SINGLE = "QUOTE_SINGLE";
|
|
662
|
-
const
|
|
663
|
-
function
|
|
694
|
+
const fi = "tag:yaml.org,2002:";
|
|
695
|
+
function ui(s, e, t) {
|
|
664
696
|
if (e) {
|
|
665
697
|
const n = t.filter((r) => r.tag === e), i = n.find((r) => !r.format) ?? n[0];
|
|
666
698
|
if (!i)
|
|
@@ -672,12 +704,12 @@ function ri(s, e, t) {
|
|
|
672
704
|
return ((i = n.identify) == null ? void 0 : i.call(n, s)) && !n.format;
|
|
673
705
|
});
|
|
674
706
|
}
|
|
675
|
-
function
|
|
676
|
-
var f,
|
|
677
|
-
if (
|
|
707
|
+
function ve(s, e, t) {
|
|
708
|
+
var f, d, p;
|
|
709
|
+
if (Le(s) && (s = s.contents), L(s))
|
|
678
710
|
return s;
|
|
679
711
|
if (_(s)) {
|
|
680
|
-
const g = (
|
|
712
|
+
const g = (d = (f = t.schema[z]).createNode) == null ? void 0 : d.call(f, t.schema, null, t);
|
|
681
713
|
return g.items.push(s), g;
|
|
682
714
|
}
|
|
683
715
|
(s instanceof String || s instanceof Number || s instanceof Boolean || typeof BigInt < "u" && s instanceof BigInt) && (s = s.valueOf());
|
|
@@ -685,17 +717,17 @@ function Ae(s, e, t) {
|
|
|
685
717
|
let c;
|
|
686
718
|
if (n && s && typeof s == "object") {
|
|
687
719
|
if (c = a.get(s), c)
|
|
688
|
-
return c.anchor ?? (c.anchor = i(s)), new
|
|
720
|
+
return c.anchor ?? (c.anchor = i(s)), new Lt(c.anchor);
|
|
689
721
|
c = { anchor: null, node: null }, a.set(s, c);
|
|
690
722
|
}
|
|
691
|
-
e != null && e.startsWith("!!") && (e =
|
|
692
|
-
let l =
|
|
723
|
+
e != null && e.startsWith("!!") && (e = fi + e.slice(2));
|
|
724
|
+
let l = ui(s, e, o.tags);
|
|
693
725
|
if (!l) {
|
|
694
726
|
if (s && typeof s.toJSON == "function" && (s = s.toJSON()), !s || typeof s != "object") {
|
|
695
727
|
const g = new I(s);
|
|
696
728
|
return c && (c.node = g), g;
|
|
697
729
|
}
|
|
698
|
-
l = s instanceof Map ? o[z] : Symbol.iterator in Object(s) ? o[
|
|
730
|
+
l = s instanceof Map ? o[z] : Symbol.iterator in Object(s) ? o[ge] : o[z];
|
|
699
731
|
}
|
|
700
732
|
r && (r(l), delete t.onTagObj);
|
|
701
733
|
const u = l != null && l.createNode ? l.createNode(t.schema, s, t) : typeof ((p = l == null ? void 0 : l.nodeClass) == null ? void 0 : p.from) == "function" ? l.nodeClass.from(t.schema, s, t) : new I(s);
|
|
@@ -711,7 +743,7 @@ function Je(s, e, t) {
|
|
|
711
743
|
} else
|
|
712
744
|
n = /* @__PURE__ */ new Map([[r, n]]);
|
|
713
745
|
}
|
|
714
|
-
return
|
|
746
|
+
return ve(n, void 0, {
|
|
715
747
|
aliasDuplicateObjects: !1,
|
|
716
748
|
keepUndefined: !1,
|
|
717
749
|
onAnchor: () => {
|
|
@@ -721,8 +753,8 @@ function Je(s, e, t) {
|
|
|
721
753
|
sourceObjects: /* @__PURE__ */ new Map()
|
|
722
754
|
});
|
|
723
755
|
}
|
|
724
|
-
const
|
|
725
|
-
class
|
|
756
|
+
const Ie = (s) => s == null || typeof s == "object" && !!s[Symbol.iterator]().next().done;
|
|
757
|
+
class Ms extends Ct {
|
|
726
758
|
constructor(e, t) {
|
|
727
759
|
super(e), Object.defineProperty(this, "schema", {
|
|
728
760
|
value: t,
|
|
@@ -746,7 +778,7 @@ class _s extends vt {
|
|
|
746
778
|
* that already exists in the map.
|
|
747
779
|
*/
|
|
748
780
|
addIn(e, t) {
|
|
749
|
-
if (
|
|
781
|
+
if (Ie(e))
|
|
750
782
|
this.add(t);
|
|
751
783
|
else {
|
|
752
784
|
const [n, ...i] = e, r = this.get(n, !0);
|
|
@@ -817,14 +849,14 @@ class _s extends vt {
|
|
|
817
849
|
}
|
|
818
850
|
}
|
|
819
851
|
}
|
|
820
|
-
const
|
|
852
|
+
const di = (s) => s.replace(/^(?!$)(?: $)?/gm, "#");
|
|
821
853
|
function V(s, e) {
|
|
822
854
|
return /^\n+$/.test(s) ? s.substring(1) : e ? s.replace(/^(?! *$)/gm, e) : s;
|
|
823
855
|
}
|
|
824
856
|
const Z = (s, e, t) => s.endsWith(`
|
|
825
857
|
`) ? V(t, e) : t.includes(`
|
|
826
858
|
`) ? `
|
|
827
|
-
` + V(t, e) : (s.endsWith(" ") ? "" : " ") + t,
|
|
859
|
+
` + V(t, e) : (s.endsWith(" ") ? "" : " ") + t, js = "flow", St = "block", He = "quoted";
|
|
828
860
|
function et(s, e, t = "flow", { indentAtStart: n, lineWidth: i = 80, minContentWidth: r = 20, onFold: o, onOverflow: a } = {}) {
|
|
829
861
|
if (!i || i < 0)
|
|
830
862
|
return s;
|
|
@@ -835,45 +867,45 @@ function et(s, e, t = "flow", { indentAtStart: n, lineWidth: i = 80, minContentW
|
|
|
835
867
|
const l = [], u = {};
|
|
836
868
|
let f = i - e.length;
|
|
837
869
|
typeof n == "number" && (n > i - Math.max(2, r) ? l.push(0) : f = i - n);
|
|
838
|
-
let
|
|
839
|
-
t ===
|
|
840
|
-
for (let E; E = s[
|
|
870
|
+
let d, p, g = !1, h = -1, m = -1, y = -1;
|
|
871
|
+
t === St && (h = is(s, h, e.length), h !== -1 && (f = h + c));
|
|
872
|
+
for (let E; E = s[h += 1]; ) {
|
|
841
873
|
if (t === He && E === "\\") {
|
|
842
|
-
switch (m =
|
|
874
|
+
switch (m = h, s[h + 1]) {
|
|
843
875
|
case "x":
|
|
844
|
-
|
|
876
|
+
h += 3;
|
|
845
877
|
break;
|
|
846
878
|
case "u":
|
|
847
|
-
|
|
879
|
+
h += 5;
|
|
848
880
|
break;
|
|
849
881
|
case "U":
|
|
850
|
-
|
|
882
|
+
h += 9;
|
|
851
883
|
break;
|
|
852
884
|
default:
|
|
853
|
-
|
|
885
|
+
h += 1;
|
|
854
886
|
}
|
|
855
|
-
y =
|
|
887
|
+
y = h;
|
|
856
888
|
}
|
|
857
889
|
if (E === `
|
|
858
890
|
`)
|
|
859
|
-
t ===
|
|
891
|
+
t === St && (h = is(s, h, e.length)), f = h + e.length + c, d = void 0;
|
|
860
892
|
else {
|
|
861
893
|
if (E === " " && p && p !== " " && p !== `
|
|
862
894
|
` && p !== " ") {
|
|
863
|
-
const S = s[
|
|
895
|
+
const S = s[h + 1];
|
|
864
896
|
S && S !== " " && S !== `
|
|
865
|
-
` && S !== " " && (
|
|
897
|
+
` && S !== " " && (d = h);
|
|
866
898
|
}
|
|
867
|
-
if (
|
|
868
|
-
if (
|
|
869
|
-
l.push(
|
|
899
|
+
if (h >= f)
|
|
900
|
+
if (d)
|
|
901
|
+
l.push(d), f = d + c, d = void 0;
|
|
870
902
|
else if (t === He) {
|
|
871
903
|
for (; p === " " || p === " "; )
|
|
872
|
-
p = E, E = s[
|
|
873
|
-
const S =
|
|
904
|
+
p = E, E = s[h += 1], g = !0;
|
|
905
|
+
const S = h > y + 1 ? h - 2 : m - 1;
|
|
874
906
|
if (u[S])
|
|
875
907
|
return s;
|
|
876
|
-
l.push(S), u[S] = !0, f = S + c,
|
|
908
|
+
l.push(S), u[S] = !0, f = S + c, d = void 0;
|
|
877
909
|
} else
|
|
878
910
|
g = !0;
|
|
879
911
|
}
|
|
@@ -891,7 +923,7 @@ ${e}${s.slice(S + 1, N)}`);
|
|
|
891
923
|
}
|
|
892
924
|
return w;
|
|
893
925
|
}
|
|
894
|
-
function
|
|
926
|
+
function is(s, e, t) {
|
|
895
927
|
let n = e, i = e + 1, r = s[i];
|
|
896
928
|
for (; r === " " || r === " "; )
|
|
897
929
|
if (e < i + t)
|
|
@@ -910,7 +942,7 @@ const tt = (s, e) => ({
|
|
|
910
942
|
lineWidth: s.options.lineWidth,
|
|
911
943
|
minContentWidth: s.options.minContentWidth
|
|
912
944
|
}), st = (s) => /^(%|---|\.\.\.)/m.test(s);
|
|
913
|
-
function
|
|
945
|
+
function hi(s, e, t) {
|
|
914
946
|
if (!e || e < 0)
|
|
915
947
|
return !1;
|
|
916
948
|
const n = e - t, i = s.length;
|
|
@@ -926,7 +958,7 @@ function ai(s, e, t) {
|
|
|
926
958
|
}
|
|
927
959
|
return !0;
|
|
928
960
|
}
|
|
929
|
-
function
|
|
961
|
+
function Ae(s, e) {
|
|
930
962
|
const t = JSON.stringify(s);
|
|
931
963
|
if (e.options.doubleQuotedAsJSON)
|
|
932
964
|
return t;
|
|
@@ -987,60 +1019,60 @@ function $e(s, e) {
|
|
|
987
1019
|
}
|
|
988
1020
|
return o = a ? o + t.slice(a) : t, n ? o : et(o, r, He, tt(e, !1));
|
|
989
1021
|
}
|
|
990
|
-
function
|
|
1022
|
+
function Et(s, e) {
|
|
991
1023
|
if (e.options.singleQuote === !1 || e.implicitKey && s.includes(`
|
|
992
1024
|
`) || /[ \t]\n|\n[ \t]/.test(s))
|
|
993
|
-
return
|
|
1025
|
+
return Ae(s, e);
|
|
994
1026
|
const t = e.indent || (st(s) ? " " : ""), n = "'" + s.replace(/'/g, "''").replace(/\n+/g, `$&
|
|
995
1027
|
${t}`) + "'";
|
|
996
|
-
return e.implicitKey ? n : et(n, t,
|
|
1028
|
+
return e.implicitKey ? n : et(n, t, js, tt(e, !1));
|
|
997
1029
|
}
|
|
998
1030
|
function ae(s, e) {
|
|
999
1031
|
const { singleQuote: t } = e.options;
|
|
1000
1032
|
let n;
|
|
1001
1033
|
if (t === !1)
|
|
1002
|
-
n =
|
|
1034
|
+
n = Ae;
|
|
1003
1035
|
else {
|
|
1004
1036
|
const i = s.includes('"'), r = s.includes("'");
|
|
1005
|
-
i && !r ? n =
|
|
1037
|
+
i && !r ? n = Et : r && !i ? n = Ae : n = t ? Et : Ae;
|
|
1006
1038
|
}
|
|
1007
1039
|
return n(s, e);
|
|
1008
1040
|
}
|
|
1009
|
-
let
|
|
1041
|
+
let Nt;
|
|
1010
1042
|
try {
|
|
1011
|
-
|
|
1043
|
+
Nt = new RegExp(`(^|(?<!
|
|
1012
1044
|
))
|
|
1013
1045
|
+(?!
|
|
1014
1046
|
|$)`, "g");
|
|
1015
1047
|
} catch {
|
|
1016
|
-
|
|
1048
|
+
Nt = /\n+(?!\n|$)/g;
|
|
1017
1049
|
}
|
|
1018
1050
|
function Ge({ comment: s, type: e, value: t }, n, i, r) {
|
|
1019
1051
|
const { blockQuote: o, commentString: a, lineWidth: c } = n.options;
|
|
1020
1052
|
if (!o || /\n[\t ]+$/.test(t))
|
|
1021
1053
|
return ae(t, n);
|
|
1022
|
-
const l = n.indent || (n.forceBlockIndent || st(t) ? " " : ""), u = o === "literal" ? !0 : o === "folded" || e === I.BLOCK_FOLDED ? !1 : e === I.BLOCK_LITERAL ? !0 : !
|
|
1054
|
+
const l = n.indent || (n.forceBlockIndent || st(t) ? " " : ""), u = o === "literal" ? !0 : o === "folded" || e === I.BLOCK_FOLDED ? !1 : e === I.BLOCK_LITERAL ? !0 : !hi(t, c, l.length);
|
|
1023
1055
|
if (!t)
|
|
1024
1056
|
return u ? `|
|
|
1025
1057
|
` : `>
|
|
1026
1058
|
`;
|
|
1027
|
-
let f,
|
|
1028
|
-
for (
|
|
1029
|
-
const N = t[
|
|
1059
|
+
let f, d;
|
|
1060
|
+
for (d = t.length; d > 0; --d) {
|
|
1061
|
+
const N = t[d - 1];
|
|
1030
1062
|
if (N !== `
|
|
1031
1063
|
` && N !== " " && N !== " ")
|
|
1032
1064
|
break;
|
|
1033
1065
|
}
|
|
1034
|
-
let p = t.substring(
|
|
1066
|
+
let p = t.substring(d);
|
|
1035
1067
|
const g = p.indexOf(`
|
|
1036
1068
|
`);
|
|
1037
1069
|
g === -1 ? f = "-" : t === p || g !== p.length - 1 ? (f = "+", r && r()) : f = "", p && (t = t.slice(0, -p.length), p[p.length - 1] === `
|
|
1038
|
-
` && (p = p.slice(0, -1)), p = p.replace(
|
|
1039
|
-
let
|
|
1070
|
+
` && (p = p.slice(0, -1)), p = p.replace(Nt, `$&${l}`));
|
|
1071
|
+
let h = !1, m, y = -1;
|
|
1040
1072
|
for (m = 0; m < t.length; ++m) {
|
|
1041
1073
|
const N = t[m];
|
|
1042
1074
|
if (N === " ")
|
|
1043
|
-
|
|
1075
|
+
h = !0;
|
|
1044
1076
|
else if (N === `
|
|
1045
1077
|
`)
|
|
1046
1078
|
y = m;
|
|
@@ -1049,7 +1081,7 @@ function Ge({ comment: s, type: e, value: t }, n, i, r) {
|
|
|
1049
1081
|
}
|
|
1050
1082
|
let w = t.substring(0, y < m ? y + 1 : m);
|
|
1051
1083
|
w && (t = t.substring(w.length), w = w.replace(/\n+/g, `$&${l}`));
|
|
1052
|
-
let S = (
|
|
1084
|
+
let S = (h ? l ? "2" : "1" : "") + f;
|
|
1053
1085
|
if (s && (S += " " + a(s.replace(/ ?[\r\n]+/g, " ")), i && i()), !u) {
|
|
1054
1086
|
const N = t.replace(/\n+/g, `
|
|
1055
1087
|
$&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g, "$1$2").replace(/\n+/g, `$&${l}`);
|
|
@@ -1058,7 +1090,7 @@ $&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g, "$1$2").replace(/
|
|
|
1058
1090
|
o !== "folded" && e !== I.BLOCK_FOLDED && (T.onOverflow = () => {
|
|
1059
1091
|
A = !0;
|
|
1060
1092
|
});
|
|
1061
|
-
const k = et(`${w}${N}${p}`, l,
|
|
1093
|
+
const k = et(`${w}${N}${p}`, l, St, T);
|
|
1062
1094
|
if (!A)
|
|
1063
1095
|
return `>${S}
|
|
1064
1096
|
${l}${k}`;
|
|
@@ -1066,7 +1098,7 @@ ${l}${k}`;
|
|
|
1066
1098
|
return t = t.replace(/\n+/g, `$&${l}`), `|${S}
|
|
1067
1099
|
${l}${w}${t}${p}`;
|
|
1068
1100
|
}
|
|
1069
|
-
function
|
|
1101
|
+
function pi(s, e, t, n) {
|
|
1070
1102
|
const { type: i, value: r } = s, { actualString: o, implicitKey: a, indent: c, indentStep: l, inFlow: u } = e;
|
|
1071
1103
|
if (a && r.includes(`
|
|
1072
1104
|
`) || u && /[[\]{},]/.test(r))
|
|
@@ -1086,16 +1118,16 @@ function ci(s, e, t, n) {
|
|
|
1086
1118
|
const f = r.replace(/\n+/g, `$&
|
|
1087
1119
|
${c}`);
|
|
1088
1120
|
if (o) {
|
|
1089
|
-
const
|
|
1121
|
+
const d = (h) => {
|
|
1090
1122
|
var m;
|
|
1091
|
-
return
|
|
1123
|
+
return h.default && h.tag !== "tag:yaml.org,2002:str" && ((m = h.test) == null ? void 0 : m.test(f));
|
|
1092
1124
|
}, { compat: p, tags: g } = e.doc.schema;
|
|
1093
|
-
if (g.some(
|
|
1125
|
+
if (g.some(d) || p != null && p.some(d))
|
|
1094
1126
|
return ae(r, e);
|
|
1095
1127
|
}
|
|
1096
|
-
return a ? f : et(f, c,
|
|
1128
|
+
return a ? f : et(f, c, js, tt(e, !1));
|
|
1097
1129
|
}
|
|
1098
|
-
function
|
|
1130
|
+
function _t(s, e, t, n) {
|
|
1099
1131
|
const { implicitKey: i, inFlow: r } = e, o = typeof s.value == "string" ? s : Object.assign({}, s, { value: String(s.value) });
|
|
1100
1132
|
let { type: a } = s;
|
|
1101
1133
|
a !== I.QUOTE_DOUBLE && /[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(o.value) && (a = I.QUOTE_DOUBLE);
|
|
@@ -1105,27 +1137,27 @@ function Ct(s, e, t, n) {
|
|
|
1105
1137
|
case I.BLOCK_LITERAL:
|
|
1106
1138
|
return i || r ? ae(o.value, e) : Ge(o, e, t, n);
|
|
1107
1139
|
case I.QUOTE_DOUBLE:
|
|
1108
|
-
return
|
|
1140
|
+
return Ae(o.value, e);
|
|
1109
1141
|
case I.QUOTE_SINGLE:
|
|
1110
|
-
return
|
|
1142
|
+
return Et(o.value, e);
|
|
1111
1143
|
case I.PLAIN:
|
|
1112
|
-
return
|
|
1144
|
+
return pi(o, e, t, n);
|
|
1113
1145
|
default:
|
|
1114
1146
|
return null;
|
|
1115
1147
|
}
|
|
1116
1148
|
};
|
|
1117
1149
|
let l = c(a);
|
|
1118
1150
|
if (l === null) {
|
|
1119
|
-
const { defaultKeyType: u, defaultStringType: f } = e.options,
|
|
1120
|
-
if (l = c(
|
|
1121
|
-
throw new Error(`Unsupported default string type ${
|
|
1151
|
+
const { defaultKeyType: u, defaultStringType: f } = e.options, d = i && u || f;
|
|
1152
|
+
if (l = c(d), l === null)
|
|
1153
|
+
throw new Error(`Unsupported default string type ${d}`);
|
|
1122
1154
|
}
|
|
1123
1155
|
return l;
|
|
1124
1156
|
}
|
|
1125
|
-
function
|
|
1157
|
+
function Bs(s, e) {
|
|
1126
1158
|
const t = Object.assign({
|
|
1127
1159
|
blockQuote: !0,
|
|
1128
|
-
commentString:
|
|
1160
|
+
commentString: di,
|
|
1129
1161
|
defaultKeyType: null,
|
|
1130
1162
|
defaultStringType: "PLAIN",
|
|
1131
1163
|
directives: null,
|
|
@@ -1164,7 +1196,7 @@ function Rs(s, e) {
|
|
|
1164
1196
|
options: t
|
|
1165
1197
|
};
|
|
1166
1198
|
}
|
|
1167
|
-
function
|
|
1199
|
+
function mi(s, e) {
|
|
1168
1200
|
var i;
|
|
1169
1201
|
if (e.tag) {
|
|
1170
1202
|
const r = s.filter((o) => o.tag === e.tag);
|
|
@@ -1191,11 +1223,11 @@ function li(s, e) {
|
|
|
1191
1223
|
}
|
|
1192
1224
|
return t;
|
|
1193
1225
|
}
|
|
1194
|
-
function
|
|
1226
|
+
function gi(s, e, { anchors: t, doc: n }) {
|
|
1195
1227
|
if (!n.directives)
|
|
1196
1228
|
return "";
|
|
1197
1229
|
const i = [], r = (O(s) || C(s)) && s.anchor;
|
|
1198
|
-
r &&
|
|
1230
|
+
r && _s(r) && (t.add(r), i.push(`&${r}`));
|
|
1199
1231
|
const o = s.tag ?? (e.default ? null : e.tag);
|
|
1200
1232
|
return o && i.push(n.directives.tagString(o)), i.join(" ");
|
|
1201
1233
|
}
|
|
@@ -1203,7 +1235,7 @@ function de(s, e, t, n) {
|
|
|
1203
1235
|
var c;
|
|
1204
1236
|
if (_(s))
|
|
1205
1237
|
return s.toString(e, t, n);
|
|
1206
|
-
if (
|
|
1238
|
+
if (ye(s)) {
|
|
1207
1239
|
if (e.doc.directives)
|
|
1208
1240
|
return s.toString(e);
|
|
1209
1241
|
if ((c = e.resolvedAliases) != null && c.has(s))
|
|
@@ -1212,31 +1244,31 @@ function de(s, e, t, n) {
|
|
|
1212
1244
|
}
|
|
1213
1245
|
let i;
|
|
1214
1246
|
const r = L(s) ? s : e.doc.createNode(s, { onTagObj: (l) => i = l });
|
|
1215
|
-
i ?? (i =
|
|
1216
|
-
const o =
|
|
1247
|
+
i ?? (i = mi(e.doc.schema.tags, r));
|
|
1248
|
+
const o = gi(r, i, e);
|
|
1217
1249
|
o.length > 0 && (e.indentAtStart = (e.indentAtStart ?? 0) + o.length + 1);
|
|
1218
|
-
const a = typeof i.stringify == "function" ? i.stringify(r, e, t, n) : O(r) ?
|
|
1250
|
+
const a = typeof i.stringify == "function" ? i.stringify(r, e, t, n) : O(r) ? _t(r, e, t, n) : r.toString(e, t, n);
|
|
1219
1251
|
return o ? O(r) || a[0] === "{" || a[0] === "[" ? `${o} ${a}` : `${o}
|
|
1220
1252
|
${e.indent}${a}` : a;
|
|
1221
1253
|
}
|
|
1222
|
-
function
|
|
1254
|
+
function yi({ key: s, value: e }, t, n, i) {
|
|
1223
1255
|
const { allNullValues: r, doc: o, indent: a, indentStep: c, options: { commentString: l, indentSeq: u, simpleKeys: f } } = t;
|
|
1224
|
-
let
|
|
1256
|
+
let d = L(s) && s.comment || null;
|
|
1225
1257
|
if (f) {
|
|
1226
|
-
if (
|
|
1258
|
+
if (d)
|
|
1227
1259
|
throw new Error("With simple keys, key nodes cannot have comments");
|
|
1228
1260
|
if (C(s) || !L(s) && typeof s == "object") {
|
|
1229
1261
|
const T = "With simple keys, collection cannot be used as a key value";
|
|
1230
1262
|
throw new Error(T);
|
|
1231
1263
|
}
|
|
1232
1264
|
}
|
|
1233
|
-
let p = !f && (!s ||
|
|
1265
|
+
let p = !f && (!s || d && e == null && !t.inFlow || C(s) || (O(s) ? s.type === I.BLOCK_FOLDED || s.type === I.BLOCK_LITERAL : typeof s == "object"));
|
|
1234
1266
|
t = Object.assign({}, t, {
|
|
1235
1267
|
allNullValues: !1,
|
|
1236
1268
|
implicitKey: !p && (f || !r),
|
|
1237
1269
|
indent: a + c
|
|
1238
1270
|
});
|
|
1239
|
-
let g = !1,
|
|
1271
|
+
let g = !1, h = !1, m = de(s, t, () => g = !0, () => h = !0);
|
|
1240
1272
|
if (!p && !t.inFlow && m.length > 1024) {
|
|
1241
1273
|
if (f)
|
|
1242
1274
|
throw new Error("With simple keys, single line scalar must not span more than 1024 characters");
|
|
@@ -1246,15 +1278,15 @@ function ui({ key: s, value: e }, t, n, i) {
|
|
|
1246
1278
|
if (r || e == null)
|
|
1247
1279
|
return g && n && n(), m === "" ? "?" : p ? `? ${m}` : m;
|
|
1248
1280
|
} else if (r && !f || e == null && p)
|
|
1249
|
-
return m = `? ${m}`,
|
|
1250
|
-
g && (
|
|
1251
|
-
${a}:`) : (m = `${m}:`,
|
|
1281
|
+
return m = `? ${m}`, d && !g ? m += Z(m, t.indent, l(d)) : h && i && i(), m;
|
|
1282
|
+
g && (d = null), p ? (d && (m += Z(m, t.indent, l(d))), m = `? ${m}
|
|
1283
|
+
${a}:`) : (m = `${m}:`, d && (m += Z(m, t.indent, l(d))));
|
|
1252
1284
|
let y, w, E;
|
|
1253
|
-
L(e) ? (y = !!e.spaceBefore, w = e.commentBefore, E = e.comment) : (y = !1, w = null, E = null, e && typeof e == "object" && (e = o.createNode(e))), t.implicitKey = !1, !p && !
|
|
1285
|
+
L(e) ? (y = !!e.spaceBefore, w = e.commentBefore, E = e.comment) : (y = !1, w = null, E = null, e && typeof e == "object" && (e = o.createNode(e))), t.implicitKey = !1, !p && !d && O(e) && (t.indentAtStart = m.length + 1), h = !1, !u && c.length >= 2 && !t.inFlow && !p && Pe(e) && !e.flow && !e.tag && !e.anchor && (t.indent = t.indent.substring(2));
|
|
1254
1286
|
let S = !1;
|
|
1255
|
-
const N = de(e, t, () => S = !0, () =>
|
|
1287
|
+
const N = de(e, t, () => S = !0, () => h = !0);
|
|
1256
1288
|
let A = " ";
|
|
1257
|
-
if (
|
|
1289
|
+
if (d || y || w) {
|
|
1258
1290
|
if (A = y ? `
|
|
1259
1291
|
` : "", w) {
|
|
1260
1292
|
const T = l(w);
|
|
@@ -1280,9 +1312,9 @@ ${t.indent}`);
|
|
|
1280
1312
|
}
|
|
1281
1313
|
} else (N === "" || N[0] === `
|
|
1282
1314
|
`) && (A = "");
|
|
1283
|
-
return m += A + N, t.inFlow ? S && n && n() : E && !S ? m += Z(m, t.indent, l(E)) :
|
|
1315
|
+
return m += A + N, t.inFlow ? S && n && n() : E && !S ? m += Z(m, t.indent, l(E)) : h && i && i(), m;
|
|
1284
1316
|
}
|
|
1285
|
-
function
|
|
1317
|
+
function Ks(s, e) {
|
|
1286
1318
|
(s === "debug" || s === "warn") && console.warn(e);
|
|
1287
1319
|
}
|
|
1288
1320
|
const Be = "<<", J = {
|
|
@@ -1291,13 +1323,13 @@ const Be = "<<", J = {
|
|
|
1291
1323
|
tag: "tag:yaml.org,2002:merge",
|
|
1292
1324
|
test: /^<<$/,
|
|
1293
1325
|
resolve: () => Object.assign(new I(Symbol(Be)), {
|
|
1294
|
-
addToJSMap:
|
|
1326
|
+
addToJSMap: Fs
|
|
1295
1327
|
}),
|
|
1296
1328
|
stringify: () => Be
|
|
1297
|
-
},
|
|
1298
|
-
function
|
|
1299
|
-
const n =
|
|
1300
|
-
if (
|
|
1329
|
+
}, wi = (s, e) => (J.identify(e) || O(e) && (!e.type || e.type === I.PLAIN) && J.identify(e.value)) && (s == null ? void 0 : s.doc.schema.tags.some((t) => t.tag === J.tag && t.default));
|
|
1330
|
+
function Fs(s, e, t) {
|
|
1331
|
+
const n = qs(s, t);
|
|
1332
|
+
if (Pe(n))
|
|
1301
1333
|
for (const i of n.items)
|
|
1302
1334
|
ut(s, e, i);
|
|
1303
1335
|
else if (Array.isArray(n))
|
|
@@ -1307,8 +1339,8 @@ function Ms(s, e, t) {
|
|
|
1307
1339
|
ut(s, e, n);
|
|
1308
1340
|
}
|
|
1309
1341
|
function ut(s, e, t) {
|
|
1310
|
-
const n =
|
|
1311
|
-
if (!
|
|
1342
|
+
const n = qs(s, t);
|
|
1343
|
+
if (!_e(n))
|
|
1312
1344
|
throw new Error("Merge sources must be maps or map aliases");
|
|
1313
1345
|
const i = n.toJSON(null, s, Map);
|
|
1314
1346
|
for (const [r, o] of i)
|
|
@@ -1320,14 +1352,14 @@ function ut(s, e, t) {
|
|
|
1320
1352
|
});
|
|
1321
1353
|
return e;
|
|
1322
1354
|
}
|
|
1323
|
-
function
|
|
1324
|
-
return s &&
|
|
1355
|
+
function qs(s, e) {
|
|
1356
|
+
return s && ye(e) ? e.resolve(s.doc, s) : e;
|
|
1325
1357
|
}
|
|
1326
|
-
function
|
|
1358
|
+
function Us(s, e, { key: t, value: n }) {
|
|
1327
1359
|
if (L(t) && t.addToJSMap)
|
|
1328
1360
|
t.addToJSMap(s, e, n);
|
|
1329
|
-
else if (
|
|
1330
|
-
|
|
1361
|
+
else if (wi(s, t))
|
|
1362
|
+
Fs(s, e, n);
|
|
1331
1363
|
else {
|
|
1332
1364
|
const i = j(t, "", s);
|
|
1333
1365
|
if (e instanceof Map)
|
|
@@ -1335,7 +1367,7 @@ function Bs(s, e, { key: t, value: n }) {
|
|
|
1335
1367
|
else if (e instanceof Set)
|
|
1336
1368
|
e.add(i);
|
|
1337
1369
|
else {
|
|
1338
|
-
const r =
|
|
1370
|
+
const r = bi(t, i, s), o = j(n, r, s);
|
|
1339
1371
|
r in e ? Object.defineProperty(e, r, {
|
|
1340
1372
|
value: o,
|
|
1341
1373
|
writable: !0,
|
|
@@ -1346,13 +1378,13 @@ function Bs(s, e, { key: t, value: n }) {
|
|
|
1346
1378
|
}
|
|
1347
1379
|
return e;
|
|
1348
1380
|
}
|
|
1349
|
-
function
|
|
1381
|
+
function bi(s, e, t) {
|
|
1350
1382
|
if (e === null)
|
|
1351
1383
|
return "";
|
|
1352
1384
|
if (typeof e != "object")
|
|
1353
1385
|
return String(e);
|
|
1354
1386
|
if (L(s) && (t != null && t.doc)) {
|
|
1355
|
-
const n =
|
|
1387
|
+
const n = Bs(t.doc, {});
|
|
1356
1388
|
n.anchors = /* @__PURE__ */ new Set();
|
|
1357
1389
|
for (const r of t.anchors.keys())
|
|
1358
1390
|
n.anchors.add(r.anchor);
|
|
@@ -1360,19 +1392,19 @@ function hi(s, e, t) {
|
|
|
1360
1392
|
const i = s.toString(n);
|
|
1361
1393
|
if (!t.mapKeyWarned) {
|
|
1362
1394
|
let r = JSON.stringify(i);
|
|
1363
|
-
r.length > 40 && (r = r.substring(0, 36) + '..."'),
|
|
1395
|
+
r.length > 40 && (r = r.substring(0, 36) + '..."'), Ks(t.doc.options.logLevel, `Keys with collection values will be stringified due to JS Object restrictions: ${r}. Set mapAsMap: true to use object keys.`), t.mapKeyWarned = !0;
|
|
1364
1396
|
}
|
|
1365
1397
|
return i;
|
|
1366
1398
|
}
|
|
1367
1399
|
return JSON.stringify(e);
|
|
1368
1400
|
}
|
|
1369
|
-
function
|
|
1370
|
-
const n =
|
|
1401
|
+
function Pt(s, e, t) {
|
|
1402
|
+
const n = ve(s, void 0, t), i = ve(e, void 0, t);
|
|
1371
1403
|
return new D(n, i);
|
|
1372
1404
|
}
|
|
1373
1405
|
class D {
|
|
1374
1406
|
constructor(e, t = null) {
|
|
1375
|
-
Object.defineProperty(this, B, { value:
|
|
1407
|
+
Object.defineProperty(this, B, { value: Cs }), this.key = e, this.value = t;
|
|
1376
1408
|
}
|
|
1377
1409
|
clone(e) {
|
|
1378
1410
|
let { key: t, value: n } = this;
|
|
@@ -1380,48 +1412,48 @@ class D {
|
|
|
1380
1412
|
}
|
|
1381
1413
|
toJSON(e, t) {
|
|
1382
1414
|
const n = t != null && t.mapAsMap ? /* @__PURE__ */ new Map() : {};
|
|
1383
|
-
return
|
|
1415
|
+
return Us(t, n, this);
|
|
1384
1416
|
}
|
|
1385
1417
|
toString(e, t, n) {
|
|
1386
|
-
return e != null && e.doc ?
|
|
1418
|
+
return e != null && e.doc ? yi(this, e, t, n) : JSON.stringify(this);
|
|
1387
1419
|
}
|
|
1388
1420
|
}
|
|
1389
|
-
function
|
|
1390
|
-
return (e.inFlow ?? s.flow ?
|
|
1421
|
+
function Ys(s, e, t) {
|
|
1422
|
+
return (e.inFlow ?? s.flow ? Si : ki)(s, e, t);
|
|
1391
1423
|
}
|
|
1392
|
-
function
|
|
1424
|
+
function ki({ comment: s, items: e }, t, { blockItemPrefix: n, flowChars: i, itemIndent: r, onChompKeep: o, onComment: a }) {
|
|
1393
1425
|
const { indent: c, options: { commentString: l } } = t, u = Object.assign({}, t, { indent: r, type: null });
|
|
1394
1426
|
let f = !1;
|
|
1395
|
-
const
|
|
1427
|
+
const d = [];
|
|
1396
1428
|
for (let g = 0; g < e.length; ++g) {
|
|
1397
|
-
const
|
|
1429
|
+
const h = e[g];
|
|
1398
1430
|
let m = null;
|
|
1399
|
-
if (L(
|
|
1400
|
-
!f &&
|
|
1401
|
-
else if (_(
|
|
1402
|
-
const w = L(
|
|
1403
|
-
w && (!f && w.spaceBefore &&
|
|
1431
|
+
if (L(h))
|
|
1432
|
+
!f && h.spaceBefore && d.push(""), We(t, d, h.commentBefore, f), h.comment && (m = h.comment);
|
|
1433
|
+
else if (_(h)) {
|
|
1434
|
+
const w = L(h.key) ? h.key : null;
|
|
1435
|
+
w && (!f && w.spaceBefore && d.push(""), We(t, d, w.commentBefore, f));
|
|
1404
1436
|
}
|
|
1405
1437
|
f = !1;
|
|
1406
|
-
let y = de(
|
|
1407
|
-
m && (y += Z(y, r, l(m))), f && m && (f = !1),
|
|
1438
|
+
let y = de(h, u, () => m = null, () => f = !0);
|
|
1439
|
+
m && (y += Z(y, r, l(m))), f && m && (f = !1), d.push(n + y);
|
|
1408
1440
|
}
|
|
1409
1441
|
let p;
|
|
1410
|
-
if (
|
|
1442
|
+
if (d.length === 0)
|
|
1411
1443
|
p = i.start + i.end;
|
|
1412
1444
|
else {
|
|
1413
|
-
p =
|
|
1414
|
-
for (let g = 1; g <
|
|
1415
|
-
const
|
|
1416
|
-
p +=
|
|
1417
|
-
${c}${
|
|
1445
|
+
p = d[0];
|
|
1446
|
+
for (let g = 1; g < d.length; ++g) {
|
|
1447
|
+
const h = d[g];
|
|
1448
|
+
p += h ? `
|
|
1449
|
+
${c}${h}` : `
|
|
1418
1450
|
`;
|
|
1419
1451
|
}
|
|
1420
1452
|
}
|
|
1421
1453
|
return s ? (p += `
|
|
1422
1454
|
` + V(l(s), c), a && a()) : f && o && o(), p;
|
|
1423
1455
|
}
|
|
1424
|
-
function
|
|
1456
|
+
function Si({ items: s }, e, { flowChars: t, itemIndent: n }) {
|
|
1425
1457
|
const { indent: i, indentStep: r, flowCollectionPadding: o, options: { commentString: a } } = e;
|
|
1426
1458
|
n += r;
|
|
1427
1459
|
const c = Object.assign({}, e, {
|
|
@@ -1432,38 +1464,38 @@ function mi({ items: s }, e, { flowChars: t, itemIndent: n }) {
|
|
|
1432
1464
|
let l = !1, u = 0;
|
|
1433
1465
|
const f = [];
|
|
1434
1466
|
for (let g = 0; g < s.length; ++g) {
|
|
1435
|
-
const
|
|
1467
|
+
const h = s[g];
|
|
1436
1468
|
let m = null;
|
|
1437
|
-
if (L(
|
|
1438
|
-
|
|
1439
|
-
else if (_(
|
|
1440
|
-
const w = L(
|
|
1469
|
+
if (L(h))
|
|
1470
|
+
h.spaceBefore && f.push(""), We(e, f, h.commentBefore, !1), h.comment && (m = h.comment);
|
|
1471
|
+
else if (_(h)) {
|
|
1472
|
+
const w = L(h.key) ? h.key : null;
|
|
1441
1473
|
w && (w.spaceBefore && f.push(""), We(e, f, w.commentBefore, !1), w.comment && (l = !0));
|
|
1442
|
-
const E = L(
|
|
1443
|
-
E ? (E.comment && (m = E.comment), E.commentBefore && (l = !0)) :
|
|
1474
|
+
const E = L(h.value) ? h.value : null;
|
|
1475
|
+
E ? (E.comment && (m = E.comment), E.commentBefore && (l = !0)) : h.value == null && (w != null && w.comment) && (m = w.comment);
|
|
1444
1476
|
}
|
|
1445
1477
|
m && (l = !0);
|
|
1446
|
-
let y = de(
|
|
1478
|
+
let y = de(h, c, () => m = null);
|
|
1447
1479
|
l || (l = f.length > u || y.includes(`
|
|
1448
1480
|
`)), g < s.length - 1 ? y += "," : e.options.trailingComma && (e.options.lineWidth > 0 && (l || (l = f.reduce((w, E) => w + E.length + 2, 2) + (y.length + 2) > e.options.lineWidth)), l && (y += ",")), m && (y += Z(y, n, a(m))), f.push(y), u = f.length;
|
|
1449
1481
|
}
|
|
1450
|
-
const { start:
|
|
1482
|
+
const { start: d, end: p } = t;
|
|
1451
1483
|
if (f.length === 0)
|
|
1452
|
-
return
|
|
1484
|
+
return d + p;
|
|
1453
1485
|
if (!l) {
|
|
1454
|
-
const g = f.reduce((
|
|
1486
|
+
const g = f.reduce((h, m) => h + m.length + 2, 2);
|
|
1455
1487
|
l = e.options.lineWidth > 0 && g > e.options.lineWidth;
|
|
1456
1488
|
}
|
|
1457
1489
|
if (l) {
|
|
1458
|
-
let g =
|
|
1459
|
-
for (const
|
|
1460
|
-
g +=
|
|
1461
|
-
${r}${i}${
|
|
1490
|
+
let g = d;
|
|
1491
|
+
for (const h of f)
|
|
1492
|
+
g += h ? `
|
|
1493
|
+
${r}${i}${h}` : `
|
|
1462
1494
|
`;
|
|
1463
1495
|
return `${g}
|
|
1464
1496
|
${i}${p}`;
|
|
1465
1497
|
} else
|
|
1466
|
-
return `${
|
|
1498
|
+
return `${d}${o}${f.join(" ")}${o}${p}`;
|
|
1467
1499
|
}
|
|
1468
1500
|
function We({ indent: s, options: { commentString: e } }, t, n, i) {
|
|
1469
1501
|
if (n && i && (n = n.replace(/^\n+/, "")), n) {
|
|
@@ -1477,7 +1509,7 @@ function ee(s, e) {
|
|
|
1477
1509
|
if (_(n) && (n.key === e || n.key === t || O(n.key) && n.key.value === t))
|
|
1478
1510
|
return n;
|
|
1479
1511
|
}
|
|
1480
|
-
class M extends
|
|
1512
|
+
class M extends Ms {
|
|
1481
1513
|
static get tagName() {
|
|
1482
1514
|
return "tag:yaml.org,2002:map";
|
|
1483
1515
|
}
|
|
@@ -1494,7 +1526,7 @@ class M extends _s {
|
|
|
1494
1526
|
l = r.call(t, c, l);
|
|
1495
1527
|
else if (Array.isArray(r) && !r.includes(c))
|
|
1496
1528
|
return;
|
|
1497
|
-
(l !== void 0 || i) && o.items.push(
|
|
1529
|
+
(l !== void 0 || i) && o.items.push(Pt(c, l, n));
|
|
1498
1530
|
};
|
|
1499
1531
|
if (t instanceof Map)
|
|
1500
1532
|
for (const [c, l] of t)
|
|
@@ -1518,7 +1550,7 @@ class M extends _s {
|
|
|
1518
1550
|
if (i) {
|
|
1519
1551
|
if (!t)
|
|
1520
1552
|
throw new Error(`Key ${n.key} already set`);
|
|
1521
|
-
O(i.value) &&
|
|
1553
|
+
O(i.value) && Ds(n.value) ? i.value.value = n.value : i.value = n.value;
|
|
1522
1554
|
} else if (r) {
|
|
1523
1555
|
const a = this.items.findIndex((c) => r(n, c) < 0);
|
|
1524
1556
|
a === -1 ? this.items.push(n) : this.items.splice(a, 0, n);
|
|
@@ -1548,7 +1580,7 @@ class M extends _s {
|
|
|
1548
1580
|
const i = n ? new n() : t != null && t.mapAsMap ? /* @__PURE__ */ new Map() : {};
|
|
1549
1581
|
t != null && t.onCreate && t.onCreate(i);
|
|
1550
1582
|
for (const r of this.items)
|
|
1551
|
-
|
|
1583
|
+
Us(t, i, r);
|
|
1552
1584
|
return i;
|
|
1553
1585
|
}
|
|
1554
1586
|
toString(e, t, n) {
|
|
@@ -1557,7 +1589,7 @@ class M extends _s {
|
|
|
1557
1589
|
for (const i of this.items)
|
|
1558
1590
|
if (!_(i))
|
|
1559
1591
|
throw new Error(`Map items must all be pairs; found ${JSON.stringify(i)} instead`);
|
|
1560
|
-
return !e.allNullValues && this.hasAllNullValues(!1) && (e = Object.assign({}, e, { allNullValues: !0 })),
|
|
1592
|
+
return !e.allNullValues && this.hasAllNullValues(!1) && (e = Object.assign({}, e, { allNullValues: !0 })), Ys(this, e, {
|
|
1561
1593
|
blockItemPrefix: "",
|
|
1562
1594
|
flowChars: { start: "{", end: "}" },
|
|
1563
1595
|
itemIndent: e.indent || "",
|
|
@@ -1566,22 +1598,22 @@ class M extends _s {
|
|
|
1566
1598
|
});
|
|
1567
1599
|
}
|
|
1568
1600
|
}
|
|
1569
|
-
const
|
|
1601
|
+
const be = {
|
|
1570
1602
|
collection: "map",
|
|
1571
1603
|
default: !0,
|
|
1572
1604
|
nodeClass: M,
|
|
1573
1605
|
tag: "tag:yaml.org,2002:map",
|
|
1574
1606
|
resolve(s, e) {
|
|
1575
|
-
return
|
|
1607
|
+
return _e(s) || e("Expected a mapping for this tag"), s;
|
|
1576
1608
|
},
|
|
1577
1609
|
createNode: (s, e, t) => M.from(s, e, t)
|
|
1578
1610
|
};
|
|
1579
|
-
class te extends
|
|
1611
|
+
class te extends Ms {
|
|
1580
1612
|
static get tagName() {
|
|
1581
1613
|
return "tag:yaml.org,2002:seq";
|
|
1582
1614
|
}
|
|
1583
1615
|
constructor(e) {
|
|
1584
|
-
super(
|
|
1616
|
+
super(ge, e), this.items = [];
|
|
1585
1617
|
}
|
|
1586
1618
|
add(e) {
|
|
1587
1619
|
this.items.push(e);
|
|
@@ -1627,7 +1659,7 @@ class te extends _s {
|
|
|
1627
1659
|
if (typeof n != "number")
|
|
1628
1660
|
throw new Error(`Expected a valid index, not ${e}.`);
|
|
1629
1661
|
const i = this.items[n];
|
|
1630
|
-
O(i) &&
|
|
1662
|
+
O(i) && Ds(t) ? i.value = t : this.items[n] = t;
|
|
1631
1663
|
}
|
|
1632
1664
|
toJSON(e, t) {
|
|
1633
1665
|
const n = [];
|
|
@@ -1638,7 +1670,7 @@ class te extends _s {
|
|
|
1638
1670
|
return n;
|
|
1639
1671
|
}
|
|
1640
1672
|
toString(e, t, n) {
|
|
1641
|
-
return e ?
|
|
1673
|
+
return e ? Ys(this, e, {
|
|
1642
1674
|
blockItemPrefix: "- ",
|
|
1643
1675
|
flowChars: { start: "[", end: "]" },
|
|
1644
1676
|
itemIndent: (e.indent || "") + " ",
|
|
@@ -1655,7 +1687,7 @@ class te extends _s {
|
|
|
1655
1687
|
const c = t instanceof Set ? a : String(o++);
|
|
1656
1688
|
a = i.call(t, c, a);
|
|
1657
1689
|
}
|
|
1658
|
-
r.items.push(
|
|
1690
|
+
r.items.push(ve(a, void 0, n));
|
|
1659
1691
|
}
|
|
1660
1692
|
}
|
|
1661
1693
|
return r;
|
|
@@ -1665,13 +1697,13 @@ function Ke(s) {
|
|
|
1665
1697
|
let e = O(s) ? s.value : s;
|
|
1666
1698
|
return e && typeof e == "string" && (e = Number(e)), typeof e == "number" && Number.isInteger(e) && e >= 0 ? e : null;
|
|
1667
1699
|
}
|
|
1668
|
-
const
|
|
1700
|
+
const ke = {
|
|
1669
1701
|
collection: "seq",
|
|
1670
1702
|
default: !0,
|
|
1671
1703
|
nodeClass: te,
|
|
1672
1704
|
tag: "tag:yaml.org,2002:seq",
|
|
1673
1705
|
resolve(s, e) {
|
|
1674
|
-
return
|
|
1706
|
+
return Pe(s) || e("Expected a sequence for this tag"), s;
|
|
1675
1707
|
},
|
|
1676
1708
|
createNode: (s, e, t) => te.from(s, e, t)
|
|
1677
1709
|
}, nt = {
|
|
@@ -1680,7 +1712,7 @@ const be = {
|
|
|
1680
1712
|
tag: "tag:yaml.org,2002:str",
|
|
1681
1713
|
resolve: (s) => s,
|
|
1682
1714
|
stringify(s, e, t, n) {
|
|
1683
|
-
return e = Object.assign({ actualString: !0 }, e),
|
|
1715
|
+
return e = Object.assign({ actualString: !0 }, e), _t(s, e, t, n);
|
|
1684
1716
|
}
|
|
1685
1717
|
}, it = {
|
|
1686
1718
|
identify: (s) => s == null,
|
|
@@ -1690,14 +1722,14 @@ const be = {
|
|
|
1690
1722
|
test: /^(?:~|[Nn]ull|NULL)?$/,
|
|
1691
1723
|
resolve: () => new I(null),
|
|
1692
1724
|
stringify: ({ source: s }, e) => typeof s == "string" && it.test.test(s) ? s : e.options.nullStr
|
|
1693
|
-
},
|
|
1725
|
+
}, Rt = {
|
|
1694
1726
|
identify: (s) => typeof s == "boolean",
|
|
1695
1727
|
default: !0,
|
|
1696
1728
|
tag: "tag:yaml.org,2002:bool",
|
|
1697
1729
|
test: /^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,
|
|
1698
1730
|
resolve: (s) => new I(s[0] === "t" || s[0] === "T"),
|
|
1699
1731
|
stringify({ source: s, value: e }, t) {
|
|
1700
|
-
if (s &&
|
|
1732
|
+
if (s && Rt.test.test(s)) {
|
|
1701
1733
|
const n = s[0] === "t" || s[0] === "T";
|
|
1702
1734
|
if (e === n)
|
|
1703
1735
|
return s;
|
|
@@ -1721,14 +1753,14 @@ function Y({ format: s, minFractionDigits: e, tag: t, value: n }) {
|
|
|
1721
1753
|
}
|
|
1722
1754
|
return r;
|
|
1723
1755
|
}
|
|
1724
|
-
const
|
|
1756
|
+
const Hs = {
|
|
1725
1757
|
identify: (s) => typeof s == "number",
|
|
1726
1758
|
default: !0,
|
|
1727
1759
|
tag: "tag:yaml.org,2002:float",
|
|
1728
1760
|
test: /^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,
|
|
1729
1761
|
resolve: (s) => s.slice(-3).toLowerCase() === "nan" ? NaN : s[0] === "-" ? Number.NEGATIVE_INFINITY : Number.POSITIVE_INFINITY,
|
|
1730
1762
|
stringify: Y
|
|
1731
|
-
},
|
|
1763
|
+
}, Gs = {
|
|
1732
1764
|
identify: (s) => typeof s == "number",
|
|
1733
1765
|
default: !0,
|
|
1734
1766
|
tag: "tag:yaml.org,2002:float",
|
|
@@ -1739,7 +1771,7 @@ const Fs = {
|
|
|
1739
1771
|
const e = Number(s.value);
|
|
1740
1772
|
return isFinite(e) ? e.toExponential() : Y(s);
|
|
1741
1773
|
}
|
|
1742
|
-
},
|
|
1774
|
+
}, Vs = {
|
|
1743
1775
|
identify: (s) => typeof s == "number",
|
|
1744
1776
|
default: !0,
|
|
1745
1777
|
tag: "tag:yaml.org,2002:float",
|
|
@@ -1749,51 +1781,51 @@ const Fs = {
|
|
|
1749
1781
|
return t !== -1 && s[s.length - 1] === "0" && (e.minFractionDigits = s.length - t - 1), e;
|
|
1750
1782
|
},
|
|
1751
1783
|
stringify: Y
|
|
1752
|
-
}, rt = (s) => typeof s == "bigint" || Number.isInteger(s),
|
|
1753
|
-
function
|
|
1784
|
+
}, rt = (s) => typeof s == "bigint" || Number.isInteger(s), Dt = (s, e, t, { intAsBigInt: n }) => n ? BigInt(s) : parseInt(s.substring(e), t);
|
|
1785
|
+
function Js(s, e, t) {
|
|
1754
1786
|
const { value: n } = s;
|
|
1755
1787
|
return rt(n) && n >= 0 ? t + n.toString(e) : Y(s);
|
|
1756
1788
|
}
|
|
1757
|
-
const
|
|
1789
|
+
const Ws = {
|
|
1758
1790
|
identify: (s) => rt(s) && s >= 0,
|
|
1759
1791
|
default: !0,
|
|
1760
1792
|
tag: "tag:yaml.org,2002:int",
|
|
1761
1793
|
format: "OCT",
|
|
1762
1794
|
test: /^0o[0-7]+$/,
|
|
1763
|
-
resolve: (s, e, t) =>
|
|
1764
|
-
stringify: (s) =>
|
|
1765
|
-
},
|
|
1795
|
+
resolve: (s, e, t) => Dt(s, 2, 8, t),
|
|
1796
|
+
stringify: (s) => Js(s, 8, "0o")
|
|
1797
|
+
}, xs = {
|
|
1766
1798
|
identify: rt,
|
|
1767
1799
|
default: !0,
|
|
1768
1800
|
tag: "tag:yaml.org,2002:int",
|
|
1769
1801
|
test: /^[-+]?[0-9]+$/,
|
|
1770
|
-
resolve: (s, e, t) =>
|
|
1802
|
+
resolve: (s, e, t) => Dt(s, 0, 10, t),
|
|
1771
1803
|
stringify: Y
|
|
1772
|
-
},
|
|
1804
|
+
}, zs = {
|
|
1773
1805
|
identify: (s) => rt(s) && s >= 0,
|
|
1774
1806
|
default: !0,
|
|
1775
1807
|
tag: "tag:yaml.org,2002:int",
|
|
1776
1808
|
format: "HEX",
|
|
1777
1809
|
test: /^0x[0-9a-fA-F]+$/,
|
|
1778
|
-
resolve: (s, e, t) =>
|
|
1779
|
-
stringify: (s) =>
|
|
1780
|
-
},
|
|
1781
|
-
we,
|
|
1810
|
+
resolve: (s, e, t) => Dt(s, 2, 16, t),
|
|
1811
|
+
stringify: (s) => Js(s, 16, "0x")
|
|
1812
|
+
}, Ei = [
|
|
1782
1813
|
be,
|
|
1814
|
+
ke,
|
|
1783
1815
|
nt,
|
|
1784
1816
|
it,
|
|
1785
|
-
|
|
1817
|
+
Rt,
|
|
1818
|
+
Ws,
|
|
1819
|
+
xs,
|
|
1820
|
+
zs,
|
|
1786
1821
|
Hs,
|
|
1787
1822
|
Gs,
|
|
1788
|
-
Vs
|
|
1789
|
-
Fs,
|
|
1790
|
-
qs,
|
|
1791
|
-
Us
|
|
1823
|
+
Vs
|
|
1792
1824
|
];
|
|
1793
|
-
function
|
|
1825
|
+
function rs(s) {
|
|
1794
1826
|
return typeof s == "bigint" || Number.isInteger(s);
|
|
1795
1827
|
}
|
|
1796
|
-
const Fe = ({ value: s }) => JSON.stringify(s),
|
|
1828
|
+
const Fe = ({ value: s }) => JSON.stringify(s), Ni = [
|
|
1797
1829
|
{
|
|
1798
1830
|
identify: (s) => typeof s == "string",
|
|
1799
1831
|
default: !0,
|
|
@@ -1819,12 +1851,12 @@ const Fe = ({ value: s }) => JSON.stringify(s), yi = [
|
|
|
1819
1851
|
stringify: Fe
|
|
1820
1852
|
},
|
|
1821
1853
|
{
|
|
1822
|
-
identify:
|
|
1854
|
+
identify: rs,
|
|
1823
1855
|
default: !0,
|
|
1824
1856
|
tag: "tag:yaml.org,2002:int",
|
|
1825
1857
|
test: /^-?(?:0|[1-9][0-9]*)$/,
|
|
1826
1858
|
resolve: (s, e, { intAsBigInt: t }) => t ? BigInt(s) : parseInt(s, 10),
|
|
1827
|
-
stringify: ({ value: s }) =>
|
|
1859
|
+
stringify: ({ value: s }) => rs(s) ? s.toString() : JSON.stringify(s)
|
|
1828
1860
|
},
|
|
1829
1861
|
{
|
|
1830
1862
|
identify: (s) => typeof s == "number",
|
|
@@ -1834,14 +1866,14 @@ const Fe = ({ value: s }) => JSON.stringify(s), yi = [
|
|
|
1834
1866
|
resolve: (s) => parseFloat(s),
|
|
1835
1867
|
stringify: Fe
|
|
1836
1868
|
}
|
|
1837
|
-
],
|
|
1869
|
+
], Ii = {
|
|
1838
1870
|
default: !0,
|
|
1839
1871
|
tag: "",
|
|
1840
1872
|
test: /^/,
|
|
1841
1873
|
resolve(s, e) {
|
|
1842
1874
|
return e(`Unresolved plain scalar ${JSON.stringify(s)}`), s;
|
|
1843
1875
|
}
|
|
1844
|
-
},
|
|
1876
|
+
}, Ti = [be, ke].concat(Ni, Ii), Mt = {
|
|
1845
1877
|
identify: (s) => s instanceof Uint8Array,
|
|
1846
1878
|
// Buffer inherits from Uint8Array
|
|
1847
1879
|
default: !1,
|
|
@@ -1877,20 +1909,20 @@ const Fe = ({ value: s }) => JSON.stringify(s), yi = [
|
|
|
1877
1909
|
throw new Error("This environment does not support writing binary tags; either Buffer or btoa is required");
|
|
1878
1910
|
if (e ?? (e = I.BLOCK_LITERAL), e !== I.QUOTE_DOUBLE) {
|
|
1879
1911
|
const c = Math.max(n.options.lineWidth - n.indent.length, n.options.minContentWidth), l = Math.ceil(a.length / c), u = new Array(l);
|
|
1880
|
-
for (let f = 0,
|
|
1881
|
-
u[f] = a.substr(
|
|
1912
|
+
for (let f = 0, d = 0; f < l; ++f, d += c)
|
|
1913
|
+
u[f] = a.substr(d, c);
|
|
1882
1914
|
a = u.join(e === I.BLOCK_LITERAL ? `
|
|
1883
1915
|
` : " ");
|
|
1884
1916
|
}
|
|
1885
|
-
return
|
|
1917
|
+
return _t({ comment: s, type: e, value: a }, n, i, r);
|
|
1886
1918
|
}
|
|
1887
1919
|
};
|
|
1888
|
-
function
|
|
1889
|
-
if (
|
|
1920
|
+
function Qs(s, e) {
|
|
1921
|
+
if (Pe(s))
|
|
1890
1922
|
for (let t = 0; t < s.items.length; ++t) {
|
|
1891
1923
|
let n = s.items[t];
|
|
1892
1924
|
if (!_(n)) {
|
|
1893
|
-
if (
|
|
1925
|
+
if (_e(n)) {
|
|
1894
1926
|
n.items.length > 1 && e("Each pair must have its own sequence indicator");
|
|
1895
1927
|
const i = n.items[0] || new D(new I(null));
|
|
1896
1928
|
if (n.commentBefore && (i.key.commentBefore = i.key.commentBefore ? `${n.commentBefore}
|
|
@@ -1908,7 +1940,7 @@ ${r.comment}` : n.comment;
|
|
|
1908
1940
|
e("Expected a sequence for this tag");
|
|
1909
1941
|
return s;
|
|
1910
1942
|
}
|
|
1911
|
-
function
|
|
1943
|
+
function Xs(s, e, t) {
|
|
1912
1944
|
const { replacer: n } = t, i = new te(s);
|
|
1913
1945
|
i.tag = "tag:yaml.org,2002:pairs";
|
|
1914
1946
|
let r = 0;
|
|
@@ -1929,16 +1961,16 @@ function Ws(s, e, t) {
|
|
|
1929
1961
|
throw new TypeError(`Expected tuple with one key, not ${l.length} keys`);
|
|
1930
1962
|
} else
|
|
1931
1963
|
a = o;
|
|
1932
|
-
i.items.push(
|
|
1964
|
+
i.items.push(Pt(a, c, t));
|
|
1933
1965
|
}
|
|
1934
1966
|
return i;
|
|
1935
1967
|
}
|
|
1936
|
-
const
|
|
1968
|
+
const jt = {
|
|
1937
1969
|
collection: "seq",
|
|
1938
1970
|
default: !1,
|
|
1939
1971
|
tag: "tag:yaml.org,2002:pairs",
|
|
1940
|
-
resolve:
|
|
1941
|
-
createNode:
|
|
1972
|
+
resolve: Qs,
|
|
1973
|
+
createNode: Xs
|
|
1942
1974
|
};
|
|
1943
1975
|
class fe extends te {
|
|
1944
1976
|
constructor() {
|
|
@@ -1962,50 +1994,50 @@ class fe extends te {
|
|
|
1962
1994
|
return n;
|
|
1963
1995
|
}
|
|
1964
1996
|
static from(e, t, n) {
|
|
1965
|
-
const i =
|
|
1997
|
+
const i = Xs(e, t, n), r = new this();
|
|
1966
1998
|
return r.items = i.items, r;
|
|
1967
1999
|
}
|
|
1968
2000
|
}
|
|
1969
2001
|
fe.tag = "tag:yaml.org,2002:omap";
|
|
1970
|
-
const
|
|
2002
|
+
const Bt = {
|
|
1971
2003
|
collection: "seq",
|
|
1972
2004
|
identify: (s) => s instanceof Map,
|
|
1973
2005
|
nodeClass: fe,
|
|
1974
2006
|
default: !1,
|
|
1975
2007
|
tag: "tag:yaml.org,2002:omap",
|
|
1976
2008
|
resolve(s, e) {
|
|
1977
|
-
const t =
|
|
2009
|
+
const t = Qs(s, e), n = [];
|
|
1978
2010
|
for (const { key: i } of t.items)
|
|
1979
2011
|
O(i) && (n.includes(i.value) ? e(`Ordered maps must not include duplicate keys: ${i.value}`) : n.push(i.value));
|
|
1980
2012
|
return Object.assign(new fe(), t);
|
|
1981
2013
|
},
|
|
1982
2014
|
createNode: (s, e, t) => fe.from(s, e, t)
|
|
1983
2015
|
};
|
|
1984
|
-
function
|
|
1985
|
-
return e && (s ?
|
|
2016
|
+
function Zs({ value: s, source: e }, t) {
|
|
2017
|
+
return e && (s ? en : tn).test.test(e) ? e : s ? t.options.trueStr : t.options.falseStr;
|
|
1986
2018
|
}
|
|
1987
|
-
const
|
|
2019
|
+
const en = {
|
|
1988
2020
|
identify: (s) => s === !0,
|
|
1989
2021
|
default: !0,
|
|
1990
2022
|
tag: "tag:yaml.org,2002:bool",
|
|
1991
2023
|
test: /^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,
|
|
1992
2024
|
resolve: () => new I(!0),
|
|
1993
|
-
stringify:
|
|
1994
|
-
},
|
|
2025
|
+
stringify: Zs
|
|
2026
|
+
}, tn = {
|
|
1995
2027
|
identify: (s) => s === !1,
|
|
1996
2028
|
default: !0,
|
|
1997
2029
|
tag: "tag:yaml.org,2002:bool",
|
|
1998
2030
|
test: /^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,
|
|
1999
2031
|
resolve: () => new I(!1),
|
|
2000
|
-
stringify:
|
|
2001
|
-
},
|
|
2032
|
+
stringify: Zs
|
|
2033
|
+
}, $i = {
|
|
2002
2034
|
identify: (s) => typeof s == "number",
|
|
2003
2035
|
default: !0,
|
|
2004
2036
|
tag: "tag:yaml.org,2002:float",
|
|
2005
2037
|
test: /^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,
|
|
2006
2038
|
resolve: (s) => s.slice(-3).toLowerCase() === "nan" ? NaN : s[0] === "-" ? Number.NEGATIVE_INFINITY : Number.POSITIVE_INFINITY,
|
|
2007
2039
|
stringify: Y
|
|
2008
|
-
},
|
|
2040
|
+
}, Ai = {
|
|
2009
2041
|
identify: (s) => typeof s == "number",
|
|
2010
2042
|
default: !0,
|
|
2011
2043
|
tag: "tag:yaml.org,2002:float",
|
|
@@ -2016,7 +2048,7 @@ const zs = {
|
|
|
2016
2048
|
const e = Number(s.value);
|
|
2017
2049
|
return isFinite(e) ? e.toExponential() : Y(s);
|
|
2018
2050
|
}
|
|
2019
|
-
},
|
|
2051
|
+
}, vi = {
|
|
2020
2052
|
identify: (s) => typeof s == "number",
|
|
2021
2053
|
default: !0,
|
|
2022
2054
|
tag: "tag:yaml.org,2002:float",
|
|
@@ -2030,7 +2062,7 @@ const zs = {
|
|
|
2030
2062
|
return e;
|
|
2031
2063
|
},
|
|
2032
2064
|
stringify: Y
|
|
2033
|
-
},
|
|
2065
|
+
}, Re = (s) => typeof s == "bigint" || Number.isInteger(s);
|
|
2034
2066
|
function ot(s, e, t, { intAsBigInt: n }) {
|
|
2035
2067
|
const i = s[0];
|
|
2036
2068
|
if ((i === "-" || i === "+") && (e += 1), s = s.substring(e).replace(/_/g, ""), n) {
|
|
@@ -2051,45 +2083,45 @@ function ot(s, e, t, { intAsBigInt: n }) {
|
|
|
2051
2083
|
const r = parseInt(s, t);
|
|
2052
2084
|
return i === "-" ? -1 * r : r;
|
|
2053
2085
|
}
|
|
2054
|
-
function
|
|
2086
|
+
function Kt(s, e, t) {
|
|
2055
2087
|
const { value: n } = s;
|
|
2056
|
-
if (
|
|
2088
|
+
if (Re(n)) {
|
|
2057
2089
|
const i = n.toString(e);
|
|
2058
2090
|
return n < 0 ? "-" + t + i.substr(1) : t + i;
|
|
2059
2091
|
}
|
|
2060
2092
|
return Y(s);
|
|
2061
2093
|
}
|
|
2062
|
-
const
|
|
2063
|
-
identify:
|
|
2094
|
+
const Oi = {
|
|
2095
|
+
identify: Re,
|
|
2064
2096
|
default: !0,
|
|
2065
2097
|
tag: "tag:yaml.org,2002:int",
|
|
2066
2098
|
format: "BIN",
|
|
2067
2099
|
test: /^[-+]?0b[0-1_]+$/,
|
|
2068
2100
|
resolve: (s, e, t) => ot(s, 2, 2, t),
|
|
2069
|
-
stringify: (s) =>
|
|
2070
|
-
},
|
|
2071
|
-
identify:
|
|
2101
|
+
stringify: (s) => Kt(s, 2, "0b")
|
|
2102
|
+
}, Ci = {
|
|
2103
|
+
identify: Re,
|
|
2072
2104
|
default: !0,
|
|
2073
2105
|
tag: "tag:yaml.org,2002:int",
|
|
2074
2106
|
format: "OCT",
|
|
2075
2107
|
test: /^[-+]?0[0-7_]+$/,
|
|
2076
2108
|
resolve: (s, e, t) => ot(s, 1, 8, t),
|
|
2077
|
-
stringify: (s) =>
|
|
2078
|
-
},
|
|
2079
|
-
identify:
|
|
2109
|
+
stringify: (s) => Kt(s, 8, "0")
|
|
2110
|
+
}, Li = {
|
|
2111
|
+
identify: Re,
|
|
2080
2112
|
default: !0,
|
|
2081
2113
|
tag: "tag:yaml.org,2002:int",
|
|
2082
2114
|
test: /^[-+]?[0-9][0-9_]*$/,
|
|
2083
2115
|
resolve: (s, e, t) => ot(s, 0, 10, t),
|
|
2084
2116
|
stringify: Y
|
|
2085
|
-
},
|
|
2086
|
-
identify:
|
|
2117
|
+
}, _i = {
|
|
2118
|
+
identify: Re,
|
|
2087
2119
|
default: !0,
|
|
2088
2120
|
tag: "tag:yaml.org,2002:int",
|
|
2089
2121
|
format: "HEX",
|
|
2090
2122
|
test: /^[-+]?0x[0-9a-fA-F_]+$/,
|
|
2091
2123
|
resolve: (s, e, t) => ot(s, 2, 16, t),
|
|
2092
|
-
stringify: (s) =>
|
|
2124
|
+
stringify: (s) => Kt(s, 16, "0x")
|
|
2093
2125
|
};
|
|
2094
2126
|
class ue extends M {
|
|
2095
2127
|
constructor(e) {
|
|
@@ -2127,12 +2159,12 @@ class ue extends M {
|
|
|
2127
2159
|
const { replacer: i } = n, r = new this(e);
|
|
2128
2160
|
if (t && Symbol.iterator in Object(t))
|
|
2129
2161
|
for (let o of t)
|
|
2130
|
-
typeof i == "function" && (o = i.call(t, o, o)), r.items.push(
|
|
2162
|
+
typeof i == "function" && (o = i.call(t, o, o)), r.items.push(Pt(o, null, n));
|
|
2131
2163
|
return r;
|
|
2132
2164
|
}
|
|
2133
2165
|
}
|
|
2134
2166
|
ue.tag = "tag:yaml.org,2002:set";
|
|
2135
|
-
const
|
|
2167
|
+
const Ft = {
|
|
2136
2168
|
collection: "map",
|
|
2137
2169
|
identify: (s) => s instanceof Set,
|
|
2138
2170
|
nodeClass: ue,
|
|
@@ -2140,7 +2172,7 @@ const Bt = {
|
|
|
2140
2172
|
tag: "tag:yaml.org,2002:set",
|
|
2141
2173
|
createNode: (s, e, t) => ue.from(s, e, t),
|
|
2142
2174
|
resolve(s, e) {
|
|
2143
|
-
if (
|
|
2175
|
+
if (_e(s)) {
|
|
2144
2176
|
if (s.hasAllNullValues(!0))
|
|
2145
2177
|
return Object.assign(new ue(), s);
|
|
2146
2178
|
e("Set items must all have null values");
|
|
@@ -2149,11 +2181,11 @@ const Bt = {
|
|
|
2149
2181
|
return s;
|
|
2150
2182
|
}
|
|
2151
2183
|
};
|
|
2152
|
-
function
|
|
2184
|
+
function qt(s, e) {
|
|
2153
2185
|
const t = s[0], n = t === "-" || t === "+" ? s.substring(1) : s, i = (o) => e ? BigInt(o) : Number(o), r = n.replace(/_/g, "").split(":").reduce((o, a) => o * i(60) + i(a), i(0));
|
|
2154
2186
|
return t === "-" ? i(-1) * r : r;
|
|
2155
2187
|
}
|
|
2156
|
-
function
|
|
2188
|
+
function sn(s) {
|
|
2157
2189
|
let { value: e } = s, t = (o) => o;
|
|
2158
2190
|
if (typeof e == "bigint")
|
|
2159
2191
|
t = (o) => BigInt(o);
|
|
@@ -2164,22 +2196,22 @@ function Xs(s) {
|
|
|
2164
2196
|
const i = t(60), r = [e % i];
|
|
2165
2197
|
return e < 60 ? r.unshift(0) : (e = (e - r[0]) / i, r.unshift(e % i), e >= 60 && (e = (e - r[0]) / i, r.unshift(e))), n + r.map((o) => String(o).padStart(2, "0")).join(":").replace(/000000\d*$/, "");
|
|
2166
2198
|
}
|
|
2167
|
-
const
|
|
2199
|
+
const nn = {
|
|
2168
2200
|
identify: (s) => typeof s == "bigint" || Number.isInteger(s),
|
|
2169
2201
|
default: !0,
|
|
2170
2202
|
tag: "tag:yaml.org,2002:int",
|
|
2171
2203
|
format: "TIME",
|
|
2172
2204
|
test: /^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,
|
|
2173
|
-
resolve: (s, e, { intAsBigInt: t }) =>
|
|
2174
|
-
stringify:
|
|
2175
|
-
},
|
|
2205
|
+
resolve: (s, e, { intAsBigInt: t }) => qt(s, t),
|
|
2206
|
+
stringify: sn
|
|
2207
|
+
}, rn = {
|
|
2176
2208
|
identify: (s) => typeof s == "number",
|
|
2177
2209
|
default: !0,
|
|
2178
2210
|
tag: "tag:yaml.org,2002:float",
|
|
2179
2211
|
format: "TIME",
|
|
2180
2212
|
test: /^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,
|
|
2181
|
-
resolve: (s) =>
|
|
2182
|
-
stringify:
|
|
2213
|
+
resolve: (s) => qt(s, !1),
|
|
2214
|
+
stringify: sn
|
|
2183
2215
|
}, at = {
|
|
2184
2216
|
identify: (s) => s instanceof Date,
|
|
2185
2217
|
default: !0,
|
|
@@ -2196,69 +2228,69 @@ const Zs = {
|
|
|
2196
2228
|
let l = Date.UTC(t, n - 1, i, r || 0, o || 0, a || 0, c);
|
|
2197
2229
|
const u = e[8];
|
|
2198
2230
|
if (u && u !== "Z") {
|
|
2199
|
-
let f =
|
|
2231
|
+
let f = qt(u, !1);
|
|
2200
2232
|
Math.abs(f) < 30 && (f *= 60), l -= 6e4 * f;
|
|
2201
2233
|
}
|
|
2202
2234
|
return new Date(l);
|
|
2203
2235
|
},
|
|
2204
2236
|
stringify: ({ value: s }) => (s == null ? void 0 : s.toISOString().replace(/(T00:00:00)?\.000Z$/, "")) ?? ""
|
|
2205
|
-
},
|
|
2206
|
-
we,
|
|
2237
|
+
}, os = [
|
|
2207
2238
|
be,
|
|
2239
|
+
ke,
|
|
2208
2240
|
nt,
|
|
2209
2241
|
it,
|
|
2210
|
-
|
|
2211
|
-
|
|
2212
|
-
|
|
2213
|
-
|
|
2214
|
-
|
|
2242
|
+
en,
|
|
2243
|
+
tn,
|
|
2244
|
+
Oi,
|
|
2245
|
+
Ci,
|
|
2246
|
+
Li,
|
|
2247
|
+
_i,
|
|
2215
2248
|
$i,
|
|
2216
|
-
|
|
2217
|
-
|
|
2218
|
-
Ei,
|
|
2219
|
-
Rt,
|
|
2220
|
-
J,
|
|
2249
|
+
Ai,
|
|
2250
|
+
vi,
|
|
2221
2251
|
Mt,
|
|
2222
|
-
|
|
2252
|
+
J,
|
|
2223
2253
|
Bt,
|
|
2224
|
-
|
|
2225
|
-
|
|
2254
|
+
jt,
|
|
2255
|
+
Ft,
|
|
2256
|
+
nn,
|
|
2257
|
+
rn,
|
|
2226
2258
|
at
|
|
2227
|
-
],
|
|
2228
|
-
["core",
|
|
2229
|
-
["failsafe", [
|
|
2230
|
-
["json",
|
|
2231
|
-
["yaml11",
|
|
2232
|
-
["yaml-1.1",
|
|
2233
|
-
]),
|
|
2234
|
-
binary:
|
|
2235
|
-
bool:
|
|
2236
|
-
float:
|
|
2237
|
-
floatExp:
|
|
2238
|
-
floatNaN:
|
|
2239
|
-
floatTime:
|
|
2240
|
-
int:
|
|
2241
|
-
intHex:
|
|
2242
|
-
intOct:
|
|
2243
|
-
intTime:
|
|
2244
|
-
map:
|
|
2259
|
+
], as = /* @__PURE__ */ new Map([
|
|
2260
|
+
["core", Ei],
|
|
2261
|
+
["failsafe", [be, ke, nt]],
|
|
2262
|
+
["json", Ti],
|
|
2263
|
+
["yaml11", os],
|
|
2264
|
+
["yaml-1.1", os]
|
|
2265
|
+
]), cs = {
|
|
2266
|
+
binary: Mt,
|
|
2267
|
+
bool: Rt,
|
|
2268
|
+
float: Vs,
|
|
2269
|
+
floatExp: Gs,
|
|
2270
|
+
floatNaN: Hs,
|
|
2271
|
+
floatTime: rn,
|
|
2272
|
+
int: xs,
|
|
2273
|
+
intHex: zs,
|
|
2274
|
+
intOct: Ws,
|
|
2275
|
+
intTime: nn,
|
|
2276
|
+
map: be,
|
|
2245
2277
|
merge: J,
|
|
2246
2278
|
null: it,
|
|
2247
|
-
omap:
|
|
2248
|
-
pairs:
|
|
2249
|
-
seq:
|
|
2250
|
-
set:
|
|
2279
|
+
omap: Bt,
|
|
2280
|
+
pairs: jt,
|
|
2281
|
+
seq: ke,
|
|
2282
|
+
set: Ft,
|
|
2251
2283
|
timestamp: at
|
|
2252
|
-
},
|
|
2253
|
-
"tag:yaml.org,2002:binary":
|
|
2284
|
+
}, Pi = {
|
|
2285
|
+
"tag:yaml.org,2002:binary": Mt,
|
|
2254
2286
|
"tag:yaml.org,2002:merge": J,
|
|
2255
|
-
"tag:yaml.org,2002:omap":
|
|
2256
|
-
"tag:yaml.org,2002:pairs":
|
|
2257
|
-
"tag:yaml.org,2002:set":
|
|
2287
|
+
"tag:yaml.org,2002:omap": Bt,
|
|
2288
|
+
"tag:yaml.org,2002:pairs": jt,
|
|
2289
|
+
"tag:yaml.org,2002:set": Ft,
|
|
2258
2290
|
"tag:yaml.org,2002:timestamp": at
|
|
2259
2291
|
};
|
|
2260
2292
|
function dt(s, e, t) {
|
|
2261
|
-
const n =
|
|
2293
|
+
const n = as.get(e);
|
|
2262
2294
|
if (n && !s)
|
|
2263
2295
|
return t && !n.includes(J) ? n.concat(J) : n.slice();
|
|
2264
2296
|
let i = n;
|
|
@@ -2266,7 +2298,7 @@ function dt(s, e, t) {
|
|
|
2266
2298
|
if (Array.isArray(s))
|
|
2267
2299
|
i = [];
|
|
2268
2300
|
else {
|
|
2269
|
-
const r = Array.from(
|
|
2301
|
+
const r = Array.from(as.keys()).filter((o) => o !== "yaml11").map((o) => JSON.stringify(o)).join(", ");
|
|
2270
2302
|
throw new Error(`Unknown schema "${e}"; use one of ${r} or define customTags array`);
|
|
2271
2303
|
}
|
|
2272
2304
|
if (Array.isArray(s))
|
|
@@ -2274,25 +2306,25 @@ function dt(s, e, t) {
|
|
|
2274
2306
|
i = i.concat(r);
|
|
2275
2307
|
else typeof s == "function" && (i = s(i.slice()));
|
|
2276
2308
|
return t && (i = i.concat(J)), i.reduce((r, o) => {
|
|
2277
|
-
const a = typeof o == "string" ?
|
|
2309
|
+
const a = typeof o == "string" ? cs[o] : o;
|
|
2278
2310
|
if (!a) {
|
|
2279
|
-
const c = JSON.stringify(o), l = Object.keys(
|
|
2311
|
+
const c = JSON.stringify(o), l = Object.keys(cs).map((u) => JSON.stringify(u)).join(", ");
|
|
2280
2312
|
throw new Error(`Unknown custom tag ${c}; use one of ${l}`);
|
|
2281
2313
|
}
|
|
2282
2314
|
return r.includes(a) || r.push(a), r;
|
|
2283
2315
|
}, []);
|
|
2284
2316
|
}
|
|
2285
|
-
const
|
|
2286
|
-
class
|
|
2317
|
+
const Ri = (s, e) => s.key < e.key ? -1 : s.key > e.key ? 1 : 0;
|
|
2318
|
+
class Ut {
|
|
2287
2319
|
constructor({ compat: e, customTags: t, merge: n, resolveKnownTags: i, schema: r, sortMapEntries: o, toStringDefaults: a }) {
|
|
2288
|
-
this.compat = Array.isArray(e) ? dt(e, "compat") : e ? dt(null, e) : null, this.name = typeof r == "string" && r || "core", this.knownTags = i ?
|
|
2320
|
+
this.compat = Array.isArray(e) ? dt(e, "compat") : e ? dt(null, e) : null, this.name = typeof r == "string" && r || "core", this.knownTags = i ? Pi : {}, this.tags = dt(t, this.name, n), this.toStringOptions = a ?? null, Object.defineProperty(this, z, { value: be }), Object.defineProperty(this, H, { value: nt }), Object.defineProperty(this, ge, { value: ke }), this.sortMapEntries = typeof o == "function" ? o : o === !0 ? Ri : null;
|
|
2289
2321
|
}
|
|
2290
2322
|
clone() {
|
|
2291
|
-
const e = Object.create(
|
|
2323
|
+
const e = Object.create(Ut.prototype, Object.getOwnPropertyDescriptors(this));
|
|
2292
2324
|
return e.tags = this.tags.slice(), e;
|
|
2293
2325
|
}
|
|
2294
2326
|
}
|
|
2295
|
-
function
|
|
2327
|
+
function Di(s, e) {
|
|
2296
2328
|
var c;
|
|
2297
2329
|
const t = [];
|
|
2298
2330
|
let n = e.directives === !0;
|
|
@@ -2301,7 +2333,7 @@ function Oi(s, e) {
|
|
|
2301
2333
|
l ? (t.push(l), n = !0) : s.directives.docStart && (n = !0);
|
|
2302
2334
|
}
|
|
2303
2335
|
n && t.push("---");
|
|
2304
|
-
const i =
|
|
2336
|
+
const i = Bs(s, e), { commentString: r } = i.options;
|
|
2305
2337
|
if (s.commentBefore) {
|
|
2306
2338
|
t.length !== 1 && t.unshift("");
|
|
2307
2339
|
const l = r(s.commentBefore);
|
|
@@ -2336,9 +2368,9 @@ function Oi(s, e) {
|
|
|
2336
2368
|
`) + `
|
|
2337
2369
|
`;
|
|
2338
2370
|
}
|
|
2339
|
-
class
|
|
2371
|
+
class De {
|
|
2340
2372
|
constructor(e, t, n) {
|
|
2341
|
-
this.commentBefore = null, this.comment = null, this.errors = [], this.warnings = [], Object.defineProperty(this, B, { value:
|
|
2373
|
+
this.commentBefore = null, this.comment = null, this.errors = [], this.warnings = [], Object.defineProperty(this, B, { value: kt });
|
|
2342
2374
|
let i = null;
|
|
2343
2375
|
typeof t == "function" || Array.isArray(t) ? i = t : n === void 0 && t && (n = t, t = void 0);
|
|
2344
2376
|
const r = Object.assign({
|
|
@@ -2361,8 +2393,8 @@ class Re {
|
|
|
2361
2393
|
* Custom Node values that inherit from `Object` still refer to their original instances.
|
|
2362
2394
|
*/
|
|
2363
2395
|
clone() {
|
|
2364
|
-
const e = Object.create(
|
|
2365
|
-
[B]: { value:
|
|
2396
|
+
const e = Object.create(De.prototype, {
|
|
2397
|
+
[B]: { value: kt }
|
|
2366
2398
|
});
|
|
2367
2399
|
return e.commentBefore = this.commentBefore, e.comment = this.comment, e.errors = this.errors.slice(), e.warnings = this.warnings.slice(), e.options = Object.assign({}, this.options), this.directives && (e.directives = this.directives.clone()), e.schema = this.schema.clone(), e.contents = L(this.contents) ? this.contents.clone(e.schema) : this.contents, this.range && (e.range = this.range.slice()), e;
|
|
2368
2400
|
}
|
|
@@ -2385,11 +2417,11 @@ class Re {
|
|
|
2385
2417
|
*/
|
|
2386
2418
|
createAlias(e, t) {
|
|
2387
2419
|
if (!e.anchor) {
|
|
2388
|
-
const n =
|
|
2420
|
+
const n = Ps(this);
|
|
2389
2421
|
e.anchor = // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
|
|
2390
|
-
!t || n.has(t) ?
|
|
2422
|
+
!t || n.has(t) ? Rs(t || "a", n) : t;
|
|
2391
2423
|
}
|
|
2392
|
-
return new
|
|
2424
|
+
return new Lt(e.anchor);
|
|
2393
2425
|
}
|
|
2394
2426
|
createNode(e, t, n) {
|
|
2395
2427
|
let i;
|
|
@@ -2399,7 +2431,7 @@ class Re {
|
|
|
2399
2431
|
const m = (w) => typeof w == "number" || w instanceof String || w instanceof Number, y = t.filter(m).map(String);
|
|
2400
2432
|
y.length > 0 && (t = t.concat(y)), i = t;
|
|
2401
2433
|
} else n === void 0 && t && (n = t, t = void 0);
|
|
2402
|
-
const { aliasDuplicateObjects: r, anchorPrefix: o, flow: a, keepUndefined: c, onTagObj: l, tag: u } = n ?? {}, { onAnchor: f, setAnchors:
|
|
2434
|
+
const { aliasDuplicateObjects: r, anchorPrefix: o, flow: a, keepUndefined: c, onTagObj: l, tag: u } = n ?? {}, { onAnchor: f, setAnchors: d, sourceObjects: p } = li(
|
|
2403
2435
|
this,
|
|
2404
2436
|
// eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
|
|
2405
2437
|
o || "a"
|
|
@@ -2411,8 +2443,8 @@ class Re {
|
|
|
2411
2443
|
replacer: i,
|
|
2412
2444
|
schema: this.schema,
|
|
2413
2445
|
sourceObjects: p
|
|
2414
|
-
},
|
|
2415
|
-
return a && C(
|
|
2446
|
+
}, h = ve(e, u, g);
|
|
2447
|
+
return a && C(h) && (h.flow = !0), d(), h;
|
|
2416
2448
|
}
|
|
2417
2449
|
/**
|
|
2418
2450
|
* Convert a key and a value into a `Pair` using the current schema,
|
|
@@ -2434,7 +2466,7 @@ class Re {
|
|
|
2434
2466
|
* @returns `true` if the item was found and removed.
|
|
2435
2467
|
*/
|
|
2436
2468
|
deleteIn(e) {
|
|
2437
|
-
return
|
|
2469
|
+
return Ie(e) ? this.contents == null ? !1 : (this.contents = null, !0) : ne(this.contents) ? this.contents.deleteIn(e) : !1;
|
|
2438
2470
|
}
|
|
2439
2471
|
/**
|
|
2440
2472
|
* Returns item at `key`, or `undefined` if not found. By default unwraps
|
|
@@ -2450,7 +2482,7 @@ class Re {
|
|
|
2450
2482
|
* `true` (collections are always returned intact).
|
|
2451
2483
|
*/
|
|
2452
2484
|
getIn(e, t) {
|
|
2453
|
-
return
|
|
2485
|
+
return Ie(e) ? !t && O(this.contents) ? this.contents.value : this.contents : C(this.contents) ? this.contents.getIn(e, t) : void 0;
|
|
2454
2486
|
}
|
|
2455
2487
|
/**
|
|
2456
2488
|
* Checks if the document includes a value with the key `key`.
|
|
@@ -2462,7 +2494,7 @@ class Re {
|
|
|
2462
2494
|
* Checks if the document includes a value at `path`.
|
|
2463
2495
|
*/
|
|
2464
2496
|
hasIn(e) {
|
|
2465
|
-
return
|
|
2497
|
+
return Ie(e) ? this.contents !== void 0 : C(this.contents) ? this.contents.hasIn(e) : !1;
|
|
2466
2498
|
}
|
|
2467
2499
|
/**
|
|
2468
2500
|
* Sets a value in this document. For `!!set`, `value` needs to be a
|
|
@@ -2476,7 +2508,7 @@ class Re {
|
|
|
2476
2508
|
* boolean to add/remove the item from the set.
|
|
2477
2509
|
*/
|
|
2478
2510
|
setIn(e, t) {
|
|
2479
|
-
|
|
2511
|
+
Ie(e) ? this.contents = t : this.contents == null ? this.contents = Je(this.schema, Array.from(e), t) : ne(this.contents) && this.contents.setIn(e, t);
|
|
2480
2512
|
}
|
|
2481
2513
|
/**
|
|
2482
2514
|
* Change the YAML version and schema used by the document.
|
|
@@ -2507,7 +2539,7 @@ class Re {
|
|
|
2507
2539
|
if (t.schema instanceof Object)
|
|
2508
2540
|
this.schema = t.schema;
|
|
2509
2541
|
else if (n)
|
|
2510
|
-
this.schema = new
|
|
2542
|
+
this.schema = new Ut(Object.assign(n, t));
|
|
2511
2543
|
else
|
|
2512
2544
|
throw new Error("With a null YAML version, the { schema: Schema } option is required");
|
|
2513
2545
|
}
|
|
@@ -2543,7 +2575,7 @@ class Re {
|
|
|
2543
2575
|
const t = JSON.stringify(e.indent);
|
|
2544
2576
|
throw new Error(`"indent" option must be a positive integer, not ${t}`);
|
|
2545
2577
|
}
|
|
2546
|
-
return
|
|
2578
|
+
return Di(this, e);
|
|
2547
2579
|
}
|
|
2548
2580
|
}
|
|
2549
2581
|
function ne(s) {
|
|
@@ -2551,22 +2583,22 @@ function ne(s) {
|
|
|
2551
2583
|
return !0;
|
|
2552
2584
|
throw new Error("Expected a YAML collection as document contents");
|
|
2553
2585
|
}
|
|
2554
|
-
class
|
|
2586
|
+
class on extends Error {
|
|
2555
2587
|
constructor(e, t, n, i) {
|
|
2556
2588
|
super(), this.name = e, this.code = n, this.message = i, this.pos = t;
|
|
2557
2589
|
}
|
|
2558
2590
|
}
|
|
2559
|
-
class
|
|
2591
|
+
class Te extends on {
|
|
2560
2592
|
constructor(e, t, n) {
|
|
2561
2593
|
super("YAMLParseError", e, t, n);
|
|
2562
2594
|
}
|
|
2563
2595
|
}
|
|
2564
|
-
class
|
|
2596
|
+
class Mi extends on {
|
|
2565
2597
|
constructor(e, t, n) {
|
|
2566
2598
|
super("YAMLWarning", e, t, n);
|
|
2567
2599
|
}
|
|
2568
2600
|
}
|
|
2569
|
-
const
|
|
2601
|
+
const ls = (s, e) => (t) => {
|
|
2570
2602
|
if (t.pos[0] === -1)
|
|
2571
2603
|
return;
|
|
2572
2604
|
t.linePos = t.pos.map((a) => e.linePos(a));
|
|
@@ -2595,20 +2627,20 @@ ${l}
|
|
|
2595
2627
|
}
|
|
2596
2628
|
};
|
|
2597
2629
|
function he(s, { flow: e, indicator: t, next: n, offset: i, onError: r, parentIndent: o, startOnNewline: a }) {
|
|
2598
|
-
let c = !1, l = a, u = a, f = "",
|
|
2630
|
+
let c = !1, l = a, u = a, f = "", d = "", p = !1, g = !1, h = null, m = null, y = null, w = null, E = null, S = null, N = null;
|
|
2599
2631
|
for (const k of s)
|
|
2600
|
-
switch (g && (k.type !== "space" && k.type !== "newline" && k.type !== "comma" && r(k.offset, "MISSING_CHAR", "Tags and anchors must be separated from the next token by white space"), g = !1),
|
|
2632
|
+
switch (g && (k.type !== "space" && k.type !== "newline" && k.type !== "comma" && r(k.offset, "MISSING_CHAR", "Tags and anchors must be separated from the next token by white space"), g = !1), h && (l && k.type !== "comment" && k.type !== "newline" && r(h, "TAB_AS_INDENT", "Tabs are not allowed as indentation"), h = null), k.type) {
|
|
2601
2633
|
case "space":
|
|
2602
|
-
!e && (t !== "doc-start" || (n == null ? void 0 : n.type) !== "flow-collection") && k.source.includes(" ") && (
|
|
2634
|
+
!e && (t !== "doc-start" || (n == null ? void 0 : n.type) !== "flow-collection") && k.source.includes(" ") && (h = k), u = !0;
|
|
2603
2635
|
break;
|
|
2604
2636
|
case "comment": {
|
|
2605
2637
|
u || r(k, "MISSING_CHAR", "Comments must be separated from other tokens by white space characters");
|
|
2606
2638
|
const v = k.source.substring(1) || " ";
|
|
2607
|
-
f ? f +=
|
|
2639
|
+
f ? f += d + v : f = v, d = "", l = !1;
|
|
2608
2640
|
break;
|
|
2609
2641
|
}
|
|
2610
2642
|
case "newline":
|
|
2611
|
-
l ? f ? f += k.source : (!S || t !== "seq-item-ind") && (c = !0) :
|
|
2643
|
+
l ? f ? f += k.source : (!S || t !== "seq-item-ind") && (c = !0) : d += k.source, l = !0, p = !0, (m || y) && (w = k), u = !0;
|
|
2612
2644
|
break;
|
|
2613
2645
|
case "anchor":
|
|
2614
2646
|
m && r(k, "MULTIPLE_ANCHORS", "A node can have at most one anchor"), k.source.endsWith(":") && r(k.offset + k.source.length - 1, "BAD_ALIAS", "Anchor ending in : is ambiguous", !0), m = k, N ?? (N = k.offset), l = !1, u = !1, g = !0;
|
|
@@ -2629,7 +2661,7 @@ function he(s, { flow: e, indicator: t, next: n, offset: i, onError: r, parentIn
|
|
|
2629
2661
|
r(k, "UNEXPECTED_TOKEN", `Unexpected ${k.type} token`), l = !1, u = !1;
|
|
2630
2662
|
}
|
|
2631
2663
|
const A = s[s.length - 1], T = A ? A.offset + A.source.length : i;
|
|
2632
|
-
return g && n && n.type !== "space" && n.type !== "newline" && n.type !== "comma" && (n.type !== "scalar" || n.source !== "") && r(n.offset, "MISSING_CHAR", "Tags and anchors must be separated from the next token by white space"),
|
|
2664
|
+
return g && n && n.type !== "space" && n.type !== "newline" && n.type !== "comma" && (n.type !== "scalar" || n.source !== "") && r(n.offset, "MISSING_CHAR", "Tags and anchors must be separated from the next token by white space"), h && (l && h.indent <= o || (n == null ? void 0 : n.type) === "block-map" || (n == null ? void 0 : n.type) === "block-seq") && r(h, "TAB_AS_INDENT", "Tabs are not allowed as indentation"), {
|
|
2633
2665
|
comma: E,
|
|
2634
2666
|
found: S,
|
|
2635
2667
|
spaceBefore: c,
|
|
@@ -2642,7 +2674,7 @@ function he(s, { flow: e, indicator: t, next: n, offset: i, onError: r, parentIn
|
|
|
2642
2674
|
start: N ?? T
|
|
2643
2675
|
};
|
|
2644
2676
|
}
|
|
2645
|
-
function
|
|
2677
|
+
function Oe(s) {
|
|
2646
2678
|
if (!s)
|
|
2647
2679
|
return null;
|
|
2648
2680
|
switch (s.type) {
|
|
@@ -2669,7 +2701,7 @@ function ve(s) {
|
|
|
2669
2701
|
if (t.type === "newline")
|
|
2670
2702
|
return !0;
|
|
2671
2703
|
}
|
|
2672
|
-
if (
|
|
2704
|
+
if (Oe(e.key) || Oe(e.value))
|
|
2673
2705
|
return !0;
|
|
2674
2706
|
}
|
|
2675
2707
|
return !1;
|
|
@@ -2677,27 +2709,27 @@ function ve(s) {
|
|
|
2677
2709
|
return !0;
|
|
2678
2710
|
}
|
|
2679
2711
|
}
|
|
2680
|
-
function
|
|
2712
|
+
function It(s, e, t) {
|
|
2681
2713
|
if ((e == null ? void 0 : e.type) === "flow-collection") {
|
|
2682
2714
|
const n = e.end[0];
|
|
2683
|
-
n.indent === s && (n.source === "]" || n.source === "}") &&
|
|
2715
|
+
n.indent === s && (n.source === "]" || n.source === "}") && Oe(e) && t(n, "BAD_INDENT", "Flow end indicator should be more indented than parent", !0);
|
|
2684
2716
|
}
|
|
2685
2717
|
}
|
|
2686
|
-
function
|
|
2718
|
+
function an(s, e, t) {
|
|
2687
2719
|
const { uniqueKeys: n } = s.options;
|
|
2688
2720
|
if (n === !1)
|
|
2689
2721
|
return !1;
|
|
2690
2722
|
const i = typeof n == "function" ? n : (r, o) => r === o || O(r) && O(o) && r.value === o.value;
|
|
2691
2723
|
return e.some((r) => i(r.key, t));
|
|
2692
2724
|
}
|
|
2693
|
-
const
|
|
2694
|
-
function
|
|
2725
|
+
const fs = "All mapping items must start at the same column";
|
|
2726
|
+
function ji({ composeNode: s, composeEmptyNode: e }, t, n, i, r) {
|
|
2695
2727
|
var u;
|
|
2696
2728
|
const o = (r == null ? void 0 : r.nodeClass) ?? M, a = new o(t.schema);
|
|
2697
2729
|
t.atRoot && (t.atRoot = !1);
|
|
2698
2730
|
let c = n.offset, l = null;
|
|
2699
2731
|
for (const f of n.items) {
|
|
2700
|
-
const { start:
|
|
2732
|
+
const { start: d, key: p, sep: g, value: h } = f, m = he(d, {
|
|
2701
2733
|
indicator: "explicit-key-ind",
|
|
2702
2734
|
next: p ?? (g == null ? void 0 : g[0]),
|
|
2703
2735
|
offset: c,
|
|
@@ -2706,28 +2738,28 @@ function Li({ composeNode: s, composeEmptyNode: e }, t, n, i, r) {
|
|
|
2706
2738
|
startOnNewline: !0
|
|
2707
2739
|
}), y = !m.found;
|
|
2708
2740
|
if (y) {
|
|
2709
|
-
if (p && (p.type === "block-seq" ? i(c, "BLOCK_AS_IMPLICIT_KEY", "A block sequence may not be used as an implicit map key") : "indent" in p && p.indent !== n.indent && i(c, "BAD_INDENT",
|
|
2741
|
+
if (p && (p.type === "block-seq" ? i(c, "BLOCK_AS_IMPLICIT_KEY", "A block sequence may not be used as an implicit map key") : "indent" in p && p.indent !== n.indent && i(c, "BAD_INDENT", fs)), !m.anchor && !m.tag && !g) {
|
|
2710
2742
|
l = m.end, m.comment && (a.comment ? a.comment += `
|
|
2711
2743
|
` + m.comment : a.comment = m.comment);
|
|
2712
2744
|
continue;
|
|
2713
2745
|
}
|
|
2714
|
-
(m.newlineAfterProp ||
|
|
2715
|
-
} else ((u = m.found) == null ? void 0 : u.indent) !== n.indent && i(c, "BAD_INDENT",
|
|
2746
|
+
(m.newlineAfterProp || Oe(p)) && i(p ?? d[d.length - 1], "MULTILINE_IMPLICIT_KEY", "Implicit keys need to be on a single line");
|
|
2747
|
+
} else ((u = m.found) == null ? void 0 : u.indent) !== n.indent && i(c, "BAD_INDENT", fs);
|
|
2716
2748
|
t.atKey = !0;
|
|
2717
|
-
const w = m.end, E = p ? s(t, p, m, i) : e(t, w,
|
|
2718
|
-
t.schema.compat &&
|
|
2749
|
+
const w = m.end, E = p ? s(t, p, m, i) : e(t, w, d, null, m, i);
|
|
2750
|
+
t.schema.compat && It(n.indent, p, i), t.atKey = !1, an(t, a.items, E) && i(w, "DUPLICATE_KEY", "Map keys must be unique");
|
|
2719
2751
|
const S = he(g ?? [], {
|
|
2720
2752
|
indicator: "map-value-ind",
|
|
2721
|
-
next:
|
|
2753
|
+
next: h,
|
|
2722
2754
|
offset: E.range[2],
|
|
2723
2755
|
onError: i,
|
|
2724
2756
|
parentIndent: n.indent,
|
|
2725
2757
|
startOnNewline: !p || p.type === "block-scalar"
|
|
2726
2758
|
});
|
|
2727
2759
|
if (c = S.end, S.found) {
|
|
2728
|
-
y && ((
|
|
2729
|
-
const N =
|
|
2730
|
-
t.schema.compat &&
|
|
2760
|
+
y && ((h == null ? void 0 : h.type) === "block-map" && !S.hasNewline && i(c, "BLOCK_AS_IMPLICIT_KEY", "Nested mappings are not allowed in compact mappings"), t.options.strict && m.start < S.found.offset - 1024 && i(E.range, "KEY_OVER_1024_CHARS", "The : indicator must be at most 1024 chars after the start of an implicit block mapping key"));
|
|
2761
|
+
const N = h ? s(t, h, S, i) : e(t, c, g, null, S, i);
|
|
2762
|
+
t.schema.compat && It(n.indent, h, i), c = N.range[2];
|
|
2731
2763
|
const A = new D(E, N);
|
|
2732
2764
|
t.options.keepSourceTokens && (A.srcToken = f), a.items.push(A);
|
|
2733
2765
|
} else {
|
|
@@ -2739,12 +2771,12 @@ function Li({ composeNode: s, composeEmptyNode: e }, t, n, i, r) {
|
|
|
2739
2771
|
}
|
|
2740
2772
|
return l && l < c && i(l, "IMPOSSIBLE", "Map comment with trailing content"), a.range = [n.offset, c, l ?? c], a;
|
|
2741
2773
|
}
|
|
2742
|
-
function
|
|
2774
|
+
function Bi({ composeNode: s, composeEmptyNode: e }, t, n, i, r) {
|
|
2743
2775
|
const o = (r == null ? void 0 : r.nodeClass) ?? te, a = new o(t.schema);
|
|
2744
2776
|
t.atRoot && (t.atRoot = !1), t.atKey && (t.atKey = !1);
|
|
2745
2777
|
let c = n.offset, l = null;
|
|
2746
2778
|
for (const { start: u, value: f } of n.items) {
|
|
2747
|
-
const
|
|
2779
|
+
const d = he(u, {
|
|
2748
2780
|
indicator: "seq-item-ind",
|
|
2749
2781
|
next: f,
|
|
2750
2782
|
offset: c,
|
|
@@ -2752,19 +2784,19 @@ function _i({ composeNode: s, composeEmptyNode: e }, t, n, i, r) {
|
|
|
2752
2784
|
parentIndent: n.indent,
|
|
2753
2785
|
startOnNewline: !0
|
|
2754
2786
|
});
|
|
2755
|
-
if (!
|
|
2756
|
-
if (
|
|
2757
|
-
(f == null ? void 0 : f.type) === "block-seq" ? i(
|
|
2787
|
+
if (!d.found)
|
|
2788
|
+
if (d.anchor || d.tag || f)
|
|
2789
|
+
(f == null ? void 0 : f.type) === "block-seq" ? i(d.end, "BAD_INDENT", "All sequence items must start at the same column") : i(c, "MISSING_CHAR", "Sequence item without - indicator");
|
|
2758
2790
|
else {
|
|
2759
|
-
l =
|
|
2791
|
+
l = d.end, d.comment && (a.comment = d.comment);
|
|
2760
2792
|
continue;
|
|
2761
2793
|
}
|
|
2762
|
-
const p = f ? s(t, f,
|
|
2763
|
-
t.schema.compat &&
|
|
2794
|
+
const p = f ? s(t, f, d, i) : e(t, d.end, u, null, d, i);
|
|
2795
|
+
t.schema.compat && It(n.indent, f, i), c = p.range[2], a.items.push(p);
|
|
2764
2796
|
}
|
|
2765
2797
|
return a.range = [n.offset, c, l ?? c], a;
|
|
2766
2798
|
}
|
|
2767
|
-
function
|
|
2799
|
+
function Me(s, e, t, n) {
|
|
2768
2800
|
let i = "";
|
|
2769
2801
|
if (s) {
|
|
2770
2802
|
let r = !1, o = "";
|
|
@@ -2792,7 +2824,7 @@ function De(s, e, t, n) {
|
|
|
2792
2824
|
return { comment: i, offset: e };
|
|
2793
2825
|
}
|
|
2794
2826
|
const ht = "Block collections are not allowed within flow collections", pt = (s) => s && (s.type === "block-map" || s.type === "block-seq");
|
|
2795
|
-
function
|
|
2827
|
+
function Ki({ composeNode: s, composeEmptyNode: e }, t, n, i, r) {
|
|
2796
2828
|
var m;
|
|
2797
2829
|
const o = n.start.source === "{", a = o ? "flow map" : "flow sequence", c = (r == null ? void 0 : r.nodeClass) ?? (o ? M : te), l = new c(t.schema);
|
|
2798
2830
|
l.flow = !0;
|
|
@@ -2815,7 +2847,7 @@ function Pi({ composeNode: s, composeEmptyNode: e }, t, n, i, r) {
|
|
|
2815
2847
|
` + T.comment : l.comment = T.comment), f = T.end;
|
|
2816
2848
|
continue;
|
|
2817
2849
|
}
|
|
2818
|
-
!o && t.options.strict &&
|
|
2850
|
+
!o && t.options.strict && Oe(S) && i(
|
|
2819
2851
|
S,
|
|
2820
2852
|
// checked by containsNewline()
|
|
2821
2853
|
"MULTILINE_IMPLICIT_KEY",
|
|
@@ -2879,42 +2911,42 @@ function Pi({ composeNode: s, composeEmptyNode: e }, t, n, i, r) {
|
|
|
2879
2911
|
const F = new D(v, G);
|
|
2880
2912
|
if (t.options.keepSourceTokens && (F.srcToken = w), o) {
|
|
2881
2913
|
const q = l;
|
|
2882
|
-
|
|
2914
|
+
an(t, q.items, v) && i(k, "DUPLICATE_KEY", "Map keys must be unique"), q.items.push(F);
|
|
2883
2915
|
} else {
|
|
2884
2916
|
const q = new M(t.schema);
|
|
2885
2917
|
q.flow = !0, q.items.push(F);
|
|
2886
|
-
const
|
|
2887
|
-
q.range = [v.range[0],
|
|
2918
|
+
const ts = (G ?? v).range;
|
|
2919
|
+
q.range = [v.range[0], ts[1], ts[2]], l.items.push(q);
|
|
2888
2920
|
}
|
|
2889
2921
|
f = G ? G.range[2] : P.end;
|
|
2890
2922
|
}
|
|
2891
2923
|
}
|
|
2892
|
-
const
|
|
2893
|
-
let
|
|
2894
|
-
if ((p == null ? void 0 : p.source) ===
|
|
2895
|
-
|
|
2924
|
+
const d = o ? "}" : "]", [p, ...g] = n.end;
|
|
2925
|
+
let h = f;
|
|
2926
|
+
if ((p == null ? void 0 : p.source) === d)
|
|
2927
|
+
h = p.offset + p.source.length;
|
|
2896
2928
|
else {
|
|
2897
|
-
const y = a[0].toUpperCase() + a.substring(1), w = u ? `${y} must end with a ${
|
|
2929
|
+
const y = a[0].toUpperCase() + a.substring(1), w = u ? `${y} must end with a ${d}` : `${y} in block collection must be sufficiently indented and end with a ${d}`;
|
|
2898
2930
|
i(f, u ? "MISSING_CHAR" : "BAD_INDENT", w), p && p.source.length !== 1 && g.unshift(p);
|
|
2899
2931
|
}
|
|
2900
2932
|
if (g.length > 0) {
|
|
2901
|
-
const y =
|
|
2933
|
+
const y = Me(g, h, t.options.strict, i);
|
|
2902
2934
|
y.comment && (l.comment ? l.comment += `
|
|
2903
|
-
` + y.comment : l.comment = y.comment), l.range = [n.offset,
|
|
2935
|
+
` + y.comment : l.comment = y.comment), l.range = [n.offset, h, y.offset];
|
|
2904
2936
|
} else
|
|
2905
|
-
l.range = [n.offset,
|
|
2937
|
+
l.range = [n.offset, h, h];
|
|
2906
2938
|
return l;
|
|
2907
2939
|
}
|
|
2908
2940
|
function mt(s, e, t, n, i, r) {
|
|
2909
|
-
const o = t.type === "block-map" ?
|
|
2941
|
+
const o = t.type === "block-map" ? ji(s, e, t, n, r) : t.type === "block-seq" ? Bi(s, e, t, n, r) : Ki(s, e, t, n, r), a = o.constructor;
|
|
2910
2942
|
return i === "!" || i === a.tagName ? (o.tag = a.tagName, o) : (i && (o.tag = i), o);
|
|
2911
2943
|
}
|
|
2912
|
-
function
|
|
2913
|
-
var
|
|
2944
|
+
function Fi(s, e, t, n, i) {
|
|
2945
|
+
var d;
|
|
2914
2946
|
const r = n.tag, o = r ? e.directives.tagName(r.source, (p) => i(r, "TAG_RESOLVE_FAILED", p)) : null;
|
|
2915
2947
|
if (t.type === "block-seq") {
|
|
2916
|
-
const { anchor: p, newlineAfterProp: g } = n,
|
|
2917
|
-
|
|
2948
|
+
const { anchor: p, newlineAfterProp: g } = n, h = p && r ? p.offset > r.offset ? p : r : p ?? r;
|
|
2949
|
+
h && (!g || g.offset < h.offset) && i(h, "MISSING_CHAR", "Missing newline after block sequence props");
|
|
2918
2950
|
}
|
|
2919
2951
|
const a = t.type === "block-map" ? "map" : t.type === "block-seq" ? "seq" : t.start.source === "{" ? "map" : "seq";
|
|
2920
2952
|
if (!r || !o || o === "!" || o === M.tagName && a === "map" || o === te.tagName && a === "seq")
|
|
@@ -2927,71 +2959,71 @@ function Ri(s, e, t, n, i) {
|
|
|
2927
2959
|
else
|
|
2928
2960
|
return p ? i(r, "BAD_COLLECTION_TYPE", `${p.tag} used for ${a} collection, but expects ${p.collection ?? "scalar"}`, !0) : i(r, "TAG_RESOLVE_FAILED", `Unresolved tag: ${o}`, !0), mt(s, e, t, i, o);
|
|
2929
2961
|
}
|
|
2930
|
-
const l = mt(s, e, t, i, o, c), u = ((
|
|
2962
|
+
const l = mt(s, e, t, i, o, c), u = ((d = c.resolve) == null ? void 0 : d.call(c, l, (p) => i(r, "TAG_RESOLVE_FAILED", p), e.options)) ?? l, f = L(u) ? u : new I(u);
|
|
2931
2963
|
return f.range = l.range, f.tag = o, c != null && c.format && (f.format = c.format), f;
|
|
2932
2964
|
}
|
|
2933
|
-
function
|
|
2934
|
-
const n = e.offset, i =
|
|
2965
|
+
function qi(s, e, t) {
|
|
2966
|
+
const n = e.offset, i = Ui(e, s.options.strict, t);
|
|
2935
2967
|
if (!i)
|
|
2936
2968
|
return { value: "", type: null, comment: "", range: [n, n, n] };
|
|
2937
|
-
const r = i.mode === ">" ? I.BLOCK_FOLDED : I.BLOCK_LITERAL, o = e.source ?
|
|
2969
|
+
const r = i.mode === ">" ? I.BLOCK_FOLDED : I.BLOCK_LITERAL, o = e.source ? Yi(e.source) : [];
|
|
2938
2970
|
let a = o.length;
|
|
2939
|
-
for (let
|
|
2940
|
-
const m = o[
|
|
2971
|
+
for (let h = o.length - 1; h >= 0; --h) {
|
|
2972
|
+
const m = o[h][1];
|
|
2941
2973
|
if (m === "" || m === "\r")
|
|
2942
|
-
a =
|
|
2974
|
+
a = h;
|
|
2943
2975
|
else
|
|
2944
2976
|
break;
|
|
2945
2977
|
}
|
|
2946
2978
|
if (a === 0) {
|
|
2947
|
-
const
|
|
2979
|
+
const h = i.chomp === "+" && o.length > 0 ? `
|
|
2948
2980
|
`.repeat(Math.max(1, o.length - 1)) : "";
|
|
2949
2981
|
let m = n + i.length;
|
|
2950
|
-
return e.source && (m += e.source.length), { value:
|
|
2982
|
+
return e.source && (m += e.source.length), { value: h, type: r, comment: i.comment, range: [n, m, m] };
|
|
2951
2983
|
}
|
|
2952
2984
|
let c = e.indent + i.indent, l = e.offset + i.length, u = 0;
|
|
2953
|
-
for (let
|
|
2954
|
-
const [m, y] = o[
|
|
2985
|
+
for (let h = 0; h < a; ++h) {
|
|
2986
|
+
const [m, y] = o[h];
|
|
2955
2987
|
if (y === "" || y === "\r")
|
|
2956
2988
|
i.indent === 0 && m.length > c && (c = m.length);
|
|
2957
2989
|
else {
|
|
2958
|
-
m.length < c && t(l + m.length, "MISSING_CHAR", "Block scalars with more-indented leading empty lines must use an explicit indentation indicator"), i.indent === 0 && (c = m.length), u =
|
|
2990
|
+
m.length < c && t(l + m.length, "MISSING_CHAR", "Block scalars with more-indented leading empty lines must use an explicit indentation indicator"), i.indent === 0 && (c = m.length), u = h, c === 0 && !s.atRoot && t(l, "BAD_INDENT", "Block scalar values in collections must be indented");
|
|
2959
2991
|
break;
|
|
2960
2992
|
}
|
|
2961
2993
|
l += m.length + y.length + 1;
|
|
2962
2994
|
}
|
|
2963
|
-
for (let
|
|
2964
|
-
o[
|
|
2965
|
-
let f = "",
|
|
2966
|
-
for (let
|
|
2967
|
-
f += o[
|
|
2995
|
+
for (let h = o.length - 1; h >= a; --h)
|
|
2996
|
+
o[h][0].length > c && (a = h + 1);
|
|
2997
|
+
let f = "", d = "", p = !1;
|
|
2998
|
+
for (let h = 0; h < u; ++h)
|
|
2999
|
+
f += o[h][0].slice(c) + `
|
|
2968
3000
|
`;
|
|
2969
|
-
for (let
|
|
2970
|
-
let [m, y] = o[
|
|
3001
|
+
for (let h = u; h < a; ++h) {
|
|
3002
|
+
let [m, y] = o[h];
|
|
2971
3003
|
l += m.length + y.length + 1;
|
|
2972
3004
|
const w = y[y.length - 1] === "\r";
|
|
2973
3005
|
if (w && (y = y.slice(0, -1)), y && m.length < c) {
|
|
2974
3006
|
const S = `Block scalar lines must not be less indented than their ${i.indent ? "explicit indentation indicator" : "first line"}`;
|
|
2975
3007
|
t(l - y.length - (w ? 2 : 1), "BAD_INDENT", S), m = "";
|
|
2976
3008
|
}
|
|
2977
|
-
r === I.BLOCK_LITERAL ? (f +=
|
|
2978
|
-
`) : m.length > c || y[0] === " " ? (
|
|
2979
|
-
` : !p &&
|
|
2980
|
-
` && (
|
|
3009
|
+
r === I.BLOCK_LITERAL ? (f += d + m.slice(c) + y, d = `
|
|
3010
|
+
`) : m.length > c || y[0] === " " ? (d === " " ? d = `
|
|
3011
|
+
` : !p && d === `
|
|
3012
|
+
` && (d = `
|
|
2981
3013
|
|
|
2982
|
-
`), f +=
|
|
2983
|
-
`, p = !0) : y === "" ?
|
|
3014
|
+
`), f += d + m.slice(c) + y, d = `
|
|
3015
|
+
`, p = !0) : y === "" ? d === `
|
|
2984
3016
|
` ? f += `
|
|
2985
|
-
` :
|
|
2986
|
-
` : (f +=
|
|
3017
|
+
` : d = `
|
|
3018
|
+
` : (f += d + y, d = " ", p = !1);
|
|
2987
3019
|
}
|
|
2988
3020
|
switch (i.chomp) {
|
|
2989
3021
|
case "-":
|
|
2990
3022
|
break;
|
|
2991
3023
|
case "+":
|
|
2992
|
-
for (let
|
|
3024
|
+
for (let h = a; h < o.length; ++h)
|
|
2993
3025
|
f += `
|
|
2994
|
-
` + o[
|
|
3026
|
+
` + o[h][0].slice(c);
|
|
2995
3027
|
f[f.length - 1] !== `
|
|
2996
3028
|
` && (f += `
|
|
2997
3029
|
`);
|
|
@@ -3003,24 +3035,24 @@ function Di(s, e, t) {
|
|
|
3003
3035
|
const g = n + i.length + e.source.length;
|
|
3004
3036
|
return { value: f, type: r, comment: i.comment, range: [n, g, g] };
|
|
3005
3037
|
}
|
|
3006
|
-
function
|
|
3038
|
+
function Ui({ offset: s, props: e }, t, n) {
|
|
3007
3039
|
if (e[0].type !== "block-scalar-header")
|
|
3008
3040
|
return n(e[0], "IMPOSSIBLE", "Block scalar header not found"), null;
|
|
3009
3041
|
const { source: i } = e[0], r = i[0];
|
|
3010
3042
|
let o = 0, a = "", c = -1;
|
|
3011
|
-
for (let
|
|
3012
|
-
const p = i[
|
|
3043
|
+
for (let d = 1; d < i.length; ++d) {
|
|
3044
|
+
const p = i[d];
|
|
3013
3045
|
if (!a && (p === "-" || p === "+"))
|
|
3014
3046
|
a = p;
|
|
3015
3047
|
else {
|
|
3016
3048
|
const g = Number(p);
|
|
3017
|
-
!o && g ? o = g : c === -1 && (c = s +
|
|
3049
|
+
!o && g ? o = g : c === -1 && (c = s + d);
|
|
3018
3050
|
}
|
|
3019
3051
|
}
|
|
3020
3052
|
c !== -1 && n(c, "UNEXPECTED_TOKEN", `Block scalar header includes extra characters: ${i}`);
|
|
3021
3053
|
let l = !1, u = "", f = i.length;
|
|
3022
|
-
for (let
|
|
3023
|
-
const p = e[
|
|
3054
|
+
for (let d = 1; d < e.length; ++d) {
|
|
3055
|
+
const p = e[d];
|
|
3024
3056
|
switch (p.type) {
|
|
3025
3057
|
case "space":
|
|
3026
3058
|
l = !0;
|
|
@@ -3036,32 +3068,32 @@ function Mi({ offset: s, props: e }, t, n) {
|
|
|
3036
3068
|
default: {
|
|
3037
3069
|
const g = `Unexpected token in block scalar header: ${p.type}`;
|
|
3038
3070
|
n(p, "UNEXPECTED_TOKEN", g);
|
|
3039
|
-
const
|
|
3040
|
-
|
|
3071
|
+
const h = p.source;
|
|
3072
|
+
h && typeof h == "string" && (f += h.length);
|
|
3041
3073
|
}
|
|
3042
3074
|
}
|
|
3043
3075
|
}
|
|
3044
3076
|
return { mode: r, indent: o, chomp: a, comment: u, length: f };
|
|
3045
3077
|
}
|
|
3046
|
-
function
|
|
3078
|
+
function Yi(s) {
|
|
3047
3079
|
const e = s.split(/\n( *)/), t = e[0], n = t.match(/^( *)/), r = [n != null && n[1] ? [n[1], t.slice(n[1].length)] : ["", t]];
|
|
3048
3080
|
for (let o = 1; o < e.length; o += 2)
|
|
3049
3081
|
r.push([e[o], e[o + 1]]);
|
|
3050
3082
|
return r;
|
|
3051
3083
|
}
|
|
3052
|
-
function
|
|
3084
|
+
function Hi(s, e, t) {
|
|
3053
3085
|
const { offset: n, type: i, source: r, end: o } = s;
|
|
3054
3086
|
let a, c;
|
|
3055
|
-
const l = (
|
|
3087
|
+
const l = (d, p, g) => t(n + d, p, g);
|
|
3056
3088
|
switch (i) {
|
|
3057
3089
|
case "scalar":
|
|
3058
|
-
a = I.PLAIN, c =
|
|
3090
|
+
a = I.PLAIN, c = Gi(r, l);
|
|
3059
3091
|
break;
|
|
3060
3092
|
case "single-quoted-scalar":
|
|
3061
|
-
a = I.QUOTE_SINGLE, c =
|
|
3093
|
+
a = I.QUOTE_SINGLE, c = Vi(r, l);
|
|
3062
3094
|
break;
|
|
3063
3095
|
case "double-quoted-scalar":
|
|
3064
|
-
a = I.QUOTE_DOUBLE, c =
|
|
3096
|
+
a = I.QUOTE_DOUBLE, c = Ji(r, l);
|
|
3065
3097
|
break;
|
|
3066
3098
|
default:
|
|
3067
3099
|
return t(s, "UNEXPECTED_TOKEN", `Expected a flow scalar value, but found: ${i}`), {
|
|
@@ -3071,7 +3103,7 @@ function Bi(s, e, t) {
|
|
|
3071
3103
|
range: [n, n + r.length, n + r.length]
|
|
3072
3104
|
};
|
|
3073
3105
|
}
|
|
3074
|
-
const u = n + r.length, f =
|
|
3106
|
+
const u = n + r.length, f = Me(o, u, e, t);
|
|
3075
3107
|
return {
|
|
3076
3108
|
value: c,
|
|
3077
3109
|
type: a,
|
|
@@ -3079,7 +3111,7 @@ function Bi(s, e, t) {
|
|
|
3079
3111
|
range: [n, u, f.offset]
|
|
3080
3112
|
};
|
|
3081
3113
|
}
|
|
3082
|
-
function
|
|
3114
|
+
function Gi(s, e) {
|
|
3083
3115
|
let t = "";
|
|
3084
3116
|
switch (s[0]) {
|
|
3085
3117
|
case " ":
|
|
@@ -3102,12 +3134,12 @@ function Ki(s, e) {
|
|
|
3102
3134
|
break;
|
|
3103
3135
|
}
|
|
3104
3136
|
}
|
|
3105
|
-
return t && e(0, "BAD_SCALAR_START", `Plain value cannot start with ${t}`),
|
|
3137
|
+
return t && e(0, "BAD_SCALAR_START", `Plain value cannot start with ${t}`), cn(s);
|
|
3106
3138
|
}
|
|
3107
|
-
function
|
|
3108
|
-
return (s[s.length - 1] !== "'" || s.length === 1) && e(s.length, "MISSING_CHAR", "Missing closing 'quote"),
|
|
3139
|
+
function Vi(s, e) {
|
|
3140
|
+
return (s[s.length - 1] !== "'" || s.length === 1) && e(s.length, "MISSING_CHAR", "Missing closing 'quote"), cn(s.slice(1, -1)).replace(/''/g, "'");
|
|
3109
3141
|
}
|
|
3110
|
-
function
|
|
3142
|
+
function cn(s) {
|
|
3111
3143
|
let e, t;
|
|
3112
3144
|
try {
|
|
3113
3145
|
e = new RegExp(`(.*?)(?<![ ])[ ]*\r?
|
|
@@ -3127,7 +3159,7 @@ function nn(s) {
|
|
|
3127
3159
|
const a = /[ \t]*(.*)/sy;
|
|
3128
3160
|
return a.lastIndex = o, n = a.exec(s), i + r + ((n == null ? void 0 : n[1]) ?? "");
|
|
3129
3161
|
}
|
|
3130
|
-
function
|
|
3162
|
+
function Ji(s, e) {
|
|
3131
3163
|
let t = "";
|
|
3132
3164
|
for (let n = 1; n < s.length - 1; ++n) {
|
|
3133
3165
|
const i = s[n];
|
|
@@ -3135,11 +3167,11 @@ function qi(s, e) {
|
|
|
3135
3167
|
`))
|
|
3136
3168
|
if (i === `
|
|
3137
3169
|
`) {
|
|
3138
|
-
const { fold: r, offset: o } =
|
|
3170
|
+
const { fold: r, offset: o } = Wi(s, n);
|
|
3139
3171
|
t += r, n = o;
|
|
3140
3172
|
} else if (i === "\\") {
|
|
3141
3173
|
let r = s[++n];
|
|
3142
|
-
const o =
|
|
3174
|
+
const o = xi[r];
|
|
3143
3175
|
if (o)
|
|
3144
3176
|
t += o;
|
|
3145
3177
|
else if (r === `
|
|
@@ -3152,7 +3184,7 @@ function qi(s, e) {
|
|
|
3152
3184
|
r = s[++n + 1];
|
|
3153
3185
|
else if (r === "x" || r === "u" || r === "U") {
|
|
3154
3186
|
const a = r === "x" ? 2 : r === "u" ? 4 : 8;
|
|
3155
|
-
t +=
|
|
3187
|
+
t += zi(s, n + 1, a, e), n += a;
|
|
3156
3188
|
} else {
|
|
3157
3189
|
const a = s.substr(n - 1, 2);
|
|
3158
3190
|
e(n - 1, "BAD_DQ_ESCAPE", `Invalid escape sequence ${a}`), t += a;
|
|
@@ -3170,7 +3202,7 @@ function qi(s, e) {
|
|
|
3170
3202
|
}
|
|
3171
3203
|
return (s[s.length - 1] !== '"' || s.length === 1) && e(s.length, "MISSING_CHAR", 'Missing closing "quote'), t;
|
|
3172
3204
|
}
|
|
3173
|
-
function
|
|
3205
|
+
function Wi(s, e) {
|
|
3174
3206
|
let t = "", n = s[e + 1];
|
|
3175
3207
|
for (; (n === " " || n === " " || n === `
|
|
3176
3208
|
` || n === "\r") && !(n === "\r" && s[e + 2] !== `
|
|
@@ -3180,7 +3212,7 @@ function Ui(s, e) {
|
|
|
3180
3212
|
`), e += 1, n = s[e + 1];
|
|
3181
3213
|
return t || (t = " "), { fold: t, offset: e };
|
|
3182
3214
|
}
|
|
3183
|
-
const
|
|
3215
|
+
const xi = {
|
|
3184
3216
|
0: "\0",
|
|
3185
3217
|
// null character
|
|
3186
3218
|
a: "\x07",
|
|
@@ -3214,7 +3246,7 @@ const Yi = {
|
|
|
3214
3246
|
"\\": "\\",
|
|
3215
3247
|
" ": " "
|
|
3216
3248
|
};
|
|
3217
|
-
function
|
|
3249
|
+
function zi(s, e, t, n) {
|
|
3218
3250
|
const i = s.substr(e, t), o = i.length === t && /^[0-9a-fA-F]+$/.test(i) ? parseInt(i, 16) : NaN;
|
|
3219
3251
|
try {
|
|
3220
3252
|
return String.fromCodePoint(o);
|
|
@@ -3223,21 +3255,21 @@ function Hi(s, e, t, n) {
|
|
|
3223
3255
|
return n(e - 2, "BAD_DQ_ESCAPE", `Invalid escape sequence ${a}`), a;
|
|
3224
3256
|
}
|
|
3225
3257
|
}
|
|
3226
|
-
function
|
|
3227
|
-
const { value: i, type: r, comment: o, range: a } = e.type === "block-scalar" ?
|
|
3258
|
+
function ln(s, e, t, n) {
|
|
3259
|
+
const { value: i, type: r, comment: o, range: a } = e.type === "block-scalar" ? qi(s, e, n) : Hi(e, s.options.strict, n), c = t ? s.directives.tagName(t.source, (f) => n(t, "TAG_RESOLVE_FAILED", f)) : null;
|
|
3228
3260
|
let l;
|
|
3229
|
-
s.options.stringKeys && s.atKey ? l = s.schema[H] : c ? l =
|
|
3261
|
+
s.options.stringKeys && s.atKey ? l = s.schema[H] : c ? l = Qi(s.schema, i, c, t, n) : e.type === "scalar" ? l = Xi(s, i, e, n) : l = s.schema[H];
|
|
3230
3262
|
let u;
|
|
3231
3263
|
try {
|
|
3232
|
-
const f = l.resolve(i, (
|
|
3264
|
+
const f = l.resolve(i, (d) => n(t ?? e, "TAG_RESOLVE_FAILED", d), s.options);
|
|
3233
3265
|
u = O(f) ? f : new I(f);
|
|
3234
3266
|
} catch (f) {
|
|
3235
|
-
const
|
|
3236
|
-
n(t ?? e, "TAG_RESOLVE_FAILED",
|
|
3267
|
+
const d = f instanceof Error ? f.message : String(f);
|
|
3268
|
+
n(t ?? e, "TAG_RESOLVE_FAILED", d), u = new I(i);
|
|
3237
3269
|
}
|
|
3238
3270
|
return u.range = a, u.source = i, r && (u.type = r), c && (u.tag = c), l.format && (u.format = l.format), o && (u.comment = o), u;
|
|
3239
3271
|
}
|
|
3240
|
-
function
|
|
3272
|
+
function Qi(s, e, t, n, i) {
|
|
3241
3273
|
var a;
|
|
3242
3274
|
if (t === "!")
|
|
3243
3275
|
return s[H];
|
|
@@ -3254,7 +3286,7 @@ function Gi(s, e, t, n, i) {
|
|
|
3254
3286
|
const o = s.knownTags[t];
|
|
3255
3287
|
return o && !o.collection ? (s.tags.push(Object.assign({}, o, { default: !1, test: void 0 })), o) : (i(n, "TAG_RESOLVE_FAILED", `Unresolved tag: ${t}`, t !== "tag:yaml.org,2002:str"), s[H]);
|
|
3256
3288
|
}
|
|
3257
|
-
function
|
|
3289
|
+
function Xi({ atKey: s, directives: e, schema: t }, n, i, r) {
|
|
3258
3290
|
const o = t.tags.find((a) => {
|
|
3259
3291
|
var c;
|
|
3260
3292
|
return (a.default === !0 || s && a.default === "key") && ((c = a.test) == null ? void 0 : c.test(n));
|
|
@@ -3271,7 +3303,7 @@ function Vi({ atKey: s, directives: e, schema: t }, n, i, r) {
|
|
|
3271
3303
|
}
|
|
3272
3304
|
return o;
|
|
3273
3305
|
}
|
|
3274
|
-
function
|
|
3306
|
+
function Zi(s, e, t) {
|
|
3275
3307
|
if (e) {
|
|
3276
3308
|
t ?? (t = e.length);
|
|
3277
3309
|
for (let n = t - 1; n >= 0; --n) {
|
|
@@ -3290,28 +3322,28 @@ function Ji(s, e, t) {
|
|
|
3290
3322
|
}
|
|
3291
3323
|
return s;
|
|
3292
3324
|
}
|
|
3293
|
-
const
|
|
3294
|
-
function
|
|
3325
|
+
const er = { composeNode: fn, composeEmptyNode: Yt };
|
|
3326
|
+
function fn(s, e, t, n) {
|
|
3295
3327
|
const i = s.atKey, { spaceBefore: r, comment: o, anchor: a, tag: c } = t;
|
|
3296
3328
|
let l, u = !0;
|
|
3297
3329
|
switch (e.type) {
|
|
3298
3330
|
case "alias":
|
|
3299
|
-
l =
|
|
3331
|
+
l = tr(s, e, n), (a || c) && n(e, "ALIAS_PROPS", "An alias node must not specify any properties");
|
|
3300
3332
|
break;
|
|
3301
3333
|
case "scalar":
|
|
3302
3334
|
case "single-quoted-scalar":
|
|
3303
3335
|
case "double-quoted-scalar":
|
|
3304
3336
|
case "block-scalar":
|
|
3305
|
-
l =
|
|
3337
|
+
l = ln(s, e, c, n), a && (l.anchor = a.source.substring(1));
|
|
3306
3338
|
break;
|
|
3307
3339
|
case "block-map":
|
|
3308
3340
|
case "block-seq":
|
|
3309
3341
|
case "flow-collection":
|
|
3310
3342
|
try {
|
|
3311
|
-
l =
|
|
3343
|
+
l = Fi(er, s, e, t, n), a && (l.anchor = a.source.substring(1));
|
|
3312
3344
|
} catch (f) {
|
|
3313
|
-
const
|
|
3314
|
-
n(e, "RESOURCE_EXHAUSTION",
|
|
3345
|
+
const d = f instanceof Error ? f.message : String(f);
|
|
3346
|
+
n(e, "RESOURCE_EXHAUSTION", d);
|
|
3315
3347
|
}
|
|
3316
3348
|
break;
|
|
3317
3349
|
default: {
|
|
@@ -3319,25 +3351,25 @@ function on(s, e, t, n) {
|
|
|
3319
3351
|
n(e, "UNEXPECTED_TOKEN", f), u = !1;
|
|
3320
3352
|
}
|
|
3321
3353
|
}
|
|
3322
|
-
return l ?? (l =
|
|
3354
|
+
return l ?? (l = Yt(s, e.offset, void 0, null, t, n)), a && l.anchor === "" && n(a, "BAD_ALIAS", "Anchor cannot be an empty string"), i && s.options.stringKeys && (!O(l) || typeof l.value != "string" || l.tag && l.tag !== "tag:yaml.org,2002:str") && n(c ?? e, "NON_STRING_KEY", "With stringKeys, all keys must be strings"), r && (l.spaceBefore = !0), o && (e.type === "scalar" && e.source === "" ? l.comment = o : l.commentBefore = o), s.options.keepSourceTokens && u && (l.srcToken = e), l;
|
|
3323
3355
|
}
|
|
3324
|
-
function
|
|
3356
|
+
function Yt(s, e, t, n, { spaceBefore: i, comment: r, anchor: o, tag: a, end: c }, l) {
|
|
3325
3357
|
const u = {
|
|
3326
3358
|
type: "scalar",
|
|
3327
|
-
offset:
|
|
3359
|
+
offset: Zi(e, t, n),
|
|
3328
3360
|
indent: -1,
|
|
3329
3361
|
source: ""
|
|
3330
|
-
}, f =
|
|
3362
|
+
}, f = ln(s, u, a, l);
|
|
3331
3363
|
return o && (f.anchor = o.source.substring(1), f.anchor === "" && l(o, "BAD_ALIAS", "Anchor cannot be an empty string")), i && (f.spaceBefore = !0), r && (f.comment = r, f.range[2] = c), f;
|
|
3332
3364
|
}
|
|
3333
|
-
function
|
|
3334
|
-
const r = new
|
|
3365
|
+
function tr({ options: s }, { offset: e, source: t, end: n }, i) {
|
|
3366
|
+
const r = new Lt(t.substring(1));
|
|
3335
3367
|
r.source === "" && i(e, "BAD_ALIAS", "Alias cannot be an empty string"), r.source.endsWith(":") && i(e + t.length - 1, "BAD_ALIAS", "Alias ending in : is ambiguous", !0);
|
|
3336
|
-
const o = e + t.length, a =
|
|
3368
|
+
const o = e + t.length, a = Me(n, o, s.strict, i);
|
|
3337
3369
|
return r.range = [e, o, a.offset], a.comment && (r.comment = a.comment), r;
|
|
3338
3370
|
}
|
|
3339
|
-
function
|
|
3340
|
-
const a = Object.assign({ _directives: e }, s), c = new
|
|
3371
|
+
function sr(s, e, { offset: t, start: n, value: i, end: r }, o) {
|
|
3372
|
+
const a = Object.assign({ _directives: e }, s), c = new De(void 0, a), l = {
|
|
3341
3373
|
atKey: !1,
|
|
3342
3374
|
atRoot: !0,
|
|
3343
3375
|
directives: c.directives,
|
|
@@ -3351,11 +3383,11 @@ function zi(s, e, { offset: t, start: n, value: i, end: r }, o) {
|
|
|
3351
3383
|
parentIndent: 0,
|
|
3352
3384
|
startOnNewline: !0
|
|
3353
3385
|
});
|
|
3354
|
-
u.found && (c.directives.docStart = !0, i && (i.type === "block-map" || i.type === "block-seq") && !u.hasNewline && o(u.end, "MISSING_CHAR", "Block collection cannot start on same line with directives-end marker")), c.contents = i ?
|
|
3355
|
-
const f = c.contents.range[2],
|
|
3356
|
-
return
|
|
3386
|
+
u.found && (c.directives.docStart = !0, i && (i.type === "block-map" || i.type === "block-seq") && !u.hasNewline && o(u.end, "MISSING_CHAR", "Block collection cannot start on same line with directives-end marker")), c.contents = i ? fn(l, i, u, o) : Yt(l, u.end, n, null, u, o);
|
|
3387
|
+
const f = c.contents.range[2], d = Me(r, f, !1, o);
|
|
3388
|
+
return d.comment && (c.comment = d.comment), c.range = [t, f, d.offset], c;
|
|
3357
3389
|
}
|
|
3358
|
-
function
|
|
3390
|
+
function Ee(s) {
|
|
3359
3391
|
if (typeof s == "number")
|
|
3360
3392
|
return [s, s + 1];
|
|
3361
3393
|
if (Array.isArray(s))
|
|
@@ -3363,7 +3395,7 @@ function Se(s) {
|
|
|
3363
3395
|
const { offset: e, source: t } = s;
|
|
3364
3396
|
return [e, e + (typeof t == "string" ? t.length : 1)];
|
|
3365
3397
|
}
|
|
3366
|
-
function
|
|
3398
|
+
function us(s) {
|
|
3367
3399
|
var i;
|
|
3368
3400
|
let e = "", t = !1, n = !1;
|
|
3369
3401
|
for (let r = 0; r < s.length; ++r) {
|
|
@@ -3384,15 +3416,15 @@ function ls(s) {
|
|
|
3384
3416
|
}
|
|
3385
3417
|
return { comment: e, afterEmptyLine: n };
|
|
3386
3418
|
}
|
|
3387
|
-
class
|
|
3419
|
+
class nr {
|
|
3388
3420
|
constructor(e = {}) {
|
|
3389
3421
|
this.doc = null, this.atDirectives = !1, this.prelude = [], this.errors = [], this.warnings = [], this.onError = (t, n, i, r) => {
|
|
3390
|
-
const o =
|
|
3391
|
-
r ? this.warnings.push(new
|
|
3422
|
+
const o = Ee(t);
|
|
3423
|
+
r ? this.warnings.push(new Mi(o, n, i)) : this.errors.push(new Te(o, n, i));
|
|
3392
3424
|
}, this.directives = new R({ version: e.version || "1.2" }), this.options = e;
|
|
3393
3425
|
}
|
|
3394
3426
|
decorate(e, t) {
|
|
3395
|
-
const { comment: n, afterEmptyLine: i } =
|
|
3427
|
+
const { comment: n, afterEmptyLine: i } = us(this.prelude);
|
|
3396
3428
|
if (n) {
|
|
3397
3429
|
const r = e.contents;
|
|
3398
3430
|
if (t)
|
|
@@ -3428,7 +3460,7 @@ ${o}` : n;
|
|
|
3428
3460
|
*/
|
|
3429
3461
|
streamInfo() {
|
|
3430
3462
|
return {
|
|
3431
|
-
comment:
|
|
3463
|
+
comment: us(this.prelude).comment,
|
|
3432
3464
|
directives: this.directives,
|
|
3433
3465
|
errors: this.errors,
|
|
3434
3466
|
warnings: this.warnings
|
|
@@ -3450,12 +3482,12 @@ ${o}` : n;
|
|
|
3450
3482
|
switch (e.type) {
|
|
3451
3483
|
case "directive":
|
|
3452
3484
|
this.directives.add(e.source, (t, n, i) => {
|
|
3453
|
-
const r =
|
|
3485
|
+
const r = Ee(e);
|
|
3454
3486
|
r[0] += t, this.onError(r, "BAD_DIRECTIVE", n, i);
|
|
3455
3487
|
}), this.prelude.push(e.source), this.atDirectives = !0;
|
|
3456
3488
|
break;
|
|
3457
3489
|
case "document": {
|
|
3458
|
-
const t =
|
|
3490
|
+
const t = sr(this.options, this.directives, e, this.onError);
|
|
3459
3491
|
this.atDirectives && !t.directives.docStart && this.onError(e, "MISSING_CHAR", "Missing directives-end/doc-start indicator line"), this.decorate(t, !1), this.doc && (yield this.doc), this.doc = t, this.atDirectives = !1;
|
|
3460
3492
|
break;
|
|
3461
3493
|
}
|
|
@@ -3467,18 +3499,18 @@ ${o}` : n;
|
|
|
3467
3499
|
this.prelude.push(e.source);
|
|
3468
3500
|
break;
|
|
3469
3501
|
case "error": {
|
|
3470
|
-
const t = e.source ? `${e.message}: ${JSON.stringify(e.source)}` : e.message, n = new
|
|
3502
|
+
const t = e.source ? `${e.message}: ${JSON.stringify(e.source)}` : e.message, n = new Te(Ee(e), "UNEXPECTED_TOKEN", t);
|
|
3471
3503
|
this.atDirectives || !this.doc ? this.errors.push(n) : this.doc.errors.push(n);
|
|
3472
3504
|
break;
|
|
3473
3505
|
}
|
|
3474
3506
|
case "doc-end": {
|
|
3475
3507
|
if (!this.doc) {
|
|
3476
3508
|
const n = "Unexpected doc-end without preceding document";
|
|
3477
|
-
this.errors.push(new
|
|
3509
|
+
this.errors.push(new Te(Ee(e), "UNEXPECTED_TOKEN", n));
|
|
3478
3510
|
break;
|
|
3479
3511
|
}
|
|
3480
3512
|
this.doc.directives.docEnd = !0;
|
|
3481
|
-
const t =
|
|
3513
|
+
const t = Me(e.end, e.offset + e.source.length, this.doc.options.strict, this.onError);
|
|
3482
3514
|
if (this.decorate(this.doc, !0), t.comment) {
|
|
3483
3515
|
const n = this.doc.comment;
|
|
3484
3516
|
this.doc.comment = n ? `${n}
|
|
@@ -3488,7 +3520,7 @@ ${t.comment}` : t.comment;
|
|
|
3488
3520
|
break;
|
|
3489
3521
|
}
|
|
3490
3522
|
default:
|
|
3491
|
-
this.errors.push(new
|
|
3523
|
+
this.errors.push(new Te(Ee(e), "UNEXPECTED_TOKEN", `Unsupported token ${e.type}`));
|
|
3492
3524
|
}
|
|
3493
3525
|
}
|
|
3494
3526
|
/**
|
|
@@ -3501,21 +3533,21 @@ ${t.comment}` : t.comment;
|
|
|
3501
3533
|
if (this.doc)
|
|
3502
3534
|
this.decorate(this.doc, !0), yield this.doc, this.doc = null;
|
|
3503
3535
|
else if (e) {
|
|
3504
|
-
const n = Object.assign({ _directives: this.directives }, this.options), i = new
|
|
3536
|
+
const n = Object.assign({ _directives: this.directives }, this.options), i = new De(void 0, n);
|
|
3505
3537
|
this.atDirectives && this.onError(t, "MISSING_CHAR", "Missing directives-end indicator line"), i.range = [0, t, t], this.decorate(i, !1), yield i;
|
|
3506
3538
|
}
|
|
3507
3539
|
}
|
|
3508
3540
|
}
|
|
3509
|
-
const
|
|
3510
|
-
function
|
|
3541
|
+
const un = "\uFEFF", dn = "", hn = "", Tt = "";
|
|
3542
|
+
function ir(s) {
|
|
3511
3543
|
switch (s) {
|
|
3512
|
-
case
|
|
3544
|
+
case un:
|
|
3513
3545
|
return "byte-order-mark";
|
|
3514
|
-
case
|
|
3546
|
+
case dn:
|
|
3515
3547
|
return "doc-mode";
|
|
3516
|
-
case
|
|
3548
|
+
case hn:
|
|
3517
3549
|
return "flow-error-end";
|
|
3518
|
-
case
|
|
3550
|
+
case Tt:
|
|
3519
3551
|
return "scalar";
|
|
3520
3552
|
case "---":
|
|
3521
3553
|
return "doc-start";
|
|
@@ -3581,9 +3613,9 @@ function U(s) {
|
|
|
3581
3613
|
return !1;
|
|
3582
3614
|
}
|
|
3583
3615
|
}
|
|
3584
|
-
const
|
|
3585
|
-
\r `), gt = (s) => !s ||
|
|
3586
|
-
class
|
|
3616
|
+
const ds = new Set("0123456789ABCDEFabcdef"), rr = new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"), qe = new Set(",[]{}"), or = new Set(` ,[]{}
|
|
3617
|
+
\r `), gt = (s) => !s || or.has(s);
|
|
3618
|
+
class ar {
|
|
3587
3619
|
constructor() {
|
|
3588
3620
|
this.atEnd = !1, this.blockScalarIndent = -1, this.blockScalarKeep = !1, this.buffer = "", this.flowKey = !1, this.flowLevel = 0, this.indentNext = 0, this.indentValue = 0, this.lineEndPos = null, this.next = null, this.pos = 0;
|
|
3589
3621
|
}
|
|
@@ -3675,7 +3707,7 @@ class tr {
|
|
|
3675
3707
|
let e = this.getLine();
|
|
3676
3708
|
if (e === null)
|
|
3677
3709
|
return this.setNext("stream");
|
|
3678
|
-
if (e[0] ===
|
|
3710
|
+
if (e[0] === un && (yield* this.pushCount(1), e = e.substring(1)), e[0] === "%") {
|
|
3679
3711
|
let t = e.length, n = e.indexOf("#");
|
|
3680
3712
|
for (; n !== -1; ) {
|
|
3681
3713
|
const r = e[n - 1];
|
|
@@ -3699,7 +3731,7 @@ class tr {
|
|
|
3699
3731
|
const t = yield* this.pushSpaces(!0);
|
|
3700
3732
|
return yield* this.pushCount(e.length - t), yield* this.pushNewline(), "stream";
|
|
3701
3733
|
}
|
|
3702
|
-
return yield
|
|
3734
|
+
return yield dn, yield* this.parseLineStart();
|
|
3703
3735
|
}
|
|
3704
3736
|
*parseLineStart() {
|
|
3705
3737
|
const e = this.charAt(0);
|
|
@@ -3762,7 +3794,7 @@ class tr {
|
|
|
3762
3794
|
if (i === null)
|
|
3763
3795
|
return this.setNext("flow");
|
|
3764
3796
|
if ((n !== -1 && n < this.indentNext && i[0] !== "#" || n === 0 && (i.startsWith("---") || i.startsWith("...")) && U(i[3])) && !(n === this.indentNext - 1 && this.flowLevel === 1 && (i[0] === "]" || i[0] === "}")))
|
|
3765
|
-
return this.flowLevel = 0, yield
|
|
3797
|
+
return this.flowLevel = 0, yield hn, yield* this.parseLineStart();
|
|
3766
3798
|
let r = 0;
|
|
3767
3799
|
for (; i[r] === ","; )
|
|
3768
3800
|
r += yield* this.pushCount(1), r += yield* this.pushSpaces(!0), this.flowKey = !1;
|
|
@@ -3900,7 +3932,7 @@ class tr {
|
|
|
3900
3932
|
else
|
|
3901
3933
|
break;
|
|
3902
3934
|
} while (!0);
|
|
3903
|
-
return yield
|
|
3935
|
+
return yield Tt, yield* this.pushToIndex(e + 1, !0), yield* this.parseLineStart();
|
|
3904
3936
|
}
|
|
3905
3937
|
*parsePlainScalar() {
|
|
3906
3938
|
const e = this.flowLevel > 0;
|
|
@@ -3929,7 +3961,7 @@ class tr {
|
|
|
3929
3961
|
break;
|
|
3930
3962
|
t = n;
|
|
3931
3963
|
}
|
|
3932
|
-
return !i && !this.atEnd ? this.setNext("plain-scalar") : (yield
|
|
3964
|
+
return !i && !this.atEnd ? this.setNext("plain-scalar") : (yield Tt, yield* this.pushToIndex(t + 1, !0), e ? "flow" : "doc");
|
|
3933
3965
|
}
|
|
3934
3966
|
*pushCount(e) {
|
|
3935
3967
|
return e > 0 ? (yield this.buffer.substr(this.pos, e), this.pos += e, e) : 0;
|
|
@@ -3971,9 +4003,9 @@ class tr {
|
|
|
3971
4003
|
} else {
|
|
3972
4004
|
let e = this.pos + 1, t = this.buffer[e];
|
|
3973
4005
|
for (; t; )
|
|
3974
|
-
if (
|
|
4006
|
+
if (rr.has(t))
|
|
3975
4007
|
t = this.buffer[++e];
|
|
3976
|
-
else if (t === "%" &&
|
|
4008
|
+
else if (t === "%" && ds.has(this.buffer[e + 1]) && ds.has(this.buffer[e + 2]))
|
|
3977
4009
|
t = this.buffer[e += 3];
|
|
3978
4010
|
else
|
|
3979
4011
|
break;
|
|
@@ -4001,7 +4033,7 @@ class tr {
|
|
|
4001
4033
|
return yield* this.pushToIndex(t, !1);
|
|
4002
4034
|
}
|
|
4003
4035
|
}
|
|
4004
|
-
class
|
|
4036
|
+
class cr {
|
|
4005
4037
|
constructor() {
|
|
4006
4038
|
this.lineStarts = [], this.addNewLine = (e) => this.lineStarts.push(e), this.linePos = (e) => {
|
|
4007
4039
|
let t = 0, n = this.lineStarts.length;
|
|
@@ -4024,7 +4056,7 @@ function W(s, e) {
|
|
|
4024
4056
|
return !0;
|
|
4025
4057
|
return !1;
|
|
4026
4058
|
}
|
|
4027
|
-
function
|
|
4059
|
+
function hs(s) {
|
|
4028
4060
|
for (let e = 0; e < s.length; ++e)
|
|
4029
4061
|
switch (s[e].type) {
|
|
4030
4062
|
case "space":
|
|
@@ -4036,7 +4068,7 @@ function us(s) {
|
|
|
4036
4068
|
}
|
|
4037
4069
|
return -1;
|
|
4038
4070
|
}
|
|
4039
|
-
function
|
|
4071
|
+
function pn(s) {
|
|
4040
4072
|
switch (s == null ? void 0 : s.type) {
|
|
4041
4073
|
case "alias":
|
|
4042
4074
|
case "scalar":
|
|
@@ -4087,18 +4119,18 @@ function xe(s, e) {
|
|
|
4087
4119
|
for (let t = 0; t < e.length; ++t)
|
|
4088
4120
|
s.push(e[t]);
|
|
4089
4121
|
}
|
|
4090
|
-
function
|
|
4122
|
+
function ps(s) {
|
|
4091
4123
|
if (s.start.type === "flow-seq-start")
|
|
4092
4124
|
for (const e of s.items)
|
|
4093
|
-
e.sep && !e.value && !W(e.start, "explicit-key-ind") && !W(e.sep, "map-value-ind") && (e.key && (e.value = e.key), delete e.key,
|
|
4125
|
+
e.sep && !e.value && !W(e.start, "explicit-key-ind") && !W(e.sep, "map-value-ind") && (e.key && (e.value = e.key), delete e.key, pn(e.value) ? e.value.end ? xe(e.value.end, e.sep) : e.value.end = e.sep : xe(e.start, e.sep), delete e.sep);
|
|
4094
4126
|
}
|
|
4095
|
-
class
|
|
4127
|
+
class lr {
|
|
4096
4128
|
/**
|
|
4097
4129
|
* @param onNewLine - If defined, called separately with the start position of
|
|
4098
4130
|
* each new line (in `parse()`, including the start of input).
|
|
4099
4131
|
*/
|
|
4100
4132
|
constructor(e) {
|
|
4101
|
-
this.atNewLine = !0, this.atScalar = !1, this.indent = 0, this.offset = 0, this.onKeyLine = !1, this.stack = [], this.source = "", this.type = "", this.lexer = new
|
|
4133
|
+
this.atNewLine = !0, this.atScalar = !1, this.indent = 0, this.offset = 0, this.onKeyLine = !1, this.stack = [], this.source = "", this.type = "", this.lexer = new ar(), this.onNewLine = e;
|
|
4102
4134
|
}
|
|
4103
4135
|
/**
|
|
4104
4136
|
* Parse `source` as a YAML stream.
|
|
@@ -4122,7 +4154,7 @@ class nr {
|
|
|
4122
4154
|
this.atScalar = !1, yield* this.step(), this.offset += e.length;
|
|
4123
4155
|
return;
|
|
4124
4156
|
}
|
|
4125
|
-
const t =
|
|
4157
|
+
const t = ir(e);
|
|
4126
4158
|
if (t)
|
|
4127
4159
|
if (t === "scalar")
|
|
4128
4160
|
this.atNewLine = !1, this.atScalar = !0, this.type = "scalar";
|
|
@@ -4211,7 +4243,7 @@ class nr {
|
|
|
4211
4243
|
yield t;
|
|
4212
4244
|
else {
|
|
4213
4245
|
const n = this.peek(1);
|
|
4214
|
-
switch (t.type === "block-scalar" ? t.indent = "indent" in n ? n.indent : 0 : t.type === "flow-collection" && n.type === "document" && (t.indent = 0), t.type === "flow-collection" &&
|
|
4246
|
+
switch (t.type === "block-scalar" ? t.indent = "indent" in n ? n.indent : 0 : t.type === "flow-collection" && n.type === "document" && (t.indent = 0), t.type === "flow-collection" && ps(t), n.type) {
|
|
4215
4247
|
case "document":
|
|
4216
4248
|
n.value = t;
|
|
4217
4249
|
break;
|
|
@@ -4246,7 +4278,7 @@ class nr {
|
|
|
4246
4278
|
}
|
|
4247
4279
|
if ((n.type === "document" || n.type === "block-map" || n.type === "block-seq") && (t.type === "block-map" || t.type === "block-seq")) {
|
|
4248
4280
|
const i = t.items[t.items.length - 1];
|
|
4249
|
-
i && !i.sep && !i.value && i.start.length > 0 &&
|
|
4281
|
+
i && !i.sep && !i.value && i.start.length > 0 && hs(i.start) === -1 && (t.indent === 0 || i.start.every((r) => r.type !== "comment" || r.indent < t.indent)) && (n.type === "document" ? n.end = i.start : n.items.push({ start: i.start }), t.items.splice(-1, 1));
|
|
4250
4282
|
}
|
|
4251
4283
|
}
|
|
4252
4284
|
}
|
|
@@ -4284,7 +4316,7 @@ class nr {
|
|
|
4284
4316
|
return yield* this.lineEnd(e);
|
|
4285
4317
|
switch (this.type) {
|
|
4286
4318
|
case "doc-start": {
|
|
4287
|
-
|
|
4319
|
+
hs(e.start) !== -1 ? (yield* this.pop(), yield* this.step()) : e.start.push(this.sourceToken);
|
|
4288
4320
|
return;
|
|
4289
4321
|
}
|
|
4290
4322
|
case "anchor":
|
|
@@ -4414,7 +4446,7 @@ class nr {
|
|
|
4414
4446
|
indent: this.indent,
|
|
4415
4447
|
items: [{ start: o, key: null, sep: [this.sourceToken] }]
|
|
4416
4448
|
});
|
|
4417
|
-
else if (
|
|
4449
|
+
else if (pn(t.key) && !W(t.sep, "newline")) {
|
|
4418
4450
|
const a = ie(t.start), c = t.key, l = t.sep;
|
|
4419
4451
|
l.push(this.sourceToken), delete t.key, delete t.sep, this.stack.push({
|
|
4420
4452
|
type: "block-map",
|
|
@@ -4564,7 +4596,7 @@ class nr {
|
|
|
4564
4596
|
yield* this.pop(), yield* this.step();
|
|
4565
4597
|
else if (this.type === "map-value-ind" && n.type !== "flow-collection") {
|
|
4566
4598
|
const i = Ue(n), r = ie(i);
|
|
4567
|
-
|
|
4599
|
+
ps(e);
|
|
4568
4600
|
const o = e.end.splice(1, e.end.length);
|
|
4569
4601
|
o.push(this.sourceToken);
|
|
4570
4602
|
const a = {
|
|
@@ -4673,56 +4705,56 @@ class nr {
|
|
|
4673
4705
|
}
|
|
4674
4706
|
}
|
|
4675
4707
|
}
|
|
4676
|
-
function
|
|
4708
|
+
function fr(s) {
|
|
4677
4709
|
const e = s.prettyErrors !== !1;
|
|
4678
|
-
return { lineCounter: s.lineCounter || e && new
|
|
4710
|
+
return { lineCounter: s.lineCounter || e && new cr() || null, prettyErrors: e };
|
|
4679
4711
|
}
|
|
4680
|
-
function
|
|
4681
|
-
const { lineCounter: t, prettyErrors: n } =
|
|
4712
|
+
function ur(s, e = {}) {
|
|
4713
|
+
const { lineCounter: t, prettyErrors: n } = fr(e), i = new lr(t == null ? void 0 : t.addNewLine), r = new nr(e);
|
|
4682
4714
|
let o = null;
|
|
4683
4715
|
for (const a of r.compose(i.parse(s), !0, s.length))
|
|
4684
4716
|
if (!o)
|
|
4685
4717
|
o = a;
|
|
4686
4718
|
else if (o.options.logLevel !== "silent") {
|
|
4687
|
-
o.errors.push(new
|
|
4719
|
+
o.errors.push(new Te(a.range.slice(0, 2), "MULTIPLE_DOCS", "Source contains multiple documents; please use YAML.parseAllDocuments()"));
|
|
4688
4720
|
break;
|
|
4689
4721
|
}
|
|
4690
|
-
return n && t && (o.errors.forEach(
|
|
4722
|
+
return n && t && (o.errors.forEach(ls(s, t)), o.warnings.forEach(ls(s, t))), o;
|
|
4691
4723
|
}
|
|
4692
|
-
function
|
|
4724
|
+
function dr(s, e, t) {
|
|
4693
4725
|
let n;
|
|
4694
|
-
const i =
|
|
4726
|
+
const i = ur(s, t);
|
|
4695
4727
|
if (!i)
|
|
4696
4728
|
return null;
|
|
4697
|
-
if (i.warnings.forEach((r) =>
|
|
4729
|
+
if (i.warnings.forEach((r) => Ks(i.options.logLevel, r)), i.errors.length > 0) {
|
|
4698
4730
|
if (i.options.logLevel !== "silent")
|
|
4699
4731
|
throw i.errors[0];
|
|
4700
4732
|
i.errors = [];
|
|
4701
4733
|
}
|
|
4702
4734
|
return i.toJS(Object.assign({ reviver: n }, t));
|
|
4703
4735
|
}
|
|
4704
|
-
function
|
|
4736
|
+
function hr(s, e, t) {
|
|
4705
4737
|
let n = null;
|
|
4706
4738
|
if (Array.isArray(e) && (n = e), s === void 0) {
|
|
4707
4739
|
const { keepUndefined: i } = {};
|
|
4708
4740
|
if (!i)
|
|
4709
4741
|
return;
|
|
4710
4742
|
}
|
|
4711
|
-
return
|
|
4743
|
+
return Le(s) && !n ? s.toString(t) : new De(s, n, t).toString(t);
|
|
4712
4744
|
}
|
|
4713
|
-
const
|
|
4714
|
-
function
|
|
4745
|
+
const pr = /^#{2,3}\s+/, $t = /^[-*]\s+\[([ xX])\]\s+(.*)$/, mr = /^\[review\]\s+(.*)$/, gr = /^-\s+(\d{4}-\d{2}-\d{2}):\s*(.*)$/, yr = /^\[(?:phase:(\d+)|body)\]\s+(?:\[(decision|question)\]\s+)?(.*)$/, wr = /^-\s+\[([ xX])\]\s+(?:(\d{4}-\d{2}-\d{2})\s+)?\[(log|clarification|review|note|decision|question|chat)\]\s+(\[agent\]\s+)?(.*)$/, br = ["note", "decision", "question"];
|
|
4746
|
+
function mn(s, e, t) {
|
|
4715
4747
|
const n = [];
|
|
4716
4748
|
let i = e;
|
|
4717
4749
|
for (; i < t; ) {
|
|
4718
|
-
const r = s[i].match(
|
|
4750
|
+
const r = s[i].match($t);
|
|
4719
4751
|
if (r) {
|
|
4720
|
-
const o = r[1].toLowerCase() === "x", a = r[2].trim(), c = a.match(
|
|
4752
|
+
const o = r[1].toLowerCase() === "x", a = r[2].trim(), c = a.match(mr), l = c ? c[1].trim() : a, u = c ? "review" : void 0, f = [];
|
|
4721
4753
|
for (i++; i < t; ) {
|
|
4722
|
-
const
|
|
4723
|
-
if (
|
|
4724
|
-
if (/^\s/.test(
|
|
4725
|
-
f.push(
|
|
4754
|
+
const d = s[i];
|
|
4755
|
+
if (d.trim() === "" || $t.test(d) || pr.test(d)) break;
|
|
4756
|
+
if (/^\s/.test(d))
|
|
4757
|
+
f.push(d.trimStart()), i++;
|
|
4726
4758
|
else
|
|
4727
4759
|
break;
|
|
4728
4760
|
}
|
|
@@ -4738,15 +4770,15 @@ function un(s, e, t) {
|
|
|
4738
4770
|
}
|
|
4739
4771
|
return n;
|
|
4740
4772
|
}
|
|
4741
|
-
function
|
|
4773
|
+
function Ht(s, e, t) {
|
|
4742
4774
|
const n = [];
|
|
4743
4775
|
for (let i = e; i < t; i++) {
|
|
4744
|
-
const r = s[i].match(
|
|
4776
|
+
const r = s[i].match(gr);
|
|
4745
4777
|
r && n.push({ date: r[1], text: r[2].trim() });
|
|
4746
4778
|
}
|
|
4747
4779
|
return n;
|
|
4748
4780
|
}
|
|
4749
|
-
function
|
|
4781
|
+
function gn(s, e) {
|
|
4750
4782
|
const t = [s];
|
|
4751
4783
|
for (const n of e) {
|
|
4752
4784
|
const i = n.source === "review" ? `[review] ${n.text}` : n.text;
|
|
@@ -4756,18 +4788,18 @@ function dn(s, e) {
|
|
|
4756
4788
|
}
|
|
4757
4789
|
return t;
|
|
4758
4790
|
}
|
|
4759
|
-
function
|
|
4791
|
+
function Gt(s, e) {
|
|
4760
4792
|
return [s, ...e.map((t) => `- ${t.date}: ${t.text}`)];
|
|
4761
4793
|
}
|
|
4762
|
-
function
|
|
4794
|
+
function kr(s) {
|
|
4763
4795
|
return s.kind === "phase" ? `[phase:${s.index}]` : "[body]";
|
|
4764
4796
|
}
|
|
4765
|
-
function
|
|
4797
|
+
function Sr(s, e, t) {
|
|
4766
4798
|
const n = [];
|
|
4767
4799
|
for (let i = e; i < t; i++) {
|
|
4768
|
-
const r = s[i].match(
|
|
4800
|
+
const r = s[i].match($t);
|
|
4769
4801
|
if (!r) continue;
|
|
4770
|
-
const o = r[2].trim().match(
|
|
4802
|
+
const o = r[2].trim().match(yr);
|
|
4771
4803
|
if (!o) continue;
|
|
4772
4804
|
const a = o[1] ? { kind: "phase", index: Number(o[1]) } : { kind: "body" }, c = o[2];
|
|
4773
4805
|
n.push({
|
|
@@ -4779,52 +4811,52 @@ function mr(s, e, t) {
|
|
|
4779
4811
|
}
|
|
4780
4812
|
return n;
|
|
4781
4813
|
}
|
|
4782
|
-
function
|
|
4814
|
+
function Er(s) {
|
|
4783
4815
|
const e = ["### Notes"];
|
|
4784
4816
|
for (const t of s) {
|
|
4785
4817
|
const n = t.kind && t.kind !== "note" ? `[${t.kind}] ` : "";
|
|
4786
4818
|
e.push(
|
|
4787
|
-
`- [${t.state === "resolved" ? "x" : " "}] ${
|
|
4819
|
+
`- [${t.state === "resolved" ? "x" : " "}] ${kr(t.anchor)} ${n}${t.prose}`
|
|
4788
4820
|
);
|
|
4789
4821
|
}
|
|
4790
4822
|
return e;
|
|
4791
4823
|
}
|
|
4792
4824
|
const ct = {
|
|
4793
4825
|
headingRe: /^#{2,3}\s+Phases\s*$/i,
|
|
4794
|
-
parseEntries:
|
|
4795
|
-
formatLines: (s) =>
|
|
4796
|
-
},
|
|
4826
|
+
parseEntries: mn,
|
|
4827
|
+
formatLines: (s) => gn("### Phases", s)
|
|
4828
|
+
}, yn = {
|
|
4797
4829
|
headingRe: /^#{2,3}\s+Fixes\s*$/i,
|
|
4798
|
-
parseEntries:
|
|
4799
|
-
formatLines: (s) =>
|
|
4800
|
-
},
|
|
4830
|
+
parseEntries: mn,
|
|
4831
|
+
formatLines: (s) => gn("### Fixes", s)
|
|
4832
|
+
}, je = {
|
|
4801
4833
|
headingRe: /^#{2,3}\s+Log\s*$/i,
|
|
4802
|
-
parseEntries:
|
|
4803
|
-
formatLines: (s) =>
|
|
4804
|
-
},
|
|
4834
|
+
parseEntries: Ht,
|
|
4835
|
+
formatLines: (s) => Gt("### Log", s)
|
|
4836
|
+
}, Vt = {
|
|
4805
4837
|
headingRe: /^#{2,3}\s+Clarifications\s*$/i,
|
|
4806
|
-
parseEntries:
|
|
4807
|
-
formatLines: (s) =>
|
|
4808
|
-
},
|
|
4838
|
+
parseEntries: Ht,
|
|
4839
|
+
formatLines: (s) => Gt("### Clarifications", s)
|
|
4840
|
+
}, Jt = {
|
|
4809
4841
|
headingRe: /^#{2,3}\s+Notes\s*$/i,
|
|
4810
|
-
parseEntries:
|
|
4811
|
-
formatLines:
|
|
4812
|
-
},
|
|
4842
|
+
parseEntries: Sr,
|
|
4843
|
+
formatLines: Er
|
|
4844
|
+
}, Nr = {
|
|
4813
4845
|
headingRe: /^#{2,3}\s+Review\s*$/i,
|
|
4814
|
-
parseEntries:
|
|
4815
|
-
formatLines: (s) =>
|
|
4846
|
+
parseEntries: Ht,
|
|
4847
|
+
formatLines: (s) => Gt("### Review", s)
|
|
4816
4848
|
};
|
|
4817
|
-
function
|
|
4849
|
+
function Ir(s, e, t) {
|
|
4818
4850
|
const n = [];
|
|
4819
4851
|
for (let i = e; i < t; i++) {
|
|
4820
|
-
const r = s[i].match(
|
|
4852
|
+
const r = s[i].match(wr);
|
|
4821
4853
|
if (!r) continue;
|
|
4822
4854
|
const o = r[3], a = { kind: o, text: r[5].trim() };
|
|
4823
|
-
r[2] && (a.date = r[2]), r[4] && (a.from = "agent"),
|
|
4855
|
+
r[2] && (a.date = r[2]), r[4] && (a.from = "agent"), br.includes(o) && (a.state = r[1].toLowerCase() === "x" ? "resolved" : "open"), n.push(a);
|
|
4824
4856
|
}
|
|
4825
4857
|
return n;
|
|
4826
4858
|
}
|
|
4827
|
-
function
|
|
4859
|
+
function Tr(s) {
|
|
4828
4860
|
const e = ["### Thread"];
|
|
4829
4861
|
for (const t of s) {
|
|
4830
4862
|
const n = t.state ? t.state === "resolved" : !0, i = t.date ? `${t.date} ` : "", r = t.from === "agent" ? "[agent] " : "";
|
|
@@ -4832,12 +4864,12 @@ function br(s) {
|
|
|
4832
4864
|
}
|
|
4833
4865
|
return e;
|
|
4834
4866
|
}
|
|
4835
|
-
const
|
|
4867
|
+
const wn = {
|
|
4836
4868
|
headingRe: /^#{2,3}\s+Thread\s*$/i,
|
|
4837
|
-
parseEntries:
|
|
4838
|
-
formatLines:
|
|
4869
|
+
parseEntries: Ir,
|
|
4870
|
+
formatLines: Tr
|
|
4839
4871
|
};
|
|
4840
|
-
function
|
|
4872
|
+
function $r(s = [], e = [], t = [], n = []) {
|
|
4841
4873
|
const i = [
|
|
4842
4874
|
...s.map((o) => ({ kind: "log", date: o.date, text: o.text })),
|
|
4843
4875
|
...e.map((o) => ({ kind: "clarification", date: o.date, text: o.text })),
|
|
@@ -4849,19 +4881,19 @@ function kr(s = [], e = [], t = [], n = []) {
|
|
|
4849
4881
|
}));
|
|
4850
4882
|
return [...i, ...r];
|
|
4851
4883
|
}
|
|
4852
|
-
function
|
|
4884
|
+
function Wt(s, e) {
|
|
4853
4885
|
return s.filter((t) => t.kind === e).map((t) => ({ date: t.date ?? "", text: t.text }));
|
|
4854
4886
|
}
|
|
4855
|
-
function
|
|
4856
|
-
return
|
|
4887
|
+
function bn(s = []) {
|
|
4888
|
+
return Wt(s, "log");
|
|
4857
4889
|
}
|
|
4858
|
-
function
|
|
4859
|
-
return
|
|
4890
|
+
function Ar(s = []) {
|
|
4891
|
+
return Wt(s, "clarification");
|
|
4860
4892
|
}
|
|
4861
|
-
function
|
|
4862
|
-
return
|
|
4893
|
+
function vr(s = []) {
|
|
4894
|
+
return Wt(s, "review");
|
|
4863
4895
|
}
|
|
4864
|
-
function
|
|
4896
|
+
function Or(s = []) {
|
|
4865
4897
|
return s.filter(
|
|
4866
4898
|
(e) => e.kind === "note" || e.kind === "decision" || e.kind === "question"
|
|
4867
4899
|
).map((e) => ({
|
|
@@ -4871,10 +4903,10 @@ function Nr(s = []) {
|
|
|
4871
4903
|
kind: e.kind
|
|
4872
4904
|
}));
|
|
4873
4905
|
}
|
|
4874
|
-
function
|
|
4906
|
+
function ea(s, e, t) {
|
|
4875
4907
|
return [...(s ?? []).filter((n) => !e.includes(n.kind)), ...t];
|
|
4876
4908
|
}
|
|
4877
|
-
function
|
|
4909
|
+
function ta(s, e, t, n) {
|
|
4878
4910
|
return s.map((i, r) => {
|
|
4879
4911
|
if (r !== e) return i;
|
|
4880
4912
|
const o = n ? `${i.text}
|
|
@@ -4885,39 +4917,39 @@ ${n}` : i.text;
|
|
|
4885
4917
|
return { ...c, kind: t, text: o };
|
|
4886
4918
|
});
|
|
4887
4919
|
}
|
|
4888
|
-
function
|
|
4920
|
+
function sa(s = []) {
|
|
4889
4921
|
const e = s.reduce((t, n, i) => n.kind === "log" ? i : t, -1);
|
|
4890
4922
|
return s.slice(e + 1).filter((t) => t.kind === "chat");
|
|
4891
4923
|
}
|
|
4892
|
-
const
|
|
4924
|
+
const Ne = b.preprocess(
|
|
4893
4925
|
(s) => typeof s == "string" ? { agent: s } : s,
|
|
4894
4926
|
b.object({
|
|
4895
|
-
agent: b.enum(
|
|
4927
|
+
agent: b.enum(Ce),
|
|
4896
4928
|
model: b.string().optional(),
|
|
4897
4929
|
effort: b.string().optional()
|
|
4898
4930
|
})
|
|
4899
|
-
), Q = b.string().regex(/^\d{4}-\d{2}-\d{2}$/, "expected YYYY-MM-DD"),
|
|
4931
|
+
), Q = b.string().regex(/^\d{4}-\d{2}-\d{2}$/, "expected YYYY-MM-DD"), Cr = b.object({
|
|
4900
4932
|
status: b.enum(["idea", "planned", "in-progress", "review", "done", "dropped"]),
|
|
4901
4933
|
kind: b.enum(["feat", "fix", "chore", "docs", "refactor"]).optional(),
|
|
4902
4934
|
id: b.string().optional(),
|
|
4903
4935
|
idea: b.string().optional(),
|
|
4904
|
-
agent: b.enum(
|
|
4936
|
+
agent: b.enum(Ce).optional(),
|
|
4905
4937
|
created: Q,
|
|
4906
4938
|
updated: Q.optional(),
|
|
4907
4939
|
tags: b.string().optional()
|
|
4908
|
-
}),
|
|
4940
|
+
}), Lr = b.object({
|
|
4909
4941
|
id: b.string().describe("Permanent plan ID, e.g. FEAT-24"),
|
|
4910
4942
|
title: b.string().describe('Human-readable plan name, e.g. "Plan storage architecture"'),
|
|
4911
4943
|
kind: b.enum(["feat", "fix", "chore", "docs", "refactor"]).describe("Plan kind matching Conventional Commits types"),
|
|
4912
4944
|
status: b.enum(["idea", "planned", "in-progress", "review", "done", "dropped"]).describe("Current lifecycle status"),
|
|
4913
4945
|
idea: b.string().optional().describe("IDEA-N backlink if this plan grew out of an idea"),
|
|
4914
|
-
agent: b.enum(
|
|
4946
|
+
agent: b.enum(Ce).optional().describe("Per-plan agent override"),
|
|
4915
4947
|
created: Q.describe("Creation date (YYYY-MM-DD)"),
|
|
4916
4948
|
updated: Q.optional().describe("Last significant update date (YYYY-MM-DD)"),
|
|
4917
4949
|
audited: Q.optional().describe("Date of last successful convergence audit (YYYY-MM-DD)"),
|
|
4918
4950
|
"audited-hash": b.string().optional().describe("Content hash of the plan at last audit, used to detect edits regardless of mtime"),
|
|
4919
4951
|
tags: b.array(b.string()).optional().describe("Tagging categories")
|
|
4920
|
-
}),
|
|
4952
|
+
}), _r = b.object({
|
|
4921
4953
|
id: b.string().describe("Permanent idea ID, e.g. IDEA-20"),
|
|
4922
4954
|
title: b.string().describe("Short idea headline (3-6 words)"),
|
|
4923
4955
|
kind: b.enum(["idea", "note"]).optional().describe('"note" for ideas that never need a plan; omitted means a plan-bearing idea'),
|
|
@@ -4925,7 +4957,7 @@ const Ee = b.preprocess(
|
|
|
4925
4957
|
}).refine((s) => s.status === void 0 || s.kind === "note", {
|
|
4926
4958
|
message: "status is only valid on ideas with kind: note",
|
|
4927
4959
|
path: ["status"]
|
|
4928
|
-
}),
|
|
4960
|
+
}), Pr = b.object({
|
|
4929
4961
|
id: b.string().describe("Permanent lifetime entity ID, e.g. IDEA-45 — never changes"),
|
|
4930
4962
|
title: b.string().describe("Human-readable entity name"),
|
|
4931
4963
|
type: b.enum(["feat", "fix", "chore", "docs", "refactor"]).optional().describe(
|
|
@@ -4935,7 +4967,7 @@ const Ee = b.preprocess(
|
|
|
4935
4967
|
status: b.enum(["idea", "planned", "in-progress", "review", "done", "dropped", "open"]).optional().describe(
|
|
4936
4968
|
"Stored override, no longer the source of truth: most lifecycle states derive from phases/branch/PR. Only dropped, a planless idea/note being closed, or the offline fallback need this set."
|
|
4937
4969
|
),
|
|
4938
|
-
agent: b.enum(
|
|
4970
|
+
agent: b.enum(Ce).optional().describe("Per-entity agent override"),
|
|
4939
4971
|
created: Q.describe("Creation date (YYYY-MM-DD)"),
|
|
4940
4972
|
updated: Q.optional().describe("Last significant update date (YYYY-MM-DD)"),
|
|
4941
4973
|
audited: Q.optional().describe("Date of last successful convergence audit (YYYY-MM-DD)"),
|
|
@@ -4957,7 +4989,7 @@ const Ee = b.preprocess(
|
|
|
4957
4989
|
).refine((s) => s.kind === "note" || s.status !== "open", {
|
|
4958
4990
|
message: "status open is only valid on entities with kind: note",
|
|
4959
4991
|
path: ["status"]
|
|
4960
|
-
}),
|
|
4992
|
+
}), Rr = b.object({
|
|
4961
4993
|
version: b.string(),
|
|
4962
4994
|
projectName: b.string(),
|
|
4963
4995
|
initializedAt: b.string(),
|
|
@@ -4971,22 +5003,22 @@ const Ee = b.preprocess(
|
|
|
4971
5003
|
docs: b.number().optional(),
|
|
4972
5004
|
refactor: b.number().optional()
|
|
4973
5005
|
}).optional(),
|
|
4974
|
-
defaultAgent: b.enum(
|
|
5006
|
+
defaultAgent: b.enum(Ce).optional(),
|
|
4975
5007
|
defaultAgents: b.object({
|
|
4976
|
-
phase:
|
|
4977
|
-
planDraft:
|
|
4978
|
-
ideaExtend:
|
|
4979
|
-
commitSuggest:
|
|
4980
|
-
feedback:
|
|
5008
|
+
phase: Ne,
|
|
5009
|
+
planDraft: Ne,
|
|
5010
|
+
ideaExtend: Ne,
|
|
5011
|
+
commitSuggest: Ne,
|
|
5012
|
+
feedback: Ne
|
|
4981
5013
|
}).optional()
|
|
4982
|
-
}),
|
|
5014
|
+
}), ms = /^##\s+(.+?)\s*$/, Dr = /^\*\*([A-Za-z][A-Za-z-]*):\*\*\s*(.*)$/, Mr = /^#{2,3}\s+/;
|
|
4983
5015
|
function ze(s, e) {
|
|
4984
5016
|
const t = s.split(`
|
|
4985
5017
|
`), n = t.findIndex((a) => e.headingRe.test(a));
|
|
4986
5018
|
if (n === -1) return { body: s, entries: [] };
|
|
4987
5019
|
let i = t.length;
|
|
4988
5020
|
for (let a = n + 1; a < t.length; a++)
|
|
4989
|
-
if (
|
|
5021
|
+
if (Mr.test(t[a])) {
|
|
4990
5022
|
i = a;
|
|
4991
5023
|
break;
|
|
4992
5024
|
}
|
|
@@ -4994,14 +5026,14 @@ function ze(s, e) {
|
|
|
4994
5026
|
return { body: [...t.slice(0, n), ...t.slice(i)].join(`
|
|
4995
5027
|
`).trim(), entries: r };
|
|
4996
5028
|
}
|
|
4997
|
-
const
|
|
5029
|
+
const gs = {
|
|
4998
5030
|
phases: ct,
|
|
4999
|
-
log:
|
|
5000
|
-
clarifications:
|
|
5001
|
-
notes:
|
|
5002
|
-
review:
|
|
5031
|
+
log: je,
|
|
5032
|
+
clarifications: Vt,
|
|
5033
|
+
notes: Jt,
|
|
5034
|
+
review: Nr
|
|
5003
5035
|
};
|
|
5004
|
-
function
|
|
5036
|
+
function xt(s) {
|
|
5005
5037
|
const e = {
|
|
5006
5038
|
phases: [],
|
|
5007
5039
|
log: [],
|
|
@@ -5010,39 +5042,39 @@ function Jt(s) {
|
|
|
5010
5042
|
review: []
|
|
5011
5043
|
};
|
|
5012
5044
|
let t = s;
|
|
5013
|
-
for (const n of Object.keys(
|
|
5014
|
-
const i = ze(t,
|
|
5045
|
+
for (const n of Object.keys(gs)) {
|
|
5046
|
+
const i = ze(t, gs[n]);
|
|
5015
5047
|
t = i.body, e[n] = i.entries;
|
|
5016
5048
|
}
|
|
5017
5049
|
return { body: t, ...e };
|
|
5018
5050
|
}
|
|
5019
|
-
function
|
|
5051
|
+
function jr(s) {
|
|
5020
5052
|
const e = s.split(`
|
|
5021
5053
|
`), t = [];
|
|
5022
5054
|
for (let i = 0; i < e.length; i++)
|
|
5023
|
-
|
|
5055
|
+
ms.test(e[i]) && t.push(i);
|
|
5024
5056
|
const n = [];
|
|
5025
5057
|
for (let i = 0; i < t.length; i++) {
|
|
5026
|
-
const r = t[i], o = i + 1 < t.length ? t[i + 1] : e.length, a = e[r].match(
|
|
5058
|
+
const r = t[i], o = i + 1 < t.length ? t[i + 1] : e.length, a = e[r].match(ms)[1], c = e.slice(r + 1, o);
|
|
5027
5059
|
let l = 0;
|
|
5028
5060
|
for (; l < c.length && c[l].trim() === ""; ) l++;
|
|
5029
5061
|
const u = {};
|
|
5030
5062
|
for (; l < c.length; ) {
|
|
5031
|
-
const w = c[l].match(
|
|
5063
|
+
const w = c[l].match(Dr);
|
|
5032
5064
|
if (!w) break;
|
|
5033
5065
|
u[w[1].toLowerCase()] = w[2].trim(), l++;
|
|
5034
5066
|
}
|
|
5035
5067
|
for (; l < c.length && c[l].trim() === ""; ) l++;
|
|
5036
5068
|
const f = c.slice(l).join(`
|
|
5037
|
-
`).trim(), { body:
|
|
5038
|
-
n.push({ title: a, fields: u, body:
|
|
5069
|
+
`).trim(), { body: d, phases: p, log: g, clarifications: h, notes: m, review: y } = xt(f);
|
|
5070
|
+
n.push({ title: a, fields: u, body: d, phases: p, log: g, clarifications: h, notes: m, review: y });
|
|
5039
5071
|
}
|
|
5040
5072
|
return n;
|
|
5041
5073
|
}
|
|
5042
|
-
function
|
|
5074
|
+
function na(s) {
|
|
5043
5075
|
const e = [], t = [];
|
|
5044
|
-
for (const n of
|
|
5045
|
-
const i =
|
|
5076
|
+
for (const n of jr(s)) {
|
|
5077
|
+
const i = Cr.safeParse(n.fields);
|
|
5046
5078
|
if (!i.success) {
|
|
5047
5079
|
t.push({
|
|
5048
5080
|
title: n.title,
|
|
@@ -5071,15 +5103,15 @@ function ta(s) {
|
|
|
5071
5103
|
}
|
|
5072
5104
|
return { entries: e, warnings: t };
|
|
5073
5105
|
}
|
|
5074
|
-
const
|
|
5075
|
-
function
|
|
5076
|
-
const t = [], n = s.match(
|
|
5106
|
+
const Br = /^---\s*\r?\n([\s\S]*?)\r?\n---\s*(?:\r?\n)?/;
|
|
5107
|
+
function zt(s, e) {
|
|
5108
|
+
const t = [], n = s.match(Br);
|
|
5077
5109
|
if (!n)
|
|
5078
5110
|
return { data: null, body: s.trim(), warnings: t };
|
|
5079
5111
|
const i = n[1], r = s.slice(n[0].length).trim();
|
|
5080
5112
|
let o;
|
|
5081
5113
|
try {
|
|
5082
|
-
o =
|
|
5114
|
+
o = dr(i);
|
|
5083
5115
|
} catch (c) {
|
|
5084
5116
|
return t.push({
|
|
5085
5117
|
title: "(frontmatter)",
|
|
@@ -5101,12 +5133,12 @@ function Wt(s, e) {
|
|
|
5101
5133
|
}
|
|
5102
5134
|
return { data: a.data, body: r, warnings: t };
|
|
5103
5135
|
}
|
|
5104
|
-
function
|
|
5136
|
+
function kn(s) {
|
|
5105
5137
|
const e = [], {
|
|
5106
5138
|
data: t,
|
|
5107
5139
|
body: n,
|
|
5108
5140
|
warnings: i
|
|
5109
|
-
} =
|
|
5141
|
+
} = zt(s, Pr);
|
|
5110
5142
|
if (e.push(...i), !t)
|
|
5111
5143
|
return { entries: [], warnings: e };
|
|
5112
5144
|
const {
|
|
@@ -5116,7 +5148,7 @@ function gn(s) {
|
|
|
5116
5148
|
clarifications: c,
|
|
5117
5149
|
notes: l,
|
|
5118
5150
|
review: u
|
|
5119
|
-
} =
|
|
5151
|
+
} = xt(n), { body: f, entries: d } = ze(r, yn), { body: p, entries: g } = ze(f, wn), h = [...g, ...$r(a, c, l, u)];
|
|
5120
5152
|
return t.kind === "note" && o.length > 0 && e.push({
|
|
5121
5153
|
title: t.title,
|
|
5122
5154
|
message: "note entities must not carry a Phases section — kept, but fix the file"
|
|
@@ -5137,19 +5169,19 @@ function gn(s) {
|
|
|
5137
5169
|
order: t.order,
|
|
5138
5170
|
body: p,
|
|
5139
5171
|
phases: o,
|
|
5140
|
-
...
|
|
5141
|
-
...
|
|
5172
|
+
...d.length > 0 && { fixes: d },
|
|
5173
|
+
...h.length > 0 && { thread: h }
|
|
5142
5174
|
}], warnings: e };
|
|
5143
5175
|
}
|
|
5144
|
-
function
|
|
5176
|
+
function ia(s) {
|
|
5145
5177
|
const e = [], {
|
|
5146
5178
|
data: t,
|
|
5147
5179
|
body: n,
|
|
5148
5180
|
warnings: i
|
|
5149
|
-
} =
|
|
5181
|
+
} = zt(s, Lr);
|
|
5150
5182
|
if (e.push(...i), !t)
|
|
5151
5183
|
return { entries: [], warnings: e };
|
|
5152
|
-
const { body: r, phases: o, log: a, clarifications: c, notes: l, review: u } =
|
|
5184
|
+
const { body: r, phases: o, log: a, clarifications: c, notes: l, review: u } = xt(n);
|
|
5153
5185
|
return { entries: [{
|
|
5154
5186
|
title: t.title,
|
|
5155
5187
|
status: t.status,
|
|
@@ -5170,15 +5202,15 @@ function sa(s) {
|
|
|
5170
5202
|
review: u
|
|
5171
5203
|
}], warnings: e };
|
|
5172
5204
|
}
|
|
5173
|
-
function
|
|
5205
|
+
function ra(s) {
|
|
5174
5206
|
const {
|
|
5175
5207
|
data: e,
|
|
5176
5208
|
body: t,
|
|
5177
5209
|
warnings: n
|
|
5178
|
-
} =
|
|
5210
|
+
} = zt(s, _r);
|
|
5179
5211
|
if (!e)
|
|
5180
5212
|
return { entries: [], warnings: n };
|
|
5181
|
-
const { body: i, entries: r } = ze(t,
|
|
5213
|
+
const { body: i, entries: r } = ze(t, je);
|
|
5182
5214
|
return { entries: [{
|
|
5183
5215
|
id: e.id,
|
|
5184
5216
|
title: e.title,
|
|
@@ -5188,28 +5220,38 @@ function na(s) {
|
|
|
5188
5220
|
...r.length > 0 && { log: r }
|
|
5189
5221
|
}], warnings: n };
|
|
5190
5222
|
}
|
|
5191
|
-
const
|
|
5192
|
-
function
|
|
5193
|
-
return s.split(
|
|
5223
|
+
const Kr = /^(IDEA-\d+):\s*/, Fr = /\n---+\n/;
|
|
5224
|
+
function oa(s) {
|
|
5225
|
+
return s.split(Fr).filter(Boolean).map((t) => {
|
|
5194
5226
|
var c;
|
|
5195
5227
|
const n = t.match(/^#{1,3}\s+(.+)/m), i = n ? n[1].trim() : ((c = t.trim().split(`
|
|
5196
|
-
`)[0]) == null ? void 0 : c.trim()) ?? "Untitled", r = i.match(
|
|
5228
|
+
`)[0]) == null ? void 0 : c.trim()) ?? "Untitled", r = i.match(Kr), o = (r == null ? void 0 : r[1]) ?? null, a = o ? i.slice(r[0].length) : i;
|
|
5197
5229
|
return { id: o, title: a, body: t.trim() };
|
|
5198
5230
|
});
|
|
5199
5231
|
}
|
|
5200
|
-
|
|
5232
|
+
const ys = 40;
|
|
5233
|
+
function qr(s, e = []) {
|
|
5201
5234
|
const t = [];
|
|
5202
5235
|
for (const n of s)
|
|
5203
|
-
n.archived
|
|
5236
|
+
if (!n.archived && (n.subject && !e.includes(n.subject) && t.push({
|
|
5204
5237
|
kind: "orphan-subject",
|
|
5205
5238
|
section: "plans",
|
|
5206
5239
|
title: n.title,
|
|
5207
5240
|
planId: n.id,
|
|
5208
5241
|
message: `Subject "${n.subject}" isn't in the roadmap vocabulary — "${n.title}"`
|
|
5209
|
-
})
|
|
5242
|
+
}), n.status !== "done" && n.status !== "dropped")) {
|
|
5243
|
+
const i = [];
|
|
5244
|
+
n.title.length > ys && i.push(`${n.title.length} chars over the ${ys}-char limit`), n.title.includes("—") && i.push("em-dash subtitle"), i.length > 0 && t.push({
|
|
5245
|
+
kind: "title-style",
|
|
5246
|
+
section: "plans",
|
|
5247
|
+
title: n.title,
|
|
5248
|
+
planId: n.id,
|
|
5249
|
+
message: `Title style — ${i.join(", ")}; the detail belongs in the body: "${n.title}"`
|
|
5250
|
+
});
|
|
5251
|
+
}
|
|
5210
5252
|
return t;
|
|
5211
5253
|
}
|
|
5212
|
-
function
|
|
5254
|
+
function Ur(s) {
|
|
5213
5255
|
const e = [];
|
|
5214
5256
|
for (const t of s.split(`
|
|
5215
5257
|
`)) {
|
|
@@ -5222,73 +5264,73 @@ function Mr(s) {
|
|
|
5222
5264
|
}
|
|
5223
5265
|
return e;
|
|
5224
5266
|
}
|
|
5225
|
-
const
|
|
5226
|
-
function
|
|
5267
|
+
const Sn = /^-\s+(\d{4}-\d{2}-\d{2}):\s+(.+?)\s+—\s+(.*)$/;
|
|
5268
|
+
function aa(s) {
|
|
5227
5269
|
const e = [];
|
|
5228
5270
|
for (const t of s.split(`
|
|
5229
5271
|
`)) {
|
|
5230
|
-
const n = t.match(
|
|
5272
|
+
const n = t.match(Sn);
|
|
5231
5273
|
n && e.push({ date: n[1], title: n[2].trim(), description: n[3].trim() });
|
|
5232
5274
|
}
|
|
5233
5275
|
return e;
|
|
5234
5276
|
}
|
|
5235
|
-
const
|
|
5236
|
-
function
|
|
5277
|
+
const At = " — ";
|
|
5278
|
+
function Yr(s) {
|
|
5237
5279
|
return s.split(`
|
|
5238
5280
|
`).map((e) => e.trim()).filter((e) => e.length > 0).map((e) => {
|
|
5239
|
-
const t = e.indexOf(
|
|
5281
|
+
const t = e.indexOf(At);
|
|
5240
5282
|
return t === -1 ? { id: e, title: "" } : {
|
|
5241
5283
|
id: e.slice(0, t).trim(),
|
|
5242
|
-
title: e.slice(t +
|
|
5284
|
+
title: e.slice(t + At.length).trim()
|
|
5243
5285
|
};
|
|
5244
5286
|
});
|
|
5245
5287
|
}
|
|
5246
|
-
function
|
|
5247
|
-
return s.length === 0 ? "" : `${s.map((e) => `${e.id}${
|
|
5288
|
+
function ca(s) {
|
|
5289
|
+
return s.length === 0 ? "" : `${s.map((e) => `${e.id}${At}${e.title}`).join(`
|
|
5248
5290
|
`)}
|
|
5249
5291
|
`;
|
|
5250
5292
|
}
|
|
5251
|
-
function
|
|
5293
|
+
function yt(s) {
|
|
5252
5294
|
const e = s.phases.length > 0 && s.phases.every((n) => n.done), t = (s.fixes ?? []).every((n) => n.done);
|
|
5253
5295
|
return e && t;
|
|
5254
5296
|
}
|
|
5255
|
-
function lt(s, e, t) {
|
|
5256
|
-
return s.kind === "note" || s.status === "dropped" ? s.status : e ? e.state === "merged" ? "done" : e.state === "closed" ? "dropped" :
|
|
5297
|
+
function lt(s, e, t, n = !1) {
|
|
5298
|
+
return s.kind === "note" || s.status === "dropped" ? s.status : e ? e.state === "merged" ? yt(s) ? "done" : "planned" : e.state === "closed" ? "dropped" : yt(s) ? "review" : "in-progress" : t ? s.status === "review" || s.status === "done" ? s.status : n && s.phases.length > 0 ? yt(s) ? "review" : "in-progress" : s.phases.length > 0 ? "planned" : "idea" : s.status ?? (s.phases.length > 0 ? "planned" : "idea");
|
|
5257
5299
|
}
|
|
5258
|
-
function
|
|
5300
|
+
function Hr(s, e) {
|
|
5259
5301
|
if (s.kind === "note" || s.archived || (e == null ? void 0 : e.state) !== "merged") return !1;
|
|
5260
5302
|
const t = lt(s, e, !0);
|
|
5261
5303
|
return t === "review" || t === "done";
|
|
5262
5304
|
}
|
|
5263
|
-
async function
|
|
5305
|
+
async function Gr(s) {
|
|
5264
5306
|
try {
|
|
5265
|
-
return await
|
|
5307
|
+
return await ks(s);
|
|
5266
5308
|
} catch {
|
|
5267
5309
|
return [];
|
|
5268
5310
|
}
|
|
5269
5311
|
}
|
|
5270
|
-
async function
|
|
5312
|
+
async function En(s) {
|
|
5271
5313
|
try {
|
|
5272
5314
|
return await pe(s, "utf-8");
|
|
5273
5315
|
} catch {
|
|
5274
5316
|
return "";
|
|
5275
5317
|
}
|
|
5276
5318
|
}
|
|
5277
|
-
async function
|
|
5278
|
-
const e = await
|
|
5279
|
-
return new Map(
|
|
5319
|
+
async function Vr(s) {
|
|
5320
|
+
const e = await En($(s, "..", "run-order.md"));
|
|
5321
|
+
return new Map(Yr(e).map((t, n) => [t.id, n + 1]));
|
|
5280
5322
|
}
|
|
5281
|
-
async function
|
|
5323
|
+
async function Se(s) {
|
|
5282
5324
|
const e = [], t = [];
|
|
5283
5325
|
let n = 0;
|
|
5284
|
-
const i = await
|
|
5326
|
+
const i = await Vr(s);
|
|
5285
5327
|
for (const r of [s, $(s, "archive")]) {
|
|
5286
|
-
const o = r !== s, a = (await
|
|
5328
|
+
const o = r !== s, a = (await Gr(r)).filter((l) => l.endsWith(".md") && l !== "index.md");
|
|
5287
5329
|
n += a.length;
|
|
5288
5330
|
const c = await Promise.all(
|
|
5289
5331
|
a.map(async (l) => {
|
|
5290
|
-
const u = await
|
|
5291
|
-
return u ?
|
|
5332
|
+
const u = await En($(r, l));
|
|
5333
|
+
return u ? kn(u) : { warnings: [{ title: l, message: "Could not read entity file" }] };
|
|
5292
5334
|
})
|
|
5293
5335
|
);
|
|
5294
5336
|
for (const l of c)
|
|
@@ -5298,11 +5340,11 @@ async function ke(s) {
|
|
|
5298
5340
|
}
|
|
5299
5341
|
return { entries: e, warnings: t, fileCount: n };
|
|
5300
5342
|
}
|
|
5301
|
-
function
|
|
5343
|
+
function Nn(s, e, t = !1, n = !1) {
|
|
5302
5344
|
return {
|
|
5303
5345
|
title: s.title,
|
|
5304
5346
|
// Non-note entities can't carry the note-only 'open' (schema-enforced).
|
|
5305
|
-
status: lt(s, e, t),
|
|
5347
|
+
status: lt(s, e, t, n),
|
|
5306
5348
|
kind: s.type,
|
|
5307
5349
|
id: s.id,
|
|
5308
5350
|
agent: s.agent,
|
|
@@ -5317,16 +5359,16 @@ function bn(s, e, t = !1) {
|
|
|
5317
5359
|
body: s.body,
|
|
5318
5360
|
phases: s.phases,
|
|
5319
5361
|
fixes: s.fixes,
|
|
5320
|
-
log:
|
|
5321
|
-
clarifications:
|
|
5322
|
-
notes:
|
|
5323
|
-
review:
|
|
5362
|
+
log: bn(s.thread),
|
|
5363
|
+
clarifications: Ar(s.thread),
|
|
5364
|
+
notes: Or(s.thread),
|
|
5365
|
+
review: vr(s.thread),
|
|
5324
5366
|
thread: s.thread,
|
|
5325
5367
|
archived: s.archived,
|
|
5326
5368
|
pr: e
|
|
5327
5369
|
};
|
|
5328
5370
|
}
|
|
5329
|
-
function
|
|
5371
|
+
function Jr(s) {
|
|
5330
5372
|
return {
|
|
5331
5373
|
id: s.id,
|
|
5332
5374
|
title: s.title,
|
|
@@ -5336,38 +5378,41 @@ function Ur(s) {
|
|
|
5336
5378
|
subject: s.subject,
|
|
5337
5379
|
order: s.order,
|
|
5338
5380
|
created: s.created,
|
|
5339
|
-
log:
|
|
5381
|
+
log: bn(s.thread)
|
|
5340
5382
|
};
|
|
5341
5383
|
}
|
|
5342
|
-
async function
|
|
5343
|
-
const { entries: e, warnings: t } = await
|
|
5344
|
-
|
|
5384
|
+
async function Qt(s) {
|
|
5385
|
+
const { entries: e, warnings: t } = await Se(s), n = $(s, "..", ".."), [i, r] = await Promise.all([
|
|
5386
|
+
Os(n),
|
|
5387
|
+
Ns(n)
|
|
5388
|
+
]);
|
|
5389
|
+
return { entries: e, warnings: t, prs: i, resolved: i !== void 0, mainActivityIds: r };
|
|
5345
5390
|
}
|
|
5346
|
-
async function
|
|
5347
|
-
const { entries: e, warnings: t, prs: n, resolved: i } = await
|
|
5348
|
-
return { entries: e.map((
|
|
5349
|
-
...
|
|
5350
|
-
status: lt(
|
|
5391
|
+
async function la(s) {
|
|
5392
|
+
const { entries: e, warnings: t, prs: n, resolved: i, mainActivityIds: r } = await Qt(s);
|
|
5393
|
+
return { entries: e.map((a) => ({
|
|
5394
|
+
...a,
|
|
5395
|
+
status: lt(a, n == null ? void 0 : n.get(a.id), i, r.has(a.id))
|
|
5351
5396
|
})), warnings: t };
|
|
5352
5397
|
}
|
|
5353
|
-
async function
|
|
5354
|
-
const { entries: e, warnings: t, prs: n, resolved: i } = await
|
|
5398
|
+
async function fa(s) {
|
|
5399
|
+
const { entries: e, warnings: t, prs: n, resolved: i, mainActivityIds: r } = await Qt(s);
|
|
5355
5400
|
return {
|
|
5356
|
-
entries: e.filter((
|
|
5401
|
+
entries: e.filter((o) => o.kind !== "note").map((o) => Nn(o, n == null ? void 0 : n.get(o.id), i, r.has(o.id))),
|
|
5357
5402
|
warnings: t
|
|
5358
5403
|
};
|
|
5359
5404
|
}
|
|
5360
|
-
async function
|
|
5361
|
-
const { entries: e, prs: t } = await
|
|
5405
|
+
async function ua(s) {
|
|
5406
|
+
const { entries: e, prs: t } = await Qt(s);
|
|
5362
5407
|
return e.flatMap((n) => {
|
|
5363
5408
|
const i = t == null ? void 0 : t.get(n.id);
|
|
5364
|
-
return i &&
|
|
5409
|
+
return i && Hr(n, i) ? [{ id: n.id, title: n.title, pr: i }] : [];
|
|
5365
5410
|
});
|
|
5366
5411
|
}
|
|
5367
|
-
async function
|
|
5368
|
-
const { entries: e, warnings: t } = await
|
|
5412
|
+
async function da(s) {
|
|
5413
|
+
const { entries: e, warnings: t } = await Se(s);
|
|
5369
5414
|
return {
|
|
5370
|
-
entries: e.filter((n) => n.kind === "note").map(
|
|
5415
|
+
entries: e.filter((n) => n.kind === "note").map(Jr),
|
|
5371
5416
|
warnings: t
|
|
5372
5417
|
};
|
|
5373
5418
|
}
|
|
@@ -5378,41 +5423,27 @@ async function Qe(s) {
|
|
|
5378
5423
|
return "";
|
|
5379
5424
|
}
|
|
5380
5425
|
}
|
|
5381
|
-
function
|
|
5426
|
+
function In(s, e) {
|
|
5382
5427
|
var t;
|
|
5383
5428
|
return (t = s.split(`
|
|
5384
5429
|
`).find((n) => n.includes(`(${e})`))) == null ? void 0 : t.trim();
|
|
5385
5430
|
}
|
|
5386
|
-
const
|
|
5387
|
-
function
|
|
5388
|
-
const e = s.match(/^Refs:\s*([A-Za-z]+-\d+)\s*$/m);
|
|
5389
|
-
if (e) return e[1].toUpperCase();
|
|
5390
|
-
const t = s.split(`
|
|
5391
|
-
`, 1)[0], n = t.match(/\(([A-Za-z]+-\d+)\)/);
|
|
5392
|
-
if (n) return n[1].toUpperCase();
|
|
5393
|
-
const i = t.match(Yr);
|
|
5394
|
-
return i ? i[1].toUpperCase() : null;
|
|
5395
|
-
}
|
|
5396
|
-
const Hr = /^## \[.+?\]\(.*\/compare\/(.+?)\.\.\.(.+?)\)/;
|
|
5397
|
-
function Gr(s) {
|
|
5431
|
+
const Wr = /^## \[.+?\]\(.*\/compare\/(.+?)\.\.\.(.+?)\)/;
|
|
5432
|
+
function xr(s) {
|
|
5398
5433
|
return s.split(`
|
|
5399
|
-
`).map((e) =>
|
|
5434
|
+
`).map((e) => Wr.exec(e)).filter((e) => e !== null).map((e) => ({ version: e[2], range: `${e[1]}..${e[2]}` }));
|
|
5400
5435
|
}
|
|
5401
|
-
function
|
|
5436
|
+
function zr(s, e) {
|
|
5402
5437
|
return s.split(`
|
|
5403
5438
|
`).find((t) => {
|
|
5404
5439
|
const n = t.match(/\/commit\/([0-9a-f]+)\)/i);
|
|
5405
5440
|
return n ? n[1].startsWith(e) || e.startsWith(n[1]) : !1;
|
|
5406
5441
|
});
|
|
5407
5442
|
}
|
|
5408
|
-
const
|
|
5409
|
-
async function
|
|
5410
|
-
var t;
|
|
5411
|
-
return ((t = (await je(s, ["symbolic-ref", "refs/remotes/origin/HEAD"])).trim().match(/refs\/remotes\/origin\/(.+)/)) == null ? void 0 : t[1]) ?? "main";
|
|
5412
|
-
}
|
|
5413
|
-
async function zr(s, e) {
|
|
5443
|
+
const Qr = /^[a-z]+\/([a-z]+-\d+)-/;
|
|
5444
|
+
async function Xr(s, e) {
|
|
5414
5445
|
var i;
|
|
5415
|
-
const t = await
|
|
5446
|
+
const t = await me(s, [
|
|
5416
5447
|
"for-each-ref",
|
|
5417
5448
|
"--format=%(refname)",
|
|
5418
5449
|
"refs/heads",
|
|
@@ -5421,36 +5452,26 @@ async function zr(s, e) {
|
|
|
5421
5452
|
for (const r of t.split(`
|
|
5422
5453
|
`)) {
|
|
5423
5454
|
const o = r.replace(/^refs\/heads\//, "").replace(/^refs\/remotes\/[^/]+\//, "");
|
|
5424
|
-
if (((i =
|
|
5455
|
+
if (((i = Qr.exec(o)) == null ? void 0 : i[1]) === n) return o;
|
|
5425
5456
|
}
|
|
5426
5457
|
}
|
|
5427
|
-
async function
|
|
5428
|
-
const t = await
|
|
5458
|
+
async function Zr(s, e) {
|
|
5459
|
+
const t = await Xr(s, e);
|
|
5429
5460
|
if (!t) return [];
|
|
5430
|
-
const n = await
|
|
5431
|
-
return (await
|
|
5461
|
+
const n = await Es(s);
|
|
5462
|
+
return (await me(s, ["log", "--format=%s", `${n}..${t}`])).split(`
|
|
5432
5463
|
`).map((r) => r.trim()).filter(Boolean);
|
|
5433
5464
|
}
|
|
5434
|
-
function
|
|
5435
|
-
|
|
5436
|
-
|
|
5437
|
-
const n = K("git", e, { cwd: s, stdio: ["ignore", "pipe", "ignore"] });
|
|
5438
|
-
let i = "";
|
|
5439
|
-
(r = n.stdout) == null || r.on("data", (o) => {
|
|
5440
|
-
i += o.toString();
|
|
5441
|
-
}), n.on("close", () => t(i)), n.on("error", () => t(""));
|
|
5442
|
-
});
|
|
5443
|
-
}
|
|
5444
|
-
async function Xr(s, e) {
|
|
5445
|
-
if (!Wr.test(e)) return null;
|
|
5446
|
-
const t = await je(s, ["log", "-1", "--format=%B", e]), n = t ? ms(t) : null;
|
|
5465
|
+
async function eo(s, e) {
|
|
5466
|
+
if (!Hn.test(e)) return null;
|
|
5467
|
+
const t = await me(s, ["log", "-1", "--format=%B", e]), n = t ? wt(t) : null;
|
|
5447
5468
|
if (n) return n;
|
|
5448
|
-
const i = await Qe($(s, "CHANGELOG.md")), r =
|
|
5449
|
-
return r ?
|
|
5469
|
+
const i = await Qe($(s, "CHANGELOG.md")), r = zr(i, e);
|
|
5470
|
+
return r ? wt(r) : null;
|
|
5450
5471
|
}
|
|
5451
|
-
async function
|
|
5452
|
-
const n = (await
|
|
5453
|
-
`).map((o) => o.trim()).filter(Boolean), i = await Promise.all(n.map((o) =>
|
|
5472
|
+
async function to(s, e) {
|
|
5473
|
+
const n = (await me(s, ["log", "--format=%H", "--reverse", e])).split(`
|
|
5474
|
+
`).map((o) => o.trim()).filter(Boolean), i = await Promise.all(n.map((o) => eo(s, o))), r = /* @__PURE__ */ new Map();
|
|
5454
5475
|
return n.forEach((o, a) => {
|
|
5455
5476
|
const c = i[a];
|
|
5456
5477
|
if (!c) return;
|
|
@@ -5458,33 +5479,34 @@ async function Zr(s, e) {
|
|
|
5458
5479
|
l ? l.push(o) : r.set(c, [o]);
|
|
5459
5480
|
}), r;
|
|
5460
5481
|
}
|
|
5461
|
-
async function
|
|
5462
|
-
const [{ entries: t }, n, i, r, o] = await Promise.all([
|
|
5463
|
-
|
|
5464
|
-
|
|
5482
|
+
async function ha(s, e) {
|
|
5483
|
+
const [{ entries: t }, n, i, r, o, a] = await Promise.all([
|
|
5484
|
+
Se($(s, "papercamp", "ideas")),
|
|
5485
|
+
Os(s),
|
|
5465
5486
|
Qe($(s, "papercamp", "tasks.log")),
|
|
5466
5487
|
Qe($(s, "CHANGELOG.md")),
|
|
5467
|
-
|
|
5468
|
-
|
|
5488
|
+
Zr(s, e),
|
|
5489
|
+
Ns(s)
|
|
5490
|
+
]), c = t.find((d) => d.id === e), l = n == null ? void 0 : n.get(e), u = Ur(i).filter((d) => d.planId === e), f = In(r, e);
|
|
5469
5491
|
return {
|
|
5470
5492
|
id: e,
|
|
5471
|
-
idea:
|
|
5493
|
+
idea: c ? {
|
|
5472
5494
|
reached: !0,
|
|
5473
5495
|
data: {
|
|
5474
|
-
title:
|
|
5475
|
-
status: lt(
|
|
5476
|
-
type:
|
|
5496
|
+
title: c.title,
|
|
5497
|
+
status: lt(c, l, n !== void 0, a.has(e)),
|
|
5498
|
+
type: c.type
|
|
5477
5499
|
}
|
|
5478
5500
|
} : { reached: !1 },
|
|
5479
|
-
phases:
|
|
5480
|
-
taskRuns:
|
|
5501
|
+
phases: c ? { reached: c.phases.length > 0, data: c.phases } : { reached: !1 },
|
|
5502
|
+
taskRuns: u.length > 0 ? { reached: !0, data: u } : { reached: !1 },
|
|
5481
5503
|
commits: o.length > 0 ? { reached: !0, data: o } : { reached: !1 },
|
|
5482
|
-
pr:
|
|
5483
|
-
releaseLine:
|
|
5504
|
+
pr: l ? { reached: !0, data: l } : { reached: !1 },
|
|
5505
|
+
releaseLine: f ? { reached: !0, data: f } : { reached: !1 }
|
|
5484
5506
|
};
|
|
5485
5507
|
}
|
|
5486
|
-
const Ve = /^##\s+/,
|
|
5487
|
-
function
|
|
5508
|
+
const Ve = /^##\s+/, so = /^##\s+The goal\s*$/i, Tn = /^##\s+(Horizon\s+\d+\s*[—-].*)\r?$/i, no = /^##\s+Standing concerns\s*$/i, Xe = /^-\s+\*\*(.+?)\*\*\s+[—-]\s+(.*)\r?$/, io = /^\s+-\s+→\s+(.+?)\r?$/, $n = /^\s+-\s+(.+?)\r?$/, An = /^\s+\S/;
|
|
5509
|
+
function ws(s, e, t) {
|
|
5488
5510
|
const n = [];
|
|
5489
5511
|
let i = e;
|
|
5490
5512
|
for (; i < t; ) {
|
|
@@ -5495,146 +5517,146 @@ function gs(s, e, t) {
|
|
|
5495
5517
|
}
|
|
5496
5518
|
const o = [r[2].trim()], a = [], c = [];
|
|
5497
5519
|
for (i++; i < t && !Xe.test(s[i]); ) {
|
|
5498
|
-
const l = s[i].match(
|
|
5520
|
+
const l = s[i].match(io);
|
|
5499
5521
|
if (l) {
|
|
5500
5522
|
c.push(l[1].trim()), i++;
|
|
5501
5523
|
continue;
|
|
5502
5524
|
}
|
|
5503
|
-
const u = s[i].match(
|
|
5525
|
+
const u = s[i].match($n);
|
|
5504
5526
|
if (u) {
|
|
5505
5527
|
a.push(u[1].trim()), i++;
|
|
5506
5528
|
continue;
|
|
5507
5529
|
}
|
|
5508
|
-
if (!
|
|
5530
|
+
if (!An.test(s[i])) break;
|
|
5509
5531
|
o.push(s[i].trim()), i++;
|
|
5510
5532
|
}
|
|
5511
5533
|
n.push({ name: r[1].trim(), description: o.join(" "), candidates: a, linked: c });
|
|
5512
5534
|
}
|
|
5513
5535
|
return n;
|
|
5514
5536
|
}
|
|
5515
|
-
function
|
|
5537
|
+
function ro(s) {
|
|
5516
5538
|
const e = s.split(`
|
|
5517
5539
|
`);
|
|
5518
5540
|
let t = "";
|
|
5519
5541
|
const n = [];
|
|
5520
5542
|
let i = [];
|
|
5521
5543
|
for (let r = 0; r < e.length; r++) {
|
|
5522
|
-
if (
|
|
5544
|
+
if (so.test(e[r])) {
|
|
5523
5545
|
let a = r + 1;
|
|
5524
5546
|
for (; a < e.length && !Ve.test(e[a]); ) a++;
|
|
5525
5547
|
t = e.slice(r + 1, a).join(`
|
|
5526
5548
|
`).trim(), r = a - 1;
|
|
5527
5549
|
continue;
|
|
5528
5550
|
}
|
|
5529
|
-
const o = e[r].match(
|
|
5551
|
+
const o = e[r].match(Tn);
|
|
5530
5552
|
if (o) {
|
|
5531
5553
|
let a = r + 1;
|
|
5532
5554
|
for (; a < e.length && !Ve.test(e[a]); ) a++;
|
|
5533
|
-
n.push({ title: o[1].trim(), items:
|
|
5555
|
+
n.push({ title: o[1].trim(), items: ws(e, r + 1, a) }), r = a - 1;
|
|
5534
5556
|
continue;
|
|
5535
5557
|
}
|
|
5536
|
-
if (
|
|
5558
|
+
if (no.test(e[r])) {
|
|
5537
5559
|
let a = r + 1;
|
|
5538
5560
|
for (; a < e.length && !Ve.test(e[a]); ) a++;
|
|
5539
|
-
i =
|
|
5561
|
+
i = ws(e, r + 1, a), r = a - 1;
|
|
5540
5562
|
}
|
|
5541
5563
|
}
|
|
5542
5564
|
return { goal: t, horizons: n, standingConcerns: i };
|
|
5543
5565
|
}
|
|
5544
|
-
function
|
|
5566
|
+
function vn(s, e) {
|
|
5545
5567
|
for (let t = 0; t < s.length; t++) {
|
|
5546
|
-
const n = s[t].match(
|
|
5568
|
+
const n = s[t].match(Tn);
|
|
5547
5569
|
if (!n || n[1].trim() !== e) continue;
|
|
5548
5570
|
let i = t + 1;
|
|
5549
5571
|
for (; i < s.length && !Ve.test(s[i]); ) i++;
|
|
5550
5572
|
return { start: t + 1, end: i };
|
|
5551
5573
|
}
|
|
5552
5574
|
}
|
|
5553
|
-
function
|
|
5554
|
-
const n =
|
|
5575
|
+
function Xt(s, e, t) {
|
|
5576
|
+
const n = vn(s, e);
|
|
5555
5577
|
if (n)
|
|
5556
5578
|
for (let i = n.start; i < n.end; i++) {
|
|
5557
5579
|
const r = s[i].match(Xe);
|
|
5558
5580
|
if (!r || r[1].trim() !== t) continue;
|
|
5559
5581
|
let o = i + 1;
|
|
5560
|
-
for (; o < n.end && !Xe.test(s[o]) &&
|
|
5582
|
+
for (; o < n.end && !Xe.test(s[o]) && An.test(s[o]); )
|
|
5561
5583
|
o++;
|
|
5562
5584
|
return { start: i, end: o };
|
|
5563
5585
|
}
|
|
5564
5586
|
}
|
|
5565
|
-
function
|
|
5587
|
+
function pa(s, e, t, n) {
|
|
5566
5588
|
const i = s.split(`
|
|
5567
|
-
`), r =
|
|
5589
|
+
`), r = Xt(i, e, t);
|
|
5568
5590
|
if (!r) return s;
|
|
5569
5591
|
if (n === void 0)
|
|
5570
5592
|
return i.splice(r.start, r.end - r.start), i.join(`
|
|
5571
5593
|
`);
|
|
5572
5594
|
for (let o = r.start + 1; o < r.end; o++) {
|
|
5573
|
-
const a = i[o].match(
|
|
5595
|
+
const a = i[o].match($n);
|
|
5574
5596
|
if (a && a[1].trim() === n)
|
|
5575
5597
|
return i.splice(o, 1), i.join(`
|
|
5576
5598
|
`);
|
|
5577
5599
|
}
|
|
5578
5600
|
return s;
|
|
5579
5601
|
}
|
|
5580
|
-
function
|
|
5602
|
+
function ma(s, e, t, n) {
|
|
5581
5603
|
const i = s.split(`
|
|
5582
|
-
`), r =
|
|
5604
|
+
`), r = vn(i, e);
|
|
5583
5605
|
if (!r) return s;
|
|
5584
5606
|
let o = r.end;
|
|
5585
5607
|
for (; o > r.start && i[o - 1].trim() === ""; ) o--;
|
|
5586
5608
|
return i.splice(o, 0, `- **${t}** — ${n}`), i.join(`
|
|
5587
5609
|
`);
|
|
5588
5610
|
}
|
|
5589
|
-
function
|
|
5611
|
+
function ga(s, e, t, n) {
|
|
5590
5612
|
const i = s.split(`
|
|
5591
|
-
`), r =
|
|
5613
|
+
`), r = Xt(i, e, t);
|
|
5592
5614
|
return r ? (i.splice(r.end, 0, ` - ${n}`), i.join(`
|
|
5593
5615
|
`)) : s;
|
|
5594
5616
|
}
|
|
5595
|
-
function
|
|
5617
|
+
function ya(s, e, t, n) {
|
|
5596
5618
|
const i = s.split(`
|
|
5597
|
-
`), r =
|
|
5619
|
+
`), r = Xt(i, e, t);
|
|
5598
5620
|
return r ? (i.splice(r.end, 0, ` - → ${n}`), i.join(`
|
|
5599
5621
|
`)) : s;
|
|
5600
5622
|
}
|
|
5601
|
-
function
|
|
5623
|
+
function oo(s) {
|
|
5602
5624
|
return [
|
|
5603
5625
|
...s.horizons.flatMap((e) => e.items.map((t) => t.name)),
|
|
5604
5626
|
...s.standingConcerns.map((e) => e.name)
|
|
5605
5627
|
];
|
|
5606
5628
|
}
|
|
5607
|
-
function
|
|
5629
|
+
function wa(s, e, t = [], n = "") {
|
|
5608
5630
|
const i = new Map(e.filter((c) => c.id).map((c) => [c.id, c])), r = /* @__PURE__ */ new Map();
|
|
5609
5631
|
for (const c of t)
|
|
5610
5632
|
c.planId && r.set(c.planId, (r.get(c.planId) ?? 0) + 1);
|
|
5611
5633
|
const o = s.horizons.map((c) => {
|
|
5612
5634
|
const l = c.items.map((f) => {
|
|
5613
|
-
const
|
|
5614
|
-
const
|
|
5615
|
-
return
|
|
5635
|
+
const d = f.linked.flatMap((g) => {
|
|
5636
|
+
const h = i.get(g);
|
|
5637
|
+
return h != null && h.status ? [
|
|
5616
5638
|
{
|
|
5617
5639
|
id: g,
|
|
5618
|
-
status:
|
|
5640
|
+
status: h.status,
|
|
5619
5641
|
taskRuns: r.get(g) ?? 0,
|
|
5620
|
-
pr:
|
|
5621
|
-
released:
|
|
5642
|
+
pr: h.pr,
|
|
5643
|
+
released: In(n, g) !== void 0
|
|
5622
5644
|
}
|
|
5623
5645
|
] : [];
|
|
5624
|
-
}), p = { total:
|
|
5625
|
-
return { ...f, links:
|
|
5646
|
+
}), p = { total: d.length, done: d.filter((g) => g.status === "done").length };
|
|
5647
|
+
return { ...f, links: d, rollup: p };
|
|
5626
5648
|
}), u = l.reduce(
|
|
5627
|
-
(f,
|
|
5628
|
-
total: f.total +
|
|
5629
|
-
done: f.done +
|
|
5649
|
+
(f, d) => ({
|
|
5650
|
+
total: f.total + d.rollup.total,
|
|
5651
|
+
done: f.done + d.rollup.done
|
|
5630
5652
|
}),
|
|
5631
5653
|
{ total: 0, done: 0 }
|
|
5632
5654
|
);
|
|
5633
5655
|
return { title: c.title, items: l, rollup: u };
|
|
5634
|
-
}), a =
|
|
5656
|
+
}), a = ao(s, e, t);
|
|
5635
5657
|
return { goal: s.goal, horizons: o, events: a };
|
|
5636
5658
|
}
|
|
5637
|
-
function
|
|
5659
|
+
function ao(s, e, t) {
|
|
5638
5660
|
const n = /* @__PURE__ */ new Map();
|
|
5639
5661
|
for (const r of s.horizons)
|
|
5640
5662
|
for (const o of r.items)
|
|
@@ -5667,7 +5689,7 @@ function ro(s, e, t) {
|
|
|
5667
5689
|
}
|
|
5668
5690
|
return i.sort((r, o) => Date.parse(r.date) - Date.parse(o.date));
|
|
5669
5691
|
}
|
|
5670
|
-
function
|
|
5692
|
+
function co(s) {
|
|
5671
5693
|
const e = JSON.stringify({
|
|
5672
5694
|
body: s.body,
|
|
5673
5695
|
phases: s.phases.map((t) => ({
|
|
@@ -5677,9 +5699,9 @@ function oo(s) {
|
|
|
5677
5699
|
source: t.source ?? null
|
|
5678
5700
|
}))
|
|
5679
5701
|
});
|
|
5680
|
-
return
|
|
5702
|
+
return qn("sha256").update(e).digest("hex");
|
|
5681
5703
|
}
|
|
5682
|
-
const
|
|
5704
|
+
const Zt = /* @__PURE__ */ new Set([
|
|
5683
5705
|
"core",
|
|
5684
5706
|
"cli",
|
|
5685
5707
|
"app",
|
|
@@ -5699,10 +5721,10 @@ const Qt = /* @__PURE__ */ new Set([
|
|
|
5699
5721
|
"release",
|
|
5700
5722
|
"main"
|
|
5701
5723
|
]);
|
|
5702
|
-
function
|
|
5703
|
-
return (s == null ? void 0 : s.find((t) =>
|
|
5724
|
+
function lo(s, e) {
|
|
5725
|
+
return (s == null ? void 0 : s.find((t) => Zt.has(t))) ?? e;
|
|
5704
5726
|
}
|
|
5705
|
-
function
|
|
5727
|
+
function On(s, e) {
|
|
5706
5728
|
return new Promise((t) => {
|
|
5707
5729
|
var r, o;
|
|
5708
5730
|
const n = K(
|
|
@@ -5730,45 +5752,45 @@ function Tn(s, e) {
|
|
|
5730
5752
|
}), n.on("error", () => t(void 0));
|
|
5731
5753
|
});
|
|
5732
5754
|
}
|
|
5733
|
-
async function
|
|
5755
|
+
async function fo(s, e) {
|
|
5734
5756
|
for (const t of ["ideas", $("ideas", "archive")]) {
|
|
5735
5757
|
const n = $(s, "papercamp", t, `${e}.md`);
|
|
5736
5758
|
try {
|
|
5737
|
-
return await
|
|
5759
|
+
return await Mn(n), n;
|
|
5738
5760
|
} catch {
|
|
5739
5761
|
}
|
|
5740
5762
|
}
|
|
5741
5763
|
return null;
|
|
5742
5764
|
}
|
|
5743
5765
|
async function se(s, e) {
|
|
5744
|
-
const t = await
|
|
5766
|
+
const t = await On(s, e), n = Is(t == null ? void 0 : t.body, (t == null ? void 0 : t.headRefName) ?? e);
|
|
5745
5767
|
if (!n) return;
|
|
5746
|
-
const i = await
|
|
5768
|
+
const i = await fo(s, n);
|
|
5747
5769
|
if (!i) return;
|
|
5748
|
-
const { entries: r } =
|
|
5770
|
+
const { entries: r } = kn(await pe(i, "utf-8")), o = r[0];
|
|
5749
5771
|
if (o)
|
|
5750
5772
|
return { id: n, view: t, entry: o };
|
|
5751
5773
|
}
|
|
5752
|
-
async function
|
|
5774
|
+
async function ba(s, e) {
|
|
5753
5775
|
const t = await se(s, e);
|
|
5754
5776
|
if (!t) return;
|
|
5755
5777
|
const { id: n, entry: i } = t;
|
|
5756
5778
|
return { id: n, kind: i.type, tags: i.tags, phases: i.phases };
|
|
5757
5779
|
}
|
|
5758
|
-
const
|
|
5759
|
-
function
|
|
5780
|
+
const Cn = "<!-- papercamp:phases:start -->", Ln = "<!-- papercamp:phases:end -->", bs = new RegExp(`${Cn}[\\s\\S]*?${Ln}`);
|
|
5781
|
+
function uo(s, e) {
|
|
5760
5782
|
const t = e.map((r) => `- [${r.done ? "x" : " "}] ${r.text}`).join(`
|
|
5761
|
-
`), n = `${
|
|
5783
|
+
`), n = `${Cn}
|
|
5762
5784
|
### Phases
|
|
5763
5785
|
${t}
|
|
5764
|
-
${
|
|
5765
|
-
if (
|
|
5786
|
+
${Ln}`;
|
|
5787
|
+
if (bs.test(s)) return s.replace(bs, () => n);
|
|
5766
5788
|
const i = s.trimEnd();
|
|
5767
5789
|
return i.length > 0 ? `${i}
|
|
5768
5790
|
|
|
5769
5791
|
${n}` : n;
|
|
5770
5792
|
}
|
|
5771
|
-
function
|
|
5793
|
+
function ho(s, e, t) {
|
|
5772
5794
|
return new Promise((n) => {
|
|
5773
5795
|
var r, o;
|
|
5774
5796
|
const i = K("gh", ["pr", "edit", e, "--body-file", "-"], {
|
|
@@ -5779,20 +5801,20 @@ function fo(s, e, t) {
|
|
|
5779
5801
|
}), i.on("close", (a) => n(a === 0)), i.on("error", () => n(!1)), (o = i.stdin) == null || o.end(t);
|
|
5780
5802
|
});
|
|
5781
5803
|
}
|
|
5782
|
-
async function
|
|
5804
|
+
async function ka(s, e) {
|
|
5783
5805
|
const t = await se(s, e);
|
|
5784
5806
|
if (!(t != null && t.view)) return "unresolved";
|
|
5785
|
-
const { view: n, entry: i } = t, r =
|
|
5786
|
-
return r === n.body ? "unchanged" : await
|
|
5807
|
+
const { view: n, entry: i } = t, r = uo(n.body, i.phases);
|
|
5808
|
+
return r === n.body ? "unchanged" : await ho(s, e, r) ? "updated" : "unresolved";
|
|
5787
5809
|
}
|
|
5788
|
-
function
|
|
5810
|
+
function po(s) {
|
|
5789
5811
|
const e = /* @__PURE__ */ new Set();
|
|
5790
5812
|
s.kind && e.add(s.kind);
|
|
5791
5813
|
for (const t of s.tags)
|
|
5792
|
-
|
|
5814
|
+
Zt.has(t) && e.add(t);
|
|
5793
5815
|
return [...e];
|
|
5794
5816
|
}
|
|
5795
|
-
function
|
|
5817
|
+
function mo(s) {
|
|
5796
5818
|
return new Promise((e) => {
|
|
5797
5819
|
var i, r;
|
|
5798
5820
|
const t = K("gh", ["label", "list", "--limit", "200", "--json", "name"], {
|
|
@@ -5817,7 +5839,7 @@ function ho(s) {
|
|
|
5817
5839
|
}), t.on("error", () => e(void 0));
|
|
5818
5840
|
});
|
|
5819
5841
|
}
|
|
5820
|
-
function
|
|
5842
|
+
function go(s, e) {
|
|
5821
5843
|
return new Promise((t) => {
|
|
5822
5844
|
var i;
|
|
5823
5845
|
const n = K("gh", ["label", "create", e, "--color", "ededed"], {
|
|
@@ -5828,7 +5850,7 @@ function po(s, e) {
|
|
|
5828
5850
|
}), n.on("close", (r) => t(r === 0)), n.on("error", () => t(!1));
|
|
5829
5851
|
});
|
|
5830
5852
|
}
|
|
5831
|
-
function
|
|
5853
|
+
function yo(s, e, t) {
|
|
5832
5854
|
return new Promise((n) => {
|
|
5833
5855
|
var r;
|
|
5834
5856
|
const i = K("gh", ["pr", "edit", e, "--add-label", t.join(",")], {
|
|
@@ -5839,29 +5861,29 @@ function mo(s, e, t) {
|
|
|
5839
5861
|
}), i.on("close", (o) => n(o === 0)), i.on("error", () => n(!1));
|
|
5840
5862
|
});
|
|
5841
5863
|
}
|
|
5842
|
-
async function
|
|
5864
|
+
async function Sa(s, e) {
|
|
5843
5865
|
const t = await se(s, e);
|
|
5844
5866
|
if (!(t != null && t.view)) return "unresolved";
|
|
5845
|
-
const { view: n, entry: i } = t, r =
|
|
5867
|
+
const { view: n, entry: i } = t, r = po({ kind: i.type, tags: i.tags }), o = new Set((n.labels ?? []).map((u) => u.name)), a = r.filter((u) => !o.has(u));
|
|
5846
5868
|
if (a.length === 0) return "unchanged";
|
|
5847
|
-
const c = await
|
|
5869
|
+
const c = await mo(s);
|
|
5848
5870
|
if (c) {
|
|
5849
5871
|
const u = a.filter((f) => !c.has(f));
|
|
5850
5872
|
for (const f of u)
|
|
5851
|
-
await
|
|
5873
|
+
await go(s, f);
|
|
5852
5874
|
}
|
|
5853
|
-
return await
|
|
5875
|
+
return await yo(s, e, a) ? "updated" : "unresolved";
|
|
5854
5876
|
}
|
|
5855
|
-
function
|
|
5856
|
-
const t = e.type ?? "feat", n =
|
|
5877
|
+
function _n(s, e) {
|
|
5878
|
+
const t = e.type ?? "feat", n = lo(e.tags, "repo");
|
|
5857
5879
|
return `${t}(${n}): ${e.title} (${s})`;
|
|
5858
5880
|
}
|
|
5859
|
-
const
|
|
5860
|
-
function
|
|
5861
|
-
const e = s.match(
|
|
5862
|
-
return !!e &&
|
|
5881
|
+
const wo = new RegExp(`^(${Fn.join("|")})\\(([a-z-]+)\\): .+$`);
|
|
5882
|
+
function bo(s) {
|
|
5883
|
+
const e = s.match(wo);
|
|
5884
|
+
return !!e && Zt.has(e[2]);
|
|
5863
5885
|
}
|
|
5864
|
-
function
|
|
5886
|
+
function ko(s, e, t) {
|
|
5865
5887
|
return new Promise((n) => {
|
|
5866
5888
|
var r;
|
|
5867
5889
|
const i = K("gh", ["pr", "edit", e, "--title", t], {
|
|
@@ -5872,19 +5894,19 @@ function wo(s, e, t) {
|
|
|
5872
5894
|
}), i.on("close", (o) => n(o === 0)), i.on("error", () => n(!1));
|
|
5873
5895
|
});
|
|
5874
5896
|
}
|
|
5875
|
-
async function
|
|
5897
|
+
async function Ea(s, e) {
|
|
5876
5898
|
const t = await se(s, e);
|
|
5877
5899
|
if (!(t != null && t.view)) return "unresolved";
|
|
5878
|
-
const { id: n, view: i, entry: r } = t, o =
|
|
5879
|
-
return i.title === o ? "unchanged" : await
|
|
5900
|
+
const { id: n, view: i, entry: r } = t, o = _n(n, r);
|
|
5901
|
+
return i.title === o ? "unchanged" : await ko(s, e, o) ? "updated" : "unresolved";
|
|
5880
5902
|
}
|
|
5881
|
-
async function
|
|
5882
|
-
const t = await
|
|
5903
|
+
async function Na(s, e) {
|
|
5904
|
+
const t = await On(s, e);
|
|
5883
5905
|
if (!t) return "no-pr";
|
|
5884
5906
|
const n = await se(s, e);
|
|
5885
|
-
return n ? t.title ===
|
|
5907
|
+
return n ? t.title === _n(n.id, n.entry) ? "valid" : "invalid" : bo(t.title) ? "valid" : "invalid";
|
|
5886
5908
|
}
|
|
5887
|
-
function
|
|
5909
|
+
function So(s, e) {
|
|
5888
5910
|
return new Promise((t) => {
|
|
5889
5911
|
var i;
|
|
5890
5912
|
const n = K("gh", ["pr", "ready", e], {
|
|
@@ -5895,7 +5917,7 @@ function bo(s, e) {
|
|
|
5895
5917
|
}), n.on("close", (r) => t(r === 0)), n.on("error", () => t(!1));
|
|
5896
5918
|
});
|
|
5897
5919
|
}
|
|
5898
|
-
function
|
|
5920
|
+
function Eo(s, e) {
|
|
5899
5921
|
return new Promise((t) => {
|
|
5900
5922
|
var i;
|
|
5901
5923
|
const n = K("gh", ["pr", "close", e], {
|
|
@@ -5906,14 +5928,14 @@ function ko(s, e) {
|
|
|
5906
5928
|
}), n.on("close", (r) => t(r === 0)), n.on("error", () => t(!1));
|
|
5907
5929
|
});
|
|
5908
5930
|
}
|
|
5909
|
-
async function
|
|
5931
|
+
async function Ia(s, e) {
|
|
5910
5932
|
const t = await se(s, e);
|
|
5911
5933
|
if (!(t != null && t.view)) return "unresolved";
|
|
5912
5934
|
const { view: n, entry: i } = t;
|
|
5913
|
-
return i.status === "dropped" ? n.state !== "OPEN" ? "unchanged" : await
|
|
5935
|
+
return i.status === "dropped" ? n.state !== "OPEN" ? "unchanged" : await Eo(s, e) ? "closed" : "unresolved" : !(i.phases.length > 0 && i.phases.every((a) => a.done)) || !n.isDraft ? "unchanged" : await So(s, e) ? "ready" : "unresolved";
|
|
5914
5936
|
}
|
|
5915
|
-
const
|
|
5916
|
-
function
|
|
5937
|
+
const Pn = "<!-- papercamp:consistency:start -->", No = "<!-- papercamp:consistency:end -->";
|
|
5938
|
+
function Io(s, e) {
|
|
5917
5939
|
const t = ["### Paper Camp checks", ""];
|
|
5918
5940
|
if (s.length === 0)
|
|
5919
5941
|
t.push("No consistency issues found.");
|
|
@@ -5922,12 +5944,12 @@ function Eo(s, e) {
|
|
|
5922
5944
|
t.push(`- **${n.kind}** (${n.section}): ${n.message}`);
|
|
5923
5945
|
return e && (t.push(""), t.push(
|
|
5924
5946
|
e.stale ? `Convergence audit: last run \`${e.audited}\`, plan has changed since — due for a re-audit.` : `Convergence audit: last run \`${e.audited}\`, still current.`
|
|
5925
|
-
)), `${
|
|
5947
|
+
)), `${Pn}
|
|
5926
5948
|
${t.join(`
|
|
5927
5949
|
`)}
|
|
5928
|
-
${
|
|
5950
|
+
${No}`;
|
|
5929
5951
|
}
|
|
5930
|
-
function
|
|
5952
|
+
function To(s, e, t) {
|
|
5931
5953
|
return new Promise((n) => {
|
|
5932
5954
|
var r, o;
|
|
5933
5955
|
const i = K("gh", ["pr", "comment", e, "--body-file", "-"], {
|
|
@@ -5938,7 +5960,7 @@ function No(s, e, t) {
|
|
|
5938
5960
|
}), i.on("close", (a) => n(a === 0)), i.on("error", () => n(!1)), (o = i.stdin) == null || o.end(t);
|
|
5939
5961
|
});
|
|
5940
5962
|
}
|
|
5941
|
-
function
|
|
5963
|
+
function $o(s, e, t, n, i) {
|
|
5942
5964
|
return new Promise((r) => {
|
|
5943
5965
|
var a, c;
|
|
5944
5966
|
const o = K(
|
|
@@ -5957,48 +5979,48 @@ function Io(s, e, t, n, i) {
|
|
|
5957
5979
|
}), o.on("close", (l) => r(l === 0)), o.on("error", () => r(!1)), (c = o.stdin) == null || c.end(i);
|
|
5958
5980
|
});
|
|
5959
5981
|
}
|
|
5960
|
-
async function
|
|
5961
|
-
var g,
|
|
5982
|
+
async function Ta(s, e) {
|
|
5983
|
+
var g, h;
|
|
5962
5984
|
const t = await se(s, e);
|
|
5963
5985
|
if (!((g = t == null ? void 0 : t.view) != null && g.url)) return "unresolved";
|
|
5964
5986
|
const { view: n, entry: i } = t, [{ entries: r }, o] = await Promise.all([
|
|
5965
|
-
|
|
5987
|
+
Se($(s, "papercamp", "ideas")),
|
|
5966
5988
|
pe($(s, "ROADMAP.md"), "utf-8").catch(() => "")
|
|
5967
|
-
]), a = r.filter((m) => m.kind !== "note").map((m) =>
|
|
5989
|
+
]), a = r.filter((m) => m.kind !== "note").map((m) => Nn(m)), c = o ? oo(ro(o)) : [], l = qr(a, c), u = i.audited && i.auditedHash ? {
|
|
5968
5990
|
audited: i.audited,
|
|
5969
|
-
stale:
|
|
5970
|
-
} : void 0, f =
|
|
5971
|
-
if (
|
|
5972
|
-
if (
|
|
5973
|
-
const m =
|
|
5974
|
-
return !m || !y ? "unresolved" : await
|
|
5991
|
+
stale: co(i) !== i.auditedHash
|
|
5992
|
+
} : void 0, f = Io(l, u), d = (n.comments ?? []).find((m) => m.body.includes(Pn));
|
|
5993
|
+
if (d) {
|
|
5994
|
+
if (d.body === f) return "unchanged";
|
|
5995
|
+
const m = vt(n.url), y = (h = d.url.match(/issuecomment-(\d+)/)) == null ? void 0 : h[1];
|
|
5996
|
+
return !m || !y ? "unresolved" : await $o(s, m.owner, m.repo, y, f) ? "updated" : "unresolved";
|
|
5975
5997
|
}
|
|
5976
|
-
return await
|
|
5998
|
+
return await To(s, e, f) ? "created" : "unresolved";
|
|
5977
5999
|
}
|
|
5978
|
-
function
|
|
6000
|
+
function $a(s, e, t) {
|
|
5979
6001
|
if (!s) return;
|
|
5980
|
-
const n = (e ?? "feat").toLowerCase(), i = t.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "");
|
|
5981
|
-
return `${n}/${s.toLowerCase()}-${
|
|
6002
|
+
const n = (e ?? "feat").toLowerCase(), i = t.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, ""), r = i.length <= 40 ? i : i[40] === "-" ? i.slice(0, 40) : i.slice(0, 40).replace(/-[^-]*$/, "");
|
|
6003
|
+
return `${n}/${s.toLowerCase()}-${r}`;
|
|
5982
6004
|
}
|
|
5983
6005
|
function ft(s, e) {
|
|
5984
6006
|
for (const { entries: t, section: n } of e)
|
|
5985
6007
|
t && t.length > 0 && s.push(n.formatLines(t).join(`
|
|
5986
6008
|
`));
|
|
5987
6009
|
}
|
|
5988
|
-
function
|
|
6010
|
+
function Rn() {
|
|
5989
6011
|
return (/* @__PURE__ */ new Date()).toISOString().slice(0, 10);
|
|
5990
6012
|
}
|
|
5991
|
-
function
|
|
6013
|
+
function Aa(s, e = "log") {
|
|
5992
6014
|
return {
|
|
5993
6015
|
kind: e,
|
|
5994
|
-
date:
|
|
6016
|
+
date: Rn(),
|
|
5995
6017
|
text: s,
|
|
5996
6018
|
from: "agent",
|
|
5997
6019
|
...e === "question" ? { state: "open" } : {}
|
|
5998
6020
|
};
|
|
5999
6021
|
}
|
|
6000
6022
|
let Ze = Promise.resolve();
|
|
6001
|
-
async function
|
|
6023
|
+
async function Ao(s, e) {
|
|
6002
6024
|
const t = new RegExp(`^${e.toUpperCase()}-(\\d+)\\.md$`), n = [
|
|
6003
6025
|
$(s, "ideas"),
|
|
6004
6026
|
$(s, "ideas", "archive"),
|
|
@@ -6009,7 +6031,7 @@ async function To(s, e) {
|
|
|
6009
6031
|
for (const r of n) {
|
|
6010
6032
|
let o;
|
|
6011
6033
|
try {
|
|
6012
|
-
o = await
|
|
6034
|
+
o = await ks(r);
|
|
6013
6035
|
} catch {
|
|
6014
6036
|
continue;
|
|
6015
6037
|
}
|
|
@@ -6020,7 +6042,7 @@ async function To(s, e) {
|
|
|
6020
6042
|
}
|
|
6021
6043
|
return i;
|
|
6022
6044
|
}
|
|
6023
|
-
async function
|
|
6045
|
+
async function vo(s, e) {
|
|
6024
6046
|
const t = Ze.then(async () => {
|
|
6025
6047
|
let n = null;
|
|
6026
6048
|
try {
|
|
@@ -6029,39 +6051,39 @@ async function $o(s, e) {
|
|
|
6029
6051
|
return;
|
|
6030
6052
|
}
|
|
6031
6053
|
if (!(n != null && n.nextId)) return;
|
|
6032
|
-
const i = n.nextId[e] ?? 1, r = await
|
|
6054
|
+
const i = n.nextId[e] ?? 1, r = await Ao(Kn(s), e), o = Math.max(i, r + 1), a = `${e.toUpperCase()}-${o}`;
|
|
6033
6055
|
return n.nextId[e] = o + 1, await x(s, `${JSON.stringify(n, null, 2)}
|
|
6034
6056
|
`), a;
|
|
6035
6057
|
});
|
|
6036
6058
|
return Ze = t.catch(() => {
|
|
6037
6059
|
}), t;
|
|
6038
6060
|
}
|
|
6039
|
-
function
|
|
6061
|
+
function Oo(s) {
|
|
6040
6062
|
const e = [`## ${s.title}`, "", `**Status:** ${s.status}`];
|
|
6041
6063
|
s.kind && e.push(`**Kind:** ${s.kind}`), s.id && e.push(`**Id:** ${s.id}`), s.idea && e.push(`**Idea:** ${s.idea}`), s.agent && e.push(`**Agent:** ${s.agent}`), e.push(`**Created:** ${s.created}`), s.updated && e.push(`**Updated:** ${s.updated}`), s.tags && s.tags.length > 0 && e.push(`**Tags:** ${s.tags.join(", ")}`);
|
|
6042
6064
|
const t = [e.join(`
|
|
6043
6065
|
`)];
|
|
6044
6066
|
return s.body && t.push(s.body), ft(t, [
|
|
6045
|
-
{ entries: s.clarifications, section:
|
|
6067
|
+
{ entries: s.clarifications, section: Vt },
|
|
6046
6068
|
{ entries: s.phases, section: ct },
|
|
6047
|
-
{ entries: s.log, section:
|
|
6048
|
-
{ entries: s.notes, section:
|
|
6069
|
+
{ entries: s.log, section: je },
|
|
6070
|
+
{ entries: s.notes, section: Jt }
|
|
6049
6071
|
]), t.join(`
|
|
6050
6072
|
|
|
6051
6073
|
`).trimEnd();
|
|
6052
6074
|
}
|
|
6053
|
-
function
|
|
6054
|
-
return s.length === 0 ? "" : `${s.map((e) =>
|
|
6075
|
+
function va(s) {
|
|
6076
|
+
return s.length === 0 ? "" : `${s.map((e) => Oo(e)).join(`
|
|
6055
6077
|
|
|
6056
6078
|
`)}
|
|
6057
6079
|
`;
|
|
6058
6080
|
}
|
|
6059
|
-
function
|
|
6081
|
+
function es(s) {
|
|
6060
6082
|
return `---
|
|
6061
|
-
${
|
|
6083
|
+
${hr(s).trimEnd()}
|
|
6062
6084
|
---`;
|
|
6063
6085
|
}
|
|
6064
|
-
function
|
|
6086
|
+
function Oa(s) {
|
|
6065
6087
|
const e = {
|
|
6066
6088
|
id: s.id,
|
|
6067
6089
|
title: s.title,
|
|
@@ -6070,35 +6092,35 @@ function Aa(s) {
|
|
|
6070
6092
|
created: s.created
|
|
6071
6093
|
};
|
|
6072
6094
|
s.idea && (e.idea = s.idea), s.agent && (e.agent = s.agent), s.updated && (e.updated = s.updated), s.audited && (e.audited = s.audited), s.auditedHash && (e["audited-hash"] = s.auditedHash), s.tags && s.tags.length > 0 && (e.tags = s.tags);
|
|
6073
|
-
const t = [
|
|
6095
|
+
const t = [es(e)];
|
|
6074
6096
|
return s.body && t.push(s.body), ft(t, [
|
|
6075
|
-
{ entries: s.clarifications, section:
|
|
6097
|
+
{ entries: s.clarifications, section: Vt },
|
|
6076
6098
|
{ entries: s.phases, section: ct },
|
|
6077
|
-
{ entries: s.log, section:
|
|
6078
|
-
{ entries: s.notes, section:
|
|
6099
|
+
{ entries: s.log, section: je },
|
|
6100
|
+
{ entries: s.notes, section: Jt }
|
|
6079
6101
|
]), t.join(`
|
|
6080
6102
|
|
|
6081
6103
|
`).trimEnd();
|
|
6082
6104
|
}
|
|
6083
|
-
function
|
|
6105
|
+
function Co(s) {
|
|
6084
6106
|
const e = {
|
|
6085
6107
|
id: s.id,
|
|
6086
6108
|
title: s.title
|
|
6087
6109
|
};
|
|
6088
6110
|
s.type && (e.type = s.type), s.kind && (e.kind = s.kind), s.status && (e.status = s.status), e.created = s.created, s.agent && (e.agent = s.agent), s.updated && (e.updated = s.updated), s.audited && (e.audited = s.audited), s.auditedHash && (e["audited-hash"] = s.auditedHash), s.released && (e.released = s.released), s.tags && s.tags.length > 0 && (e.tags = s.tags), s.subject && (e.subject = s.subject), s.order !== void 0 && (e.order = s.order);
|
|
6089
|
-
const t = [
|
|
6111
|
+
const t = [es(e)];
|
|
6090
6112
|
return s.body && t.push(s.body), ft(t, [
|
|
6091
6113
|
{ entries: s.phases, section: ct },
|
|
6092
|
-
{ entries: s.fixes, section:
|
|
6093
|
-
{ entries: s.thread, section:
|
|
6114
|
+
{ entries: s.fixes, section: yn },
|
|
6115
|
+
{ entries: s.thread, section: wn }
|
|
6094
6116
|
]), t.join(`
|
|
6095
6117
|
|
|
6096
6118
|
`).trimEnd();
|
|
6097
6119
|
}
|
|
6098
|
-
async function
|
|
6099
|
-
return
|
|
6120
|
+
async function Ca(s) {
|
|
6121
|
+
return vo(s, "idea");
|
|
6100
6122
|
}
|
|
6101
|
-
async function
|
|
6123
|
+
async function La(s, e) {
|
|
6102
6124
|
const t = Ze.then(async () => {
|
|
6103
6125
|
let n = null;
|
|
6104
6126
|
try {
|
|
@@ -6113,35 +6135,35 @@ async function Oa(s, e) {
|
|
|
6113
6135
|
return Ze = t.catch(() => {
|
|
6114
6136
|
}), t;
|
|
6115
6137
|
}
|
|
6116
|
-
function
|
|
6138
|
+
function _a(s) {
|
|
6117
6139
|
const e = {
|
|
6118
6140
|
id: s.id,
|
|
6119
6141
|
title: s.title
|
|
6120
6142
|
};
|
|
6121
6143
|
s.kind && (e.kind = s.kind), s.status && (e.status = s.status);
|
|
6122
|
-
const t = [
|
|
6144
|
+
const t = [es(e)], n = `## ${s.id}: ${s.title}`;
|
|
6123
6145
|
return t.push(s.body ? `${n}
|
|
6124
6146
|
|
|
6125
|
-
${s.body}` : n), ft(t, [{ entries: s.log, section:
|
|
6147
|
+
${s.body}` : n), ft(t, [{ entries: s.log, section: je }]), t.join(`
|
|
6126
6148
|
|
|
6127
6149
|
`).trimEnd();
|
|
6128
6150
|
}
|
|
6129
|
-
async function
|
|
6151
|
+
async function Pa(s, e) {
|
|
6130
6152
|
const t = $(s, "papercamp", "ideas"), n = $(t, "archive"), i = $(t, `${e}.md`), r = $(n, `${e}.md`);
|
|
6131
6153
|
await le(n, { recursive: !0 });
|
|
6132
6154
|
try {
|
|
6133
|
-
return await
|
|
6155
|
+
return await jn(i, r), !0;
|
|
6134
6156
|
} catch (o) {
|
|
6135
6157
|
if (o.code === "ENOENT") return !1;
|
|
6136
6158
|
throw o;
|
|
6137
6159
|
}
|
|
6138
6160
|
}
|
|
6139
|
-
function
|
|
6161
|
+
function Ra(s, e) {
|
|
6140
6162
|
let t = !1;
|
|
6141
6163
|
const n = s.split(`
|
|
6142
6164
|
`).filter((i) => {
|
|
6143
6165
|
if (!t) {
|
|
6144
|
-
const r = i.match(
|
|
6166
|
+
const r = i.match(Sn);
|
|
6145
6167
|
if (r && r[1] === e.date && r[2].trim() === e.title && r[3].trim() === e.description)
|
|
6146
6168
|
return t = !0, !1;
|
|
6147
6169
|
}
|
|
@@ -6150,7 +6172,7 @@ function _a(s, e) {
|
|
|
6150
6172
|
return t ? n.join(`
|
|
6151
6173
|
`) : s;
|
|
6152
6174
|
}
|
|
6153
|
-
function
|
|
6175
|
+
function Da(s) {
|
|
6154
6176
|
return s.length === 0 ? `# Ideas
|
|
6155
6177
|
|
|
6156
6178
|
No ideas yet.
|
|
@@ -6167,7 +6189,7 @@ ${[...s].sort((n, i) => {
|
|
|
6167
6189
|
`)}
|
|
6168
6190
|
`;
|
|
6169
6191
|
}
|
|
6170
|
-
const
|
|
6192
|
+
const Lo = `---
|
|
6171
6193
|
name: paper-camp
|
|
6172
6194
|
description: Work inside a project that has a papercamp/ folder — its unified idea entities (each holding its plan as a section), with decisions and open questions logged as notes on the idea they bind. Use this whenever the working directory contains papercamp/ (papercamp/ideas/), and especially before starting, continuing, or completing any plan phase, drafting an idea, logging a decision, or answering "what are we working on / what's next".
|
|
6173
6195
|
---
|
|
@@ -6236,13 +6258,13 @@ session start from live plan data, not hand-maintained here. It does
|
|
|
6236
6258
|
not define the file formats in full; treat the existing files under
|
|
6237
6259
|
\`papercamp/\` as the grammar reference (mirror their structure exactly rather
|
|
6238
6260
|
than inventing a new shape).
|
|
6239
|
-
`,
|
|
6261
|
+
`, _o = "$CLAUDE_PROJECT_DIR/node_modules/.bin/paper-camp", Po = `${JSON.stringify(
|
|
6240
6262
|
{
|
|
6241
6263
|
hooks: {
|
|
6242
6264
|
SessionStart: [
|
|
6243
6265
|
{
|
|
6244
6266
|
matcher: "*",
|
|
6245
|
-
hooks: [{ type: "command", command: `"${
|
|
6267
|
+
hooks: [{ type: "command", command: `"${_o}" session-focus` }]
|
|
6246
6268
|
}
|
|
6247
6269
|
]
|
|
6248
6270
|
}
|
|
@@ -6250,31 +6272,31 @@ than inventing a new shape).
|
|
|
6250
6272
|
null,
|
|
6251
6273
|
2
|
|
6252
6274
|
)}
|
|
6253
|
-
`,
|
|
6254
|
-
class
|
|
6275
|
+
`, Ro = "0.1.0";
|
|
6276
|
+
class Do extends Error {
|
|
6255
6277
|
constructor(e) {
|
|
6256
6278
|
super(`Paper Camp is already initialized in ${e} (papercamp/config.json exists).`);
|
|
6257
6279
|
}
|
|
6258
6280
|
}
|
|
6259
6281
|
async function ce(s) {
|
|
6260
6282
|
try {
|
|
6261
|
-
return await
|
|
6283
|
+
return await Bn(s), !0;
|
|
6262
6284
|
} catch {
|
|
6263
6285
|
return !1;
|
|
6264
6286
|
}
|
|
6265
6287
|
}
|
|
6266
|
-
const
|
|
6267
|
-
async function
|
|
6288
|
+
const Mo = ["suggestions.md"];
|
|
6289
|
+
async function Ma(s, e) {
|
|
6268
6290
|
const t = $(s, "papercamp"), n = $(t, "config.json");
|
|
6269
6291
|
if (await ce(n))
|
|
6270
|
-
throw new
|
|
6292
|
+
throw new Do(s);
|
|
6271
6293
|
const i = {
|
|
6272
|
-
version:
|
|
6294
|
+
version: Ro,
|
|
6273
6295
|
projectName: e.projectName,
|
|
6274
6296
|
initializedAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
6275
6297
|
nextId: { idea: 2 }
|
|
6276
6298
|
};
|
|
6277
|
-
|
|
6299
|
+
Rr.parse(i), await le(t, { recursive: !0 });
|
|
6278
6300
|
const r = $(t, "ideas");
|
|
6279
6301
|
await le(r, { recursive: !0 });
|
|
6280
6302
|
const o = $(r, "archive");
|
|
@@ -6292,11 +6314,11 @@ What are you building, and why?
|
|
|
6292
6314
|
}
|
|
6293
6315
|
const c = $(r, "IDEA-1.md");
|
|
6294
6316
|
if (!await ce(c)) {
|
|
6295
|
-
const l =
|
|
6317
|
+
const l = Co({
|
|
6296
6318
|
id: "IDEA-1",
|
|
6297
6319
|
title: "Capture your first idea",
|
|
6298
6320
|
status: "idea",
|
|
6299
|
-
created:
|
|
6321
|
+
created: Rn(),
|
|
6300
6322
|
body: `This is an example idea, in the format Paper Camp expects: a short title, a status, and a paragraph of context. Read it, then archive or delete it once you've written your own.
|
|
6301
6323
|
|
|
6302
6324
|
Use the New idea button to capture what you're building next, or ask an agent for suggestions.`
|
|
@@ -6304,49 +6326,49 @@ Use the New idea button to capture what you're building next, or ask an agent fo
|
|
|
6304
6326
|
await x(c, `${l}
|
|
6305
6327
|
`, "utf-8");
|
|
6306
6328
|
}
|
|
6307
|
-
for (const l of
|
|
6329
|
+
for (const l of Mo) {
|
|
6308
6330
|
const u = $(t, l);
|
|
6309
6331
|
await ce(u) || await x(u, "", "utf-8");
|
|
6310
6332
|
}
|
|
6311
6333
|
await x(n, `${JSON.stringify(i, null, 2)}
|
|
6312
|
-
`, "utf-8"), await
|
|
6334
|
+
`, "utf-8"), await jo(s);
|
|
6313
6335
|
}
|
|
6314
|
-
async function
|
|
6336
|
+
async function jo(s) {
|
|
6315
6337
|
const e = $(s, ".claude", "skills", "paper-camp");
|
|
6316
6338
|
await le(e, { recursive: !0 });
|
|
6317
6339
|
const t = $(e, "SKILL.md");
|
|
6318
|
-
await ce(t) || await x(t,
|
|
6340
|
+
await ce(t) || await x(t, Lo, "utf-8");
|
|
6319
6341
|
const n = $(s, ".claude");
|
|
6320
6342
|
await le(n, { recursive: !0 });
|
|
6321
6343
|
const i = $(n, "settings.json");
|
|
6322
|
-
await ce(i) || await x(i,
|
|
6344
|
+
await ce(i) || await x(i, Po, "utf-8");
|
|
6323
6345
|
}
|
|
6324
|
-
const
|
|
6346
|
+
const Dn = {
|
|
6325
6347
|
feat: "Features",
|
|
6326
6348
|
fix: "Bug Fixes",
|
|
6327
6349
|
refactor: "Code Refactoring",
|
|
6328
6350
|
docs: "Documentation",
|
|
6329
6351
|
chore: "Miscellaneous"
|
|
6330
|
-
},
|
|
6331
|
-
async function
|
|
6332
|
-
const t = await Qe($(s, "CHANGELOG.md")), n =
|
|
6352
|
+
}, Bo = Array.from(new Set(Object.values(Dn)));
|
|
6353
|
+
async function ja(s, e) {
|
|
6354
|
+
const t = await Qe($(s, "CHANGELOG.md")), n = xr(t).find((a) => a.version === e);
|
|
6333
6355
|
if (!n) return null;
|
|
6334
6356
|
const [{ entries: i }, r] = await Promise.all([
|
|
6335
|
-
|
|
6336
|
-
|
|
6357
|
+
Se($(s, "papercamp", "ideas")),
|
|
6358
|
+
to(s, n.range)
|
|
6337
6359
|
]), o = /* @__PURE__ */ new Map();
|
|
6338
6360
|
for (const a of r.keys()) {
|
|
6339
6361
|
const c = i.find((f) => f.id === a);
|
|
6340
6362
|
if (!c) continue;
|
|
6341
|
-
const l =
|
|
6363
|
+
const l = Dn[c.type ?? "chore"], u = o.get(l) ?? [];
|
|
6342
6364
|
u.push({ id: c.id, title: c.title }), o.set(l, u);
|
|
6343
6365
|
}
|
|
6344
|
-
return
|
|
6366
|
+
return Bo.filter((a) => o.has(a)).map((a) => ({
|
|
6345
6367
|
label: a,
|
|
6346
6368
|
ideas: o.get(a)
|
|
6347
6369
|
}));
|
|
6348
6370
|
}
|
|
6349
|
-
function
|
|
6371
|
+
function Ba(s, e) {
|
|
6350
6372
|
const t = [`## ${s}`];
|
|
6351
6373
|
for (const n of e) {
|
|
6352
6374
|
t.push("", `### ${n.label}`, "");
|
|
@@ -6356,119 +6378,120 @@ function Ma(s, e) {
|
|
|
6356
6378
|
return t.join(`
|
|
6357
6379
|
`);
|
|
6358
6380
|
}
|
|
6359
|
-
function
|
|
6381
|
+
function Ko(s) {
|
|
6360
6382
|
return Math.floor((Date.now() - Date.parse(s)) / 864e5);
|
|
6361
6383
|
}
|
|
6362
|
-
const
|
|
6363
|
-
function
|
|
6384
|
+
const Fo = (s, e) => s === "question" && (e ?? "open") === "open";
|
|
6385
|
+
function qo(s) {
|
|
6364
6386
|
return s.flatMap(
|
|
6365
|
-
(e) => (e.thread ?? []).filter((t) =>
|
|
6387
|
+
(e) => (e.thread ?? []).filter((t) => Fo(t.kind, t.state)).map((t) => ({
|
|
6366
6388
|
entityId: e.id,
|
|
6367
6389
|
entityTitle: e.title,
|
|
6368
6390
|
text: t.text,
|
|
6369
6391
|
date: t.date,
|
|
6370
|
-
ageDays: t.date ?
|
|
6392
|
+
ageDays: t.date ? Ko(t.date) : Number.POSITIVE_INFINITY
|
|
6371
6393
|
}))
|
|
6372
6394
|
).sort((e, t) => t.ageDays - e.ageDays);
|
|
6373
6395
|
}
|
|
6374
|
-
async function
|
|
6375
|
-
const { entries: e } = await
|
|
6376
|
-
return
|
|
6396
|
+
async function Ka(s) {
|
|
6397
|
+
const { entries: e } = await Se(s);
|
|
6398
|
+
return qo(e);
|
|
6377
6399
|
}
|
|
6378
6400
|
export {
|
|
6379
|
-
|
|
6380
|
-
|
|
6381
|
-
|
|
6382
|
-
|
|
6383
|
-
|
|
6384
|
-
|
|
6385
|
-
|
|
6386
|
-
|
|
6387
|
-
|
|
6388
|
-
|
|
6389
|
-
|
|
6390
|
-
|
|
6391
|
-
|
|
6392
|
-
|
|
6393
|
-
|
|
6394
|
-
|
|
6395
|
-
|
|
6396
|
-
|
|
6397
|
-
|
|
6398
|
-
|
|
6399
|
-
|
|
6400
|
-
|
|
6401
|
-
|
|
6402
|
-
|
|
6403
|
-
|
|
6404
|
-
|
|
6405
|
-
|
|
6406
|
-
|
|
6407
|
-
|
|
6408
|
-
|
|
6409
|
-
|
|
6410
|
-
|
|
6411
|
-
|
|
6412
|
-
|
|
6413
|
-
|
|
6414
|
-
|
|
6415
|
-
|
|
6416
|
-
|
|
6417
|
-
|
|
6418
|
-
|
|
6419
|
-
|
|
6420
|
-
|
|
6421
|
-
|
|
6422
|
-
|
|
6423
|
-
|
|
6424
|
-
|
|
6425
|
-
|
|
6426
|
-
|
|
6427
|
-
|
|
6428
|
-
|
|
6429
|
-
|
|
6430
|
-
|
|
6431
|
-
|
|
6432
|
-
|
|
6433
|
-
|
|
6434
|
-
|
|
6435
|
-
|
|
6436
|
-
|
|
6437
|
-
|
|
6438
|
-
|
|
6439
|
-
|
|
6440
|
-
|
|
6441
|
-
|
|
6442
|
-
|
|
6443
|
-
|
|
6444
|
-
|
|
6445
|
-
|
|
6446
|
-
|
|
6447
|
-
|
|
6448
|
-
|
|
6449
|
-
|
|
6450
|
-
|
|
6451
|
-
|
|
6452
|
-
|
|
6453
|
-
|
|
6454
|
-
|
|
6455
|
-
|
|
6456
|
-
|
|
6457
|
-
|
|
6458
|
-
|
|
6459
|
-
|
|
6460
|
-
|
|
6461
|
-
|
|
6462
|
-
|
|
6401
|
+
ro as $,
|
|
6402
|
+
Do as A,
|
|
6403
|
+
qr as B,
|
|
6404
|
+
Po as C,
|
|
6405
|
+
In as D,
|
|
6406
|
+
Da as E,
|
|
6407
|
+
Co as F,
|
|
6408
|
+
_a as G,
|
|
6409
|
+
Oo as H,
|
|
6410
|
+
Oa as I,
|
|
6411
|
+
va as J,
|
|
6412
|
+
Ba as K,
|
|
6413
|
+
_r as L,
|
|
6414
|
+
ys as M,
|
|
6415
|
+
Ma as N,
|
|
6416
|
+
bo as O,
|
|
6417
|
+
Ro as P,
|
|
6418
|
+
ya as Q,
|
|
6419
|
+
Rr as R,
|
|
6420
|
+
Lo as S,
|
|
6421
|
+
kn as T,
|
|
6422
|
+
Wo as U,
|
|
6423
|
+
zt as V,
|
|
6424
|
+
ra as W,
|
|
6425
|
+
oa as X,
|
|
6426
|
+
ia as Y,
|
|
6427
|
+
na as Z,
|
|
6428
|
+
jr as _,
|
|
6429
|
+
Zt as a,
|
|
6430
|
+
aa as a0,
|
|
6431
|
+
Ur as a1,
|
|
6432
|
+
Cr as a2,
|
|
6433
|
+
Lr as a3,
|
|
6434
|
+
Se as a4,
|
|
6435
|
+
la as a5,
|
|
6436
|
+
Qe as a6,
|
|
6437
|
+
da as a7,
|
|
6438
|
+
Ka as a8,
|
|
6439
|
+
fa as a9,
|
|
6440
|
+
bn as aA,
|
|
6441
|
+
ta as aB,
|
|
6442
|
+
sa as aC,
|
|
6443
|
+
ea as aD,
|
|
6444
|
+
$r as aE,
|
|
6445
|
+
pa as aa,
|
|
6446
|
+
Ra as ab,
|
|
6447
|
+
Io as ac,
|
|
6448
|
+
uo as ad,
|
|
6449
|
+
Xo as ae,
|
|
6450
|
+
eo as af,
|
|
6451
|
+
ha as ag,
|
|
6452
|
+
wt as ah,
|
|
6453
|
+
to as ai,
|
|
6454
|
+
ba as aj,
|
|
6455
|
+
lo as ak,
|
|
6456
|
+
Os as al,
|
|
6457
|
+
ja as am,
|
|
6458
|
+
xr as an,
|
|
6459
|
+
Qo as ao,
|
|
6460
|
+
wa as ap,
|
|
6461
|
+
es as aq,
|
|
6462
|
+
Ta as ar,
|
|
6463
|
+
ka as as,
|
|
6464
|
+
Sa as at,
|
|
6465
|
+
Ia as au,
|
|
6466
|
+
Ea as av,
|
|
6467
|
+
Rn as aw,
|
|
6468
|
+
Na as ax,
|
|
6469
|
+
Yr as ay,
|
|
6470
|
+
ca as az,
|
|
6471
|
+
Hn as b,
|
|
6472
|
+
Sn as c,
|
|
6473
|
+
ga as d,
|
|
6474
|
+
ma as e,
|
|
6475
|
+
Ne as f,
|
|
6476
|
+
Aa as g,
|
|
6477
|
+
xo as h,
|
|
6478
|
+
Pa as i,
|
|
6479
|
+
Ca as j,
|
|
6480
|
+
vo as k,
|
|
6481
|
+
$a as l,
|
|
6482
|
+
Zo as m,
|
|
6483
|
+
qo as n,
|
|
6484
|
+
co as o,
|
|
6485
|
+
_n as p,
|
|
6463
6486
|
Q as q,
|
|
6464
|
-
|
|
6465
|
-
|
|
6466
|
-
|
|
6467
|
-
|
|
6468
|
-
|
|
6469
|
-
|
|
6470
|
-
|
|
6471
|
-
|
|
6472
|
-
|
|
6487
|
+
po as r,
|
|
6488
|
+
ao as s,
|
|
6489
|
+
oo as t,
|
|
6490
|
+
La as u,
|
|
6491
|
+
Pr as v,
|
|
6492
|
+
Jr as w,
|
|
6493
|
+
Nn as x,
|
|
6494
|
+
zo as y,
|
|
6495
|
+
ua as z
|
|
6473
6496
|
};
|
|
6474
|
-
//# sourceMappingURL=parked-questions.
|
|
6497
|
+
//# sourceMappingURL=parked-questions.DZYZgrSZ.js.map
|