@aiready/core 0.23.19 → 0.23.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/dist/chunk-2N7ISIKE.mjs +158 -0
  2. package/dist/chunk-ARUIZO7M.mjs +297 -0
  3. package/dist/chunk-CYC5EGEI.mjs +297 -0
  4. package/dist/{chunk-ZB3EHHAG.mjs → chunk-DBOPSRBC.mjs} +88 -26
  5. package/dist/chunk-EZ7ECLAZ.mjs +299 -0
  6. package/dist/chunk-FNPULWG7.mjs +248 -0
  7. package/dist/chunk-FZTFKZUQ.mjs +250 -0
  8. package/dist/chunk-GTS642BQ.mjs +262 -0
  9. package/dist/chunk-IXPY5J4K.mjs +248 -0
  10. package/dist/chunk-JJQLYW6Z.mjs +111 -0
  11. package/dist/chunk-L6BKANJC.mjs +130 -0
  12. package/dist/chunk-LXEO5PG3.mjs +292 -0
  13. package/dist/chunk-LZHO636W.mjs +501 -0
  14. package/dist/chunk-MTK2IIDZ.mjs +262 -0
  15. package/dist/chunk-QDCQETSI.mjs +262 -0
  16. package/dist/chunk-QZNY7B2N.mjs +248 -0
  17. package/dist/chunk-RCZSMGCX.mjs +250 -0
  18. package/dist/chunk-SWZOT67M.mjs +250 -0
  19. package/dist/chunk-U3IY2CFC.mjs +36 -0
  20. package/dist/chunk-UBCM5Y6R.mjs +275 -0
  21. package/dist/chunk-UTCRW3N7.mjs +301 -0
  22. package/dist/{chunk-RMH2TPAT.mjs → chunk-UYLH35LA.mjs} +88 -26
  23. package/dist/{chunk-TJXR2CHZ.mjs → chunk-WVNVC2PP.mjs} +266 -213
  24. package/dist/chunk-WYOW6O3P.mjs +114 -0
  25. package/dist/{chunk-CGOS2J6T.mjs → chunk-YRSSR4KN.mjs} +260 -217
  26. package/dist/client-2xbeKnrg.d.mts +1291 -0
  27. package/dist/client-2xbeKnrg.d.ts +1291 -0
  28. package/dist/client-4HLAGzFg.d.mts +1291 -0
  29. package/dist/client-4HLAGzFg.d.ts +1291 -0
  30. package/dist/client-B4TQwNa7.d.mts +1290 -0
  31. package/dist/client-B4TQwNa7.d.ts +1290 -0
  32. package/dist/client-Bdi4ty0v.d.mts +1294 -0
  33. package/dist/client-Bdi4ty0v.d.ts +1294 -0
  34. package/dist/client-BsKpUH3H.d.mts +1339 -0
  35. package/dist/client-BsKpUH3H.d.ts +1339 -0
  36. package/dist/client-Bv1zOaWF.d.mts +1291 -0
  37. package/dist/client-Bv1zOaWF.d.ts +1291 -0
  38. package/dist/client-Bz9YJMIX.d.mts +1290 -0
  39. package/dist/client-Bz9YJMIX.d.ts +1290 -0
  40. package/dist/client-CBpzm34X.d.mts +1291 -0
  41. package/dist/client-CBpzm34X.d.ts +1291 -0
  42. package/dist/client-CNu_tCZZ.d.mts +1305 -0
  43. package/dist/client-CNu_tCZZ.d.ts +1305 -0
  44. package/dist/client-CmEvxxQu.d.mts +1339 -0
  45. package/dist/client-CmEvxxQu.d.ts +1339 -0
  46. package/dist/client-DGMAxkZc.d.mts +1339 -0
  47. package/dist/client-DGMAxkZc.d.ts +1339 -0
  48. package/dist/client-DZq-CqcD.d.mts +1292 -0
  49. package/dist/client-DZq-CqcD.d.ts +1292 -0
  50. package/dist/{client-WVCAIWdJ.d.mts → client-DcqGfDTt.d.mts} +318 -226
  51. package/dist/{client-WVCAIWdJ.d.ts → client-DcqGfDTt.d.ts} +318 -226
  52. package/dist/{client-DLvFR2qA.d.mts → client-O8RvSRm0.d.mts} +89 -25
  53. package/dist/{client-DLvFR2qA.d.ts → client-O8RvSRm0.d.ts} +89 -25
  54. package/dist/client.d.mts +1 -1
  55. package/dist/client.d.ts +1 -1
  56. package/dist/client.js +53 -27
  57. package/dist/client.mjs +6 -6
  58. package/dist/csharp-parser-4ZKCSX5B.mjs +9 -0
  59. package/dist/csharp-parser-5HKICCRR.mjs +9 -0
  60. package/dist/csharp-parser-JCKXIAJW.mjs +9 -0
  61. package/dist/go-parser-J4KIH4RG.mjs +9 -0
  62. package/dist/go-parser-TKXL3DVH.mjs +9 -0
  63. package/dist/go-parser-XOM232XZ.mjs +9 -0
  64. package/dist/index.d.mts +332 -54
  65. package/dist/index.d.ts +332 -54
  66. package/dist/index.js +3930 -3064
  67. package/dist/index.mjs +933 -2036
  68. package/dist/java-parser-3KHXOXRQ.mjs +9 -0
  69. package/dist/java-parser-MASGS4WB.mjs +9 -0
  70. package/dist/java-parser-T5LXD63J.mjs +9 -0
  71. package/dist/python-parser-FNFK2473.mjs +8 -0
  72. package/dist/typescript-parser-2GGNRNB5.mjs +7 -0
  73. package/dist/typescript-parser-3ENJ6C7H.mjs +7 -0
  74. package/dist/typescript-parser-4GI7DPSW.mjs +7 -0
  75. package/dist/typescript-parser-4H3HUBO4.mjs +7 -0
  76. package/dist/typescript-parser-K63IVZMF.mjs +7 -0
  77. package/dist/typescript-parser-ZJKROMQG.mjs +7 -0
  78. package/package.json +1 -1
  79. package/dist/chunk-5SHLHMH7.mjs +0 -760
  80. package/dist/chunk-Q55AMEFV.mjs +0 -760
  81. package/dist/client-BEoUYNLp.d.mts +0 -1191
  82. package/dist/client-BEoUYNLp.d.ts +0 -1191
  83. package/dist/client-BrIMPk89.d.mts +0 -1214
  84. package/dist/client-BrIMPk89.d.ts +0 -1214
  85. package/dist/client-C5BuGX4F.d.mts +0 -1205
  86. package/dist/client-C5BuGX4F.d.ts +0 -1205
  87. package/dist/client-CKcjnPXt.d.mts +0 -1214
  88. package/dist/client-CKcjnPXt.d.ts +0 -1214
  89. package/dist/client-CLulBnie.d.mts +0 -1182
  90. package/dist/client-CLulBnie.d.ts +0 -1182
  91. package/dist/client-CQwvp8ep.d.mts +0 -1182
  92. package/dist/client-CQwvp8ep.d.ts +0 -1182
  93. package/dist/client-PFPdeo-z.d.mts +0 -1186
  94. package/dist/client-PFPdeo-z.d.ts +0 -1186
  95. package/dist/client-wk2fgk1q.d.mts +0 -1184
  96. package/dist/client-wk2fgk1q.d.ts +0 -1184
