@lolkda/dsh-prompt-manager 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +606 -0
  3. package/client/client.js +2320 -0
  4. package/cordis.patch.yml +20 -0
  5. package/environment.md +24 -0
  6. package/lib/entries.js +303 -0
  7. package/lib/entries.js.map +1 -0
  8. package/lib/guard.js +134 -0
  9. package/lib/guard.js.map +1 -0
  10. package/lib/index.js +959 -0
  11. package/lib/index.js.map +1 -0
  12. package/lib/net.js +179 -0
  13. package/lib/net.js.map +1 -0
  14. package/lib/pack.js +327 -0
  15. package/lib/pack.js.map +1 -0
  16. package/lib/probe.js +251 -0
  17. package/lib/probe.js.map +1 -0
  18. package/lib/routes.js +718 -0
  19. package/lib/routes.js.map +1 -0
  20. package/lib/scripts.js +803 -0
  21. package/lib/scripts.js.map +1 -0
  22. package/lib/source.js +308 -0
  23. package/lib/source.js.map +1 -0
  24. package/lib/store.js +223 -0
  25. package/lib/store.js.map +1 -0
  26. package/lib/subscriptions.js +269 -0
  27. package/lib/subscriptions.js.map +1 -0
  28. package/lib/sync.js +646 -0
  29. package/lib/sync.js.map +1 -0
  30. package/lib/types/entries.d.ts +194 -0
  31. package/lib/types/entries.d.ts.map +1 -0
  32. package/lib/types/guard.d.ts +63 -0
  33. package/lib/types/guard.d.ts.map +1 -0
  34. package/lib/types/index.d.ts +176 -0
  35. package/lib/types/index.d.ts.map +1 -0
  36. package/lib/types/net.d.ts +81 -0
  37. package/lib/types/net.d.ts.map +1 -0
  38. package/lib/types/pack.d.ts +298 -0
  39. package/lib/types/pack.d.ts.map +1 -0
  40. package/lib/types/probe.d.ts +150 -0
  41. package/lib/types/probe.d.ts.map +1 -0
  42. package/lib/types/routes.d.ts +85 -0
  43. package/lib/types/routes.d.ts.map +1 -0
  44. package/lib/types/scripts.d.ts +455 -0
  45. package/lib/types/scripts.d.ts.map +1 -0
  46. package/lib/types/source.d.ts +194 -0
  47. package/lib/types/source.d.ts.map +1 -0
  48. package/lib/types/store.d.ts +140 -0
  49. package/lib/types/store.d.ts.map +1 -0
  50. package/lib/types/subscriptions.d.ts +204 -0
  51. package/lib/types/subscriptions.d.ts.map +1 -0
  52. package/lib/types/sync.d.ts +248 -0
  53. package/lib/types/sync.d.ts.map +1 -0
  54. package/package.json +100 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/lib/net.js ADDED
