@longzai-intelligence-debts/ledger 0.0.0-stage → 0.0.2

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.
@@ -0,0 +1,861 @@
1
+ import "./rolldown-runtime-BqT_7tdF.js";
2
+ import { LziDebtsConfig } from "@longzai-intelligence-debts/config";
3
+ /**
4
+ * 注册表目录扫描工具
5
+ *
6
+ * fs 编排层,读侧统一入口:lint、index check 与 list 共用本扫描,文件枚举
7
+ * 口径单一
8
+ */
9
+ /**
10
+ * 扫描到的注册表条目
11
+ */
12
+ type ScannedDebt = {
13
+ /**
14
+ * 文件基名
15
+ *
16
+ * @remarks
17
+ * 含扩展名
18
+ */
19
+ basename: string;
20
+ /**
21
+ * 编号键
22
+ *
23
+ * @remarks
24
+ * 数字字符串原样,宽口径非编号形态为 null
25
+ */
26
+ key: string | null;
27
+ /**
28
+ * 绝对路径
29
+ */
30
+ absPath: string;
31
+ };
32
+ /**
33
+ * 扫描注册表目录
34
+ *
35
+ * @remarks
36
+ * 仅 `.md` 文件,按编号键升序,目录不存在返回空数组
37
+ * @param dirAbs - 注册表目录绝对路径
38
+ * @returns 扫描条目列表
39
+ */
40
+ declare function scanDebtsDir(dirAbs: string): ScannedDebt[];
41
+ /**
42
+ * debts README 索引差量核
43
+ *
44
+ * 只查不写。索引行人工登记、工具只检查不写入,与 decision 项目 index 先例
45
+ * 同款裁定。判定三态:缺行即文件在而索引无、多行即索引有而文件无、slug 漂
46
+ * 移即索引链接 slug 与实际文件 slug 不一致。报文附期望行供人工粘贴
47
+ *
48
+ * @remarks
49
+ * debts 索引方言为四列表格行,列为编号、标题、类型、状态。类型与状态是
50
+ * 技术债的首要追踪维度,表格行承载两列。链接引用提取复用 docs 平台
51
+ * registry-index 宽口径工厂,表格单元格内的链接天然可匹配
52
+ */
53
+ /**
54
+ * 索引差量发现条目
55
+ */
56
+ type IndexCheckFinding = {
57
+ /**
58
+ * 发现类别
59
+ *
60
+ * @remarks
61
+ * readme-missing 即 README 未建、missing 即缺行、stale 即多行、
62
+ * slug-drift 即 slug 漂移
63
+ */
64
+ kind: 'readme-missing' | 'missing' | 'stale' | 'slug-drift';
65
+ /**
66
+ * 相关文件
67
+ *
68
+ * @remarks
69
+ * posix 相对注册表目录
70
+ */
71
+ file: string;
72
+ /**
73
+ * 发现消息
74
+ */
75
+ message: string;
76
+ };
77
+ /**
78
+ * 索引差量结果
79
+ */
80
+ type IndexCheckResult = {
81
+ /**
82
+ * 新鲜判定
83
+ *
84
+ * @remarks
85
+ * 无任何发现
86
+ */
87
+ ok: boolean;
88
+ /**
89
+ * 发现列表
90
+ */
91
+ findings: IndexCheckFinding[];
92
+ /**
93
+ * 期望索引行列表
94
+ *
95
+ * @remarks
96
+ * 供人工粘贴
97
+ */
98
+ expectedLines: string[];
99
+ /**
100
+ * 注册表文件数
101
+ */
102
+ fileCount: number;
103
+ /**
104
+ * 索引引用数
105
+ */
106
+ indexedCount: number;
107
+ };
108
+ /**
109
+ * 索引差量入参
110
+ */
111
+ type IndexCheckInput = {
112
+ /**
113
+ * 注册表目录绝对路径
114
+ */
115
+ registryDirAbs: string;
116
+ };
117
+ /**
118
+ * 索引表行渲染入参
119
+ */
120
+ type IndexTableRowInput = {
121
+ /**
122
+ * 编号
123
+ */
124
+ number: string;
125
+ /**
126
+ * 标题
127
+ */
128
+ title: string;
129
+ /**
130
+ * 链接目标文件基名
131
+ */
132
+ target: string;
133
+ /**
134
+ * 债务类型中文名
135
+ */
136
+ typeLabel: string;
137
+ /**
138
+ * 状态中文名
139
+ */
140
+ statusLabel: string;
141
+ };
142
+ /**
143
+ * 渲染索引表行
144
+ *
145
+ * @param input - 索引表行渲染入参
146
+ * @returns 索引表行全文
147
+ */
148
+ declare function renderIndexTableRow(input: IndexTableRowInput): string;
149
+ /**
150
+ * 运行索引差量检查
151
+ *
152
+ * @remarks
153
+ * 只读,本函数不写任何文件
154
+ * @param input - 检查入参
155
+ * @returns 差量结果
156
+ */
157
+ declare function runIndexCheck(input: IndexCheckInput): IndexCheckResult;
158
+ /**
159
+ * lint 违例条目
160
+ */
161
+ type DebtsLintViolation = {
162
+ /**
163
+ * 规则名
164
+ */
165
+ rule: string;
166
+ /**
167
+ * 文件
168
+ *
169
+ * @remarks
170
+ * posix 相对仓库根
171
+ */
172
+ file: string;
173
+ /**
174
+ * 行号
175
+ *
176
+ * @remarks
177
+ * 1 起算
178
+ */
179
+ line: number;
180
+ /**
181
+ * 违例消息
182
+ */
183
+ message: string;
184
+ };
185
+ /**
186
+ * lint 结果
187
+ */
188
+ type DebtsLintResult = {
189
+ /**
190
+ * 基线豁免后的违例列表
191
+ */
192
+ violations: DebtsLintViolation[];
193
+ /**
194
+ * 扫描文件数
195
+ */
196
+ fileCount: number;
197
+ /**
198
+ * 基线豁免命中数
199
+ *
200
+ * @remarks
201
+ * 棘轮观测面
202
+ */
203
+ exemptedCount: number;
204
+ };
205
+ /**
206
+ * lint 入参
207
+ */
208
+ type DebtsLintInput = {
209
+ /**
210
+ * 仓库根绝对路径
211
+ */
212
+ root: string;
213
+ /**
214
+ * 解析后配置
215
+ */
216
+ config: LziDebtsConfig;
217
+ };
218
+ /**
219
+ * 运行 lint
220
+ *
221
+ * @remarks
222
+ * 全 scope 注册表,只读
223
+ * @param input - lint 入参
224
+ * @returns lint 结果,违例空列表为通过
225
+ */
226
+ declare function runDebtsLint(input: DebtsLintInput): DebtsLintResult;
227
+ /**
228
+ * debt 文档解析器
229
+ *
230
+ * 判定全部基于本解析器产物,口径单一真源在 format.utils。解析头部即 H1
231
+ * 与 blockquote 元数据行全集,另扫描正文固定节命中次序与第四节内容,供
232
+ * lint 的节结构与收口一致性规则和 settle 的占位拦截消费
233
+ */
234
+ /**
235
+ * 解析后的 debt 头部与正文结构
236
+ */
237
+ type ParsedDebt = {
238
+ /**
239
+ * H1 编号
240
+ *
241
+ * @remarks
242
+ * 数字字符串原样
243
+ */
244
+ number: string;
245
+ /**
246
+ * H1 标题
247
+ */
248
+ title: string;
249
+ /**
250
+ * 债务类型中文名
251
+ *
252
+ * @remarks
253
+ * 行缺席为 null,词表判定归 lint
254
+ */
255
+ typeLabel: string | null;
256
+ /**
257
+ * 记录日期
258
+ *
259
+ * @remarks
260
+ * YYYY-MM-DD
261
+ */
262
+ date: string | null;
263
+ /**
264
+ * 状态中文名
265
+ *
266
+ * @remarks
267
+ * 行缺席为 null,词表判定归 lint
268
+ */
269
+ statusLabel: string | null;
270
+ /**
271
+ * 来源
272
+ */
273
+ source: string | null;
274
+ /**
275
+ * 关联
276
+ *
277
+ * @remarks
278
+ * 可选行缺席为 null
279
+ */
280
+ ref: string | null;
281
+ /**
282
+ * 清偿日期
283
+ *
284
+ * @remarks
285
+ * YYYY-MM-DD,行缺席为 null
286
+ */
287
+ settleDate: string | null;
288
+ /**
289
+ * 清偿记录
290
+ *
291
+ * @remarks
292
+ * 指向操作细节正本,行缺席为 null
293
+ */
294
+ settleRecord: string | null;
295
+ /**
296
+ * 豁免日期
297
+ *
298
+ * @remarks
299
+ * YYYY-MM-DD,行缺席为 null
300
+ */
301
+ waiveDate: string | null;
302
+ /**
303
+ * 豁免理由
304
+ *
305
+ * @remarks
306
+ * 行缺席为 null
307
+ */
308
+ waiveReason: string | null;
309
+ /**
310
+ * 头部元数据结束行号
311
+ *
312
+ * @remarks
313
+ * 1 起算,正文起始参考
314
+ */
315
+ headerEndLine: number;
316
+ /**
317
+ * 状态行行号
318
+ *
319
+ * @remarks
320
+ * 0 表示状态行缺席,settle 与 waive 翻态定位用
321
+ */
322
+ statusLineIndex: number;
323
+ /**
324
+ * 正文固定节命中次序
325
+ *
326
+ * @remarks
327
+ * 元素为节下标即 0 至 3,按出现次序记录,缺席节不出现
328
+ */
329
+ sectionHits: number[];
330
+ /**
331
+ * 第四节正文内容
332
+ *
333
+ * @remarks
334
+ * 节头与下一节头或文末之间的非空行拼接,节缺席或全空为 null
335
+ */
336
+ settleSectionContent: string | null;
337
+ };
338
+ /**
339
+ * 解析问题条目
340
+ */
341
+ type DebtParseIssue = {
342
+ /**
343
+ * 行号
344
+ *
345
+ * @remarks
346
+ * 1 起算,0 为全文级
347
+ */
348
+ line: number;
349
+ /**
350
+ * 问题消息
351
+ */
352
+ message: string;
353
+ };
354
+ /**
355
+ * 解析结果
356
+ */
357
+ type DebtParseResult = {
358
+ /**
359
+ * 解析后的头部与正文结构
360
+ *
361
+ * @remarks
362
+ * H1 非法时为 null
363
+ */
364
+ debt: ParsedDebt | null;
365
+ /**
366
+ * 解析问题列表
367
+ *
368
+ * @remarks
369
+ * 空列表为合法建档态
370
+ */
371
+ issues: DebtParseIssue[];
372
+ };
373
+ /**
374
+ * 解析 debt 文档全文
375
+ *
376
+ * @param content - 文档全文
377
+ * @returns 解析结果。骨架建档态即占位值可解析且无问题
378
+ */
379
+ declare function parseDebtDoc(content: string): DebtParseResult;
380
+ /**
381
+ * 正文固定节扫描结果
382
+ */
383
+ type SectionScanResult = {
384
+ /**
385
+ * 节命中次序
386
+ */
387
+ sectionHits: number[];
388
+ /**
389
+ * 第四节正文内容
390
+ *
391
+ * @remarks
392
+ * 节缺席或全空为 null
393
+ */
394
+ settleSectionContent: string | null;
395
+ };
396
+ /**
397
+ * debts 格式口径单一真源
398
+ *
399
+ * 全部格式口径即文件名形态、H1 形态、头部元数据行、债务类型与状态词表、
400
+ * 正文固定节、占位符集中于此模块。读侧解析器、lint 与索引差量和写侧模板
401
+ * 渲染共用同一真源,杜绝两套口径漂移,create 产物在构造上天然通过 lint。
402
+ * slug 段消费 docs 平台共享基础模块的编号域源串,全族同源
403
+ *
404
+ * @remarks
405
+ * debts 定位:语义分型技术债注册表。与 records 的无分型通道不同,本域
406
+ * 头部元数据带类型与状态两个词表维度,正文带固定四节结构,生命周期翻态
407
+ * 仅经 settle 与 waive 两条通道
408
+ */
409
+ /**
410
+ * 文件名形态
411
+ *
412
+ * @remarks
413
+ * 编号 3-4 位零填充加编号域宽收集 slug 加 `\.md`
414
+ */
415
+ declare const DEBT_FILENAME_PATTERN: RegExp;
416
+ /**
417
+ * slug 合法形态
418
+ *
419
+ * @remarks
420
+ * 编号域宽收集 ASCII kebab,与全族共享基础同源,允许数字
421
+ */
422
+ declare const ASCII_KEBAB_SLUG_PATTERN: RegExp;
423
+ /**
424
+ * H1 形态
425
+ *
426
+ * @remarks
427
+ * 编号入 H1,em dash 分隔,产品群编号注册表主流形态
428
+ */
429
+ declare const DEBT_H1_PATTERN: RegExp;
430
+ /**
431
+ * 债务类型行形态
432
+ *
433
+ * @remarks
434
+ * blockquote 元数据行,值为类型中文名
435
+ */
436
+ declare const TYPE_LINE_PATTERN: RegExp;
437
+ /**
438
+ * 记录日期行形态
439
+ *
440
+ * @remarks
441
+ * blockquote 元数据行,YYYY-MM-DD
442
+ */
443
+ declare const DATE_LINE_PATTERN: RegExp;
444
+ /**
445
+ * 状态行形态
446
+ *
447
+ * @remarks
448
+ * blockquote 元数据行,值为状态中文名
449
+ */
450
+ declare const STATUS_LINE_PATTERN: RegExp;
451
+ /**
452
+ * 来源行形态
453
+ *
454
+ * @remarks
455
+ * blockquote 元数据行,非空
456
+ */
457
+ declare const SOURCE_LINE_PATTERN: RegExp;
458
+ /**
459
+ * 关联行形态
460
+ *
461
+ * @remarks
462
+ * blockquote 元数据行,可选,非空
463
+ */
464
+ declare const REF_LINE_PATTERN: RegExp;
465
+ /**
466
+ * 清偿日期行形态
467
+ *
468
+ * @remarks
469
+ * blockquote 元数据行,仅已清偿债在场,YYYY-MM-DD
470
+ */
471
+ declare const SETTLE_DATE_LINE_PATTERN: RegExp;
472
+ /**
473
+ * 清偿记录行形态
474
+ *
475
+ * @remarks
476
+ * blockquote 元数据行,已清偿债可选,指向操作细节正本
477
+ */
478
+ declare const SETTLE_RECORD_LINE_PATTERN: RegExp;
479
+ /**
480
+ * 豁免日期行形态
481
+ *
482
+ * @remarks
483
+ * blockquote 元数据行,仅已豁免债在场,YYYY-MM-DD
484
+ */
485
+ declare const WAIVE_DATE_LINE_PATTERN: RegExp;
486
+ /**
487
+ * 豁免理由行形态
488
+ *
489
+ * @remarks
490
+ * blockquote 元数据行,仅已豁免债在场,非空
491
+ */
492
+ declare const WAIVE_REASON_LINE_PATTERN: RegExp;
493
+ /**
494
+ * 头部元数据键:债务类型
495
+ */
496
+ declare const TYPE_LINE_KEY = "债务类型";
497
+ /**
498
+ * 头部元数据键:记录日期
499
+ */
500
+ declare const DATE_LINE_KEY = "记录日期";
501
+ /**
502
+ * 头部元数据键:状态
503
+ */
504
+ declare const STATUS_LINE_KEY = "状态";
505
+ /**
506
+ * 头部元数据键:来源
507
+ */
508
+ declare const SOURCE_LINE_KEY = "来源";
509
+ /**
510
+ * 头部元数据键:关联
511
+ */
512
+ declare const REF_LINE_KEY = "关联";
513
+ /**
514
+ * 头部元数据键:清偿日期
515
+ */
516
+ declare const SETTLE_DATE_LINE_KEY = "清偿日期";
517
+ /**
518
+ * 头部元数据键:清偿记录
519
+ */
520
+ declare const SETTLE_RECORD_LINE_KEY = "清偿记录";
521
+ /**
522
+ * 头部元数据键:豁免日期
523
+ */
524
+ declare const WAIVE_DATE_LINE_KEY = "豁免日期";
525
+ /**
526
+ * 头部元数据键:豁免理由
527
+ */
528
+ declare const WAIVE_REASON_LINE_KEY = "豁免理由";
529
+ /**
530
+ * 债务类型键全集
531
+ *
532
+ * @remarks
533
+ * `create --type` 的封闭枚举,lint 按对应中文名执法
534
+ */
535
+ declare const DEBT_TYPE_KEYS: readonly ['transition', 'architecture', 'implementation', 'test', 'dependency', 'documentation'];
536
+ /**
537
+ * 债务类型键
538
+ */
539
+ type DebtTypeKey = (typeof DEBT_TYPE_KEYS)[number];
540
+ /**
541
+ * 债务类型中文名正本词表
542
+ *
543
+ * @remarks
544
+ * 键为 ASCII 枚举供命令行消费,值为头部元数据行与索引表的中文名。
545
+ * transition 过渡债:过渡期措施即双轨回落锚点与兼容垫片,所有过渡
546
+ * 措施必须立档,清偿路径节必须写明退役判据。architecture 架构债:
547
+ * 分层越界、所有权错位、拓扑简化。implementation 实现债:已知次优
548
+ * 实现。test 测试债:关键路径缺测或测试薄弱。dependency 依赖债:
549
+ * 钉版、过期、重复依赖。documentation 文档债:文档缺失或与实现漂移
550
+ */
551
+ declare const CANONICAL_DEBT_TYPE_LABELS: Record<DebtTypeKey, string>;
552
+ /**
553
+ * 债务状态键全集
554
+ */
555
+ declare const DEBT_STATUS_KEYS: readonly ['open', 'settled', 'waived'];
556
+ /**
557
+ * 债务状态键
558
+ */
559
+ type DebtStatusKey = (typeof DEBT_STATUS_KEYS)[number];
560
+ /**
561
+ * 债务状态中文名正本词表
562
+ *
563
+ * @remarks
564
+ * open 未清偿:债在册待偿付。settled 已清偿:经 settle 翻态,须回填
565
+ * 清偿日期与第四节清偿记录。waived 已豁免:经 waive 翻态,须携带
566
+ * 豁免日期与豁免理由,理由须含用户裁定
567
+ */
568
+ declare const CANONICAL_DEBT_STATUS_LABELS: Record<DebtStatusKey, string>;
569
+ /**
570
+ * 正文固定节键全集
571
+ *
572
+ * @remarks
573
+ * 次序即规范位次,一背景、二债务事实、三清偿路径、四清偿记录
574
+ */
575
+ declare const SECTION_KEYS: readonly ['背景', '债务事实', '清偿路径', '清偿记录'];
576
+ /**
577
+ * 正文固定节序数前缀
578
+ */
579
+ declare const SECTION_ORDINALS: readonly ['一', '二', '三', '四'];
580
+ /**
581
+ * 正文固定节头形态全集
582
+ *
583
+ * @remarks
584
+ * 下标与 `SECTION_KEYS` 对位,`## 一、背景` 形态
585
+ */
586
+ declare const SECTION_HEADER_PATTERNS: readonly RegExp[];
587
+ /**
588
+ * 正文前三节占位符
589
+ *
590
+ * @remarks
591
+ * 建档即骨架,内容随立档回填
592
+ */
593
+ declare const SECTION_PLACEHOLDER = "待补充";
594
+ /**
595
+ * 第四节占位符
596
+ *
597
+ * @remarks
598
+ * 收口即 settle 与 waive 前必须替换为实文,settle 门禁拦截占位收口
599
+ */
600
+ declare const SETTLE_SECTION_PLACEHOLDER = "待收口后回填";
601
+ /**
602
+ * 索引链接模式
603
+ *
604
+ * @remarks
605
+ * README 索引表单元格中的注册表文件链接,消费 docs 平台
606
+ * registry-index 基础模块的宽口径工厂。编号域方言,比对锚为链接
607
+ * 目标即编号加 slug,链接文本形态宽容,表格单元格内的链接天然可匹配
608
+ */
609
+ declare const INDEX_LINK_PATTERN: RegExp;
610
+ /**
611
+ * 正则捕获组安全取值
612
+ *
613
+ * @param match - 正则命中结果
614
+ * @param index - 捕获组下标
615
+ * @returns 捕获组值
616
+ * @throws {@link Error} 未命中或捕获组越界,即格式口径与调用侧失配
617
+ */
618
+ declare function captureGroup(match: RegExpMatchArray | null, index: number): string;
619
+ /**
620
+ * 从文件名提取编号键
621
+ *
622
+ * @param basename - 文件基名
623
+ * @returns 编号键即数字字符串原样,非编号形态为 null
624
+ */
625
+ declare function extractDebtKey(basename: string): string | null;
626
+ /**
627
+ * 判定日期字符串是否为真实存在的日历日期
628
+ *
629
+ * @param date - 日期字符串
630
+ * @returns 真实日历日期为 true
631
+ */
632
+ declare function isRealCalendarDate(date: string): boolean;
633
+ /**
634
+ * 按中文名反查债务类型键
635
+ *
636
+ * @param label - 类型中文名
637
+ * @returns 命中的类型键,未命中为 null
638
+ */
639
+ declare function debtTypeKeyFromLabel(label: string): DebtTypeKey | null;
640
+ /**
641
+ * 按中文名反查债务状态键
642
+ *
643
+ * @param label - 状态中文名
644
+ * @returns 命中的状态键,未命中为 null
645
+ */
646
+ declare function debtStatusKeyFromLabel(label: string): DebtStatusKey | null;
647
+ /**
648
+ * 债务状态翻转核
649
+ *
650
+ * settle 清偿与 waive 豁免共用的翻态内核:翻状态行值、在状态行后追加收口
651
+ * 元数据行。幂等守卫即目标态已达成时零变更返回,状态行零命中即拒绝假翻态。
652
+ * settle 前置门禁拦截占位收口,第四节清偿记录仍为占位时拒绝清偿,先回填
653
+ * 证据再收口。waive 理由强制含用户裁定,非裁定不得豁免
654
+ */
655
+ /**
656
+ * 翻转成功结果
657
+ */
658
+ type FlipSuccess = {
659
+ /**
660
+ * 成功标记
661
+ */
662
+ ok: true;
663
+ /**
664
+ * 翻转后全文
665
+ *
666
+ * @remarks
667
+ * 幂等零变更时为原文
668
+ */
669
+ content: string;
670
+ /**
671
+ * 是否发生变更
672
+ *
673
+ * @remarks
674
+ * 幂等命中为 false
675
+ */
676
+ changed: boolean;
677
+ };
678
+ /**
679
+ * 翻转失败结果
680
+ */
681
+ type FlipFailure = {
682
+ /**
683
+ * 成功标记
684
+ */
685
+ ok: false;
686
+ /**
687
+ * 失败原因
688
+ */
689
+ error: string;
690
+ };
691
+ /**
692
+ * 翻转结果
693
+ */
694
+ type FlipOutcome = FlipSuccess | FlipFailure;
695
+ /**
696
+ * settle 入参
697
+ */
698
+ type SettleInput = {
699
+ /**
700
+ * 债档全文
701
+ */
702
+ content: string;
703
+ /**
704
+ * 清偿日期
705
+ *
706
+ * @remarks
707
+ * YYYY-MM-DD
708
+ */
709
+ date: string;
710
+ /**
711
+ * 清偿记录
712
+ *
713
+ * @remarks
714
+ * 可选,指向操作细节正本
715
+ */
716
+ settleRecord?: string;
717
+ };
718
+ /**
719
+ * 清偿翻态
720
+ *
721
+ * @param input - settle 入参
722
+ * @returns 翻转结果。已清偿债幂等零变更,仅未清偿债可清偿,第四节占位即拒
723
+ */
724
+ declare function settleDebtDoc(input: SettleInput): FlipOutcome;
725
+ /**
726
+ * waive 入参
727
+ */
728
+ type WaiveInput = {
729
+ /**
730
+ * 债档全文
731
+ */
732
+ content: string;
733
+ /**
734
+ * 豁免日期
735
+ *
736
+ * @remarks
737
+ * YYYY-MM-DD
738
+ */
739
+ date: string;
740
+ /**
741
+ * 豁免理由
742
+ */
743
+ reason: string;
744
+ };
745
+ /**
746
+ * 豁免翻态
747
+ *
748
+ * @param input - waive 入参
749
+ * @returns 翻转结果。已豁免债幂等零变更,理由须含用户裁定,仅未清偿债可豁免
750
+ */
751
+ declare function waiveDebtDoc(input: WaiveInput): FlipOutcome;
752
+ /**
753
+ * instance 模式渲染入参
754
+ */
755
+ type DebtTemplateValues = {
756
+ /**
757
+ * 编号
758
+ *
759
+ * @remarks
760
+ * 3-4 位零填充,编号门禁取号分配
761
+ */
762
+ number: string;
763
+ /**
764
+ * slug
765
+ *
766
+ * @remarks
767
+ * ASCII kebab,中文标题须显式 `--slug`
768
+ */
769
+ slug: string;
770
+ /**
771
+ * 一句话标题
772
+ */
773
+ title: string;
774
+ /**
775
+ * 债务类型键
776
+ *
777
+ * @remarks
778
+ * 渲染为中文名正本词表值
779
+ */
780
+ type: DebtTypeKey;
781
+ /**
782
+ * 记录日期
783
+ *
784
+ * @remarks
785
+ * YYYY-MM-DD
786
+ */
787
+ date: string;
788
+ /**
789
+ * 来源
790
+ *
791
+ * @remarks
792
+ * 出处与日期
793
+ */
794
+ source: string;
795
+ /**
796
+ * 关联
797
+ *
798
+ * @remarks
799
+ * 可选,缺席时省略关联行
800
+ */
801
+ ref?: string;
802
+ };
803
+ /**
804
+ * 渲染标准模板骨架
805
+ *
806
+ * @remarks
807
+ * skeleton 模式,占位符形态,供 template 命令展示与指南活样板消费
808
+ * @returns 骨架全文,以单个换行结尾
809
+ */
810
+ declare function renderDebtTemplateSkeleton(): string;
811
+ /**
812
+ * 渲染标准模板实例
813
+ *
814
+ * @remarks
815
+ * instance 模式,头部元数据代入实际值,正文保留占位形态,建档即骨架,
816
+ * 内容随立档与收口回填
817
+ * @param values - 实际值入参
818
+ * @returns 可直接落盘的 debt 文档全文,以单个换行结尾
819
+ */
820
+ declare function renderDebtTemplate(values: DebtTemplateValues): string;
821
+ /**
822
+ * 渲染注册表 README 格式存根
823
+ *
824
+ * @remarks
825
+ * init 命令落盘,一页式格式速览:定位、词表、建档与收口、索引纪律。
826
+ * 索引行人工登记,工具只检查不写入,与 decision 项目 index 先例同款裁定
827
+ * @param scopeTitle - scope 人类可读名
828
+ * @returns README 存根全文
829
+ */
830
+ declare function renderRegistryReadmeStub(scopeTitle: string): string;
831
+ /**
832
+ * 模板字段说明条目
833
+ *
834
+ * @remarks
835
+ * template 命令 `--format json` 载荷
836
+ */
837
+ type TemplateFieldDoc = {
838
+ /**
839
+ * 字段名
840
+ *
841
+ * @remarks
842
+ * 渲染入参名或元信息键
843
+ */
844
+ name: string;
845
+ /**
846
+ * 是否必填
847
+ */
848
+ required: boolean;
849
+ /**
850
+ * 字段说明
851
+ */
852
+ description: string;
853
+ };
854
+ /**
855
+ * 标准模板字段说明全集
856
+ *
857
+ * @remarks
858
+ * 供 agent 与使用者程序化消费
859
+ */
860
+ declare const TEMPLATE_FIELDS: readonly TemplateFieldDoc[];
861
+ export { ASCII_KEBAB_SLUG_PATTERN, CANONICAL_DEBT_STATUS_LABELS, CANONICAL_DEBT_TYPE_LABELS, DATE_LINE_KEY, DATE_LINE_PATTERN, DEBT_FILENAME_PATTERN, DEBT_H1_PATTERN, DEBT_STATUS_KEYS, DEBT_TYPE_KEYS, DebtParseIssue, DebtParseResult, DebtStatusKey, DebtTemplateValues, DebtTypeKey, DebtsLintInput, DebtsLintResult, DebtsLintViolation, FlipFailure, FlipOutcome, FlipSuccess, INDEX_LINK_PATTERN, IndexCheckFinding, IndexCheckInput, IndexCheckResult, IndexTableRowInput, ParsedDebt, REF_LINE_KEY, REF_LINE_PATTERN, SECTION_HEADER_PATTERNS, SECTION_KEYS, SECTION_ORDINALS, SECTION_PLACEHOLDER, SETTLE_DATE_LINE_KEY, SETTLE_DATE_LINE_PATTERN, SETTLE_RECORD_LINE_KEY, SETTLE_RECORD_LINE_PATTERN, SETTLE_SECTION_PLACEHOLDER, SOURCE_LINE_KEY, SOURCE_LINE_PATTERN, STATUS_LINE_KEY, STATUS_LINE_PATTERN, ScannedDebt, SectionScanResult, SettleInput, TEMPLATE_FIELDS, TYPE_LINE_KEY, TYPE_LINE_PATTERN, TemplateFieldDoc, WAIVE_DATE_LINE_KEY, WAIVE_DATE_LINE_PATTERN, WAIVE_REASON_LINE_KEY, WAIVE_REASON_LINE_PATTERN, WaiveInput, captureGroup, debtStatusKeyFromLabel, debtTypeKeyFromLabel, extractDebtKey, isRealCalendarDate, parseDebtDoc, renderDebtTemplate, renderDebtTemplateSkeleton, renderIndexTableRow, renderRegistryReadmeStub, runDebtsLint, runIndexCheck, scanDebtsDir, settleDebtDoc, waiveDebtDoc };
package/dist/index.js ADDED
@@ -0,0 +1,8 @@
1
+ import"./rolldown-runtime-BqT_7tdF.js";import{existsSync as e,readFileSync as t,readdirSync as n}from"node:fs";import{join as r,posix as i}from"node:path";import{NUMBERED_SLUG_PATTERN as a,NUMBERED_SLUG_SOURCE as o,buildIndexLinkPattern as s,extractIndexRefs as c}from"@longzai-intelligence-docs/core";const l=RegExp(`^(\\d{3,4})-(${o})\\.md$`),u=a,d=/^# (\d{3,4}) — (.+)$/,f=/^> 债务类型:(.+)$/,p=/^> 记录日期:(\d{4}-\d{2}-\d{2})$/,m=/^> 状态:(.+)$/,h=/^> 来源:(.+)$/,g=/^> 关联:(.+)$/,_=/^> 清偿日期:(\d{4}-\d{2}-\d{2})$/,v=/^> 清偿记录:(.+)$/,y=/^> 豁免日期:(\d{4}-\d{2}-\d{2})$/,b=/^> 豁免理由:(.+)$/,x=`债务类型`,S=`记录日期`,C=`状态`,w=`来源`,T=`关联`,E=`清偿日期`,D=`清偿记录`,O=`豁免日期`,k=`豁免理由`,A=[`transition`,`architecture`,`implementation`,`test`,`dependency`,`documentation`],j={transition:`过渡债`,architecture:`架构债`,implementation:`实现债`,test:`测试债`,dependency:`依赖债`,documentation:`文档债`},M=[`open`,`settled`,`waived`],N={open:`未清偿`,settled:`已清偿`,waived:`已豁免`},P=[`背景`,`债务事实`,`清偿路径`,`清偿记录`],F=[`一`,`二`,`三`,`四`],I=[/^## 一、背景$/,/^## 二、债务事实$/,/^## 三、清偿路径$/,/^## 四、清偿记录$/],L=`待补充`,R=`待收口后回填`,z=s({numberSource:`\\d{3,4}`,slugSource:o});function B(e,t){if(e===null||e[t]===void 0)throw Error(`正则捕获组 ${t} 未命中,格式口径内部错误`);return e[t]}function V(e){let t=/^(\d{1,4})[-._]/.exec(e);return t===null?null:B(t,1)}function H(e){let[t,n,r]=e.split(`-`).map(e=>Number.parseInt(e,10));if(t===void 0||n===void 0||r===void 0)return!1;let i=new Date(Date.UTC(t,n-1,r));return i.getUTCFullYear()===t&&i.getUTCMonth()===n-1&&i.getUTCDate()===r}function U(e){for(let t of A)if(j[t]===e)return t;return null}function W(e){for(let t of M)if(N[t]===e)return t;return null}function G(e){return ee(e)?n(e).filter(e=>e.endsWith(`.md`)&&e!==`README.md`).map(t=>({basename:t,key:V(t),absPath:r(e,t)})).sort((e,t)=>(e.key??`zzzz`).localeCompare(t.key??`zzzz`)):[]}function ee(e){try{return n(e).length>=0}catch{return!1}}function K(e){let t=e.split(`
2
+ `),n=[],r=d.exec(t[0]??``);if(r===null)return n.push({line:1,message:`首行须为「# NNNN — 标题」形态 H1,编号入 H1,em dash 分隔`}),{debt:null,issues:n};let i=/* @__PURE__ */ new Map,a=0,o=1;for(;o<t.length;){let e=t[o]??``;if(e.trim()===``){o+=1;continue}let n=[[f,x],[p,S],[m,C],[h,w],[g,T],[_,E],[v,D],[y,O],[b,k]],r=!1;for(let[t,s]of n){let n=t.exec(e);if(n!==null){i.set(s,B(n,1)),s===`状态`&&(a=o),r=!0;break}}if(r)o+=1;else break}let{sectionHits:s,settleSectionContent:c}=te(t);return{debt:{number:B(r,1),title:B(r,2),typeLabel:i.get(`债务类型`)??null,date:i.get(`记录日期`)??null,statusLabel:i.get(`状态`)??null,source:i.get(`来源`)??null,ref:i.get(`关联`)??null,settleDate:i.get(`清偿日期`)??null,settleRecord:i.get(`清偿记录`)??null,waiveDate:i.get(`豁免日期`)??null,waiveReason:i.get(`豁免理由`)??null,headerEndLine:o,statusLineIndex:a,sectionHits:s,settleSectionContent:c},issues:n}}function te(e){let t=[],n=-1;for(let r=0;r<e.length;r+=1){let i=e[r]??``;for(let e=0;e<I.length;e+=1)I[e]?.test(i)===!0&&(t.push(e),e===3&&(n=r+1))}let r=[];if(n>=0)for(let t=n;t<e.length;t+=1){let n=e[t]??``;if(n.startsWith(`## `))break;n.trim()!==``&&r.push(n.trim())}return{sectionHits:t,settleSectionContent:r.length===0?null:r.join(`
3
+ `)}}function q(e){return`| ${e.number} | [${e.title}](./${e.target}) | ${e.typeLabel} | ${e.statusLabel} |`}function ne(n){let i=[],a=G(n.registryDirAbs).filter(e=>l.test(e.basename)),o=new Map(a.map(e=>{let t=l.exec(e.basename);return[t===null?e.key??e.basename:B(t,1),e]})),s=r(n.registryDirAbs,`README.md`),u=e(s)?c(t(s,`utf8`),z):/* @__PURE__ */ new Map;e(s)||i.push({kind:`readme-missing`,file:`README.md`,message:`注册表 README 未建,init 可落存根,索引行人工登记`});let d=[];for(let e of a){let n=l.exec(e.basename);if(n===null)continue;let r=B(n,1),a=B(n,2),o=K(t(e.absPath,`utf8`));d.push(q({number:r,title:o.debt?.title??a,target:e.basename,typeLabel:o.debt?.typeLabel??`未知类型`,statusLabel:o.debt?.statusLabel??`未知状态`})),u.has(r)?u.get(r)!==a&&i.push({kind:`slug-drift`,file:e.basename,message:`索引 slug 漂移:索引指向 ${r}-${u.get(r)}.md,实际为 ${e.basename}`}):i.push({kind:`missing`,file:e.basename,message:`索引缺行:${e.basename},期望行见报文,人工登记`})}for(let[e,t]of u)o.has(e)||i.push({kind:`stale`,file:`${e}-${t}.md`,message:`索引多行:引用 ${e}-${t}.md 但文件不存在,删除索引行或补文件`});return{ok:i.length===0,findings:i,expectedLines:d,fileCount:a.length,indexedCount:u.size}}function J(e){let n=[],r=0,a=0;for(let r of e.config.scopes){let o=G(ie(e.root,r.registryDir));a+=o.length;for(let e of o)Y(n,i.join(r.registryDir,e.basename),e.basename,t(e.absPath,`utf8`))}let o=new Set(e.config.lint.baseline.map(e=>`${e.file}|${e.rule}`));return{violations:n.filter(e=>{let t=o.has(`${e.file}|${e.rule}`);return t&&(r+=1),!t}),fileCount:a,exemptedCount:r}}function Y(e,t,n,r){let i=l.exec(n);if(i===null){e.push({rule:`D-FILENAME`,file:t,line:0,message:`文件名须为「NNNN-<slug>.md」形态,编号 3-4 位零填充加 ASCII kebab`});return}let a=K(r);if(a.debt===null)for(let n of a.issues)e.push({rule:`D-H1`,file:t,line:n.line,message:n.message});else a.debt.number!==i[1]&&e.push({rule:`D-H1-NUMBER`,file:t,line:1,message:`H1 编号「${a.debt.number}」与文件名编号「${i[1]}」不一致`}),a.debt.typeLabel===null?e.push({rule:`D-TYPE-LINE`,file:t,line:a.debt.headerEndLine+1,message:`头部缺「> 债务类型:<类型中文名>」元数据行`}):U(a.debt.typeLabel)===null&&e.push({rule:`D-TYPE-LINE`,file:t,line:2,message:`债务类型「${a.debt.typeLabel}」不在词表内,合法值为 ${Object.values(j).join(`、`)}`}),a.debt.date===null?e.push({rule:`D-DATE-LINE`,file:t,line:a.debt.headerEndLine+1,message:`头部缺「> 记录日期:YYYY-MM-DD」元数据行`}):H(a.debt.date)||e.push({rule:`D-DATE-REAL`,file:t,line:2,message:`记录日期「${a.debt.date}」非真实日历日期`}),a.debt.statusLabel===null?e.push({rule:`D-STATUS-LINE`,file:t,line:a.debt.headerEndLine+1,message:`头部缺「> 状态:<状态中文名>」元数据行`}):W(a.debt.statusLabel)===null&&e.push({rule:`D-STATUS-LINE`,file:t,line:2,message:`状态「${a.debt.statusLabel}」不在词表内,合法值为未清偿、已清偿、已豁免`}),a.debt.source===null&&e.push({rule:`D-SOURCE-LINE`,file:t,line:a.debt.headerEndLine+1,message:`头部缺「> 来源:<出处>」元数据行`}),X(e,t,a.debt.sectionHits),re(e,t,a.debt)}function X(e,t,n){for(let r=0;r<P.length;r+=1)n.includes(r)||e.push({rule:`D-SECTION-MISSING`,file:t,line:0,message:`正文缺固定节「${P[r]}」`});let r=-1;for(let i of n){if(i<=r){e.push({rule:`D-SECTION-ORDER`,file:t,line:0,message:`正文固定节乱序或重复,规范次序为背景、债务事实、清偿路径、清偿记录`});break}r=i}}function re(e,t,n){let r=n.statusLabel===null?null:W(n.statusLabel);r===`open`?(n.settleDate!==null||n.waiveDate!==null)&&e.push({rule:`D-SETTLE-CONSISTENCY`,file:t,line:2,message:`未清偿债不得携带清偿日期或豁免日期元数据行,翻态仅经 settle 与 waive 通道`}):r===`settled`?(n.settleDate===null?e.push({rule:`D-SETTLE-CONSISTENCY`,file:t,line:2,message:`已清偿债缺「> 清偿日期:YYYY-MM-DD」元数据行`}):H(n.settleDate)||e.push({rule:`D-SETTLE-CONSISTENCY`,file:t,line:2,message:`清偿日期「${n.settleDate}」非真实日历日期`}),(n.settleSectionContent===null||n.settleSectionContent===`待收口后回填`)&&e.push({rule:`D-SETTLE-CONSISTENCY`,file:t,line:0,message:`已清偿债第四节清偿记录须回填实文,不得保留占位`})):r===`waived`&&(n.waiveDate===null?e.push({rule:`D-SETTLE-CONSISTENCY`,file:t,line:2,message:`已豁免债缺「> 豁免日期:YYYY-MM-DD」元数据行`}):H(n.waiveDate)||e.push({rule:`D-SETTLE-CONSISTENCY`,file:t,line:2,message:`豁免日期「${n.waiveDate}」非真实日历日期`}),n.waiveReason===null&&e.push({rule:`D-SETTLE-CONSISTENCY`,file:t,line:2,message:`已豁免债缺「> 豁免理由:<理由>」元数据行,理由须含用户裁定`}))}function ie(e,t){return`${e.replace(/\/+$/,``)}/${t}`}function ae(e){let t=K(e.content);if(t.debt===null)return{ok:!1,error:`债档 H1 非法,无法定位翻态锚点`};if(t.debt.statusLabel===N.settled)return{ok:!0,content:e.content,changed:!1};if(t.debt.statusLabel!==N.open)return{ok:!1,error:`状态为「${t.debt.statusLabel}」,仅未清偿债可清偿`};if(t.debt.settleSectionContent===null||t.debt.settleSectionContent===`待收口后回填`)return{ok:!1,error:`第四节清偿记录仍为占位,先回填清偿证据再执行 settle`};let n=[`> 清偿日期:${e.date}`];return e.settleRecord!==void 0&&n.push(`> 清偿记录:${e.settleRecord}`),{ok:!0,content:Z(e.content,t.debt.statusLineIndex,N.settled,n),changed:!0}}function oe(e){let t=K(e.content);if(t.debt===null)return{ok:!1,error:`债档 H1 非法,无法定位翻态锚点`};if(t.debt.statusLabel===N.waived)return{ok:!0,content:e.content,changed:!1};if(t.debt.statusLabel!==N.open)return{ok:!1,error:`状态为「${t.debt.statusLabel}」,仅未清偿债可豁免`};if(!e.reason.includes(`用户裁定`))return{ok:!1,error:`豁免理由须含「用户裁定」,非裁定不得豁免`};let n=[`> 豁免日期:${e.date}`,`> 豁免理由:${e.reason}`];return{ok:!0,content:Z(e.content,t.debt.statusLineIndex,N.waived,n),changed:!0}}function Z(e,t,n,r){let i=e.split(`
4
+ `),a=i[t];if(a===void 0||!a.startsWith(`> 状态:`))throw Error(`状态行定位失败,拒绝假翻态`);return i[t]=`> 状态:${n}`,i.splice(t+1,0,...r),i.join(`
5
+ `)}function Q(e,t,n,r,i,a){let o=[`# ${e} — ${t}`,``,`> 债务类型:${n}`,`> 记录日期:${r}`,`> 状态:未清偿`,`> 来源:${i}`];return a!==void 0&&o.push(`> 关联:${a}`),o}function $(){let e=[];for(let t=0;t<P.length;t+=1){let n=P[t],r=F[t],i=t===3?R:L;e.push(`## ${r}、${n}`,``,i,``)}return e}function se(){return[...Q(`<NNNN>`,`<一句话标题>`,`<债务类型中文名>`,`<YYYY-MM-DD>`,`<出处与日期>`,`<可选:关联条目链接,缺席省略本行>`),``,...$()].join(`
6
+ `)}function ce(e){return[...Q(e.number,e.title,j[e.type],e.date,e.source,e.ref),``,...$()].join(`
7
+ `)}function le(e){return[`# ${e} debts 注册表`,``,"本目录是 lzi-debts 技术债注册表,文件名 `NNNN-<slug>.md`,编号独立序列。",``,`debts 定位:**语义分型的技术债注册表**,一债一档带生命周期。所有过渡措施必须立档,无档过渡即违规。`,``,`## 债务类型词表`,``,"- `transition` 过渡债:过渡期措施,含双轨回落锚点与兼容垫片,清偿路径节必须写明退役判据","- `architecture` 架构债:分层越界、所有权错位、拓扑简化","- `implementation` 实现债:已知次优实现","- `test` 测试债:关键路径缺测或测试薄弱","- `dependency` 依赖债:钉版、过期、重复依赖","- `documentation` 文档债:文档缺失或与实现漂移",``,`## 状态词表`,``,"- `未清偿`:债在册待偿付","- `已清偿`:经 `settle` 翻态,第四节须回填清偿记录","- `已豁免`:经 `waive` 翻态,理由须含用户裁定",``,`## 建档与收口`,``,"- `lzi-debts create --title <t> --type <key> --source <src>` 取号经 numbering 插件,写入时刻确定,禁止手工定号","- `lzi-debts settle --number <n>` 先回填第四节清偿记录再清偿翻态","- `lzi-debts waive --number <n> --reason <r>` 豁免理由须含用户裁定","- 标准模板:`lzi-debts template`,字段契约 `--format json`",``,`## 索引`,``,"- 索引行**人工登记**,工具只检查不写入:`lzi-debts index check` 报差量并附期望行",``,`| 编号 | 标题 | 类型 | 状态 |`,`| --- | --- | --- | --- |`,``,`## 头部元数据`,``,"- `> 债务类型:<类型中文名>` 强制","- `> 记录日期:YYYY-MM-DD` 强制","- `> 状态:<状态中文名>` 强制","- `> 来源:<出处与日期>` 强制","- `> 关联:<条目链接>` 可选",``].join(`
8
+ `)}const ue=[{name:`number`,required:!0,description:`scope 内编号,3-4 位零填充,由编号门禁取号分配,写入时刻确定`},{name:`slug`,required:!0,description:`ASCII kebab slug,小写字母、数字与连字符,禁中文,中文标题须显式 --slug`},{name:`title`,required:!0,description:`一句话标题`},{name:`债务类型`,required:!0,description:`封闭词表键即 transition、architecture、implementation、test、dependency、documentation,头部元数据行写对应中文名`},{name:`记录日期`,required:!0,description:`YYYY-MM-DD,头部 blockquote 元数据行,强制`},{name:`状态`,required:!0,description:`三值词表即未清偿、已清偿、已豁免,建档固定未清偿,翻态仅经 settle 与 waive 通道`},{name:`来源`,required:!0,description:`出处与日期,头部 blockquote 元数据行,强制`},{name:`关联`,required:!1,description:`关联条目链接,头部 blockquote 元数据行,缺席省略整行`},{name:`正文四节`,required:!0,description:`固定四节即背景、债务事实、清偿路径、清偿记录,建档为占位,内容随立档与收口回填`}];export{u as ASCII_KEBAB_SLUG_PATTERN,N as CANONICAL_DEBT_STATUS_LABELS,j as CANONICAL_DEBT_TYPE_LABELS,S as DATE_LINE_KEY,p as DATE_LINE_PATTERN,l as DEBT_FILENAME_PATTERN,d as DEBT_H1_PATTERN,M as DEBT_STATUS_KEYS,A as DEBT_TYPE_KEYS,z as INDEX_LINK_PATTERN,T as REF_LINE_KEY,g as REF_LINE_PATTERN,I as SECTION_HEADER_PATTERNS,P as SECTION_KEYS,F as SECTION_ORDINALS,L as SECTION_PLACEHOLDER,E as SETTLE_DATE_LINE_KEY,_ as SETTLE_DATE_LINE_PATTERN,D as SETTLE_RECORD_LINE_KEY,v as SETTLE_RECORD_LINE_PATTERN,R as SETTLE_SECTION_PLACEHOLDER,w as SOURCE_LINE_KEY,h as SOURCE_LINE_PATTERN,C as STATUS_LINE_KEY,m as STATUS_LINE_PATTERN,ue as TEMPLATE_FIELDS,x as TYPE_LINE_KEY,f as TYPE_LINE_PATTERN,O as WAIVE_DATE_LINE_KEY,y as WAIVE_DATE_LINE_PATTERN,k as WAIVE_REASON_LINE_KEY,b as WAIVE_REASON_LINE_PATTERN,B as captureGroup,W as debtStatusKeyFromLabel,U as debtTypeKeyFromLabel,V as extractDebtKey,H as isRealCalendarDate,K as parseDebtDoc,ce as renderDebtTemplate,se as renderDebtTemplateSkeleton,q as renderIndexTableRow,le as renderRegistryReadmeStub,J as runDebtsLint,ne as runIndexCheck,G as scanDebtsDir,ae as settleDebtDoc,oe as waiveDebtDoc};
@@ -0,0 +1 @@
1
+ import"node:module";export{};
package/package.json CHANGED
@@ -1,6 +1,46 @@
1
1
  {
2
2
  "name": "@longzai-intelligence-debts/ledger",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "0.0.2",
4
+ "description": "Longzai Intelligence Debts 注册表引擎",
5
+ "keywords": [
6
+ "debts",
7
+ "ledger",
8
+ "lint",
9
+ "longzai-intelligence",
10
+ "registry"
11
+ ],
12
+ "license": "UNLICENSED",
13
+ "files": [
14
+ "dist"
15
+ ],
16
+ "type": "module",
17
+ "main": "./dist/index.js",
18
+ "types": "./dist/index.d.ts",
19
+ "exports": {
20
+ ".": {
21
+ "types": "./dist/index.d.ts",
22
+ "import": "./dist/index.js"
23
+ }
24
+ },
25
+ "scripts": {
26
+ "build": "lzi-builder",
27
+ "build:prod": "NODE_ENV=production bun run build",
28
+ "prepublishOnly": "bun run build:prod",
29
+ "typecheck": "bun run typecheck:app && bun run typecheck:node && bun run typecheck:test",
30
+ "typecheck:app": "lzi-tsgo typecheck tsconfig/app.json",
31
+ "typecheck:node": "lzi-tsgo typecheck tsconfig/node.json",
32
+ "typecheck:test": "lzi-tsgo typecheck tsconfig/test.json",
33
+ "lint": "lzi-lint lint",
34
+ "lint:fix": "lzi-lint fix",
35
+ "test": "bun test",
36
+ "test:watch": "bun test --watch",
37
+ "test:coverage": "bun test --coverage"
38
+ },
39
+ "dependencies": {
40
+ "@longzai-intelligence-debts/config": "0.0.2",
41
+ "@longzai-intelligence-docs/core": "0.0.22"
42
+ },
43
+ "devDependencies": {
44
+ "@types/bun": "latest"
45
+ }
46
+ }
package/README.md DELETED
@@ -1,3 +0,0 @@
1
- # Temporary Holding Version
2
-
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.