@@ -1,5 +1,237 @@
1
1
  import { z } from 'zod';
2
2
 
3
+ /**
4
+ * AST Parsing and Export Extraction Types
5
+ */
6
+ /**
7
+ * Location information in source code
8
+ */
9
+ interface SourceLocation {
10
+ line: number;
11
+ column: number;
12
+ }
13
+ /**
14
+ * Range information in source code
15
+ */
16
+ interface SourceRange {
17
+ start: SourceLocation;
18
+ end: SourceLocation;
19
+ }
20
+ interface ExportWithImports {
21
+ name: string;
22
+ type: 'function' | 'class' | 'const' | 'type' | 'interface' | 'default' | 'all';
23
+ source?: string;
24
+ imports: string[];
25
+ dependencies: string[];
26
+ typeReferences: string[];
27
+ loc?: SourceRange;
28
+ }
29
+ /**
30
+ * Information about a single import declaration
31
+ */
32
+ interface FileImport {
33
+ /** Module being imported from */
34
+ source: string;
35
+ /** What's being imported */
36
+ specifiers: string[];
37
+ /** Is this a type-only import (TypeScript) */
38
+ isTypeOnly?: boolean;
39
+ /** Location in source */
40
+ loc?: SourceRange;
41
+ }
42
+ interface ASTNode {
43
+ type: string;
44
+ loc?: SourceRange;
45
+ }
46
+ /**
47
+ * AI token budget unit economics (v0.13+)
48
+ */
49
+ interface TokenBudget {
50
+ totalContextTokens: number;
51
+ estimatedResponseTokens?: number;
52
+ wastedTokens: {
53
+ total: number;
54
+ bySource: {
55
+ duplication: number;
56
+ fragmentation: number;
57
+ chattiness: number;
58
+ };
59
+ };
60
+ efficiencyRatio: number;
61
+ potentialRetrievableTokens: number;
62
+ }
63
+
64
+ /**
65
+ * Shared types for graph-based visualizations
66
+ */
67
+ /**
68
+ * Base graph node compatible with d3-force simulation
69
+ */
70
+ interface BaseGraphNode {
71
+ id: string;
72
+ x?: number;
73
+ y?: number;
74
+ vx?: number;
75
+ vy?: number;
76
+ fx?: number | null;
77
+ fy?: number | null;
78
+ }
79
+ /**
80
+ * Base graph link compatible with d3-force simulation
81
+ */
82
+ interface BaseGraphLink {
83
+ source: string | BaseGraphNode;
84
+ target: string | BaseGraphNode;
85
+ index?: number;
86
+ }
87
+ /**
88
+ * Full graph node with all metadata
89
+ */
90
+ interface GraphNode extends BaseGraphNode {
91
+ label: string;
92
+ path?: string;
93
+ size?: number;
94
+ value?: number;
95
+ color?: string;
96
+ group?: string;
97
+ title?: string;
98
+ duplicates?: number;
99
+ tokenCost?: number;
100
+ severity?: string;
101
+ }
102
+ interface GraphEdge {
103
+ source: string;
104
+ target: string;
105
+ type?: string;
106
+ weight?: number;
107
+ }
108
+ interface GraphData {
109
+ nodes: GraphNode[];
110
+ edges: GraphEdge[];
111
+ clusters?: {
112
+ id: string;
113
+ name: string;
114
+ nodeIds: string[];
115
+ }[];
116
+ issues?: {
117
+ id: string;
118
+ type: string;
119
+ severity: string;
120
+ nodeIds: string[];
121
+ message: string;
122
+ }[];
123
+ metadata?: GraphMetadata$1;
124
+ /** Whether the graph was truncated due to size limits */
125
+ truncated?: {
126
+ nodes: boolean;
127
+ edges: boolean;
128
+ nodeCount?: number;
129
+ edgeCount?: number;
130
+ nodeLimit?: number;
131
+ edgeLimit?: number;
132
+ };
133
+ }
134
+ /**
135
+ * Metadata about the graph
136
+ */
137
+ interface GraphMetadata$1 {
138
+ projectName?: string;
139
+ timestamp: string;
140
+ totalFiles: number;
141
+ totalDependencies: number;
142
+ analysisTypes: string[];
143
+ totalLinesOfCode?: number;
144
+ totalTokenCost?: number;
145
+ averageComplexity?: number;
146
+ criticalIssues: number;
147
+ majorIssues: number;
148
+ minorIssues: number;
149
+ infoIssues: number;
150
+ estimatedMonthlyCost?: number;
151
+ estimatedDeveloperHours?: number;
152
+ aiAcceptanceRate?: number;
153
+ aiReadinessScore?: number;
154
+ /** AI token budget unit economics (v0.13+) */
155
+ tokenBudget?: any;
156
+ }
157
+
158
+ /**
159
+ * Lead Source identifiers.
160
+ */
161
+ declare enum LeadSource {
162
+ ClawMoreHero = "clawmore-hero",
163
+ ClawMoreWaitlist = "clawmore-waitlist",
164
+ ClawMoreBeta = "clawmore-beta",
165
+ AiReadyPlatform = "aiready-platform"
166
+ }
167
+ /** Zod schema for LeadSource enum */
168
+ declare const LeadSourceSchema: z.ZodEnum<typeof LeadSource>;
169
+ /**
170
+ * Business Lead schema for waitlists and beta signups.
171
+ */
172
+ declare const LeadSchema: z.ZodObject<{
173
+ id: z.ZodString;
174
+ email: z.ZodString;
175
+ name: z.ZodString;
176
+ interest: z.ZodDefault<z.ZodString>;
177
+ notes: z.ZodOptional<z.ZodString>;
178
+ timestamp: z.ZodString;
179
+ source: z.ZodEnum<typeof LeadSource>;
180
+ status: z.ZodDefault<z.ZodEnum<{
181
+ new: "new";
182
+ contacted: "contacted";
183
+ qualified: "qualified";
184
+ converted: "converted";
185
+ archived: "archived";
186
+ }>>;
187
+ }, z.core.$strip>;
188
+ type Lead = z.infer<typeof LeadSchema>;
189
+ /**
190
+ * Lead Submission (input from form)
191
+ */
192
+ declare const LeadSubmissionSchema: z.ZodObject<{
193
+ source: z.ZodEnum<typeof LeadSource>;
194
+ email: z.ZodString;
195
+ name: z.ZodString;
196
+ interest: z.ZodDefault<z.ZodString>;
197
+ notes: z.ZodOptional<z.ZodString>;
198
+ }, z.core.$strip>;
199
+ type LeadSubmission = z.infer<typeof LeadSubmissionSchema>;
200
+ /**
201
+ * Managed AWS Account metadata for the Account Vending Machine.
202
+ */
203
+ declare const ManagedAccountSchema: z.ZodObject<{
204
+ id: z.ZodString;
205
+ accountId: z.ZodString;
206
+ userId: z.ZodString;
207
+ stripeSubscriptionId: z.ZodString;
208
+ tokenStrategy: z.ZodDefault<z.ZodEnum<{
209
+ managed: "managed";
210
+ byok: "byok";
211
+ }>>;
212
+ byokConfig: z.ZodOptional<z.ZodObject<{
213
+ openaiKey: z.ZodOptional<z.ZodString>;
214
+ anthropicKey: z.ZodOptional<z.ZodString>;
215
+ openrouterKey: z.ZodOptional<z.ZodString>;
216
+ }, z.core.$strip>>;
217
+ baseFeeCents: z.ZodDefault<z.ZodNumber>;
218
+ includedComputeCents: z.ZodDefault<z.ZodNumber>;
219
+ includedTokenCents: z.ZodDefault<z.ZodNumber>;
220
+ prepaidTokenBalanceCents: z.ZodDefault<z.ZodNumber>;
221
+ currentMonthlyTokenSpendCents: z.ZodDefault<z.ZodNumber>;
222
+ status: z.ZodDefault<z.ZodEnum<{
223
+ provisioning: "provisioning";
224
+ active: "active";
225
+ warning: "warning";
226
+ quarantined: "quarantined";
227
+ suspended: "suspended";
228
+ }>>;
229
+ lastCostSyncAt: z.ZodOptional<z.ZodString>;
230
+ region: z.ZodDefault<z.ZodString>;
231
+ alertThresholds: z.ZodDefault<z.ZodArray<z.ZodNumber>>;
232
+ }, z.core.$strip>;
233
+ type ManagedAccount = z.infer<typeof ManagedAccountSchema>;
234
+
3
235
  /**
4
236
  * Severity levels for all AIReady issues.
5
237
  */