@@ -0,0 +1,179 @@
1
+ /**
2
+ * The plugin's only outbound path.
3
+ *
4
+ * Two things can happen to a request here: it can be routed through a proxy —
5
+ * `http(s)` via undici's `ProxyAgent`, `socks5` via undici's own
6
+ * `Socks5ProxyAgent`, so no new dependency enters the package — or its URL can
7
+ * be rewritten for a prefix mirror. A request with neither goes out on the
8
+ * default fetch, which already carries whatever proxy the harness launcher
9
+ * installed from the environment.
10
+ *
11
+ * Mirrors are applied to `raw.githubusercontent.com` only. The commits feed on
12
+ * `github.com` stays direct: that host is reachable from this deployment and a
13
+ * mirror's routing table is not ours to assume.
14
+ *
15
+ * @module @lolkda/dsh-prompt-manager/net
16
+ */
17
+ import { createRequire } from 'node:module';
18
+ import { withMirror } from './source.js';
19
+ /** Largest response body read, in bytes. */
20
+ const READ_LIMIT = 1024 * 1024;
21
+ /** Default per-request timeout, in milliseconds. */
22
+ export const DEFAULT_TIMEOUT_MS = 10_000;
23
+ /** A request that never reached a usable response. */
24
+ export class FetchFailure extends Error {
25
+ /** Machine-readable reason. */
26
+ reason;
27
+ /**
28
+ * @param reason - machine-readable reason.
29
+ * @param message - human-facing detail.
30
+ */
31
+ constructor(reason, message) {
32
+ super(message);
33
+ this.name = 'FetchFailure';
34
+ this.reason = reason;
35
+ }
36
+ }
37
+ /**
38
+ * Read a response body, refusing anything past {@link READ_LIMIT}.
39
+ *
40
+ * The cap is enforced while reading, not after: a mirror — or an upstream file —
41
+ * that answers with something enormous must not be able to make the host hold
42
+ * all of it in memory first.
43
+ *
44
+ * @param response - the response to read.
45
+ * @param target - the URL, for the failure message.
46
+ * @returns the body text.
47
+ * @throws {FetchFailure} when the body exceeds the cap.
48
+ */
49
+ async function readBounded(response, target) {
50
+ const body = response.body;
51
+ if (body === undefined || body === null) {
52
+ const text = await response.text();
53
+ if (Buffer.byteLength(text, 'utf8') > READ_LIMIT) {
54
+ throw new FetchFailure('too-large', `${target}: response exceeds ${String(READ_LIMIT)} bytes`);
55
+ }
56
+ return text;
57
+ }
58
+ const reader = body.getReader();
59
+ const chunks = [];
60
+ let size = 0;
61
+ for (;;) {
62
+ const { done, value } = await reader.read();
63
+ if (done)
64
+ break;
65
+ if (value === undefined)
66
+ continue;
67
+ size += value.byteLength;
68
+ if (size > READ_LIMIT) {
69
+ await reader.cancel().catch(() => undefined);
70
+ throw new FetchFailure('too-large', `${target}: response exceeds ${String(READ_LIMIT)} bytes`);
71
+ }
72
+ chunks.push(Buffer.from(value));
73
+ }
74
+ return Buffer.concat(chunks).toString('utf8');
75
+ }
76
+ /**
77
+ * Load undici through the profile's own module tree.
78
+ * @returns the module, or `undefined` when it cannot be resolved.
79
+ */
80
+ function loadUndici() {
81
+ try {
82
+ const loaded = createRequire(import.meta.url)('undici');
83
+ const candidate = typeof loaded === 'object' && loaded !== null && typeof loaded.fetch === 'function'
84
+ ? loaded
85
+ : undefined;
86
+ return candidate;
87
+ }
88
+ catch {
89
+ return undefined;
90
+ }
91
+ }
92
+ /**
93
+ * Whether a URL is one a mirror is allowed to rewrite.
94
+ * @param url - the absolute upstream URL.
95
+ * @returns `true` for raw-content URLs.
96
+ */
97
+ function mirrorable(url) {
98
+ return url.startsWith('https://raw.githubusercontent.com/');
99
+ }
100
+ /**
101
+ * Build the fetcher for one proxy configuration.
102
+ *
103
+ * @param config - proxy kind and URL, plus the effective mirror.
104
+ * @returns the fetcher; failures are reported per request, not at construction.
105
+ */
106
+ export function createFetcher(config) {
107
+ const kind = config.proxy.kind === 'http' || config.proxy.kind === 'socks5' ? config.proxy.kind : 'none';
108
+ const proxyUrl = config.proxy.url.trim();
109
+ const wanted = kind !== 'none' && proxyUrl.length > 0;
110
+ let dispatcher;
111
+ let failure;
112
+ if (wanted) {
113
+ const undici = loadUndici();
114
+ if (undici === undefined) {
115
+ failure = new FetchFailure('no-undici', 'this deployment has no resolvable undici, so a proxy cannot be used');
116
+ }
117
+ else if (kind === 'http') {
118
+ dispatcher = new undici.ProxyAgent(proxyUrl);
119
+ }
120
+ else if (typeof undici.Socks5ProxyAgent === 'function') {
121
+ dispatcher = new undici.Socks5ProxyAgent(proxyUrl);
122
+ }
123
+ else {
124
+ failure = new FetchFailure('no-undici', 'this deployment\'s undici has no Socks5ProxyAgent, so a SOCKS5 proxy cannot be used');
125
+ }
126
+ }
127
+ return {
128
+ async get(url, options = {}) {
129
+ if (failure !== undefined)
130
+ throw failure;
131
+ const target = mirrorable(url) ? withMirror(config.mirror, url) : url;
132
+ const headers = { 'user-agent': '@lolkda/dsh-prompt-manager' };
133
+ if (options.etag !== undefined && options.etag.length > 0)
134
+ headers['if-none-match'] = options.etag;
135
+ const undici = dispatcher === undefined ? undefined : loadUndici();
136
+ const init = {
137
+ headers,
138
+ redirect: 'follow',
139
+ signal: AbortSignal.timeout(options.timeoutMs ?? DEFAULT_TIMEOUT_MS),
140
+ };
141
+ if (dispatcher !== undefined && undici !== undefined)
142
+ init['dispatcher'] = dispatcher;
143
+ let response;
144
+ try {
145
+ response = undici === undefined
146
+ ? await fetch(target, init)
147
+ : await undici.fetch(target, init);
148
+ }
149
+ catch (error) {
150
+ const message = error instanceof Error ? error.message : String(error);
151
+ const timedOut = error instanceof Error && (error.name === 'TimeoutError' || error.name === 'AbortError');
152
+ throw new FetchFailure(timedOut ? 'timeout' : 'network', `${target}: ${message}`);
153
+ }
154
+ const etag = response.headers.get('etag') ?? undefined;
155
+ const contentType = response.headers.get('content-type') ?? undefined;
156
+ if (response.status === 304)
157
+ return { status: 304, text: '', etag, contentType };
158
+ const text = await readBounded(response, target);
159
+ return { status: response.status, text, etag, contentType };
160
+ },
161
+ };
162
+ }
163
+ /**
164
+ * Whether a response looks like an HTML error page rather than the file asked
165
+ * for. Mirrors and captive portals answer 200 with a page when they cannot
166
+ * reach the upstream, and staging that page as a prompt would be worse than
167
+ * failing.
168
+ *
169
+ * @param response - the response to judge.
170
+ * @returns `true` when the body is HTML.
171
+ */
172
+ export function looksLikeHtml(response) {
173
+ const contentType = (response.contentType ?? '').toLowerCase();
174
+ if (contentType.includes('text/html'))
175
+ return true;
176
+ const head = response.text.slice(0, 256).trimStart().toLowerCase();
177
+ return head.startsWith('<!doctype html') || head.startsWith('<html');
178
+ }
179
+ //# sourceMappingURL=net.js.map
package/lib/net.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"net.js","sourceRoot":"","sources":["../src/net.ts"],"names":[],"mappings":"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"}
package/lib/pack.js ADDED
@@ -0,0 +1,327 @@
1
+ /**
2
+ * Preset packs: one preset, the bodies of its local members, and enough
3
+ * provenance to say where the bodies that are *not* in the pack come from.
4
+ *
5
+ * A pack is plain JSON a person can read, diff, mail, and keep. It carries no
6
+ * code: scripts stay on the machine that wrote them, and a pack cannot ask for
7
+ * one. Everything in this module is pure — building, validating, and planning an
8
+ * import are all functions of their arguments — so the rules a pack has to pass
9
+ * are testable without an HTTP request, a store, or a settings namespace.
10
+ *
11
+ * The split of responsibility is deliberate:
12
+ *
13
+ * - {@link buildPack} turns already-resolved members into a pack. Reading bodies
14
+ * and subscription origins is the host's job, because only it knows them.
15
+ * - {@link parsePack} decides whether a foreign file is a pack this build can
16
+ * use at all, and refuses by naming the entry that is wrong.
17
+ * - {@link planImport} works out which ids the entries will take on this machine
18
+ * and rewrites the preset's membership to match, without touching anything.
19
+ *
20
+ * @module @lolkda/dsh-prompt-manager/pack
21
+ */
22
+ import { entryIdFor, freeId, isEntryId, MAX_BODY_BYTES, MAX_ENTRIES, MAX_TITLE_LENGTH, } from './entries.js';
23
+ import { malformedReferences } from './guard.js';
24
+ /** Marker every pack carries, so a foreign JSON file is refused by name. */
25
+ export const PACK_FORMAT = 'dsh-prompt-manager-pack';
26
+ /** Pack schema this build writes, and the only one it reads. */
27
+ export const PACK_VERSION = 1;
28
+ /**
29
+ * Largest pack accepted on import, in bytes.
30
+ *
31
+ * A pack can carry up to {@link MAX_ENTRIES} bodies of {@link MAX_BODY_BYTES}
32
+ * each, so the route's ordinary JSON limit — sized for one body — is far too
33
+ * small here. This is the ceiling that replaces it, and it is also the largest
34
+ * body the route will read at all.
35
+ */
36
+ export const MAX_PACK_BYTES = 4 * 1024 * 1024;
37
+ /** At most this many entries one pack may declare. Mirrors the index's own cap. */
38
+ export const MAX_PACK_ENTRIES = MAX_ENTRIES;
39
+ /**
40
+ * Assemble a pack from members whose bodies the host has already resolved.
41
+ *
42
+ * Refuses nothing: a member with no body is exactly what a subscribed entry
43
+ * looks like, and its provenance is what makes the pack usable somewhere else.
44
+ *
45
+ * @param input - the preset, its resolved members, and the version recording it.
46
+ * @returns the pack, ready to be serialized.
47
+ */
48
+ export function buildPack(input) {
49
+ const members = input.members.map((member) => {
50
+ const carried = {
51
+ id: member.id,
52
+ title: member.title,
53
+ order: member.order,
54
+ enabled: member.enabled,
55
+ };
56
+ if (member.body !== undefined) {
57
+ carried.body = member.body;
58
+ if (member.origin !== undefined)
59
+ carried.origin = member.origin;
60
+ return carried;
61
+ }
62
+ if (member.source !== undefined)
63
+ carried.source = member.source;
64
+ return carried;
65
+ });
66
+ return {
67
+ format: PACK_FORMAT,
68
+ version: PACK_VERSION,
69
+ exportedAt: (input.now ?? new Date()).toISOString(),
70
+ generator: { plugin: input.pluginName, pluginVersion: input.pluginVersion },
71
+ preset: {
72
+ id: input.preset.id,
73
+ name: input.preset.name,
74
+ entries: [...input.preset.entries],
75
+ },
76
+ entries: members,
77
+ missing: [...(input.missing ?? [])],
78
+ };
79
+ }
80
+ /**
81
+ * Write the bodies an import carries, and take back whatever was written if one
82
+ * of them fails.
83
+ *
84
+ * An import that gets half-way leaves an index nobody has updated yet and a pile
85
+ * of files nothing points at, which is why the files go down first and the index
86
+ * last: a failure here removes exactly what this call created, so the machine
87
+ * ends up as it was, and importing the same pack again starts clean.
88
+ *
89
+ * @param entries - the planned entries, in pack order.
90
+ * @param sink - where the bodies go.
91
+ * @throws the sink's own error, after the rollback.
92
+ */
93
+ export function writePackBodies(entries, sink) {
94
+ const written = [];
95
+ try {
96
+ for (const entry of entries) {
97
+ if (entry.body === undefined)
98
+ continue;
99
+ sink.write(entry.id, entry.body);
100
+ written.push(entry.id);
101
+ }
102
+ }
103
+ catch (error) {
104
+ for (const id of written)
105
+ sink.remove(id);
106
+ throw error;
107
+ }
108
+ }
109
+ /**
110
+ * Read a pack from an untrusted value.
111
+ *
112
+ * Strict about what cannot be recovered and forgiving about what can: a title is
113
+ * required because a missing id is derived from it, while an unusable id, a
114
+ * missing order, or an absent `enabled` are all things the importer decides
115
+ * again anyway. A body that no assembly could render is refused here rather than
116
+ * written into the index, because an index entry that cannot assemble fails
117
+ * every model step until somebody edits it.
118
+ *
119
+ * @param raw - the parsed JSON value.
120
+ * @returns the pack, or the first reason it is unusable.
121
+ */
122
+ export function parsePack(raw) {
123
+ const root = asRecord(raw);
124
+ if (root === undefined)
125
+ return refuse('bad-format', '包必须是一个 JSON 对象');
126
+ if (root['format'] !== PACK_FORMAT) {
127
+ return refuse('bad-format', `这不是一个 ${PACK_FORMAT} 包(format = ${JSON.stringify(root['format'])})`);
128
+ }
129
+ if (root['version'] !== PACK_VERSION) {
130
+ return refuse('bad-version', `包的版本是 ${JSON.stringify(root['version'])},这个版本只认 ${String(PACK_VERSION)}`);
131
+ }
132
+ const presetRaw = asRecord(root['preset']);
133
+ if (presetRaw === undefined)
134
+ return refuse('bad-preset', '包里的 preset 必须是一个对象');
135
+ const presetName = textOf(presetRaw['name']) ?? textOf(presetRaw['id']);
136
+ if (presetName === undefined)
137
+ return refuse('bad-preset', 'preset 需要一个 name');
138
+ const membersRaw = presetRaw['entries'];
139
+ if (!Array.isArray(membersRaw))
140
+ return refuse('bad-preset', 'preset.entries 必须是字符串数组');
141
+ const memberIds = membersRaw.filter((member) => typeof member === 'string');
142
+ const listRaw = root['entries'];
143
+ if (!Array.isArray(listRaw))
144
+ return refuse('bad-entry', 'entries 必须是一个数组');
145
+ if (listRaw.length > MAX_PACK_ENTRIES) {
146
+ return refuse('too-many-entries', `包里有 ${String(listRaw.length)} 条,上限是 ${String(MAX_PACK_ENTRIES)}`);
147
+ }
148
+ const entries = [];
149
+ for (const [index, item] of listRaw.entries()) {
150
+ const position = index + 1;
151
+ const record = asRecord(item);
152
+ if (record === undefined)
153
+ return refuse('bad-entry', `第 ${String(position)} 条不是一个对象`);
154
+ const title = textOf(record['title']);
155
+ if (title === undefined)
156
+ return refuse('bad-entry', `第 ${String(position)} 条没有可用的 title`);
157
+ const orderRaw = record['order'];
158
+ const entry = {
159
+ id: textOf(record['id']) ?? '',
160
+ title: title.slice(0, MAX_TITLE_LENGTH),
161
+ order: typeof orderRaw === 'number' && Number.isFinite(orderRaw) ? orderRaw : 0,
162
+ enabled: record['enabled'] === true,
163
+ };
164
+ const bodyRaw = record['body'];
165
+ if (typeof bodyRaw === 'string') {
166
+ const size = Buffer.byteLength(bodyRaw, 'utf8');
167
+ if (size > MAX_BODY_BYTES) {
168
+ return refuse('too-large', `「${entry.title}」的正文有 ${String(size)} 字节,上限是 ${String(MAX_BODY_BYTES)}`);
169
+ }
170
+ const broken = malformedReferences(bodyRaw);
171
+ if (broken.length > 0) {
172
+ return refuse('bad-reference', `「${entry.title}」的正文里有注册表解析不了的引用:${broken.join(' ')}(这种正文一进索引,每个模型步骤都会失败)`);
173
+ }
174
+ entry.body = bodyRaw;
175
+ const origin = record['origin'];
176
+ if (origin === 'local' || origin === 'builtin')
177
+ entry.origin = origin;
178
+ }
179
+ else {
180
+ const source = parseSourceRef(record['source']);
181
+ if (source !== undefined)
182
+ entry.source = source;
183
+ }
184
+ entries.push(entry);
185
+ }
186
+ const missingRaw = root['missing'];
187
+ const missing = Array.isArray(missingRaw)
188
+ ? missingRaw.filter((id) => typeof id === 'string')
189
+ : [];
190
+ return {
191
+ ok: true,
192
+ pack: {
193
+ format: PACK_FORMAT,
194
+ version: PACK_VERSION,
195
+ exportedAt: textOf(root['exportedAt']) ?? '',
196
+ generator: readGenerator(root['generator']),
197
+ preset: { id: textOf(presetRaw['id']) ?? '', name: presetName.slice(0, MAX_TITLE_LENGTH), entries: memberIds },
198
+ entries,
199
+ missing,
200
+ },
201
+ };
202
+ }
203
+ /**
204
+ * Decide which ids an imported pack will take here, and what its preset will say.
205
+ *
206
+ * A taken id is not an error and not an overwrite: the entry gets a fresh id
207
+ * derived from its title, the preset's membership follows it, and the pack's
208
+ * display name is kept. Importing the same pack twice therefore produces two
209
+ * distinct sets rather than quietly rewriting the first one. Members the pack
210
+ * itself could not carry are kept in the preset as they were — the same rule the
211
+ * index uses for a subscription that may come back — and reported separately.
212
+ *
213
+ * @param pack - a pack that already passed {@link parsePack}.
214
+ * @param taken - ids already in use here: the index, the stored bodies, the
215
+ * built-ins, and the configured presets.
216
+ * @returns the plan, or why the pack does not fit on this machine.
217
+ */
218
+ export function planImport(pack, taken) {
219
+ const used = new Set(taken.entryIds);
220
+ const room = MAX_ENTRIES - used.size;
221
+ if (pack.entries.length > room) {
222
+ return refuse('too-many-entries', `这台机器还能再放 ${String(Math.max(room, 0))} 条,这个包有 ${String(pack.entries.length)} 条(上限 ${String(MAX_ENTRIES)})`);
223
+ }
224
+ const renamed = [];
225
+ const noBody = [];
226
+ const sourceDropped = [];
227
+ const entries = pack.entries.map((entry) => {
228
+ const wanted = isEntryId(entry.id) ? freeId(entry.id, used) : entryIdFor(entry.title, used);
229
+ used.add(wanted);
230
+ const kept = wanted === entry.id;
231
+ if (!kept)
232
+ renamed.push({ from: entry.id, to: wanted });
233
+ if (entry.body === undefined)
234
+ noBody.push(entry.title);
235
+ const planned = {
236
+ id: wanted,
237
+ title: entry.title,
238
+ order: entry.order,
239
+ enabled: entry.enabled,
240
+ };
241
+ if (entry.body !== undefined)
242
+ planned.body = entry.body;
243
+ if (entry.origin !== undefined)
244
+ planned.origin = entry.origin;
245
+ // A subscription's body is found upstream *by id*, so an entry that had to
246
+ // be renamed can never read its file: recording the source anyway would
247
+ // present an entry as read-only-upstream while it can only ever render
248
+ // empty — and read-only means the person cannot even paste the body in.
249
+ if (entry.source !== undefined) {
250
+ if (kept)
251
+ planned.source = entry.source.slug;
252
+ else
253
+ sourceDropped.push(entry.title);
254
+ }
255
+ if (!kept)
256
+ planned.renamedFrom = entry.id;
257
+ return planned;
258
+ });
259
+ const presetUsed = new Set(taken.presetIds);
260
+ const presetId = isEntryId(pack.preset.id) && !presetUsed.has(pack.preset.id)
261
+ ? pack.preset.id
262
+ : entryIdFor(pack.preset.name, presetUsed);
263
+ const moved = new Map(renamed.map(({ from, to }) => [from, to]));
264
+ const carried = new Set(pack.entries.map((entry) => entry.id));
265
+ const missingMembers = pack.preset.entries.filter((id) => !carried.has(id));
266
+ return {
267
+ ok: true,
268
+ plan: {
269
+ entries,
270
+ preset: {
271
+ id: presetId,
272
+ name: pack.preset.name,
273
+ entries: pack.preset.entries.map((id) => moved.get(id) ?? id),
274
+ },
275
+ renamed,
276
+ noBody,
277
+ sourceDropped,
278
+ missingMembers,
279
+ },
280
+ };
281
+ }
282
+ /** Build one refusal. */
283
+ function refuse(code, message) {
284
+ return { ok: false, code, message };
285
+ }
286
+ /** Narrow a value to a plain object. */
287
+ function asRecord(value) {
288
+ return typeof value === 'object' && value !== null && !Array.isArray(value)
289
+ ? value
290
+ : undefined;
291
+ }
292
+ /** Read a non-empty trimmed string. */
293
+ function textOf(value) {
294
+ if (typeof value !== 'string')
295
+ return undefined;
296
+ const trimmed = value.trim();
297
+ return trimmed.length > 0 ? trimmed : undefined;
298
+ }
299
+ /** Read a subscription reference, keeping only what it actually carries. */
300
+ function parseSourceRef(value) {
301
+ const record = asRecord(value);
302
+ if (record === undefined)
303
+ return undefined;
304
+ const slug = textOf(record['slug']);
305
+ if (slug === undefined)
306
+ return undefined;
307
+ const ref = { slug };
308
+ const repo = textOf(record['repo']);
309
+ if (repo !== undefined)
310
+ ref.repo = repo;
311
+ const branch = textOf(record['ref']);
312
+ if (branch !== undefined)
313
+ ref.ref = branch;
314
+ const file = textOf(record['file']);
315
+ if (file !== undefined)
316
+ ref.file = file;
317
+ return ref;
318
+ }
319
+ /** Read the optional header a pack's writer left for a human. */
320
+ function readGenerator(value) {
321
+ const record = asRecord(value);
322
+ return {
323
+ plugin: textOf(record?.['plugin']) ?? '',
324
+ pluginVersion: textOf(record?.['pluginVersion']) ?? '',
325
+ };
326
+ }
327
+ //# sourceMappingURL=pack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pack.js","sourceRoot":"","sources":["../src/pack.ts"],"names":[],"mappings":"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"}