get-tbd 0.1.26 → 0.1.28
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/bin.mjs +258 -132
- package/dist/bin.mjs.map +1 -1
- package/dist/cli.mjs +154 -49
- package/dist/cli.mjs.map +1 -1
- package/dist/{config-b20Kf5pW.mjs → config-B38rbI9u.mjs} +2 -2
- package/dist/{config-b20Kf5pW.mjs.map → config-B38rbI9u.mjs.map} +1 -1
- package/dist/{config-BZte2m3w.mjs → config-C0ITTrtc.mjs} +1 -1
- package/dist/docs/guidelines/bun-monorepo-patterns.md +328 -58
- package/dist/docs/guidelines/pnpm-monorepo-patterns.md +399 -64
- package/dist/docs/guidelines/typescript-cli-tool-rules.md +39 -8
- package/dist/docs/guidelines/typescript-code-coverage.md +27 -3
- package/dist/docs/guidelines/typescript-rules.md +18 -0
- package/dist/docs/guidelines/typescript-yaml-handling-rules.md +12 -0
- package/dist/docs/tbd-design.md +16 -1
- package/dist/docs/tbd-docs.md +11 -2
- package/dist/{id-mapping-BtBwq5nG.mjs → id-mapping-CqrrLgeX.mjs} +2 -2
- package/dist/{id-mapping-BtBwq5nG.mjs.map → id-mapping-CqrrLgeX.mjs.map} +1 -1
- package/dist/{id-mapping-BA_xn516.mjs → id-mapping-Ctfl_nc1.mjs} +1 -1
- package/dist/index.d.mts +13 -1
- package/dist/index.mjs +3 -3
- package/dist/{schemas-BQYmDnkv.mjs → schemas-C8mOQykE.mjs} +17 -5
- package/dist/schemas-C8mOQykE.mjs.map +1 -0
- package/dist/{src-DQcOQnFp.mjs → src-D2xEmH4L.mjs} +3 -3
- package/dist/{src-DQcOQnFp.mjs.map → src-D2xEmH4L.mjs.map} +1 -1
- package/dist/tbd +258 -132
- package/package.json +2 -2
- package/dist/schemas-BQYmDnkv.mjs.map +0 -1
package/dist/bin.mjs
CHANGED
|
@@ -6710,6 +6710,18 @@ const IssueKind = enumType([
|
|
|
6710
6710
|
"chore"
|
|
6711
6711
|
]);
|
|
6712
6712
|
/**
|
|
6713
|
+
* Maximum issue title length before detail belongs in the description body.
|
|
6714
|
+
*/
|
|
6715
|
+
const ISSUE_TITLE_MAX_LENGTH = 500;
|
|
6716
|
+
/**
|
|
6717
|
+
* Maximum issue body section length to keep issue files practical to review and sync.
|
|
6718
|
+
*/
|
|
6719
|
+
const ISSUE_BODY_MAX_LENGTH = 5e4;
|
|
6720
|
+
/**
|
|
6721
|
+
* Issue title text as persisted in issue files.
|
|
6722
|
+
*/
|
|
6723
|
+
const IssueTitle = stringType().min(1).max(ISSUE_TITLE_MAX_LENGTH);
|
|
6724
|
+
/**
|
|
6713
6725
|
* Priority: 0 (highest/critical) to 4 (lowest).
|
|
6714
6726
|
*/
|
|
6715
6727
|
const Priority = numberType().int().min(0).max(4);
|
|
@@ -6743,12 +6755,12 @@ const Dependency = objectType({
|
|
|
6743
6755
|
*/
|
|
6744
6756
|
const IssueSchema = BaseEntity.extend({
|
|
6745
6757
|
type: literalType("is"),
|
|
6746
|
-
title:
|
|
6758
|
+
title: IssueTitle,
|
|
6747
6759
|
kind: IssueKind.default("task"),
|
|
6748
6760
|
status: IssueStatus.default("open"),
|
|
6749
6761
|
priority: Priority.default(2),
|
|
6750
|
-
description: stringType().max(
|
|
6751
|
-
notes: stringType().max(
|
|
6762
|
+
description: stringType().max(ISSUE_BODY_MAX_LENGTH).nullable().optional(),
|
|
6763
|
+
notes: stringType().max(ISSUE_BODY_MAX_LENGTH).nullable().optional(),
|
|
6752
6764
|
spec_path: stringType().nullable().optional(),
|
|
6753
6765
|
assignee: stringType().nullable().optional(),
|
|
6754
6766
|
labels: arrayType(stringType()).default([]),
|
|
@@ -6947,7 +6959,7 @@ const noopLogger = {
|
|
|
6947
6959
|
};
|
|
6948
6960
|
|
|
6949
6961
|
//#endregion
|
|
6950
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
6962
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/nodes/identity.js
|
|
6951
6963
|
var require_identity = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
6952
6964
|
const ALIAS = Symbol.for("yaml.alias");
|
|
6953
6965
|
const DOC = Symbol.for("yaml.document");
|
|
@@ -6998,7 +7010,7 @@ var require_identity = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
6998
7010
|
}));
|
|
6999
7011
|
|
|
7000
7012
|
//#endregion
|
|
7001
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
7013
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/visit.js
|
|
7002
7014
|
var require_visit = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
7003
7015
|
var identity = require_identity();
|
|
7004
7016
|
const BREAK = Symbol("break visit");
|
|
@@ -7189,7 +7201,7 @@ var require_visit = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
7189
7201
|
}));
|
|
7190
7202
|
|
|
7191
7203
|
//#endregion
|
|
7192
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
7204
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/doc/directives.js
|
|
7193
7205
|
var require_directives = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
7194
7206
|
var identity = require_identity();
|
|
7195
7207
|
var visit = require_visit();
|
|
@@ -7355,7 +7367,7 @@ var require_directives = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
7355
7367
|
}));
|
|
7356
7368
|
|
|
7357
7369
|
//#endregion
|
|
7358
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
7370
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/doc/anchors.js
|
|
7359
7371
|
var require_anchors = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
7360
7372
|
var identity = require_identity();
|
|
7361
7373
|
var visit = require_visit();
|
|
@@ -7418,7 +7430,7 @@ var require_anchors = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
7418
7430
|
}));
|
|
7419
7431
|
|
|
7420
7432
|
//#endregion
|
|
7421
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
7433
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/doc/applyReviver.js
|
|
7422
7434
|
var require_applyReviver = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
7423
7435
|
/**
|
|
7424
7436
|
* Applies the JSON.parse reviver algorithm as defined in the ECMA-262 spec,
|
|
@@ -7459,7 +7471,7 @@ var require_applyReviver = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
7459
7471
|
}));
|
|
7460
7472
|
|
|
7461
7473
|
//#endregion
|
|
7462
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
7474
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/nodes/toJS.js
|
|
7463
7475
|
var require_toJS = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
7464
7476
|
var identity = require_identity();
|
|
7465
7477
|
/**
|
|
@@ -7497,7 +7509,7 @@ var require_toJS = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
7497
7509
|
}));
|
|
7498
7510
|
|
|
7499
7511
|
//#endregion
|
|
7500
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
7512
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/nodes/Node.js
|
|
7501
7513
|
var require_Node = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
7502
7514
|
var applyReviver = require_applyReviver();
|
|
7503
7515
|
var identity = require_identity();
|
|
@@ -7532,7 +7544,7 @@ var require_Node = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
7532
7544
|
}));
|
|
7533
7545
|
|
|
7534
7546
|
//#endregion
|
|
7535
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
7547
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/nodes/Alias.js
|
|
7536
7548
|
var require_Alias = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
7537
7549
|
var anchors = require_anchors();
|
|
7538
7550
|
var visit = require_visit();
|
|
@@ -7552,6 +7564,7 @@ var require_Alias = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
7552
7564
|
* instance of the `source` anchor before this node.
|
|
7553
7565
|
*/
|
|
7554
7566
|
resolve(doc, ctx) {
|
|
7567
|
+
if (ctx?.maxAliasCount === 0) throw new ReferenceError("Alias resolution is disabled");
|
|
7555
7568
|
let nodes;
|
|
7556
7569
|
if (ctx?.aliasResolveCache) nodes = ctx.aliasResolveCache;
|
|
7557
7570
|
else {
|
|
@@ -7626,7 +7639,7 @@ var require_Alias = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
7626
7639
|
}));
|
|
7627
7640
|
|
|
7628
7641
|
//#endregion
|
|
7629
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
7642
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/nodes/Scalar.js
|
|
7630
7643
|
var require_Scalar = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
7631
7644
|
var identity = require_identity();
|
|
7632
7645
|
var Node = require_Node();
|
|
@@ -7654,7 +7667,7 @@ var require_Scalar = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
7654
7667
|
}));
|
|
7655
7668
|
|
|
7656
7669
|
//#endregion
|
|
7657
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
7670
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/doc/createNode.js
|
|
7658
7671
|
var require_createNode = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
7659
7672
|
var Alias = require_Alias();
|
|
7660
7673
|
var identity = require_identity();
|
|
@@ -7718,7 +7731,7 @@ var require_createNode = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
7718
7731
|
}));
|
|
7719
7732
|
|
|
7720
7733
|
//#endregion
|
|
7721
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
7734
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/nodes/Collection.js
|
|
7722
7735
|
var require_Collection = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
7723
7736
|
var createNode = require_createNode();
|
|
7724
7737
|
var identity = require_identity();
|
|
@@ -7840,7 +7853,7 @@ var require_Collection = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
7840
7853
|
}));
|
|
7841
7854
|
|
|
7842
7855
|
//#endregion
|
|
7843
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
7856
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/stringify/stringifyComment.js
|
|
7844
7857
|
var require_stringifyComment = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
7845
7858
|
/**
|
|
7846
7859
|
* Stringifies a comment.
|
|
@@ -7861,7 +7874,7 @@ var require_stringifyComment = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
7861
7874
|
}));
|
|
7862
7875
|
|
|
7863
7876
|
//#endregion
|
|
7864
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
7877
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/stringify/foldFlowLines.js
|
|
7865
7878
|
var require_foldFlowLines = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
7866
7879
|
const FOLD_FLOW = "flow";
|
|
7867
7880
|
const FOLD_BLOCK = "block";
|
|
@@ -7978,7 +7991,7 @@ var require_foldFlowLines = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
7978
7991
|
}));
|
|
7979
7992
|
|
|
7980
7993
|
//#endregion
|
|
7981
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
7994
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/stringify/stringifyString.js
|
|
7982
7995
|
var require_stringifyString = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
7983
7996
|
var Scalar = require_Scalar();
|
|
7984
7997
|
var foldFlowLines = require_foldFlowLines();
|
|
@@ -8203,7 +8216,7 @@ var require_stringifyString = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
8203
8216
|
}));
|
|
8204
8217
|
|
|
8205
8218
|
//#endregion
|
|
8206
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
8219
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/stringify/stringify.js
|
|
8207
8220
|
var require_stringify = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
8208
8221
|
var anchors = require_anchors();
|
|
8209
8222
|
var identity = require_identity();
|
|
@@ -8226,6 +8239,7 @@ var require_stringify = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
8226
8239
|
nullStr: "null",
|
|
8227
8240
|
simpleKeys: false,
|
|
8228
8241
|
singleQuote: null,
|
|
8242
|
+
trailingComma: false,
|
|
8229
8243
|
trueStr: "true",
|
|
8230
8244
|
verifyAliasOrder: true
|
|
8231
8245
|
}, doc.schema.toStringOptions, options);
|
|
@@ -8311,7 +8325,7 @@ var require_stringify = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
8311
8325
|
}));
|
|
8312
8326
|
|
|
8313
8327
|
//#endregion
|
|
8314
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
8328
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/stringify/stringifyPair.js
|
|
8315
8329
|
var require_stringifyPair = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
8316
8330
|
var identity = require_identity();
|
|
8317
8331
|
var Scalar = require_Scalar();
|
|
@@ -8409,7 +8423,7 @@ var require_stringifyPair = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
8409
8423
|
}));
|
|
8410
8424
|
|
|
8411
8425
|
//#endregion
|
|
8412
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
8426
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/log.js
|
|
8413
8427
|
var require_log = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
8414
8428
|
var node_process$2 = __require("process");
|
|
8415
8429
|
function debug(logLevel, ...messages) {
|
|
@@ -8424,7 +8438,7 @@ var require_log = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
8424
8438
|
}));
|
|
8425
8439
|
|
|
8426
8440
|
//#endregion
|
|
8427
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
8441
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/schema/yaml-1.1/merge.js
|
|
8428
8442
|
var require_merge = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
8429
8443
|
var identity = require_identity();
|
|
8430
8444
|
var Scalar = require_Scalar();
|
|
@@ -8439,13 +8453,13 @@ var require_merge = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
8439
8453
|
};
|
|
8440
8454
|
const isMergeKey = (ctx, key) => (merge.identify(key) || identity.isScalar(key) && (!key.type || key.type === Scalar.Scalar.PLAIN) && merge.identify(key.value)) && ctx?.doc.schema.tags.some((tag) => tag.tag === merge.tag && tag.default);
|
|
8441
8455
|
function addMergeToJSMap(ctx, map, value) {
|
|
8442
|
-
|
|
8443
|
-
if (identity.isSeq(
|
|
8444
|
-
else if (Array.isArray(
|
|
8445
|
-
else mergeValue(ctx, map,
|
|
8456
|
+
const source = resolveAliasValue(ctx, value);
|
|
8457
|
+
if (identity.isSeq(source)) for (const it of source.items) mergeValue(ctx, map, it);
|
|
8458
|
+
else if (Array.isArray(source)) for (const it of source) mergeValue(ctx, map, it);
|
|
8459
|
+
else mergeValue(ctx, map, source);
|
|
8446
8460
|
}
|
|
8447
8461
|
function mergeValue(ctx, map, value) {
|
|
8448
|
-
const source = ctx
|
|
8462
|
+
const source = resolveAliasValue(ctx, value);
|
|
8449
8463
|
if (!identity.isMap(source)) throw new Error("Merge sources must be maps or map aliases");
|
|
8450
8464
|
const srcMap = source.toJSON(null, ctx, Map);
|
|
8451
8465
|
for (const [key, value] of srcMap) if (map instanceof Map) {
|
|
@@ -8459,13 +8473,16 @@ var require_merge = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
8459
8473
|
});
|
|
8460
8474
|
return map;
|
|
8461
8475
|
}
|
|
8476
|
+
function resolveAliasValue(ctx, value) {
|
|
8477
|
+
return ctx && identity.isAlias(value) ? value.resolve(ctx.doc, ctx) : value;
|
|
8478
|
+
}
|
|
8462
8479
|
exports.addMergeToJSMap = addMergeToJSMap;
|
|
8463
8480
|
exports.isMergeKey = isMergeKey;
|
|
8464
8481
|
exports.merge = merge;
|
|
8465
8482
|
}));
|
|
8466
8483
|
|
|
8467
8484
|
//#endregion
|
|
8468
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
8485
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/nodes/addPairToJSMap.js
|
|
8469
8486
|
var require_addPairToJSMap = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
8470
8487
|
var log = require_log();
|
|
8471
8488
|
var merge = require_merge();
|
|
@@ -8517,7 +8534,7 @@ var require_addPairToJSMap = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
8517
8534
|
}));
|
|
8518
8535
|
|
|
8519
8536
|
//#endregion
|
|
8520
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
8537
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/nodes/Pair.js
|
|
8521
8538
|
var require_Pair = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
8522
8539
|
var createNode = require_createNode();
|
|
8523
8540
|
var stringifyPair = require_stringifyPair();
|
|
@@ -8551,7 +8568,7 @@ var require_Pair = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
8551
8568
|
}));
|
|
8552
8569
|
|
|
8553
8570
|
//#endregion
|
|
8554
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
8571
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/stringify/stringifyCollection.js
|
|
8555
8572
|
var require_stringifyCollection = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
8556
8573
|
var identity = require_identity();
|
|
8557
8574
|
var stringify = require_stringify();
|
|
@@ -8635,9 +8652,13 @@ var require_stringifyCollection = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
8635
8652
|
}
|
|
8636
8653
|
if (comment) reqNewline = true;
|
|
8637
8654
|
let str = stringify.stringify(item, itemCtx, () => comment = null);
|
|
8655
|
+
reqNewline || (reqNewline = lines.length > linesAtValue || str.includes("\n"));
|
|
8638
8656
|
if (i < items.length - 1) str += ",";
|
|
8657
|
+
else if (ctx.options.trailingComma) {
|
|
8658
|
+
if (ctx.options.lineWidth > 0) reqNewline || (reqNewline = lines.reduce((sum, line) => sum + line.length + 2, 2) + (str.length + 2) > ctx.options.lineWidth);
|
|
8659
|
+
if (reqNewline) str += ",";
|
|
8660
|
+
}
|
|
8639
8661
|
if (comment) str += stringifyComment.lineComment(str, itemIndent, commentString(comment));
|
|
8640
|
-
if (!reqNewline && (lines.length > linesAtValue || str.includes("\n"))) reqNewline = true;
|
|
8641
8662
|
lines.push(str);
|
|
8642
8663
|
linesAtValue = lines.length;
|
|
8643
8664
|
}
|
|
@@ -8666,7 +8687,7 @@ var require_stringifyCollection = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
8666
8687
|
}));
|
|
8667
8688
|
|
|
8668
8689
|
//#endregion
|
|
8669
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
8690
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/nodes/YAMLMap.js
|
|
8670
8691
|
var require_YAMLMap = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
8671
8692
|
var stringifyCollection = require_stringifyCollection();
|
|
8672
8693
|
var addPairToJSMap = require_addPairToJSMap();
|
|
@@ -8776,7 +8797,7 @@ var require_YAMLMap = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
8776
8797
|
}));
|
|
8777
8798
|
|
|
8778
8799
|
//#endregion
|
|
8779
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
8800
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/schema/common/map.js
|
|
8780
8801
|
var require_map = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
8781
8802
|
var identity = require_identity();
|
|
8782
8803
|
var YAMLMap = require_YAMLMap();
|
|
@@ -8795,7 +8816,7 @@ var require_map = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
8795
8816
|
}));
|
|
8796
8817
|
|
|
8797
8818
|
//#endregion
|
|
8798
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
8819
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/nodes/YAMLSeq.js
|
|
8799
8820
|
var require_YAMLSeq = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
8800
8821
|
var createNode = require_createNode();
|
|
8801
8822
|
var stringifyCollection = require_stringifyCollection();
|
|
@@ -8902,7 +8923,7 @@ var require_YAMLSeq = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
8902
8923
|
}));
|
|
8903
8924
|
|
|
8904
8925
|
//#endregion
|
|
8905
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
8926
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/schema/common/seq.js
|
|
8906
8927
|
var require_seq = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
8907
8928
|
var identity = require_identity();
|
|
8908
8929
|
var YAMLSeq = require_YAMLSeq();
|
|
@@ -8921,7 +8942,7 @@ var require_seq = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
8921
8942
|
}));
|
|
8922
8943
|
|
|
8923
8944
|
//#endregion
|
|
8924
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
8945
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/schema/common/string.js
|
|
8925
8946
|
var require_string = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
8926
8947
|
var stringifyString = require_stringifyString();
|
|
8927
8948
|
const string = {
|
|
@@ -8938,7 +8959,7 @@ var require_string = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
8938
8959
|
}));
|
|
8939
8960
|
|
|
8940
8961
|
//#endregion
|
|
8941
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
8962
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/schema/common/null.js
|
|
8942
8963
|
var require_null = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
8943
8964
|
var Scalar = require_Scalar();
|
|
8944
8965
|
const nullTag = {
|
|
@@ -8954,7 +8975,7 @@ var require_null = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
8954
8975
|
}));
|
|
8955
8976
|
|
|
8956
8977
|
//#endregion
|
|
8957
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
8978
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/schema/core/bool.js
|
|
8958
8979
|
var require_bool$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
8959
8980
|
var Scalar = require_Scalar();
|
|
8960
8981
|
const boolTag = {
|
|
@@ -8974,14 +8995,14 @@ var require_bool$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
8974
8995
|
}));
|
|
8975
8996
|
|
|
8976
8997
|
//#endregion
|
|
8977
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
8998
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/stringify/stringifyNumber.js
|
|
8978
8999
|
var require_stringifyNumber = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
8979
9000
|
function stringifyNumber({ format, minFractionDigits, tag, value }) {
|
|
8980
9001
|
if (typeof value === "bigint") return String(value);
|
|
8981
9002
|
const num = typeof value === "number" ? value : Number(value);
|
|
8982
9003
|
if (!isFinite(num)) return isNaN(num) ? ".nan" : num < 0 ? "-.inf" : ".inf";
|
|
8983
9004
|
let n = Object.is(value, -0) ? "-0" : JSON.stringify(value);
|
|
8984
|
-
if (!format && minFractionDigits && (!tag || tag === "tag:yaml.org,2002:float") &&
|
|
9005
|
+
if (!format && minFractionDigits && (!tag || tag === "tag:yaml.org,2002:float") && /^-?\d/.test(n) && !n.includes("e")) {
|
|
8985
9006
|
let i = n.indexOf(".");
|
|
8986
9007
|
if (i < 0) {
|
|
8987
9008
|
i = n.length;
|
|
@@ -8996,7 +9017,7 @@ var require_stringifyNumber = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
8996
9017
|
}));
|
|
8997
9018
|
|
|
8998
9019
|
//#endregion
|
|
8999
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
9020
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/schema/core/float.js
|
|
9000
9021
|
var require_float$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
9001
9022
|
var Scalar = require_Scalar();
|
|
9002
9023
|
var stringifyNumber = require_stringifyNumber();
|
|
@@ -9039,7 +9060,7 @@ var require_float$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
9039
9060
|
}));
|
|
9040
9061
|
|
|
9041
9062
|
//#endregion
|
|
9042
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
9063
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/schema/core/int.js
|
|
9043
9064
|
var require_int$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
9044
9065
|
var stringifyNumber = require_stringifyNumber();
|
|
9045
9066
|
const intIdentify = (value) => typeof value === "bigint" || Number.isInteger(value);
|
|
@@ -9081,7 +9102,7 @@ var require_int$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
9081
9102
|
}));
|
|
9082
9103
|
|
|
9083
9104
|
//#endregion
|
|
9084
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
9105
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/schema/core/schema.js
|
|
9085
9106
|
var require_schema$2 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
9086
9107
|
var map = require_map();
|
|
9087
9108
|
var _null = require_null();
|
|
@@ -9107,7 +9128,7 @@ var require_schema$2 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
9107
9128
|
}));
|
|
9108
9129
|
|
|
9109
9130
|
//#endregion
|
|
9110
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
9131
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/schema/json/schema.js
|
|
9111
9132
|
var require_schema$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
9112
9133
|
var Scalar = require_Scalar();
|
|
9113
9134
|
var map = require_map();
|
|
@@ -9171,7 +9192,7 @@ var require_schema$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
9171
9192
|
}));
|
|
9172
9193
|
|
|
9173
9194
|
//#endregion
|
|
9174
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
9195
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/schema/yaml-1.1/binary.js
|
|
9175
9196
|
var require_binary = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
9176
9197
|
var node_buffer = __require("buffer");
|
|
9177
9198
|
var Scalar = require_Scalar();
|
|
@@ -9221,7 +9242,7 @@ var require_binary = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
9221
9242
|
}));
|
|
9222
9243
|
|
|
9223
9244
|
//#endregion
|
|
9224
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
9245
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/schema/yaml-1.1/pairs.js
|
|
9225
9246
|
var require_pairs = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
9226
9247
|
var identity = require_identity();
|
|
9227
9248
|
var Pair = require_Pair();
|
|
@@ -9282,7 +9303,7 @@ var require_pairs = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
9282
9303
|
}));
|
|
9283
9304
|
|
|
9284
9305
|
//#endregion
|
|
9285
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
9306
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/schema/yaml-1.1/omap.js
|
|
9286
9307
|
var require_omap = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
9287
9308
|
var identity = require_identity();
|
|
9288
9309
|
var toJS = require_toJS();
|
|
@@ -9346,7 +9367,7 @@ var require_omap = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
9346
9367
|
}));
|
|
9347
9368
|
|
|
9348
9369
|
//#endregion
|
|
9349
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
9370
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/schema/yaml-1.1/bool.js
|
|
9350
9371
|
var require_bool = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
9351
9372
|
var Scalar = require_Scalar();
|
|
9352
9373
|
function boolStringify({ value, source }, ctx) {
|
|
@@ -9374,7 +9395,7 @@ var require_bool = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
9374
9395
|
}));
|
|
9375
9396
|
|
|
9376
9397
|
//#endregion
|
|
9377
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
9398
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/schema/yaml-1.1/float.js
|
|
9378
9399
|
var require_float = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
9379
9400
|
var Scalar = require_Scalar();
|
|
9380
9401
|
var stringifyNumber = require_stringifyNumber();
|
|
@@ -9420,7 +9441,7 @@ var require_float = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
9420
9441
|
}));
|
|
9421
9442
|
|
|
9422
9443
|
//#endregion
|
|
9423
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
9444
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/schema/yaml-1.1/int.js
|
|
9424
9445
|
var require_int = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
9425
9446
|
var stringifyNumber = require_stringifyNumber();
|
|
9426
9447
|
const intIdentify = (value) => typeof value === "bigint" || Number.isInteger(value);
|
|
@@ -9496,7 +9517,7 @@ var require_int = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
9496
9517
|
}));
|
|
9497
9518
|
|
|
9498
9519
|
//#endregion
|
|
9499
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
9520
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/schema/yaml-1.1/set.js
|
|
9500
9521
|
var require_set = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
9501
9522
|
var identity = require_identity();
|
|
9502
9523
|
var Pair = require_Pair();
|
|
@@ -9565,7 +9586,7 @@ var require_set = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
9565
9586
|
}));
|
|
9566
9587
|
|
|
9567
9588
|
//#endregion
|
|
9568
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
9589
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js
|
|
9569
9590
|
var require_timestamp = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
9570
9591
|
var stringifyNumber = require_stringifyNumber();
|
|
9571
9592
|
/** Internal types handle bigint as number, because TS can't figure it out. */
|
|
@@ -9649,7 +9670,7 @@ var require_timestamp = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
9649
9670
|
}));
|
|
9650
9671
|
|
|
9651
9672
|
//#endregion
|
|
9652
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
9673
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/schema/yaml-1.1/schema.js
|
|
9653
9674
|
var require_schema = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
9654
9675
|
var map = require_map();
|
|
9655
9676
|
var _null = require_null();
|
|
@@ -9691,7 +9712,7 @@ var require_schema = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
9691
9712
|
}));
|
|
9692
9713
|
|
|
9693
9714
|
//#endregion
|
|
9694
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
9715
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/schema/tags.js
|
|
9695
9716
|
var require_tags = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
9696
9717
|
var map = require_map();
|
|
9697
9718
|
var _null = require_null();
|
|
@@ -9776,7 +9797,7 @@ var require_tags = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
9776
9797
|
}));
|
|
9777
9798
|
|
|
9778
9799
|
//#endregion
|
|
9779
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
9800
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/schema/Schema.js
|
|
9780
9801
|
var require_Schema = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
9781
9802
|
var identity = require_identity();
|
|
9782
9803
|
var map = require_map();
|
|
@@ -9806,7 +9827,7 @@ var require_Schema = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
9806
9827
|
}));
|
|
9807
9828
|
|
|
9808
9829
|
//#endregion
|
|
9809
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
9830
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/stringify/stringifyDocument.js
|
|
9810
9831
|
var require_stringifyDocument = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
9811
9832
|
var identity = require_identity();
|
|
9812
9833
|
var stringify = require_stringify();
|
|
@@ -9868,7 +9889,7 @@ var require_stringifyDocument = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
9868
9889
|
}));
|
|
9869
9890
|
|
|
9870
9891
|
//#endregion
|
|
9871
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
9892
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/doc/Document.js
|
|
9872
9893
|
var require_Document = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
9873
9894
|
var Alias = require_Alias();
|
|
9874
9895
|
var Collection = require_Collection();
|
|
@@ -10150,7 +10171,7 @@ var require_Document = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
10150
10171
|
}));
|
|
10151
10172
|
|
|
10152
10173
|
//#endregion
|
|
10153
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
10174
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/errors.js
|
|
10154
10175
|
var require_errors = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
10155
10176
|
var YAMLError = class extends Error {
|
|
10156
10177
|
constructor(name, pos, code, message) {
|
|
@@ -10204,7 +10225,7 @@ var require_errors = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
10204
10225
|
}));
|
|
10205
10226
|
|
|
10206
10227
|
//#endregion
|
|
10207
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
10228
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/compose/resolve-props.js
|
|
10208
10229
|
var require_resolve_props = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
10209
10230
|
function resolveProps(tokens, { flow, indicator, next, offset, onError, parentIndent, startOnNewline }) {
|
|
10210
10231
|
let spaceBefore = false;
|
|
@@ -10312,7 +10333,7 @@ var require_resolve_props = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
10312
10333
|
}));
|
|
10313
10334
|
|
|
10314
10335
|
//#endregion
|
|
10315
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
10336
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/compose/util-contains-newline.js
|
|
10316
10337
|
var require_util_contains_newline = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
10317
10338
|
function containsNewline(key) {
|
|
10318
10339
|
if (!key) return null;
|
|
@@ -10342,7 +10363,7 @@ var require_util_contains_newline = /* @__PURE__ */ __commonJSMin(((exports) =>
|
|
|
10342
10363
|
}));
|
|
10343
10364
|
|
|
10344
10365
|
//#endregion
|
|
10345
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
10366
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/compose/util-flow-indent-check.js
|
|
10346
10367
|
var require_util_flow_indent_check = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
10347
10368
|
var utilContainsNewline = require_util_contains_newline();
|
|
10348
10369
|
function flowIndentCheck(indent, fc, onError) {
|
|
@@ -10355,7 +10376,7 @@ var require_util_flow_indent_check = /* @__PURE__ */ __commonJSMin(((exports) =>
|
|
|
10355
10376
|
}));
|
|
10356
10377
|
|
|
10357
10378
|
//#endregion
|
|
10358
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
10379
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/compose/util-map-includes.js
|
|
10359
10380
|
var require_util_map_includes = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
10360
10381
|
var identity = require_identity();
|
|
10361
10382
|
function mapIncludes(ctx, items, search) {
|
|
@@ -10368,7 +10389,7 @@ var require_util_map_includes = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
10368
10389
|
}));
|
|
10369
10390
|
|
|
10370
10391
|
//#endregion
|
|
10371
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
10392
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/compose/resolve-block-map.js
|
|
10372
10393
|
var require_resolve_block_map = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
10373
10394
|
var Pair = require_Pair();
|
|
10374
10395
|
var YAMLMap = require_YAMLMap();
|
|
@@ -10453,7 +10474,7 @@ var require_resolve_block_map = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
10453
10474
|
}));
|
|
10454
10475
|
|
|
10455
10476
|
//#endregion
|
|
10456
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
10477
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/compose/resolve-block-seq.js
|
|
10457
10478
|
var require_resolve_block_seq = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
10458
10479
|
var YAMLSeq = require_YAMLSeq();
|
|
10459
10480
|
var resolveProps = require_resolve_props();
|
|
@@ -10496,7 +10517,7 @@ var require_resolve_block_seq = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
10496
10517
|
}));
|
|
10497
10518
|
|
|
10498
10519
|
//#endregion
|
|
10499
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
10520
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/compose/resolve-end.js
|
|
10500
10521
|
var require_resolve_end = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
10501
10522
|
function resolveEnd(end, offset, reqSpace, onError) {
|
|
10502
10523
|
let comment = "";
|
|
@@ -10535,7 +10556,7 @@ var require_resolve_end = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
10535
10556
|
}));
|
|
10536
10557
|
|
|
10537
10558
|
//#endregion
|
|
10538
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
10559
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/compose/resolve-flow-collection.js
|
|
10539
10560
|
var require_resolve_flow_collection = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
10540
10561
|
var identity = require_identity();
|
|
10541
10562
|
var Pair = require_Pair();
|
|
@@ -10691,7 +10712,7 @@ var require_resolve_flow_collection = /* @__PURE__ */ __commonJSMin(((exports) =
|
|
|
10691
10712
|
}));
|
|
10692
10713
|
|
|
10693
10714
|
//#endregion
|
|
10694
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
10715
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/compose/compose-collection.js
|
|
10695
10716
|
var require_compose_collection = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
10696
10717
|
var identity = require_identity();
|
|
10697
10718
|
var Scalar = require_Scalar();
|
|
@@ -10744,7 +10765,7 @@ var require_compose_collection = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
10744
10765
|
}));
|
|
10745
10766
|
|
|
10746
10767
|
//#endregion
|
|
10747
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
10768
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/compose/resolve-block-scalar.js
|
|
10748
10769
|
var require_resolve_block_scalar = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
10749
10770
|
var Scalar = require_Scalar();
|
|
10750
10771
|
function resolveBlockScalar(ctx, scalar, onError) {
|
|
@@ -10920,7 +10941,7 @@ var require_resolve_block_scalar = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
10920
10941
|
}));
|
|
10921
10942
|
|
|
10922
10943
|
//#endregion
|
|
10923
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
10944
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/compose/resolve-flow-scalar.js
|
|
10924
10945
|
var require_resolve_flow_scalar = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
10925
10946
|
var Scalar = require_Scalar();
|
|
10926
10947
|
var resolveEnd = require_resolve_end();
|
|
@@ -11052,11 +11073,7 @@ var require_resolve_flow_scalar = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
11052
11073
|
next = source[++i + 1];
|
|
11053
11074
|
while (next === " " || next === " ") next = source[++i + 1];
|
|
11054
11075
|
} else if (next === "x" || next === "u" || next === "U") {
|
|
11055
|
-
const length =
|
|
11056
|
-
x: 2,
|
|
11057
|
-
u: 4,
|
|
11058
|
-
U: 8
|
|
11059
|
-
}[next];
|
|
11076
|
+
const length = next === "x" ? 2 : next === "u" ? 4 : 8;
|
|
11060
11077
|
res += parseCharCode(source, i + 1, length, onError);
|
|
11061
11078
|
i += length;
|
|
11062
11079
|
} else {
|
|
@@ -11116,18 +11133,19 @@ var require_resolve_flow_scalar = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
11116
11133
|
function parseCharCode(source, offset, length, onError) {
|
|
11117
11134
|
const cc = source.substr(offset, length);
|
|
11118
11135
|
const code = cc.length === length && /^[0-9a-fA-F]+$/.test(cc) ? parseInt(cc, 16) : NaN;
|
|
11119
|
-
|
|
11136
|
+
try {
|
|
11137
|
+
return String.fromCodePoint(code);
|
|
11138
|
+
} catch {
|
|
11120
11139
|
const raw = source.substr(offset - 2, length + 2);
|
|
11121
11140
|
onError(offset - 2, "BAD_DQ_ESCAPE", `Invalid escape sequence ${raw}`);
|
|
11122
11141
|
return raw;
|
|
11123
11142
|
}
|
|
11124
|
-
return String.fromCodePoint(code);
|
|
11125
11143
|
}
|
|
11126
11144
|
exports.resolveFlowScalar = resolveFlowScalar;
|
|
11127
11145
|
}));
|
|
11128
11146
|
|
|
11129
11147
|
//#endregion
|
|
11130
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
11148
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/compose/compose-scalar.js
|
|
11131
11149
|
var require_compose_scalar = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
11132
11150
|
var identity = require_identity();
|
|
11133
11151
|
var Scalar = require_Scalar();
|
|
@@ -11187,7 +11205,7 @@ var require_compose_scalar = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
11187
11205
|
}));
|
|
11188
11206
|
|
|
11189
11207
|
//#endregion
|
|
11190
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
11208
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/compose/util-empty-scalar-position.js
|
|
11191
11209
|
var require_util_empty_scalar_position = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
11192
11210
|
function emptyScalarPosition(offset, before, pos) {
|
|
11193
11211
|
if (before) {
|
|
@@ -11215,7 +11233,7 @@ var require_util_empty_scalar_position = /* @__PURE__ */ __commonJSMin(((exports
|
|
|
11215
11233
|
}));
|
|
11216
11234
|
|
|
11217
11235
|
//#endregion
|
|
11218
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
11236
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/compose/compose-node.js
|
|
11219
11237
|
var require_compose_node = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
11220
11238
|
var Alias = require_Alias();
|
|
11221
11239
|
var identity = require_identity();
|
|
@@ -11247,14 +11265,18 @@ var require_compose_node = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
11247
11265
|
case "block-map":
|
|
11248
11266
|
case "block-seq":
|
|
11249
11267
|
case "flow-collection":
|
|
11250
|
-
|
|
11251
|
-
|
|
11268
|
+
try {
|
|
11269
|
+
node = composeCollection.composeCollection(CN, ctx, token, props, onError);
|
|
11270
|
+
if (anchor) node.anchor = anchor.source.substring(1);
|
|
11271
|
+
} catch (error) {
|
|
11272
|
+
onError(token, "RESOURCE_EXHAUSTION", error instanceof Error ? error.message : String(error));
|
|
11273
|
+
}
|
|
11252
11274
|
break;
|
|
11253
11275
|
default:
|
|
11254
11276
|
onError(token, "UNEXPECTED_TOKEN", token.type === "error" ? token.message : `Unsupported token (type: ${token.type})`);
|
|
11255
|
-
node = composeEmptyNode(ctx, token.offset, void 0, null, props, onError);
|
|
11256
11277
|
isSrcToken = false;
|
|
11257
11278
|
}
|
|
11279
|
+
node ?? (node = composeEmptyNode(ctx, token.offset, void 0, null, props, onError));
|
|
11258
11280
|
if (anchor && node.anchor === "") onError(anchor, "BAD_ALIAS", "Anchor cannot be an empty string");
|
|
11259
11281
|
if (atKey && ctx.options.stringKeys && (!identity.isScalar(node) || typeof node.value !== "string" || node.tag && node.tag !== "tag:yaml.org,2002:str")) onError(tag ?? token, "NON_STRING_KEY", "With stringKeys, all keys must be strings");
|
|
11260
11282
|
if (spaceBefore) node.spaceBefore = true;
|
|
@@ -11301,7 +11323,7 @@ var require_compose_node = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
11301
11323
|
}));
|
|
11302
11324
|
|
|
11303
11325
|
//#endregion
|
|
11304
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
11326
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/compose/compose-doc.js
|
|
11305
11327
|
var require_compose_doc = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
11306
11328
|
var Document = require_Document();
|
|
11307
11329
|
var composeNode = require_compose_node();
|
|
@@ -11344,7 +11366,7 @@ var require_compose_doc = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
11344
11366
|
}));
|
|
11345
11367
|
|
|
11346
11368
|
//#endregion
|
|
11347
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
11369
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/compose/composer.js
|
|
11348
11370
|
var require_composer = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
11349
11371
|
var node_process$1 = __require("process");
|
|
11350
11372
|
var directives = require_directives();
|
|
@@ -11543,7 +11565,7 @@ var require_composer = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
11543
11565
|
}));
|
|
11544
11566
|
|
|
11545
11567
|
//#endregion
|
|
11546
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
11568
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/parse/cst-scalar.js
|
|
11547
11569
|
var require_cst_scalar = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
11548
11570
|
var resolveBlockScalar = require_resolve_block_scalar();
|
|
11549
11571
|
var resolveFlowScalar = require_resolve_flow_scalar();
|
|
@@ -11811,7 +11833,7 @@ var require_cst_scalar = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
11811
11833
|
}));
|
|
11812
11834
|
|
|
11813
11835
|
//#endregion
|
|
11814
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
11836
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/parse/cst-stringify.js
|
|
11815
11837
|
var require_cst_stringify = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
11816
11838
|
/**
|
|
11817
11839
|
* Stringify a CST document, token, or collection item
|
|
@@ -11863,7 +11885,7 @@ var require_cst_stringify = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
11863
11885
|
}));
|
|
11864
11886
|
|
|
11865
11887
|
//#endregion
|
|
11866
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
11888
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/parse/cst-visit.js
|
|
11867
11889
|
var require_cst_visit = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
11868
11890
|
const BREAK = Symbol("break visit");
|
|
11869
11891
|
const SKIP = Symbol("skip children");
|
|
@@ -11955,7 +11977,7 @@ var require_cst_visit = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
11955
11977
|
}));
|
|
11956
11978
|
|
|
11957
11979
|
//#endregion
|
|
11958
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
11980
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/parse/cst.js
|
|
11959
11981
|
var require_cst = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
11960
11982
|
var cstScalar = require_cst_scalar();
|
|
11961
11983
|
var cstStringify = require_cst_stringify();
|
|
@@ -12035,7 +12057,7 @@ var require_cst = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
12035
12057
|
}));
|
|
12036
12058
|
|
|
12037
12059
|
//#endregion
|
|
12038
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
12060
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/parse/lexer.js
|
|
12039
12061
|
var require_lexer = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
12040
12062
|
var cst = require_cst();
|
|
12041
12063
|
function isEmpty(ch) {
|
|
@@ -12555,7 +12577,7 @@ var require_lexer = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
12555
12577
|
}));
|
|
12556
12578
|
|
|
12557
12579
|
//#endregion
|
|
12558
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
12580
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/parse/line-counter.js
|
|
12559
12581
|
var require_line_counter = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
12560
12582
|
/**
|
|
12561
12583
|
* Tracks newlines during parsing in order to provide an efficient API for
|
|
@@ -12603,7 +12625,7 @@ var require_line_counter = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
12603
12625
|
}));
|
|
12604
12626
|
|
|
12605
12627
|
//#endregion
|
|
12606
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
12628
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/parse/parser.js
|
|
12607
12629
|
var require_parser$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
12608
12630
|
var node_process = __require("process");
|
|
12609
12631
|
var cst = require_cst();
|
|
@@ -13460,7 +13482,7 @@ var require_parser$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
13460
13482
|
}));
|
|
13461
13483
|
|
|
13462
13484
|
//#endregion
|
|
13463
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
13485
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/public-api.js
|
|
13464
13486
|
var require_public_api = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
13465
13487
|
var composer = require_composer();
|
|
13466
13488
|
var Document = require_Document();
|
|
@@ -13548,7 +13570,7 @@ var require_public_api = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
13548
13570
|
}));
|
|
13549
13571
|
|
|
13550
13572
|
//#endregion
|
|
13551
|
-
//#region ../../node_modules/.pnpm/yaml@2.8.
|
|
13573
|
+
//#region ../../node_modules/.pnpm/yaml@2.8.4/node_modules/yaml/dist/index.js
|
|
13552
13574
|
var require_dist$2 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
13553
13575
|
var composer = require_composer();
|
|
13554
13576
|
var Document = require_Document();
|
|
@@ -14045,7 +14067,7 @@ function serializeIssue(issue) {
|
|
|
14045
14067
|
* Package version, derived from git at build time.
|
|
14046
14068
|
* Format: X.Y.Z for releases, X.Y.Z-dev.N.hash for dev builds.
|
|
14047
14069
|
*/
|
|
14048
|
-
const VERSION$1 = "0.1.
|
|
14070
|
+
const VERSION$1 = "0.1.28";
|
|
14049
14071
|
|
|
14050
14072
|
//#endregion
|
|
14051
14073
|
//#region src/cli/lib/version.ts
|
|
@@ -99726,6 +99748,29 @@ function formatDebugId(internalId, mapping, prefix = "tbd") {
|
|
|
99726
99748
|
return `${formatDisplayId(internalId, mapping, prefix)} (${internalId})`;
|
|
99727
99749
|
}
|
|
99728
99750
|
|
|
99751
|
+
//#endregion
|
|
99752
|
+
//#region src/utils/zod-error-utils.ts
|
|
99753
|
+
/**
|
|
99754
|
+
* Helpers for rendering Zod errors without relying on object inspection.
|
|
99755
|
+
*/
|
|
99756
|
+
/**
|
|
99757
|
+
* Format a ZodError as concise path-qualified messages for CLI output.
|
|
99758
|
+
*/
|
|
99759
|
+
function formatZodError(error) {
|
|
99760
|
+
const messages = error.issues.map((issue) => {
|
|
99761
|
+
return `${issue.path.length > 0 ? issue.path.join(".") : "<root>"}: ${issue.message}`;
|
|
99762
|
+
});
|
|
99763
|
+
return messages.length > 0 ? messages.join("; ") : error.message;
|
|
99764
|
+
}
|
|
99765
|
+
/**
|
|
99766
|
+
* Format unknown thrown values as safe strings for warnings and diagnostics.
|
|
99767
|
+
*/
|
|
99768
|
+
function formatUnknownError(error) {
|
|
99769
|
+
if (error instanceof ZodError) return formatZodError(error);
|
|
99770
|
+
if (error instanceof Error) return error.message;
|
|
99771
|
+
return String(error);
|
|
99772
|
+
}
|
|
99773
|
+
|
|
99729
99774
|
//#endregion
|
|
99730
99775
|
//#region src/file/storage.ts
|
|
99731
99776
|
/**
|
|
@@ -99737,6 +99782,10 @@ function formatDebugId(internalId, mapping, prefix = "tbd") {
|
|
|
99737
99782
|
* See: tbd-design.md §3.2 Storage Layer
|
|
99738
99783
|
*/
|
|
99739
99784
|
/**
|
|
99785
|
+
* Maximum issue files read concurrently to avoid exhausting file descriptors in large repos.
|
|
99786
|
+
*/
|
|
99787
|
+
const ISSUE_READ_BATCH_SIZE = 200;
|
|
99788
|
+
/**
|
|
99740
99789
|
* Get the path to an issue file.
|
|
99741
99790
|
*/
|
|
99742
99791
|
function getIssuePath(baseDir, id) {
|
|
@@ -99754,7 +99803,8 @@ async function readIssue(baseDir, id) {
|
|
|
99754
99803
|
* Uses atomic write to prevent corruption.
|
|
99755
99804
|
*/
|
|
99756
99805
|
async function writeIssue(baseDir, issue) {
|
|
99757
|
-
|
|
99806
|
+
const validIssue = IssueSchema.parse(issue);
|
|
99807
|
+
await writeFile(getIssuePath(baseDir, validIssue.id), serializeIssue(validIssue));
|
|
99758
99808
|
}
|
|
99759
99809
|
/**
|
|
99760
99810
|
* List all issues in the worktree.
|
|
@@ -99762,7 +99812,8 @@ async function writeIssue(baseDir, issue) {
|
|
|
99762
99812
|
*
|
|
99763
99813
|
* Uses parallel file reading for better performance with many issues.
|
|
99764
99814
|
*/
|
|
99765
|
-
async function listIssues(baseDir) {
|
|
99815
|
+
async function listIssues(baseDir, options = {}) {
|
|
99816
|
+
const warnOnInvalid = options.warnOnInvalid ?? true;
|
|
99766
99817
|
const issuesDir = join(baseDir, "issues");
|
|
99767
99818
|
let files;
|
|
99768
99819
|
try {
|
|
@@ -99771,10 +99822,9 @@ async function listIssues(baseDir) {
|
|
|
99771
99822
|
return [];
|
|
99772
99823
|
}
|
|
99773
99824
|
const mdFiles = files.filter((f) => f.endsWith(".md"));
|
|
99774
|
-
const BATCH_SIZE = 200;
|
|
99775
99825
|
const issues = [];
|
|
99776
|
-
for (let i = 0; i < mdFiles.length; i +=
|
|
99777
|
-
const batch = mdFiles.slice(i, i +
|
|
99826
|
+
for (let i = 0; i < mdFiles.length; i += ISSUE_READ_BATCH_SIZE) {
|
|
99827
|
+
const batch = mdFiles.slice(i, i + ISSUE_READ_BATCH_SIZE);
|
|
99778
99828
|
const fileContents = await Promise.all(batch.map(async (file) => {
|
|
99779
99829
|
const filePath = join(issuesDir, file);
|
|
99780
99830
|
try {
|
|
@@ -99782,25 +99832,38 @@ async function listIssues(baseDir) {
|
|
|
99782
99832
|
file,
|
|
99783
99833
|
content: await readFile(filePath, "utf-8")
|
|
99784
99834
|
};
|
|
99785
|
-
} catch {
|
|
99835
|
+
} catch (error) {
|
|
99786
99836
|
return {
|
|
99787
99837
|
file,
|
|
99788
|
-
|
|
99838
|
+
error: formatUnknownError(error)
|
|
99789
99839
|
};
|
|
99790
99840
|
}
|
|
99791
99841
|
}));
|
|
99792
|
-
for (const
|
|
99793
|
-
if (
|
|
99842
|
+
for (const result of fileContents) {
|
|
99843
|
+
if ("error" in result) {
|
|
99844
|
+
reportInvalidIssueFile({
|
|
99845
|
+
file: result.file,
|
|
99846
|
+
reason: `failed to read file: ${result.error}`
|
|
99847
|
+
}, warnOnInvalid, options.onInvalidIssue);
|
|
99848
|
+
continue;
|
|
99849
|
+
}
|
|
99794
99850
|
try {
|
|
99795
|
-
const issue = parseIssue(content);
|
|
99851
|
+
const issue = parseIssue(result.content);
|
|
99796
99852
|
issues.push(issue);
|
|
99797
99853
|
} catch (error) {
|
|
99798
|
-
|
|
99854
|
+
reportInvalidIssueFile({
|
|
99855
|
+
file: result.file,
|
|
99856
|
+
reason: formatUnknownError(error)
|
|
99857
|
+
}, warnOnInvalid, options.onInvalidIssue);
|
|
99799
99858
|
}
|
|
99800
99859
|
}
|
|
99801
99860
|
}
|
|
99802
99861
|
return issues;
|
|
99803
99862
|
}
|
|
99863
|
+
function reportInvalidIssueFile(invalidIssue, warnOnInvalid, onInvalidIssue) {
|
|
99864
|
+
onInvalidIssue?.(invalidIssue);
|
|
99865
|
+
if (warnOnInvalid) console.warn(`Skipping invalid issue file: ${invalidIssue.file}: ${invalidIssue.reason}`);
|
|
99866
|
+
}
|
|
99804
99867
|
|
|
99805
99868
|
//#endregion
|
|
99806
99869
|
//#region src/utils/lockfile.ts
|
|
@@ -100516,6 +100579,22 @@ async function resolveAndValidatePath(inputPath, projectRoot, cwd) {
|
|
|
100516
100579
|
return resolved;
|
|
100517
100580
|
}
|
|
100518
100581
|
|
|
100582
|
+
//#endregion
|
|
100583
|
+
//#region src/cli/lib/issue-input-validation.ts
|
|
100584
|
+
/**
|
|
100585
|
+
* CLI validation helpers for user-provided issue fields.
|
|
100586
|
+
*/
|
|
100587
|
+
/**
|
|
100588
|
+
* Validate a CLI-provided issue title with actionable user-facing errors.
|
|
100589
|
+
*/
|
|
100590
|
+
function validateIssueTitle(title, options) {
|
|
100591
|
+
if (options.rejectBlank ? title.trim().length === 0 : title.length === 0) throw new ValidationError(options.emptyMessage);
|
|
100592
|
+
if (title.length > ISSUE_TITLE_MAX_LENGTH) throw new ValidationError(`Title is too long (${title.length} chars, max ${ISSUE_TITLE_MAX_LENGTH}). Move detail into the description body.`);
|
|
100593
|
+
const result = IssueTitle.safeParse(title);
|
|
100594
|
+
if (!result.success) throw new ValidationError(`Invalid title: ${formatZodError(result.error)}`);
|
|
100595
|
+
return title;
|
|
100596
|
+
}
|
|
100597
|
+
|
|
100519
100598
|
//#endregion
|
|
100520
100599
|
//#region src/cli/commands/create.ts
|
|
100521
100600
|
/**
|
|
@@ -100527,6 +100606,10 @@ var CreateHandler = class extends BaseCommand {
|
|
|
100527
100606
|
async run(title, options) {
|
|
100528
100607
|
const tbdRoot = await requireInit();
|
|
100529
100608
|
if (!title && !options.fromFile) throw new ValidationError("Title is required. Use: tbd create \"Issue title\"");
|
|
100609
|
+
const validatedTitle = title === void 0 ? void 0 : validateIssueTitle(title, {
|
|
100610
|
+
emptyMessage: "Title is required. Use: tbd create \"Issue title\"",
|
|
100611
|
+
rejectBlank: true
|
|
100612
|
+
});
|
|
100530
100613
|
const kind = this.parseKind(options.type ?? "task");
|
|
100531
100614
|
const priority = this.validatePriority(options.priority ?? "2");
|
|
100532
100615
|
let description = options.description;
|
|
@@ -100543,7 +100626,7 @@ var CreateHandler = class extends BaseCommand {
|
|
|
100543
100626
|
throw new ValidationError(getPathErrorMessage(error));
|
|
100544
100627
|
}
|
|
100545
100628
|
if (this.checkDryRun("Would create issue", {
|
|
100546
|
-
title,
|
|
100629
|
+
title: validatedTitle,
|
|
100547
100630
|
kind,
|
|
100548
100631
|
priority,
|
|
100549
100632
|
spec: specPath,
|
|
@@ -100575,7 +100658,7 @@ var CreateHandler = class extends BaseCommand {
|
|
|
100575
100658
|
type: "is",
|
|
100576
100659
|
id,
|
|
100577
100660
|
version: 1,
|
|
100578
|
-
title,
|
|
100661
|
+
title: validatedTitle,
|
|
100579
100662
|
kind,
|
|
100580
100663
|
status: "open",
|
|
100581
100664
|
priority,
|
|
@@ -100607,9 +100690,9 @@ var CreateHandler = class extends BaseCommand {
|
|
|
100607
100690
|
this.output.data({
|
|
100608
100691
|
id: displayId,
|
|
100609
100692
|
internalId: id,
|
|
100610
|
-
title
|
|
100693
|
+
title: validatedTitle
|
|
100611
100694
|
}, () => {
|
|
100612
|
-
this.output.success(`Created ${displayId}: ${
|
|
100695
|
+
this.output.success(`Created ${displayId}: ${validatedTitle}`);
|
|
100613
100696
|
});
|
|
100614
100697
|
}
|
|
100615
100698
|
parseKind(value) {
|
|
@@ -101228,6 +101311,30 @@ const listCommand = new Command("list").description("List issues").option("--sta
|
|
|
101228
101311
|
await new ListHandler(command).run(options);
|
|
101229
101312
|
});
|
|
101230
101313
|
|
|
101314
|
+
//#endregion
|
|
101315
|
+
//#region src/cli/lib/dependency-format.ts
|
|
101316
|
+
/**
|
|
101317
|
+
* Compute display-ready dependency directions for an issue.
|
|
101318
|
+
*/
|
|
101319
|
+
function getDependencyDirections(issue, allIssues, displayId) {
|
|
101320
|
+
const blocks = issue.dependencies.filter((dep) => dep.type === "blocks").map((dep) => displayId(dep.target));
|
|
101321
|
+
const blockedBy = [];
|
|
101322
|
+
for (const other of allIssues) for (const dep of other.dependencies) if (dep.type === "blocks" && dep.target === issue.id) blockedBy.push(displayId(other.id));
|
|
101323
|
+
return {
|
|
101324
|
+
blocks,
|
|
101325
|
+
blockedBy
|
|
101326
|
+
};
|
|
101327
|
+
}
|
|
101328
|
+
/**
|
|
101329
|
+
* Render dependency directions as YAML comments for round-trippable show output.
|
|
101330
|
+
*/
|
|
101331
|
+
function formatDependencyDirectionComments(directions) {
|
|
101332
|
+
const lines = [];
|
|
101333
|
+
if (directions.blocks.length > 0) lines.push(`# Blocks: ${directions.blocks.join(", ")}`);
|
|
101334
|
+
if (directions.blockedBy.length > 0) lines.push(`# Blocked by: ${directions.blockedBy.join(", ")}`);
|
|
101335
|
+
return lines;
|
|
101336
|
+
}
|
|
101337
|
+
|
|
101231
101338
|
//#endregion
|
|
101232
101339
|
//#region src/cli/commands/show.ts
|
|
101233
101340
|
/**
|
|
@@ -101240,14 +101347,18 @@ const listCommand = new Command("list").description("List issues").option("--sta
|
|
|
101240
101347
|
*
|
|
101241
101348
|
* @param issue - The issue to render
|
|
101242
101349
|
* @param colors - Color functions
|
|
101243
|
-
* @param
|
|
101350
|
+
* @param dependencyDirections - Optional human-facing dependency direction comments
|
|
101244
101351
|
* @returns Array of formatted lines
|
|
101245
101352
|
*/
|
|
101246
|
-
function renderIssueLines(issue, colors) {
|
|
101353
|
+
function renderIssueLines(issue, colors, dependencyDirections) {
|
|
101247
101354
|
const serialized = serializeIssue(issue);
|
|
101248
101355
|
const output = [];
|
|
101356
|
+
const dependencyDirectionComments = dependencyDirections ? formatDependencyDirectionComments(dependencyDirections) : [];
|
|
101249
101357
|
for (const line of serialized.split("\n")) if (line === "---") output.push(colors.dim(line));
|
|
101250
|
-
else if (line.startsWith("
|
|
101358
|
+
else if (line.startsWith("dependencies:")) {
|
|
101359
|
+
for (const comment of dependencyDirectionComments) output.push(colors.dim(comment));
|
|
101360
|
+
output.push(line);
|
|
101361
|
+
} else if (line.startsWith("id:")) output.push(`${colors.dim("id:")} ${colors.id(line.slice(4))}`);
|
|
101251
101362
|
else if (line.startsWith("status:")) {
|
|
101252
101363
|
const status = line.slice(8).trim();
|
|
101253
101364
|
const statusColor = getStatusColor(status, colors);
|
|
@@ -101290,6 +101401,10 @@ var ShowHandler = class extends BaseCommand {
|
|
|
101290
101401
|
} catch {}
|
|
101291
101402
|
const maxLines = options.maxLines ? parseInt(options.maxLines, 10) : void 0;
|
|
101292
101403
|
const displayId = ctx.displayId(issue.id);
|
|
101404
|
+
const allIssues = ctx.cli.json ? void 0 : await listIssues(ctx.dataSyncDir);
|
|
101405
|
+
const displayDependencyId = (dependencyId) => ctx.displayId(dependencyId);
|
|
101406
|
+
const dependencyDirections = allIssues ? getDependencyDirections(issue, allIssues, displayDependencyId) : void 0;
|
|
101407
|
+
const parentDependencyDirections = allIssues && parentIssue ? getDependencyDirections(parentIssue, allIssues, displayDependencyId) : void 0;
|
|
101293
101408
|
const displayIssue = {
|
|
101294
101409
|
...issue,
|
|
101295
101410
|
displayId,
|
|
@@ -101300,11 +101415,11 @@ var ShowHandler = class extends BaseCommand {
|
|
|
101300
101415
|
};
|
|
101301
101416
|
this.output.data(displayIssue, () => {
|
|
101302
101417
|
const colors = this.output.getColors();
|
|
101303
|
-
printWithTruncation(renderIssueLines(issue, colors), colors, maxLines);
|
|
101418
|
+
printWithTruncation(renderIssueLines(issue, colors, dependencyDirections), colors, maxLines);
|
|
101304
101419
|
if (parentIssue) {
|
|
101305
101420
|
console.log("");
|
|
101306
101421
|
console.log(colors.dim("The parent of this bead is:"));
|
|
101307
|
-
printWithTruncation(renderIssueLines(parentIssue, colors), colors, PARENT_CONTEXT_MAX_LINES);
|
|
101422
|
+
printWithTruncation(renderIssueLines(parentIssue, colors, parentDependencyDirections), colors, PARENT_CONTEXT_MAX_LINES);
|
|
101308
101423
|
}
|
|
101309
101424
|
if (options.showOrder) {
|
|
101310
101425
|
console.log("");
|
|
@@ -101425,7 +101540,10 @@ var UpdateHandler = class extends BaseCommand {
|
|
|
101425
101540
|
}
|
|
101426
101541
|
try {
|
|
101427
101542
|
const { frontmatter, description, notes } = parseMarkdownWithFrontmatter(content);
|
|
101428
|
-
if (typeof frontmatter.title === "string") updates.title = frontmatter.title
|
|
101543
|
+
if (typeof frontmatter.title === "string") updates.title = validateIssueTitle(frontmatter.title, {
|
|
101544
|
+
emptyMessage: "Title cannot be empty",
|
|
101545
|
+
rejectBlank: true
|
|
101546
|
+
});
|
|
101429
101547
|
if (typeof frontmatter.status === "string") {
|
|
101430
101548
|
const result = IssueStatus.safeParse(frontmatter.status);
|
|
101431
101549
|
if (result.success) updates.status = result.data;
|
|
@@ -101456,10 +101574,10 @@ var UpdateHandler = class extends BaseCommand {
|
|
|
101456
101574
|
}
|
|
101457
101575
|
return updates;
|
|
101458
101576
|
}
|
|
101459
|
-
if (options.title !== void 0) {
|
|
101460
|
-
|
|
101461
|
-
|
|
101462
|
-
}
|
|
101577
|
+
if (options.title !== void 0) updates.title = validateIssueTitle(options.title, {
|
|
101578
|
+
emptyMessage: "Title cannot be empty",
|
|
101579
|
+
rejectBlank: true
|
|
101580
|
+
});
|
|
101463
101581
|
if (options.status) {
|
|
101464
101582
|
const result = IssueStatus.safeParse(options.status);
|
|
101465
101583
|
if (!result.success) throw new ValidationError(`Invalid status: ${options.status}`);
|
|
@@ -102142,13 +102260,7 @@ var DependsListHandler = class extends BaseCommand {
|
|
|
102142
102260
|
}
|
|
102143
102261
|
const showDebug = this.ctx.debug;
|
|
102144
102262
|
const prefix = (await readConfig(tbdRoot)).display.id_prefix;
|
|
102145
|
-
const
|
|
102146
|
-
const blockedBy = [];
|
|
102147
|
-
for (const other of allIssues) for (const dep of other.dependencies) if (dep.type === "blocks" && dep.target === internalId) blockedBy.push(showDebug ? formatDebugId(other.id, mapping, prefix) : formatDisplayId(other.id, mapping, prefix));
|
|
102148
|
-
const deps = {
|
|
102149
|
-
blocks,
|
|
102150
|
-
blockedBy
|
|
102151
|
-
};
|
|
102263
|
+
const deps = getDependencyDirections(issue, allIssues, (dependencyId) => showDebug ? formatDebugId(dependencyId, mapping, prefix) : formatDisplayId(dependencyId, mapping, prefix));
|
|
102152
102264
|
this.output.data(deps, () => {
|
|
102153
102265
|
const colors = this.output.getColors();
|
|
102154
102266
|
if (deps.blocks.length > 0) console.log(`${colors.bold("Blocks:")} ${deps.blocks.join(", ")}`);
|
|
@@ -104668,6 +104780,7 @@ var DoctorHandler = class extends BaseCommand {
|
|
|
104668
104780
|
cwd = "";
|
|
104669
104781
|
config = null;
|
|
104670
104782
|
issues = [];
|
|
104783
|
+
invalidIssueFiles = [];
|
|
104671
104784
|
async run(options) {
|
|
104672
104785
|
const tbdRoot = await requireInit();
|
|
104673
104786
|
this.cwd = tbdRoot;
|
|
@@ -104676,7 +104789,11 @@ var DoctorHandler = class extends BaseCommand {
|
|
|
104676
104789
|
this.config = await readConfig(this.cwd);
|
|
104677
104790
|
} catch {}
|
|
104678
104791
|
try {
|
|
104679
|
-
this.
|
|
104792
|
+
this.invalidIssueFiles = [];
|
|
104793
|
+
this.issues = await listIssues(this.dataSyncDir, {
|
|
104794
|
+
warnOnInvalid: false,
|
|
104795
|
+
onInvalidIssue: (invalidIssue) => this.invalidIssueFiles.push(invalidIssue)
|
|
104796
|
+
});
|
|
104680
104797
|
} catch {}
|
|
104681
104798
|
const statusInfo = await this.gatherStatusInfo();
|
|
104682
104799
|
const statsInfo = await this.gatherStatsInfo();
|
|
@@ -104689,14 +104806,18 @@ var DoctorHandler = class extends BaseCommand {
|
|
|
104689
104806
|
healthChecks.push(await this.checkIdMappingConflicts(options.fix));
|
|
104690
104807
|
healthChecks.push(await this.checkIdMappingDuplicates(options.fix));
|
|
104691
104808
|
healthChecks.push(await this.checkTempFiles(options.fix));
|
|
104692
|
-
healthChecks.push(this.checkIssueValidity(this.issues));
|
|
104809
|
+
healthChecks.push(this.checkIssueValidity(this.issues, this.invalidIssueFiles));
|
|
104693
104810
|
healthChecks.push(await this.checkWorktree(options.fix));
|
|
104694
104811
|
const dataLocationResult = await this.checkDataLocation(options.fix);
|
|
104695
104812
|
healthChecks.push(dataLocationResult);
|
|
104696
104813
|
if (dataLocationResult.status === "ok" && dataLocationResult.message?.includes("migrated")) {
|
|
104697
104814
|
this.dataSyncDir = await resolveDataSyncDir(this.cwd);
|
|
104698
104815
|
try {
|
|
104699
|
-
this.
|
|
104816
|
+
this.invalidIssueFiles = [];
|
|
104817
|
+
this.issues = await listIssues(this.dataSyncDir, {
|
|
104818
|
+
warnOnInvalid: false,
|
|
104819
|
+
onInvalidIssue: (invalidIssue) => this.invalidIssueFiles.push(invalidIssue)
|
|
104820
|
+
});
|
|
104700
104821
|
} catch {}
|
|
104701
104822
|
}
|
|
104702
104823
|
const parsedMaxHistory = options.maxHistory ? parseInt(options.maxHistory, 10) : 50;
|
|
@@ -105001,11 +105122,11 @@ var DoctorHandler = class extends BaseCommand {
|
|
|
105001
105122
|
};
|
|
105002
105123
|
}
|
|
105003
105124
|
async checkTempFiles(fix) {
|
|
105004
|
-
const issuesPath = join(CONFIG_DIR, "issues");
|
|
105005
105125
|
const issuesDir = join(this.dataSyncDir, "issues");
|
|
105126
|
+
const issuesPath = join(DATA_SYNC_DIR, "issues");
|
|
105006
105127
|
let tempFiles = [];
|
|
105007
105128
|
try {
|
|
105008
|
-
tempFiles = (await readdir(issuesDir)).filter((f) => f.endsWith(".tmp"));
|
|
105129
|
+
tempFiles = (await readdir(issuesDir)).filter((f) => f.endsWith(".tmp") || /\.tmp-\d+$/.test(f));
|
|
105009
105130
|
} catch {
|
|
105010
105131
|
return {
|
|
105011
105132
|
name: "Temp files",
|
|
@@ -105039,8 +105160,12 @@ var DoctorHandler = class extends BaseCommand {
|
|
|
105039
105160
|
suggestion: "Run: tbd doctor --fix"
|
|
105040
105161
|
};
|
|
105041
105162
|
}
|
|
105042
|
-
checkIssueValidity(issues) {
|
|
105163
|
+
checkIssueValidity(issues, invalidIssueFiles) {
|
|
105043
105164
|
const invalid = [];
|
|
105165
|
+
for (const invalidIssueFile of invalidIssueFiles) invalid.push({
|
|
105166
|
+
id: invalidIssueFile.file,
|
|
105167
|
+
reason: invalidIssueFile.reason
|
|
105168
|
+
});
|
|
105044
105169
|
for (const issue of issues) {
|
|
105045
105170
|
const issueId = issue.id ?? "unknown";
|
|
105046
105171
|
if (!issue.id) {
|
|
@@ -105090,7 +105215,8 @@ var DoctorHandler = class extends BaseCommand {
|
|
|
105090
105215
|
return {
|
|
105091
105216
|
name: "Issue validity",
|
|
105092
105217
|
status: "error",
|
|
105093
|
-
message: `${invalid.length} invalid issue(s)`,
|
|
105218
|
+
message: `${invalid.length} invalid issue file(s)`,
|
|
105219
|
+
path: join(CONFIG_DIR, "issues"),
|
|
105094
105220
|
details: invalid.map((i) => `${i.id}: ${i.reason}`),
|
|
105095
105221
|
suggestion: "Manually fix or delete invalid issue files"
|
|
105096
105222
|
};
|