@@ -9,21 +241,6 @@ declare enum Severity {
9
241
  Minor = "minor",
10
242
  Info = "info"
11
243
  }
12
- /**
13
- * Common tool options
14
- */
15
- interface ToolOptions {
16
- /** Root directory of the project */
17
- rootDir: string;
18
- /** Files to include in this tool's analysis */
19
- include?: string[];
20
- /** Files to exclude from this tool's analysis */
21
- exclude?: string[];
22
- /** Tool-specific configuration values */
23
- config?: any;
24
- /** Any other dynamic options */
25
- [key: string]: any;
26
- }
27
244
  /** Zod schema for Severity enum */
28
245
  declare const SeveritySchema: z.ZodEnum<typeof Severity>;
29
246
  /**
@@ -97,6 +314,22 @@ declare enum ModelTier {
97
314
  }
98
315
  /** Zod schema for ModelTier enum */
99
316
  declare const ModelTierSchema: z.ZodEnum<typeof ModelTier>;
317
+
318
+ /**
319
+ * Common tool options
320
+ */
321
+ interface ToolOptions {
322
+ /** Root directory of the project */
323
+ rootDir: string;
324
+ /** Files to include in this tool's analysis */
325
+ include?: string[];
326
+ /** Files to exclude from this tool's analysis */
327
+ exclude?: string[];
328
+ /** Tool-specific configuration values */
329
+ config?: any;
330
+ /** Any other dynamic options */
331
+ [key: string]: any;
332
+ }
100
333
  /**
101
334
  * Source code location schema.
102
335
  */
@@ -109,6 +342,7 @@ declare const LocationSchema: z.ZodObject<{
109
342
  endColumn: z.ZodOptional<z.ZodNumber>;
110
343
  }, z.core.$strip>;
111
344
  type Location = z.infer<typeof LocationSchema>;
345
+
112
346
  /**
113
347
  * Standard Issue schema.
114
348
  */
@@ -127,6 +361,7 @@ declare const IssueSchema: z.ZodObject<{
127
361
  suggestion: z.ZodOptional<z.ZodString>;
128
362
  }, z.core.$strip>;
129
363
  type Issue = z.infer<typeof IssueSchema>;
364
+
130
365
  /**
131
366
  * Standard Metrics schema.
132
367
  */
@@ -149,6 +384,7 @@ declare const MetricsSchema: z.ZodObject<{
149
384
  totalExports: z.ZodOptional<z.ZodNumber>;
150
385
  }, z.core.$strip>;
151
386
  type Metrics = z.infer<typeof MetricsSchema>;
387
+
152
388
  /**
153
389
  * Individual file/module analysis result.
154
390
  */
@@ -308,6 +544,7 @@ declare const UnifiedReportSchema: z.ZodObject<{
308
544
  }, z.core.$strip>>;
309
545
  }, z.core.$catchall<z.ZodAny>>;
310
546
  type UnifiedReport = z.infer<typeof UnifiedReportSchema>;
547
+
311
548
  /**
312
549
  * Global AIReady Configuration Schema.
313
550
  * Strict definition for aiready.json and related config files.
@@ -348,195 +585,6 @@ declare const AIReadyConfigSchema: z.ZodObject<{
348
585
  }, z.core.$strip>>;
349
586
  }, z.core.$catchall<z.ZodAny>>;
350
587
 
351
- /**
352
- * AST Parsing and Export Extraction Types
353
- */
354
- /**
355
- * Location information in source code
356
- */
357
- interface SourceLocation {
358
- line: number;
359
- column: number;
360
- }
361
- /**
362
- * Range information in source code
363
- */
364
- interface SourceRange {
365
- start: SourceLocation;
366
- end: SourceLocation;
367
- }
368
- interface ExportWithImports {
369
- name: string;
370
- type: 'function' | 'class' | 'const' | 'type' | 'interface' | 'default' | 'all';
371
- source?: string;
372
- imports: string[];
373
- dependencies: string[];
374
- typeReferences: string[];
375
- loc?: SourceRange;
376
- }
377
- /**
378
- * Information about a single import declaration
379
- */
380
- interface FileImport {
381
- /** Module being imported from */
382
- source: string;
383
- /** What's being imported */
384
- specifiers: string[];
385
- /** Is this a type-only import (TypeScript) */
386
- isTypeOnly?: boolean;
387
- /** Location in source */
388
- loc?: SourceRange;
389
- }
390
- interface ASTNode {
391
- type: string;
392
- loc?: SourceRange;
393
- }
394
- /**
395
- * AI token budget unit economics (v0.13+)
396
- */
397
- interface TokenBudget {
398
- totalContextTokens: number;
399
- estimatedResponseTokens?: number;
400
- wastedTokens: {
401
- total: number;
402
- bySource: {
403
- duplication: number;
404
- fragmentation: number;
405
- chattiness: number;
406
- };
407
- };
408
- efficiencyRatio: number;
409
- potentialRetrievableTokens: number;
410
- }
411
-
412
- /**
413
- * Shared types for graph-based visualizations
414
- */
415
- interface GraphNode {
416
- id: string;
417
- label: string;
418
- path?: string;
419
- size?: number;
420
- value?: number;
421
- color?: string;
422
- group?: string;
423
- title?: string;
424
- x?: number;
425
- y?: number;
426
- duplicates?: number;
427
- tokenCost?: number;
428
- severity?: string;
429
- }
430
- interface GraphEdge {
431
- source: string;
432
- target: string;
433
- type?: string;
434
- weight?: number;
435
- }
436
- interface GraphData {
437
- nodes: GraphNode[];
438
- edges: GraphEdge[];
439
- clusters?: {
440
- id: string;
441
- name: string;
442
- nodeIds: string[];
443
- }[];
444
- issues?: {
445
- id: string;
446
- type: string;
447
- severity: string;
448
- nodeIds: string[];
449
- message: string;
450
- }[];
451
- metadata?: any;
452
- /** Whether the graph was truncated due to size limits */
453
- truncated?: {
454
- nodes: boolean;
455
- edges: boolean;
456
- nodeCount?: number;
457
- edgeCount?: number;
458
- nodeLimit?: number;
459
- edgeLimit?: number;
460
- };
461
- }
462
-
463
- /**
464
- * Lead Source identifiers.
465
- */
466
- declare enum LeadSource {
467
- ClawMoreHero = "clawmore-hero",
468
- ClawMoreWaitlist = "clawmore-waitlist",
469
- ClawMoreBeta = "clawmore-beta",
470
- AiReadyPlatform = "aiready-platform"
471
- }
472
- /** Zod schema for LeadSource enum */
473
- declare const LeadSourceSchema: z.ZodEnum<typeof LeadSource>;
474
- /**
475
- * Business Lead schema for waitlists and beta signups.
476
- */
477
- declare const LeadSchema: z.ZodObject<{
478
- id: z.ZodString;
479
- email: z.ZodString;
480
- name: z.ZodString;
481
- interest: z.ZodDefault<z.ZodString>;
482
- notes: z.ZodOptional<z.ZodString>;
483
- timestamp: z.ZodString;
484
- source: z.ZodEnum<typeof LeadSource>;
485
- status: z.ZodDefault<z.ZodEnum<{
486
- new: "new";
487
- contacted: "contacted";
488
- qualified: "qualified";
489
- converted: "converted";
490
- archived: "archived";
491
- }>>;
492
- }, z.core.$strip>;
493
- type Lead = z.infer<typeof LeadSchema>;
494
- /**
495
- * Lead Submission (input from form)
496
- */
497
- declare const LeadSubmissionSchema: z.ZodObject<{
498
- source: z.ZodEnum<typeof LeadSource>;
499
- email: z.ZodString;
500
- name: z.ZodString;
501
- interest: z.ZodDefault<z.ZodString>;
502
- notes: z.ZodOptional<z.ZodString>;
503
- }, z.core.$strip>;
504
- type LeadSubmission = z.infer<typeof LeadSubmissionSchema>;
505
- /**
506
- * Managed AWS Account metadata for the Account Vending Machine.
507
- */
508
- declare const ManagedAccountSchema: z.ZodObject<{
509
- id: z.ZodString;
510
- accountId: z.ZodString;
511
- userId: z.ZodString;
512
- stripeSubscriptionId: z.ZodString;
513
- tokenStrategy: z.ZodDefault<z.ZodEnum<{
514
- managed: "managed";
515
- byok: "byok";
516
- }>>;
517
- byokConfig: z.ZodOptional<z.ZodObject<{
518
- openaiKey: z.ZodOptional<z.ZodString>;
519
- anthropicKey: z.ZodOptional<z.ZodString>;
520
- openrouterKey: z.ZodOptional<z.ZodString>;
521
- }, z.core.$strip>>;
522
- baseFeeCents: z.ZodDefault<z.ZodNumber>;
523
- includedComputeCents: z.ZodDefault<z.ZodNumber>;
524
- includedTokenCents: z.ZodDefault<z.ZodNumber>;
525
- prepaidTokenBalanceCents: z.ZodDefault<z.ZodNumber>;
526
- currentMonthlyTokenSpendCents: z.ZodDefault<z.ZodNumber>;
527
- status: z.ZodDefault<z.ZodEnum<{
528
- provisioning: "provisioning";
529
- active: "active";
530
- warning: "warning";
531
- quarantined: "quarantined";
532
- suspended: "suspended";
533
- }>>;
534
- lastCostSyncAt: z.ZodOptional<z.ZodString>;
535
- region: z.ZodDefault<z.ZodString>;
536
- alertThresholds: z.ZodDefault<z.ZodArray<z.ZodNumber>>;
537
- }, z.core.$strip>;
538
- type ManagedAccount = z.infer<typeof ManagedAccountSchema>;
539
-
540
588
  /**
541
589
  * AI readiness configuration
542
590
  */
@@ -934,14 +982,9 @@ interface ParseStatistics {
934
982
  }
935
983
 
936
984
  /**
937
- * Priority levels for actionable recommendations.
938
- * Used to sort and display fixes for the user.
985
+ * Shared rating helper functions for scoring and display.
986
+ * Extracted to eliminate duplication between scoring.ts and CLI output modules.
939
987
  */
940
- declare enum RecommendationPriority {
941
- High = "high",
942
- Medium = "medium",
943
- Low = "low"
944
- }
945
988
  /**
946
989
  * AI Readiness Rating categories.
947
990
  * Provides a high-level qualitative assessment based on the numeric score.
@@ -953,6 +996,69 @@ declare enum ReadinessRating {
953
996
  NeedsWork = "Needs Work",
954
997
  Critical = "Critical"
955
998
  }
999
+ /**
1000
+ * Metadata for a given score range.
1001
+ */
1002
+ interface RatingMetadata {
1003
+ label: string;
1004
+ slug: string;
1005
+ emoji: string;
1006
+ rating: ReadinessRating;
1007
+ }
1008
+ /**
1009
+ * Get all metadata for a specific score.
1010
+ * Unified to remove structural duplication.
1011
+ *
1012
+ * @param score The numerical AI readiness score (0-100)
1013
+ * @returns Metadata object including label, slug, emoji, and rating category
1014
+ */
1015
+ declare function getRatingMetadata(score: number): RatingMetadata;
1016
+ /**
1017
+ * Get rating label from score
1018
+ * @param score The numerical AI readiness score (0-100)
1019
+ * @returns Human-readable rating label
1020
+ */
1021
+ declare function getRatingLabel(score: number): string;
1022
+ /**
1023
+ * Get rating slug from score (URL-friendly)
1024
+ * @param score The numerical score
1025
+ * @returns A kebab-case string (e.g., 'excellent', 'needs-work')
1026
+ */
1027
+ declare function getRatingSlug(score: number): string;
1028
+ /**
1029
+ * Get rating emoji from score
1030
+ * @param score The numerical score
1031
+ * @returns Emoji string for display
1032
+ */
1033
+ declare function getRatingEmoji(score: number): string;
1034
+ /**
1035
+ * Get tool emoji from score (alias for getRatingEmoji)
1036
+ * @param score The numerical score
1037
+ * @returns Emoji string for display
1038
+ */
1039
+ declare function getToolEmoji(score: number): string;
1040
+ /**
1041
+ * Get priority icon from priority level
1042
+ * @param priority Priority level string
1043
+ * @returns Emoji string for display
1044
+ */
1045
+ declare function getPriorityIcon(priority: string): string;
1046
+ /**
1047
+ * Convert numeric score to ReadinessRating enum
1048
+ * @param score The numerical AI readiness score (0-100)
1049
+ * @returns The corresponding ReadinessRating category
1050
+ */
1051
+ declare function getRating(score: number): ReadinessRating;
1052
+
1053
+ /**
1054
+ * Priority levels for actionable recommendations.
1055
+ * Used to sort and display fixes for the user.
1056
+ */
1057
+ declare enum RecommendationPriority {
1058
+ High = "high",
1059
+ Medium = "medium",
1060
+ Low = "low"
1061
+ }
956
1062
  /**
957
1063
  * Output structure for a single tool's scoring analysis.
958
1064
  */
@@ -1124,20 +1230,6 @@ declare function parseWeightString(weightStr?: string): Map<string, number>;
1124
1230
  * @returns Consolidate ScoringResult including overall score and rating
1125
1231
  */
1126
1232
  declare function calculateOverallScore(toolOutputs: Map<string, ToolScoringOutput>, config?: any, cliWeights?: Map<string, number>): ScoringResult;
1127
- /**
1128
- * Convert numeric score to qualitative rating category.
1129
- *
1130
- * @param score The numerical AI readiness score (0-100)
1131
- * @returns The corresponding ReadinessRating category
1132
- */
1133
- declare function getRating(score: number): ReadinessRating;
1134
- /**
1135
- * Get a URL-friendly slug representing the rating category.
1136
- *
1137
- * @param score The numerical score
1138
- * @returns A kebab-case string (e.g., 'excellent', 'needs-work')
1139
- */
1140
- declare function getRatingSlug(score: number): string;
1141
1233
  /**
1142
1234
  * Convert score to rating with project-size and model awareness.
1143
1235
  *
@@ -1189,4 +1281,4 @@ declare function formatToolScore(output: ToolScoringOutput): string;
1189
1281
  */
1190
1282
  declare function generateHTML(graph: GraphData): string;
1191
1283
 
1192
- export { LeadSourceSchema as $, type AnalysisResult as A, type BusinessMetrics as B, type CostConfig as C, DEFAULT_TOOL_WEIGHTS as D, type ExportWithImports as E, type FileImport as F, GLOBAL_INFRA_OPTIONS as G, type GraphData as H, type Issue as I, type GraphEdge as J, type GraphIssueSeverity as K, type LanguageParser as L, type Metrics as M, type NamingConvention as N, type GraphMetadata as O, type ProductivityImpact as P, type GraphNode as Q, IssueSchema as R, type ScanOptions as S, ToolName as T, IssueType as U, IssueTypeSchema as V, LANGUAGE_EXTENSIONS as W, type LanguageConfig as X, type Lead as Y, LeadSchema as Z, LeadSource as _, type SpokeOutput as a, type LeadSubmission as a0, LeadSubmissionSchema as a1, type Location as a2, LocationSchema as a3, type ManagedAccount as a4, ManagedAccountSchema as a5, MetricsSchema as a6, ModelTier as a7, ModelTierSchema as a8, ParseError as a9, getRatingDisplay as aA, getRatingSlug as aB, getRatingWithContext as aC, getRecommendedThreshold as aD, getToolWeight as aE, normalizeToolName as aF, parseWeightString as aG, type ParseStatistics as aa, ReadinessRating as ab, RecommendationPriority as ac, SCORING_PROFILES as ad, SIZE_ADJUSTED_THRESHOLDS as ae, type ScanResult as af, type ScoringConfig as ag, ScoringProfile as ah, type ScoringResult as ai, SeveritySchema as aj, type SourceLocation as ak, type SourceRange as al, SpokeOutputSchema as am, type SpokeSummary as an, SpokeSummarySchema as ao, TOOL_NAME_MAP as ap, ToolNameSchema as aq, type ToolOutput as ar, type UnifiedReport as as, UnifiedReportSchema as at, calculateOverallScore as au, formatScore as av, formatToolScore as aw, generateHTML as ax, getProjectSizeTier as ay, getRating as az, type ToolScoringOutput as b, type ToolOptions as c, Severity as d, type AIReadyConfig as e, type ModelContextTier as f, type TokenBudget as g, type AcceptancePrediction as h, type ComprehensionDifficulty as i, type TechnicalValueChainSummary as j, type TechnicalValueChain as k, Language as l, type ParseResult as m, type ExportInfo as n, AIReadyConfigSchema as o, type ASTNode as p, AnalysisResultSchema as q, AnalysisStatus as r, AnalysisStatusSchema as s, COMMON_FINE_TUNING_OPTIONS as t, CONTEXT_TIER_THRESHOLDS as u, type CommonASTNode as v, type Config as w, FRIENDLY_TOOL_NAMES as x, type FileContent as y, GLOBAL_SCAN_OPTIONS as z };
1284
+ export { LeadSourceSchema as $, type AnalysisResult as A, type BusinessMetrics as B, type CostConfig as C, DEFAULT_TOOL_WEIGHTS as D, type ExportWithImports as E, type FileImport as F, GLOBAL_INFRA_OPTIONS as G, type GraphData as H, type Issue as I, type GraphEdge as J, type GraphIssueSeverity as K, type LanguageParser as L, type Metrics as M, type NamingConvention as N, type GraphMetadata as O, type ProductivityImpact as P, type GraphNode as Q, IssueSchema as R, type ScanOptions as S, ToolName as T, IssueType as U, IssueTypeSchema as V, LANGUAGE_EXTENSIONS as W, type LanguageConfig as X, type Lead as Y, LeadSchema as Z, LeadSource as _, type SpokeOutput as a, type LeadSubmission as a0, LeadSubmissionSchema as a1, type Location as a2, LocationSchema as a3, type ManagedAccount as a4, ManagedAccountSchema as a5, MetricsSchema as a6, ModelTier as a7, ModelTierSchema as a8, ParseError as a9, getRating as aA, getRatingDisplay as aB, getRatingEmoji as aC, getRatingLabel as aD, getRatingMetadata as aE, getRatingSlug as aF, getRatingWithContext as aG, getRecommendedThreshold as aH, getToolEmoji as aI, getToolWeight as aJ, normalizeToolName as aK, parseWeightString as aL, type BaseGraphLink as aM, type BaseGraphNode as aN, type ParseStatistics as aa, ReadinessRating as ab, RecommendationPriority as ac, SCORING_PROFILES as ad, SIZE_ADJUSTED_THRESHOLDS as ae, type ScanResult as af, type ScoringConfig as ag, ScoringProfile as ah, type ScoringResult as ai, SeveritySchema as aj, type SourceLocation as ak, type SourceRange as al, SpokeOutputSchema as am, type SpokeSummary as an, SpokeSummarySchema as ao, TOOL_NAME_MAP as ap, ToolNameSchema as aq, type ToolOutput as ar, type UnifiedReport as as, UnifiedReportSchema as at, calculateOverallScore as au, formatScore as av, formatToolScore as aw, generateHTML as ax, getPriorityIcon as ay, getProjectSizeTier as az, type ToolScoringOutput as b, type ToolOptions as c, Severity as d, type AIReadyConfig as e, type ModelContextTier as f, type TokenBudget as g, type AcceptancePrediction as h, type ComprehensionDifficulty as i, type TechnicalValueChainSummary as j, type TechnicalValueChain as k, Language as l, type ParseResult as m, type ExportInfo as n, AIReadyConfigSchema as o, type ASTNode as p, AnalysisResultSchema as q, AnalysisStatus as r, AnalysisStatusSchema as s, COMMON_FINE_TUNING_OPTIONS as t, CONTEXT_TIER_THRESHOLDS as u, type CommonASTNode as v, type Config as w, FRIENDLY_TOOL_NAMES as x, type FileContent as y, GLOBAL_SCAN_OPTIONS as z };