@openpkg-ts/sdk 0.52.2 → 0.53.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -87,7 +87,6 @@ Generate full OpenPkg spec (all exports + types).
87
87
  const { spec, diagnostics, verification } = await extractSpec({
88
88
  entryFile: './src/index.ts',
89
89
  maxTypeDepth: 4,
90
- resolveExternalTypes: true,
91
90
  only: ['use*'], // filter by pattern
92
91
  ignore: ['*Internal'], // exclude by pattern
93
92
  followExternal: ['@ai-sdk/*'], // or true, or 'auto' with decisions: 'jev'
@@ -160,20 +159,6 @@ filterSpec(spec, {
160
159
  });
161
160
  ```
162
161
 
163
- ### analyzeSpec
164
-
165
- Analyze spec for quality issues.
166
-
167
- ```typescript
168
- import { analyzeSpec } from '@openpkg-ts/sdk';
169
-
170
- const diagnostics = analyzeSpec(spec);
171
-
172
- console.log(`Missing descriptions: ${diagnostics.missingDescriptions.length}`);
173
- console.log(`Deprecated without reason: ${diagnostics.deprecatedNoReason.length}`);
174
- console.log(`Missing param docs: ${diagnostics.missingParamDocs.length}`);
175
- ```
176
-
177
162
  ## Documentation Generation
178
163
 
179
164
  ### createDocs / loadSpec
@@ -293,7 +278,6 @@ import type {
293
278
  SimplifiedSpec,
294
279
  FilterCriteria,
295
280
  FilterResult,
296
- SpecDiagnostics,
297
281
  DiffOptions,
298
282
  QueryBuilder,
299
283
  } from '@openpkg-ts/sdk';
package/dist/browser.d.ts CHANGED
@@ -1,38 +1,3 @@
1
- import { OpenPkg, SpecExport } from "@openpkg-ts/spec";
2
- interface DiagnosticItem {
3
- exportId: string;
4
- exportName: string;
5
- issue: string;
6
- /** Member name if issue is on a member */
7
- member?: string;
8
- /** Parameter name if issue is on a parameter */
9
- param?: string;
10
- }
11
- interface SpecDiagnostics {
12
- /** Exports/members without descriptions */
13
- missingDescriptions: DiagnosticItem[];
14
- /** Exports marked @deprecated but no reason provided */
15
- deprecatedNoReason: DiagnosticItem[];
16
- /** Function params without descriptions in JSDoc */
17
- missingParamDocs: DiagnosticItem[];
18
- }
19
- /**
20
- * Check if has @deprecated tag.
21
- */
22
- declare function hasDeprecatedTag(exp: SpecExport): boolean;
23
- /**
24
- * Get deprecation message from @deprecated tag.
25
- * Returns undefined if no reason provided.
26
- */
27
- declare function getDeprecationMessage(exp: SpecExport): string | undefined;
28
- /**
29
- * Find params without descriptions in JSDoc.
30
- */
31
- declare function findMissingParamDocs(exp: SpecExport): string[];
32
- /**
33
- * Analyze a spec for quality issues.
34
- */
35
- declare function analyzeSpec(spec: OpenPkg): SpecDiagnostics;
36
1
  import { SpecMember } from "@openpkg-ts/spec";
37
2
  /**
38
3
  * Extract badge strings from a member's visibility and flags.
@@ -43,7 +8,7 @@ declare function getMemberBadges(member: SpecMember): string[];
43
8
  * Format badges array into a display string (space-separated).
44
9
  */
45
10
  declare function formatBadges(badges: string[]): string;
46
- import { OpenPkg as OpenPkg7, SpecExport as SpecExport3, SpecExportKind as SpecExportKind4, SpecType } from "@openpkg-ts/spec";
11
+ import { OpenPkg as OpenPkg6, SpecExport as SpecExport2, SpecExportKind as SpecExportKind4, SpecType } from "@openpkg-ts/spec";
47
12
  interface HTMLOptions {
48
13
  /** Page title override */
49
14
  title?: string;
@@ -215,7 +180,7 @@ interface DocusaurusSidebarItem {
215
180
  href?: string;
216
181
  }
217
182
  type DocusaurusSidebar = DocusaurusSidebarItem[];
218
- import { OpenPkg as OpenPkg6, SpecExportKind as SpecExportKind3 } from "@openpkg-ts/spec";
183
+ import { OpenPkg as OpenPkg5, SpecExportKind as SpecExportKind3 } from "@openpkg-ts/spec";
219
184
  interface SearchOptions {
220
185
  /** Base URL for search result links */
221
186
  baseUrl?: string;
@@ -308,7 +273,7 @@ interface SearchIndex {
308
273
  * // { records: [...], version: '1.0.0', packageName: 'my-lib' }
309
274
  * ```
310
275
  */
311
- declare function toSearchIndex2(spec: OpenPkg6, options?: SearchOptions): SearchIndex;
276
+ declare function toSearchIndex2(spec: OpenPkg5, options?: SearchOptions): SearchIndex;
312
277
  /**
313
278
  * Generate Pagefind-compatible records.
314
279
  *
@@ -324,7 +289,7 @@ declare function toSearchIndex2(spec: OpenPkg6, options?: SearchOptions): Search
324
289
  * })
325
290
  * ```
326
291
  */
327
- declare function toPagefindRecords2(spec: OpenPkg6, options?: SearchOptions): PagefindRecord[];
292
+ declare function toPagefindRecords2(spec: OpenPkg5, options?: SearchOptions): PagefindRecord[];
328
293
  /**
329
294
  * Generate Algolia-compatible records.
330
295
  *
@@ -338,7 +303,7 @@ declare function toPagefindRecords2(spec: OpenPkg6, options?: SearchOptions): Pa
338
303
  * // Upload to Algolia index
339
304
  * ```
340
305
  */
341
- declare function toAlgoliaRecords2(spec: OpenPkg6, options?: SearchOptions): AlgoliaRecord[];
306
+ declare function toAlgoliaRecords2(spec: OpenPkg5, options?: SearchOptions): AlgoliaRecord[];
342
307
  /**
343
308
  * Serialize search index to JSON string.
344
309
  *
@@ -352,36 +317,36 @@ declare function toAlgoliaRecords2(spec: OpenPkg6, options?: SearchOptions): Alg
352
317
  * fs.writeFileSync('search-index.json', json)
353
318
  * ```
354
319
  */
355
- declare function toSearchIndexJSON(spec: OpenPkg6, options?: SearchOptions & {
320
+ declare function toSearchIndexJSON(spec: OpenPkg5, options?: SearchOptions & {
356
321
  pretty?: boolean;
357
322
  }): string;
358
323
  interface LoadOptions {
359
324
  /** Path to openpkg.json file or the spec object directly */
360
- input: string | OpenPkg7;
325
+ input: string | OpenPkg6;
361
326
  }
362
327
  interface DocsInstance {
363
328
  /** The parsed OpenPkg spec */
364
- spec: OpenPkg7;
329
+ spec: OpenPkg6;
365
330
  /** Get an by its ID */
366
- getExport(id: string): SpecExport3 | undefined;
331
+ getExport(id: string): SpecExport2 | undefined;
367
332
  /** Get a type definition by its ID */
368
333
  getType(id: string): SpecType | undefined;
369
334
  /** Get all exports of a specific kind */
370
- getExportsByKind(kind: SpecExportKind4): SpecExport3[];
335
+ getExportsByKind(kind: SpecExportKind4): SpecExport2[];
371
336
  /** Get all exports */
372
- getAllExports(): SpecExport3[];
337
+ getAllExports(): SpecExport2[];
373
338
  /** Get all type definitions */
374
339
  getAllTypes(): SpecType[];
375
340
  /** Get exports by JSDoc tag (e.g., '@beta', '@internal') */
376
- getExportsByTag(tagName: string): SpecExport3[];
341
+ getExportsByTag(tagName: string): SpecExport2[];
377
342
  /** Search exports by name or description */
378
- search(query: string): SpecExport3[];
343
+ search(query: string): SpecExport2[];
379
344
  /** Get exports belonging to a specific module/namespace */
380
- getModule(moduleName: string): SpecExport3[];
345
+ getModule(moduleName: string): SpecExport2[];
381
346
  /** Get deprecated exports */
382
- getDeprecated(): SpecExport3[];
347
+ getDeprecated(): SpecExport2[];
383
348
  /** Get exports grouped by kind */
384
- groupByKind(): Record<SpecExportKind4, SpecExport3[]>;
349
+ groupByKind(): Record<SpecExportKind4, SpecExport2[]>;
385
350
  /** Render spec or single to an MDX string */
386
351
  toMarkdown(options?: ExportMarkdownOptions): string;
387
352
  /** Render spec or single to an HTML string */
@@ -397,7 +362,7 @@ interface DocsInstance {
397
362
  /** Generate Algolia-compatible record objects */
398
363
  toAlgoliaRecords(options?: SearchOptions): AlgoliaRecord[];
399
364
  }
400
- import { OpenPkg as OpenPkg8, SpecExport as SpecExport4, SpecMember as SpecMember2, SpecSchema, SpecSignature, SpecType as SpecType2, SpecTypeParameter } from "@openpkg-ts/spec";
365
+ import { OpenPkg as OpenPkg7, SpecExport as SpecExport3, SpecMember as SpecMember2, SpecSchema, SpecSignature, SpecType as SpecType2, SpecTypeParameter } from "@openpkg-ts/spec";
401
366
  interface FormatSchemaOptions {
402
367
  /** Include package attribution for external types */
403
368
  includePackage?: boolean;
@@ -482,7 +447,7 @@ declare function formatReturnType(sig?: SpecSignature): string;
482
447
  * // 'class Logger extends EventEmitter'
483
448
  * ```
484
449
  */
485
- declare function buildSignatureString(exp: SpecExport4, sigIndex?: number): string;
450
+ declare function buildSignatureString(exp: SpecExport3, sigIndex?: number): string;
486
451
  /**
487
452
  * Resolve a type reference to its definition.
488
453
  *
@@ -496,7 +461,7 @@ declare function buildSignatureString(exp: SpecExport4, sigIndex?: number): stri
496
461
  * // { id: 'User', name: 'User', kind: 'interface', ... }
497
462
  * ```
498
463
  */
499
- declare function resolveTypeRef(ref: string, spec: OpenPkg8): SpecType2 | undefined;
464
+ declare function resolveTypeRef(ref: string, spec: OpenPkg7): SpecType2 | undefined;
500
465
  /**
501
466
  * Check if a member is a method (has signatures).
502
467
  *
@@ -611,8 +576,8 @@ declare function formatConditionalType(condType: SpecConditionalType): string;
611
576
  * ```
612
577
  */
613
578
  declare function formatMappedType(mappedType: SpecMappedType): string;
614
- import { OpenPkg as OpenPkg9, SpecExport as SpecExport5, SpecExportKind as SpecExportKind6 } from "@openpkg-ts/spec";
615
- type Predicate = (exp: SpecExport5) => boolean;
579
+ import { OpenPkg as OpenPkg8, SpecExport as SpecExport4, SpecExportKind as SpecExportKind6 } from "@openpkg-ts/spec";
580
+ type Predicate = (exp: SpecExport4) => boolean;
616
581
  /**
617
582
  * Chainable query builder for filtering OpenPkg exports.
618
583
  * Filters are lazy - predicates only run on execution methods (find, first, count, etc).
@@ -620,7 +585,7 @@ type Predicate = (exp: SpecExport5) => boolean;
620
585
  declare class QueryBuilder {
621
586
  private spec;
622
587
  private predicates;
623
- constructor(spec: OpenPkg9);
588
+ constructor(spec: OpenPkg8);
624
589
  /**
625
590
  * Filter by kind(s)
626
591
  */
@@ -658,11 +623,11 @@ declare class QueryBuilder {
658
623
  /**
659
624
  * Execute query and return matching exports
660
625
  */
661
- find(): SpecExport5[];
626
+ find(): SpecExport4[];
662
627
  /**
663
628
  * Execute query and return first match (or undefined)
664
629
  */
665
- first(): SpecExport5 | undefined;
630
+ first(): SpecExport4 | undefined;
666
631
  /**
667
632
  * Execute query and return count of matches
668
633
  */
@@ -674,13 +639,13 @@ declare class QueryBuilder {
674
639
  /**
675
640
  * Execute query and return a new filtered OpenPkg spec
676
641
  */
677
- toSpec(): OpenPkg9;
642
+ toSpec(): OpenPkg8;
678
643
  }
679
644
  /**
680
645
  * Create a query builder for the given spec
681
646
  */
682
- declare function query(spec: OpenPkg9): QueryBuilder;
683
- import { OpenPkg as OpenPkg10, SpecExample, SpecExport as SpecExport6, SpecSchema as SpecSchema2, SpecSignatureParameter } from "@openpkg-ts/spec";
647
+ declare function query(spec: OpenPkg8): QueryBuilder;
648
+ import { OpenPkg as OpenPkg9, SpecExample, SpecExport as SpecExport5, SpecSchema as SpecSchema2, SpecSignatureParameter } from "@openpkg-ts/spec";
684
649
  interface CodeExample {
685
650
  /** Unique identifier */
686
651
  id: string;
@@ -722,5 +687,5 @@ declare function specParamToAPIParam(param: SpecSignatureParameter): {
722
687
  /** Convert spec examples to CodeExample[] (Shape B: id/label/code/language) */
723
688
  declare function specExamplesToCodeExamples(examples: (string | SpecExample)[] | undefined, defaultLang?: string): CodeExample[];
724
689
  declare function getLanguagesFromExamples(examples: (string | SpecExample)[] | undefined): Language[];
725
- declare function buildImportStatement(exp: SpecExport6, spec: OpenPkg10): string;
726
- export { toSearchIndexJSON, toSearchIndex2 as toSearchIndex, toPagefindRecords2 as toPagefindRecords, toAlgoliaRecords2 as toAlgoliaRecords, specSchemaToAPISchema, specParamToAPIParam, specExamplesToCodeExamples, sortByName, resolveTypeRef, query, isProperty, isMethod, hasDeprecatedTag, groupByVisibility, getProperties, getMethods, getMemberBadges, getLanguagesFromExamples, getLanguageLabel, getLangForHighlight, getDeprecationMessage, formatTypeParameters, formatSchema, formatReturnType, formatParameters, formatMappedType, formatConditionalType, formatBadges, findMissingParamDocs, buildSignatureString, buildImportStatement, analyzeSpec, SpecMappedType, SpecDiagnostics, SpecConditionalType, SearchRecord, SearchOptions, SearchIndex, QueryBuilder, PagefindRecord, LoadOptions, Language, FormatSchemaOptions, DocsInstance, DiagnosticItem, CodeExample, AlgoliaRecord, APIParameterSchema };
690
+ declare function buildImportStatement(exp: SpecExport5, spec: OpenPkg9): string;
691
+ export { toSearchIndexJSON, toSearchIndex2 as toSearchIndex, toPagefindRecords2 as toPagefindRecords, toAlgoliaRecords2 as toAlgoliaRecords, specSchemaToAPISchema, specParamToAPIParam, specExamplesToCodeExamples, sortByName, resolveTypeRef, query, isProperty, isMethod, groupByVisibility, getProperties, getMethods, getMemberBadges, getLanguagesFromExamples, getLanguageLabel, getLangForHighlight, formatTypeParameters, formatSchema, formatReturnType, formatParameters, formatMappedType, formatConditionalType, formatBadges, buildSignatureString, buildImportStatement, SpecMappedType, SpecConditionalType, SearchRecord, SearchOptions, SearchIndex, QueryBuilder, PagefindRecord, LoadOptions, Language, FormatSchemaOptions, DocsInstance, CodeExample, AlgoliaRecord, APIParameterSchema };
package/dist/browser.js CHANGED
@@ -1,8 +1,6 @@
1
1
  import {
2
2
  QueryBuilder,
3
- analyzeSpec,
4
3
  buildSignatureString,
5
- findMissingParamDocs,
6
4
  formatBadges,
7
5
  formatConditionalType,
8
6
  formatMappedType,
@@ -10,12 +8,10 @@ import {
10
8
  formatReturnType,
11
9
  formatSchema,
12
10
  formatTypeParameters,
13
- getDeprecationMessage,
14
11
  getMemberBadges,
15
12
  getMethods,
16
13
  getProperties,
17
14
  groupByVisibility,
18
- hasDeprecatedTag,
19
15
  isMethod,
20
16
  isProperty,
21
17
  query,
@@ -25,7 +21,7 @@ import {
25
21
  toPagefindRecords,
26
22
  toSearchIndex,
27
23
  toSearchIndexJSON
28
- } from "./shared/chunk-zrx9s0n4.js";
24
+ } from "./shared/chunk-7287tqkx.js";
29
25
  // src/core/spec-converters.ts
30
26
  function getLangForHighlight(lang) {
31
27
  const langMap = {
@@ -145,7 +141,6 @@ export {
145
141
  query,
146
142
  isProperty,
147
143
  isMethod,
148
- hasDeprecatedTag,
149
144
  groupByVisibility,
150
145
  getProperties,
151
146
  getMethods,
@@ -153,7 +148,6 @@ export {
153
148
  getLanguagesFromExamples,
154
149
  getLanguageLabel,
155
150
  getLangForHighlight,
156
- getDeprecationMessage,
157
151
  formatTypeParameters,
158
152
  formatSchema,
159
153
  formatReturnType,
@@ -161,9 +155,7 @@ export {
161
155
  formatMappedType,
162
156
  formatConditionalType,
163
157
  formatBadges,
164
- findMissingParamDocs,
165
158
  buildSignatureString,
166
159
  buildImportStatement,
167
- analyzeSpec,
168
160
  QueryBuilder
169
161
  };
package/dist/index.d.ts CHANGED
@@ -43,8 +43,6 @@ interface ExternalsConfig {
43
43
  include?: string[];
44
44
  /** Package patterns to never resolve */
45
45
  exclude?: string[];
46
- /** Max transitive depth for resolution (default: 1) */
47
- depth?: number;
48
46
  }
49
47
  interface ExtractOptions {
50
48
  entryFile: string;
@@ -53,8 +51,6 @@ interface ExtractOptions {
53
51
  baseDir?: string;
54
52
  content?: string;
55
53
  maxTypeDepth?: number;
56
- maxExternalTypeDepth?: number;
57
- resolveExternalTypes?: boolean;
58
54
  schemaExtraction?: "static" | "hybrid";
59
55
  /** Include $schema URL in output */
60
56
  includeSchema?: boolean;
@@ -117,15 +113,6 @@ interface ExtractResult {
117
113
  /** Extraction method used: 'compiled' or 'direct-ts (runtime)' */
118
114
  method?: string;
119
115
  };
120
- /** Degraded mode info when extracting from .d.ts files */
121
- degradedMode?: {
122
- reason: "dts-source";
123
- stats: {
124
- exportsWithoutDescription: number;
125
- paramsWithoutDocs: number;
126
- missingExamples: number;
127
- };
128
- };
129
116
  /** Export verification comparing discovered vs extracted */
130
117
  verification?: ExportVerification;
131
118
  }
@@ -231,41 +218,6 @@ declare function loadConfig(cwd: string): OpenpkgConfig | null;
231
218
  * @returns Merged config
232
219
  */
233
220
  declare function mergeConfig(fileConfig: OpenpkgConfig | null, cliOptions: Partial<OpenpkgConfig>): OpenpkgConfig;
234
- import { OpenPkg as OpenPkg2, SpecExport } from "@openpkg-ts/spec";
235
- interface DiagnosticItem {
236
- exportId: string;
237
- exportName: string;
238
- issue: string;
239
- /** Member name if issue is on a member */
240
- member?: string;
241
- /** Parameter name if issue is on a parameter */
242
- param?: string;
243
- }
244
- interface SpecDiagnostics {
245
- /** Exports/members without descriptions */
246
- missingDescriptions: DiagnosticItem[];
247
- /** Exports marked @deprecated but no reason provided */
248
- deprecatedNoReason: DiagnosticItem[];
249
- /** Function params without descriptions in JSDoc */
250
- missingParamDocs: DiagnosticItem[];
251
- }
252
- /**
253
- * Check if has @deprecated tag.
254
- */
255
- declare function hasDeprecatedTag(exp: SpecExport): boolean;
256
- /**
257
- * Get deprecation message from @deprecated tag.
258
- * Returns undefined if no reason provided.
259
- */
260
- declare function getDeprecationMessage(exp: SpecExport): string | undefined;
261
- /**
262
- * Find params without descriptions in JSDoc.
263
- */
264
- declare function findMissingParamDocs(exp: SpecExport): string[];
265
- /**
266
- * Analyze a spec for quality issues.
267
- */
268
- declare function analyzeSpec(spec: OpenPkg2): SpecDiagnostics;
269
221
  import { SpecMember } from "@openpkg-ts/spec";
270
222
  /**
271
223
  * Extract badge strings from a member's visibility and flags.
@@ -276,8 +228,8 @@ declare function getMemberBadges(member: SpecMember): string[];
276
228
  * Format badges array into a display string (space-separated).
277
229
  */
278
230
  declare function formatBadges(badges: string[]): string;
279
- import { OpenPkg as OpenPkg8, SpecExport as SpecExport3, SpecExportKind as SpecExportKind4, SpecType } from "@openpkg-ts/spec";
280
- import { OpenPkg as OpenPkg3 } from "@openpkg-ts/spec";
231
+ import { OpenPkg as OpenPkg7, SpecExport as SpecExport2, SpecExportKind as SpecExportKind4, SpecType } from "@openpkg-ts/spec";
232
+ import { OpenPkg as OpenPkg2 } from "@openpkg-ts/spec";
281
233
  interface HTMLOptions {
282
234
  /** Page title override */
283
235
  title?: string;
@@ -318,8 +270,8 @@ interface HTMLOptions {
318
270
  * const fragment = docs.toHTML({ export: 'greet', fullDocument: false })
319
271
  * ```
320
272
  */
321
- declare function toHTML2(spec: OpenPkg3, options?: HTMLOptions): string;
322
- import { OpenPkg as OpenPkg4, SpecExportKind, SpecInlineTag } from "@openpkg-ts/spec";
273
+ declare function toHTML2(spec: OpenPkg2, options?: HTMLOptions): string;
274
+ import { OpenPkg as OpenPkg3, SpecExportKind, SpecInlineTag } from "@openpkg-ts/spec";
323
275
  interface JSONOptions {
324
276
  /** Include raw spec data alongside simplified data */
325
277
  includeRaw?: boolean;
@@ -414,7 +366,7 @@ interface SimplifiedSpec {
414
366
  * // { id, name, kind, signature, parameters, returns, ... }
415
367
  * ```
416
368
  */
417
- declare function toJSON2(spec: OpenPkg4, options?: JSONOptions): SimplifiedSpec | SimplifiedExport;
369
+ declare function toJSON2(spec: OpenPkg3, options?: JSONOptions): SimplifiedSpec | SimplifiedExport;
418
370
  /**
419
371
  * Serialize to JSON string with formatting.
420
372
  *
@@ -422,10 +374,10 @@ declare function toJSON2(spec: OpenPkg4, options?: JSONOptions): SimplifiedSpec
422
374
  * @param options - JSON options plus pretty formatting option
423
375
  * @returns JSON string
424
376
  */
425
- declare function toJSONString(spec: OpenPkg4, options?: JSONOptions & {
377
+ declare function toJSONString(spec: OpenPkg3, options?: JSONOptions & {
426
378
  pretty?: boolean;
427
379
  }): string;
428
- import { OpenPkg as OpenPkg5, SpecExport as SpecExport2 } from "@openpkg-ts/spec";
380
+ import { OpenPkg as OpenPkg4, SpecExport } from "@openpkg-ts/spec";
429
381
  interface MarkdownOptions {
430
382
  /** Include frontmatter in output */
431
383
  frontmatter?: boolean;
@@ -471,7 +423,7 @@ interface ExportMarkdownOptions extends MarkdownOptions {
471
423
  * })
472
424
  * ```
473
425
  */
474
- declare function exportToMarkdown(exp: SpecExport2, options?: MarkdownOptions): string;
426
+ declare function exportToMarkdown(exp: SpecExport, options?: MarkdownOptions): string;
475
427
  /**
476
428
  * Render entire spec to MDX.
477
429
  *
@@ -494,8 +446,8 @@ declare function exportToMarkdown(exp: SpecExport2, options?: MarkdownOptions):
494
446
  * // Single * const fnMdx = docs.toMarkdown({ export: 'greet' })
495
447
  * ```
496
448
  */
497
- declare function toMarkdown2(spec: OpenPkg5, options?: ExportMarkdownOptions): string;
498
- import { OpenPkg as OpenPkg6, SpecExportKind as SpecExportKind2 } from "@openpkg-ts/spec";
449
+ declare function toMarkdown2(spec: OpenPkg4, options?: ExportMarkdownOptions): string;
450
+ import { OpenPkg as OpenPkg5, SpecExportKind as SpecExportKind2 } from "@openpkg-ts/spec";
499
451
  type NavFormat = "fumadocs" | "docusaurus" | "generic";
500
452
  type GroupBy = "kind" | "module" | "tag" | "none";
501
453
  interface NavOptions {
@@ -570,7 +522,7 @@ type DocusaurusSidebar = DocusaurusSidebarItem[];
570
522
  * const sidebar = docs.toNavigation({ format: 'docusaurus' })
571
523
  * ```
572
524
  */
573
- declare function toNavigation2(spec: OpenPkg6, options?: NavOptions): GenericNav | FumadocsMeta | DocusaurusSidebar;
525
+ declare function toNavigation2(spec: OpenPkg5, options?: NavOptions): GenericNav | FumadocsMeta | DocusaurusSidebar;
574
526
  /**
575
527
  * Generate Fumadocs meta.json file content.
576
528
  *
@@ -586,7 +538,7 @@ declare function toNavigation2(spec: OpenPkg6, options?: NavOptions): GenericNav
586
538
  * fs.writeFileSync('docs/api/meta.json', meta)
587
539
  * ```
588
540
  */
589
- declare function toFumadocsMetaJSON(spec: OpenPkg6, options?: Omit<NavOptions, "format">): string;
541
+ declare function toFumadocsMetaJSON(spec: OpenPkg5, options?: Omit<NavOptions, "format">): string;
590
542
  /**
591
543
  * Generate Docusaurus sidebar config.
592
544
  *
@@ -602,8 +554,8 @@ declare function toFumadocsMetaJSON(spec: OpenPkg6, options?: Omit<NavOptions, "
602
554
  * fs.writeFileSync('sidebars.js', sidebar)
603
555
  * ```
604
556
  */
605
- declare function toDocusaurusSidebarJS(spec: OpenPkg6, options?: Omit<NavOptions, "format">): string;
606
- import { OpenPkg as OpenPkg7, SpecExportKind as SpecExportKind3 } from "@openpkg-ts/spec";
557
+ declare function toDocusaurusSidebarJS(spec: OpenPkg5, options?: Omit<NavOptions, "format">): string;
558
+ import { OpenPkg as OpenPkg6, SpecExportKind as SpecExportKind3 } from "@openpkg-ts/spec";
607
559
  interface SearchOptions {
608
560
  /** Base URL for search result links */
609
561
  baseUrl?: string;
@@ -696,7 +648,7 @@ interface SearchIndex {
696
648
  * // { records: [...], version: '1.0.0', packageName: 'my-lib' }
697
649
  * ```
698
650
  */
699
- declare function toSearchIndex2(spec: OpenPkg7, options?: SearchOptions): SearchIndex;
651
+ declare function toSearchIndex2(spec: OpenPkg6, options?: SearchOptions): SearchIndex;
700
652
  /**
701
653
  * Generate Pagefind-compatible records.
702
654
  *
@@ -712,7 +664,7 @@ declare function toSearchIndex2(spec: OpenPkg7, options?: SearchOptions): Search
712
664
  * })
713
665
  * ```
714
666
  */
715
- declare function toPagefindRecords2(spec: OpenPkg7, options?: SearchOptions): PagefindRecord[];
667
+ declare function toPagefindRecords2(spec: OpenPkg6, options?: SearchOptions): PagefindRecord[];
716
668
  /**
717
669
  * Generate Algolia-compatible records.
718
670
  *
@@ -726,7 +678,7 @@ declare function toPagefindRecords2(spec: OpenPkg7, options?: SearchOptions): Pa
726
678
  * // Upload to Algolia index
727
679
  * ```
728
680
  */
729
- declare function toAlgoliaRecords2(spec: OpenPkg7, options?: SearchOptions): AlgoliaRecord[];
681
+ declare function toAlgoliaRecords2(spec: OpenPkg6, options?: SearchOptions): AlgoliaRecord[];
730
682
  /**
731
683
  * Serialize search index to JSON string.
732
684
  *
@@ -740,36 +692,36 @@ declare function toAlgoliaRecords2(spec: OpenPkg7, options?: SearchOptions): Alg
740
692
  * fs.writeFileSync('search-index.json', json)
741
693
  * ```
742
694
  */
743
- declare function toSearchIndexJSON(spec: OpenPkg7, options?: SearchOptions & {
695
+ declare function toSearchIndexJSON(spec: OpenPkg6, options?: SearchOptions & {
744
696
  pretty?: boolean;
745
697
  }): string;
746
698
  interface LoadOptions {
747
699
  /** Path to openpkg.json file or the spec object directly */
748
- input: string | OpenPkg8;
700
+ input: string | OpenPkg7;
749
701
  }
750
702
  interface DocsInstance {
751
703
  /** The parsed OpenPkg spec */
752
- spec: OpenPkg8;
704
+ spec: OpenPkg7;
753
705
  /** Get an by its ID */
754
- getExport(id: string): SpecExport3 | undefined;
706
+ getExport(id: string): SpecExport2 | undefined;
755
707
  /** Get a type definition by its ID */
756
708
  getType(id: string): SpecType | undefined;
757
709
  /** Get all exports of a specific kind */
758
- getExportsByKind(kind: SpecExportKind4): SpecExport3[];
710
+ getExportsByKind(kind: SpecExportKind4): SpecExport2[];
759
711
  /** Get all exports */
760
- getAllExports(): SpecExport3[];
712
+ getAllExports(): SpecExport2[];
761
713
  /** Get all type definitions */
762
714
  getAllTypes(): SpecType[];
763
715
  /** Get exports by JSDoc tag (e.g., '@beta', '@internal') */
764
- getExportsByTag(tagName: string): SpecExport3[];
716
+ getExportsByTag(tagName: string): SpecExport2[];
765
717
  /** Search exports by name or description */
766
- search(query: string): SpecExport3[];
718
+ search(query: string): SpecExport2[];
767
719
  /** Get exports belonging to a specific module/namespace */
768
- getModule(moduleName: string): SpecExport3[];
720
+ getModule(moduleName: string): SpecExport2[];
769
721
  /** Get deprecated exports */
770
- getDeprecated(): SpecExport3[];
722
+ getDeprecated(): SpecExport2[];
771
723
  /** Get exports grouped by kind */
772
- groupByKind(): Record<SpecExportKind4, SpecExport3[]>;
724
+ groupByKind(): Record<SpecExportKind4, SpecExport2[]>;
773
725
  /** Render spec or single to an MDX string */
774
726
  toMarkdown(options?: ExportMarkdownOptions): string;
775
727
  /** Render spec or single to an HTML string */
@@ -797,7 +749,7 @@ interface DocsInstance {
797
749
  * const docs = loadSpec(spec)
798
750
  * ```
799
751
  */
800
- declare function loadSpec(spec: OpenPkg8): DocsInstance;
752
+ declare function loadSpec(spec: OpenPkg7): DocsInstance;
801
753
  /**
802
754
  * Creates a docs instance for querying and rendering API documentation.
803
755
  *
@@ -822,8 +774,8 @@ declare function loadSpec(spec: OpenPkg8): DocsInstance;
822
774
  * docs.search('hook')
823
775
  * ```
824
776
  */
825
- declare function createDocs(input: string | OpenPkg8): DocsInstance;
826
- import { OpenPkg as OpenPkg9, SpecExport as SpecExport4, SpecMember as SpecMember2, SpecSchema, SpecSignature, SpecType as SpecType2, SpecTypeParameter } from "@openpkg-ts/spec";
777
+ declare function createDocs(input: string | OpenPkg7): DocsInstance;
778
+ import { OpenPkg as OpenPkg8, SpecExport as SpecExport3, SpecMember as SpecMember2, SpecSchema, SpecSignature, SpecType as SpecType2, SpecTypeParameter } from "@openpkg-ts/spec";
827
779
  interface FormatSchemaOptions {
828
780
  /** Include package attribution for external types */
829
781
  includePackage?: boolean;
@@ -908,7 +860,7 @@ declare function formatReturnType(sig?: SpecSignature): string;
908
860
  * // 'class Logger extends EventEmitter'
909
861
  * ```
910
862
  */
911
- declare function buildSignatureString(exp: SpecExport4, sigIndex?: number): string;
863
+ declare function buildSignatureString(exp: SpecExport3, sigIndex?: number): string;
912
864
  /**
913
865
  * Resolve a type reference to its definition.
914
866
  *
@@ -922,7 +874,7 @@ declare function buildSignatureString(exp: SpecExport4, sigIndex?: number): stri
922
874
  * // { id: 'User', name: 'User', kind: 'interface', ... }
923
875
  * ```
924
876
  */
925
- declare function resolveTypeRef(ref: string, spec: OpenPkg9): SpecType2 | undefined;
877
+ declare function resolveTypeRef(ref: string, spec: OpenPkg8): SpecType2 | undefined;
926
878
  /**
927
879
  * Check if a member is a method (has signatures).
928
880
  *
@@ -1037,8 +989,8 @@ declare function formatConditionalType(condType: SpecConditionalType): string;
1037
989
  * ```
1038
990
  */
1039
991
  declare function formatMappedType(mappedType: SpecMappedType): string;
1040
- import { OpenPkg as OpenPkg10, SpecExport as SpecExport5, SpecExportKind as SpecExportKind6 } from "@openpkg-ts/spec";
1041
- type Predicate = (exp: SpecExport5) => boolean;
992
+ import { OpenPkg as OpenPkg9, SpecExport as SpecExport4, SpecExportKind as SpecExportKind6 } from "@openpkg-ts/spec";
993
+ type Predicate = (exp: SpecExport4) => boolean;
1042
994
  /**
1043
995
  * Chainable query builder for filtering OpenPkg exports.
1044
996
  * Filters are lazy - predicates only run on execution methods (find, first, count, etc).
@@ -1046,7 +998,7 @@ type Predicate = (exp: SpecExport5) => boolean;
1046
998
  declare class QueryBuilder {
1047
999
  private spec;
1048
1000
  private predicates;
1049
- constructor(spec: OpenPkg10);
1001
+ constructor(spec: OpenPkg9);
1050
1002
  /**
1051
1003
  * Filter by kind(s)
1052
1004
  */
@@ -1084,11 +1036,11 @@ declare class QueryBuilder {
1084
1036
  /**
1085
1037
  * Execute query and return matching exports
1086
1038
  */
1087
- find(): SpecExport5[];
1039
+ find(): SpecExport4[];
1088
1040
  /**
1089
1041
  * Execute query and return first match (or undefined)
1090
1042
  */
1091
- first(): SpecExport5 | undefined;
1043
+ first(): SpecExport4 | undefined;
1092
1044
  /**
1093
1045
  * Execute query and return count of matches
1094
1046
  */
@@ -1100,12 +1052,12 @@ declare class QueryBuilder {
1100
1052
  /**
1101
1053
  * Execute query and return a new filtered OpenPkg spec
1102
1054
  */
1103
- toSpec(): OpenPkg10;
1055
+ toSpec(): OpenPkg9;
1104
1056
  }
1105
1057
  /**
1106
1058
  * Create a query builder for the given spec
1107
1059
  */
1108
- declare function query(spec: OpenPkg10): QueryBuilder;
1060
+ declare function query(spec: OpenPkg9): QueryBuilder;
1109
1061
  import { EntryPointDetectionMethod as EntryPointDetectionMethod2 } from "@openpkg-ts/spec";
1110
1062
  type PackageRecord = {
1111
1063
  name: string;
@@ -1178,7 +1130,7 @@ declare function pickEntry(pkgDir: string): {
1178
1130
  entryPointSource: EntryPointDetectionMethod2;
1179
1131
  } | null;
1180
1132
  declare function resolveTarget(options?: ResolveTargetOptions): Promise<ResolveTargetResult>;
1181
- import { OpenPkg as OpenPkg11, SpecExportKind as SpecExportKind7 } from "@openpkg-ts/spec";
1133
+ import { OpenPkg as OpenPkg10, SpecExportKind as SpecExportKind7 } from "@openpkg-ts/spec";
1182
1134
  type FilterCriteria = {
1183
1135
  /** Filter by kinds */
1184
1136
  kinds?: SpecExportKind7[];
@@ -1203,7 +1155,7 @@ type FilterCriteria = {
1203
1155
  };
1204
1156
  type FilterResult = {
1205
1157
  /** New spec with only matched exports (immutable) */
1206
- spec: OpenPkg11;
1158
+ spec: OpenPkg10;
1207
1159
  /** Number of exports that matched */
1208
1160
  matched: number;
1209
1161
  /** Total number of exports in original spec */
@@ -1219,8 +1171,8 @@ type FilterResult = {
1219
1171
  * @param criteria - Filter criteria (empty criteria matches all)
1220
1172
  * @returns FilterResult with new spec, matched count, total count
1221
1173
  */
1222
- declare function filterSpec(spec: OpenPkg11, criteria: FilterCriteria): FilterResult;
1223
- import { SpecExport as SpecExport6, SpecType as SpecType3 } from "@openpkg-ts/spec";
1174
+ declare function filterSpec(spec: OpenPkg10, criteria: FilterCriteria): FilterResult;
1175
+ import { SpecExport as SpecExport5, SpecType as SpecType3 } from "@openpkg-ts/spec";
1224
1176
  interface GetExportOptions {
1225
1177
  /** Entry point file path */
1226
1178
  entryFile: string;
@@ -1235,7 +1187,7 @@ interface GetExportOptions {
1235
1187
  }
1236
1188
  interface GetExportResult {
1237
1189
  /** The spec, or null if not found */
1238
- export: SpecExport6 | null;
1190
+ export: SpecExport5 | null;
1239
1191
  /** Related types referenced by the */
1240
1192
  types: SpecType3[];
1241
1193
  /** Errors encountered */
@@ -1300,9 +1252,7 @@ interface SerializerContext {
1300
1252
  program: ts.Program;
1301
1253
  sourceFile: ts.SourceFile;
1302
1254
  maxTypeDepth: number;
1303
- maxExternalTypeDepth: number;
1304
1255
  currentDepth: number;
1305
- resolveExternalTypes: boolean;
1306
1256
  typeRegistry: TypeRegistry;
1307
1257
  exportedIds: Set<string>;
1308
1258
  /** Stack-style recursion guard for buildSchemaInternal (add before recurse, delete after) */
@@ -1680,7 +1630,7 @@ declare class CacheManager<
1680
1630
  * @param options.only - Glob patterns to include (e.g., ["get*", "create*"])
1681
1631
  * @param options.ignore - Glob patterns to exclude (e.g., ["*Internal", "_*"])
1682
1632
  * @param options.onProgress - Callback fired for each export: (current, total, name) => void
1683
- * @param options.isDtsSource - Set true when extracting from .d.ts (enables degraded mode)
1633
+ * @param options.isDtsSource - Set true when extracting from .d.ts (declaration-only generation metadata)
1684
1634
  * @param options.externals - Config for resolving re-exports from external packages
1685
1635
  *
1686
1636
  * @returns Promise resolving to extraction result
@@ -1776,7 +1726,7 @@ declare const arktypeAdapter: SchemaAdapter;
1776
1726
  declare const typeboxAdapter: SchemaAdapter;
1777
1727
  declare const valibotAdapter: SchemaAdapter;
1778
1728
  declare const zodAdapter: SchemaAdapter;
1779
- import { OpenPkg as OpenPkg12, SpecExport as SpecExport9, SpecType as SpecType6 } from "@openpkg-ts/spec";
1729
+ import { OpenPkg as OpenPkg11, SpecExport as SpecExport8, SpecType as SpecType6 } from "@openpkg-ts/spec";
1780
1730
  interface AsStandardSchemaOptions {
1781
1731
  keepExtensions?: boolean;
1782
1732
  }
@@ -1784,7 +1734,7 @@ interface AsStandardSchemaOptions {
1784
1734
  * Wrap an export, type, or named subject as a StandardJSONSchemaV1 producer.
1785
1735
  * A string subject is resolved against the spec (exports first, then types).
1786
1736
  */
1787
- declare function asStandardSchema(subject: SpecExport9 | SpecType6 | string, spec: OpenPkg12, options?: AsStandardSchemaOptions): StandardJSONSchemaV1;
1737
+ declare function asStandardSchema(subject: SpecExport8 | SpecType6 | string, spec: OpenPkg11, options?: AsStandardSchemaOptions): StandardJSONSchemaV1;
1788
1738
  import { SpecSchema as SpecSchema2 } from "@openpkg-ts/spec";
1789
1739
  /** Object-shaped SpecSchema (excludes the string shorthand) — spreadable. */
1790
1740
  type BuiltinSchema = Extract<SpecSchema2, object>;
@@ -1794,8 +1744,8 @@ type BuiltinSchema = Extract<SpecSchema2, object>;
1794
1744
  * in a spec's types[]) and by adapters mapping refs for external consumers.
1795
1745
  */
1796
1746
  declare const BUILTIN_TYPE_SCHEMAS: Record<string, BuiltinSchema>;
1797
- import { OpenPkg as OpenPkg13, SpecExport as SpecExport11, SpecType as SpecType8 } from "@openpkg-ts/spec";
1798
- import { SpecExport as SpecExport10, SpecMember as SpecMember3, SpecSchema as SpecSchema3, SpecType as SpecType7 } from "@openpkg-ts/spec";
1747
+ import { OpenPkg as OpenPkg12, SpecExport as SpecExport10, SpecType as SpecType8 } from "@openpkg-ts/spec";
1748
+ import { SpecExport as SpecExport9, SpecMember as SpecMember3, SpecSchema as SpecSchema3, SpecType as SpecType7 } from "@openpkg-ts/spec";
1799
1749
  /**
1800
1750
  * Options for schema normalization
1801
1751
  */
@@ -1816,7 +1766,7 @@ type JSONSchema = Record<string, unknown>;
1816
1766
  * @returns JSON Schema 2020-12 compatible schema
1817
1767
  */
1818
1768
  declare function normalizeSchema(schema: SpecSchema3, options?: NormalizeOptions): JSONSchema;
1819
- declare function normalizeExport(exp: SpecExport10, options?: NormalizeOptions): SpecExport10;
1769
+ declare function normalizeExport(exp: SpecExport9, options?: NormalizeOptions): SpecExport9;
1820
1770
  /**
1821
1771
  * Normalize a SpecType, normalizing its schema and nested schemas.
1822
1772
  *
@@ -1863,13 +1813,13 @@ interface JsonSchemaDocument extends Record<string, unknown> {
1863
1813
  * Root a JSON Schema document at a single or type, bundling only its
1864
1814
  * transitively-referenced types into `$defs`.
1865
1815
  */
1866
- declare function exportToJsonSchema(subject: SpecExport11 | SpecType8, spec: OpenPkg13, options?: Omit<ToJsonSchemaOptions, "root">): JsonSchemaDocument;
1816
+ declare function exportToJsonSchema(subject: SpecExport10 | SpecType8, spec: OpenPkg12, options?: Omit<ToJsonSchemaOptions, "root">): JsonSchemaDocument;
1867
1817
  /**
1868
1818
  * Lift a whole spec (or, with `root`, a single named export/type) into a
1869
1819
  * standalone JSON Schema 2020-12 document.
1870
1820
  */
1871
- declare function toJsonSchema(spec: OpenPkg13, options?: ToJsonSchemaOptions): JsonSchemaDocument;
1872
- import { OpenPkg as OpenPkg14, SpecSchema as SpecSchema4 } from "@openpkg-ts/spec";
1821
+ declare function toJsonSchema(spec: OpenPkg12, options?: ToJsonSchemaOptions): JsonSchemaDocument;
1822
+ import { OpenPkg as OpenPkg13, SpecSchema as SpecSchema4 } from "@openpkg-ts/spec";
1873
1823
  /** Strip TypeScript-specific extension keywords from a schema tree (deep). */
1874
1824
  declare function stripTsExtensions(schema: JSONSchema): JSONSchema;
1875
1825
  interface BundleOptions {
@@ -1895,8 +1845,8 @@ interface BundleResult {
1895
1845
  * `x-ts-type` marker (type parameters), or a `#/$defs/<key>` ref whose target
1896
1846
  * is collected (transitively, cycle-safe) into `defs`.
1897
1847
  */
1898
- declare function bundleRefs(root: SpecSchema4, spec: OpenPkg14, options?: BundleOptions): BundleResult;
1899
- import { OpenPkg as OpenPkg15, SpecExport as SpecExport12 } from "@openpkg-ts/spec";
1848
+ declare function bundleRefs(root: SpecSchema4, spec: OpenPkg13, options?: BundleOptions): BundleResult;
1849
+ import { OpenPkg as OpenPkg14, SpecExport as SpecExport11 } from "@openpkg-ts/spec";
1900
1850
  type ToolSchemaProvider = "openai-strict" | "anthropic";
1901
1851
  interface ToToolSchemaOptions {
1902
1852
  provider: ToolSchemaProvider;
@@ -1916,25 +1866,25 @@ interface ToolSchemaResult {
1916
1866
  * Build an AI tool-use parameter schema for a function export.
1917
1867
  * Throws for non-function exports (class/variable support is out of scope in v1).
1918
1868
  */
1919
- declare function toToolSchema(exp: SpecExport12, spec: OpenPkg15, options: ToToolSchemaOptions): ToolSchemaResult;
1920
- import { SpecExport as SpecExport13 } from "@openpkg-ts/spec";
1869
+ declare function toToolSchema(exp: SpecExport11, spec: OpenPkg14, options: ToToolSchemaOptions): ToolSchemaResult;
1870
+ import { SpecExport as SpecExport12 } from "@openpkg-ts/spec";
1921
1871
  import ts9 from "typescript";
1922
- declare function serializeClass(node: ts9.ClassDeclaration, ctx: SerializerContext): SpecExport13 | null;
1923
- import { SpecExport as SpecExport14 } from "@openpkg-ts/spec";
1872
+ declare function serializeClass(node: ts9.ClassDeclaration, ctx: SerializerContext): SpecExport12 | null;
1873
+ import { SpecExport as SpecExport13 } from "@openpkg-ts/spec";
1924
1874
  import ts10 from "typescript";
1925
- declare function serializeEnum(node: ts10.EnumDeclaration, ctx: SerializerContext): SpecExport14 | null;
1926
- import { SpecExport as SpecExport15 } from "@openpkg-ts/spec";
1875
+ declare function serializeEnum(node: ts10.EnumDeclaration, ctx: SerializerContext): SpecExport13 | null;
1876
+ import { SpecExport as SpecExport14 } from "@openpkg-ts/spec";
1927
1877
  import ts11 from "typescript";
1928
- declare function serializeFunctionExport(node: ts11.FunctionDeclaration | ts11.ArrowFunction | ts11.FunctionExpression, ctx: SerializerContext, nameOverride?: string): SpecExport15 | null;
1929
- import { SpecExport as SpecExport16 } from "@openpkg-ts/spec";
1878
+ declare function serializeFunctionExport(node: ts11.FunctionDeclaration | ts11.ArrowFunction | ts11.FunctionExpression, ctx: SerializerContext, nameOverride?: string): SpecExport14 | null;
1879
+ import { SpecExport as SpecExport15 } from "@openpkg-ts/spec";
1930
1880
  import ts12 from "typescript";
1931
- declare function serializeInterface(node: ts12.InterfaceDeclaration, ctx: SerializerContext): SpecExport16 | null;
1932
- import { SpecExport as SpecExport17 } from "@openpkg-ts/spec";
1881
+ declare function serializeInterface(node: ts12.InterfaceDeclaration, ctx: SerializerContext): SpecExport15 | null;
1882
+ import { SpecExport as SpecExport16 } from "@openpkg-ts/spec";
1933
1883
  import ts13 from "typescript";
1934
- declare function serializeTypeAlias(node: ts13.TypeAliasDeclaration, ctx: SerializerContext): SpecExport17 | null;
1935
- import { SpecExport as SpecExport18 } from "@openpkg-ts/spec";
1884
+ declare function serializeTypeAlias(node: ts13.TypeAliasDeclaration, ctx: SerializerContext): SpecExport16 | null;
1885
+ import { SpecExport as SpecExport17 } from "@openpkg-ts/spec";
1936
1886
  import ts14 from "typescript";
1937
- declare function serializeVariable(node: ts14.VariableDeclaration, statement: ts14.VariableStatement, ctx: SerializerContext): SpecExport18 | null;
1887
+ declare function serializeVariable(node: ts14.VariableDeclaration, statement: ts14.VariableStatement, ctx: SerializerContext): SpecExport17 | null;
1938
1888
  import { SpecSignatureParameter } from "@openpkg-ts/spec";
1939
1889
  import ts15 from "typescript";
1940
1890
  declare function extractParameters(signature: ts15.Signature, ctx: SerializerContext): SpecSignatureParameter[];
@@ -2080,4 +2030,4 @@ declare function findDiscriminatorProperty(unionTypes: ts16.Type[], checker: ts1
2080
2030
  import ts17 from "typescript";
2081
2031
  declare function isExported(node: ts17.Node): boolean;
2082
2032
  declare function getNodeName(node: ts17.Node): string | undefined;
2083
- export { zodAdapter, writtenTypeText, withDescription2 as withDescription, withDeprecated, validateSpec, valibotAdapter, typeboxAdapter, toToolSchema, toSearchIndexJSON, toSearchIndex2 as toSearchIndex, toPagefindRecords2 as toPagefindRecords, toNavigation2 as toNavigation, toMarkdown2 as toMarkdown, toJsonSchema, toJSONString, toJSON2 as toJSON, toHTML2 as toHTML, toFumadocsMetaJSON, toDocusaurusSidebarJS, toAlgoliaRecords2 as toAlgoliaRecords, stripUndefinedFromType, stripTsExtensions, sortByName, shouldEmitAliasTypeText, serializeVariable, serializeTypeAlias, serializeInterface, serializeFunctionExport, serializeEnum, serializeClass, scrubImportQualifiers, schemasAreEqual, schemaIsAny, resolveTypeRef, resolveTarget, resolveExportTarget, resolveCompiledPath, renderTypeText, registerReferencedTypes, registerAdapter, recommendSemverBump, query, pickEntry, parseGithubRepo, normalizeType, normalizeSchema, normalizeMembers, normalizeExport, mergeConfig, loadSpec, loadConfig, listExports, isTypeReference, isTypeOnlyExport, isSymbolDeprecated, isStandardJSONSchema, isSchemaType, isRemoteInput, isReadonlyPropertySymbol, isPureRefSchema, isProperty, isPrimitiveName, isPathLikeInput, isMethod, isExported, isEntryFilePath, isBuiltinSymbol, isBuiltinGeneric, isAnonymous, hasDeprecatedTag, groupByVisibility, getValidationErrors, getTypeOrigin, getSourceLocation, getProperties, getParamDescription, getNonNullableType, getNodeName, getMethods, getMemberBadges, getJSDocComment, getExportKind, getExport2 as getExport, getDeprecationMessage, getAvailableVersions, toMarkdown2 as generateDocs, formatTypeParameters, formatSchema, formatReturnType, formatParameters, formatMappedType, formatConditionalType, formatBadges, findWorkspaceRoot, findMissingParamDocs, findDiscriminatorProperty, findAdapter, filterSpec, extractTypeParameters, extractStandardSchemasFromTs, extractStandardSchemasFromProject, extractStandardSchemas, extractSpec, extractSchemaType, extractParameters, extract, exportToMarkdown, exportToJsonSchema, ensureNonEmptySchema, diffSpec2 as diffSpecs, diffSpec, detectTsRuntime, deduplicateSchemas, decoratePropertySchema, declaredTypeNode, createProgram, createDocs, cloneRemote, categorizeBreakingChanges, catalogPackages, calculateNextVersion, bundleRefs, buildSignatureString, buildSchema, buildObjectSchema, buildFunctionSchema, assertSpec, asStandardSchema, arktypeAdapter, analyzeSpec, TypeRegistry, TypeReference2 as TypeReference, TsRuntime, ToolSchemaResult, ToolSchemaProvider, ToToolSchemaOptions, ToJsonSchemaOptions, StandardSchemaExtractionResult, StandardSchemaExtractionOutput, StandardJSONSchemaV1, StandardJSONSchemaTarget, StandardJSONSchemaOptions, SpecMappedType, SpecError, SpecDiff, SpecDiagnostics, SpecConditionalType, SkippedExportDetail, SimplifiedSpec, SimplifiedSignature, SimplifiedReturn, SimplifiedParameter, SimplifiedMember, SimplifiedExport, SimplifiedExample, SerializerContext, SemverRecommendation, SemverBump, SearchRecord, SearchOptions, SearchIndex, SchemaVersion, SchemaExtractionResult, SchemaAdapter, STRING_PROTOTYPE_METHODS, ResolveUnavailable, ResolveTargetResult, ResolveTargetOptions, ResolveOk, ResolveNeedsBuild, ResolveExplicit, ResolveEmpty, ResolveAmbiguous, QueryBuilder, ProjectExtractionOutput, ProjectExtractionInfo, ProgramResult, ProgramOptions, PagefindRecord, PackageRecord, PRIMITIVES, OpenpkgConfig, NormalizeOptions, NavOptions, NavItem, NavGroup, NavFormat, NUMBER_PROTOTYPE_METHODS, MemberChangeInfo, MarkdownOptions, LoadOptions, ListExportsResult, ListExportsOptions, LATEST_VERSION, JsonSchemaDocument, JSONSchema, JSONOptions, JEV_MODEL, JEV_CONFIDENCE, HTMLOptions, GroupBy, GetExportResult, GetExportOptions, GenericNav, FumadocsMetaItem, FumadocsMeta, FormatSchemaOptions, ForgottenExport, FilterResult, FilterCriteria, ExtractionWarningCode, ExtractionWarning, ExtractStandardSchemasOptions, ExtractResult, ExtractOptions, ExtractFromProjectOptions, ExternalsConfig, ExportVerification, ExportTracker, ExportMarkdownOptions, ExportItem, EvaluateResult, EvaluateRequest, EvaluateFn, DocusaurusSidebarItem, DocusaurusSidebar, DocsInstance, DiagnosticItem, Diagnostic, CloneFn, CategorizedBreaking, CacheManagerOptions, CacheManager, CONFIG_FILENAME, BundleResult, BundleOptions, BuiltinSchema, BreakingSeverity, BUILTIN_TYPE_SCHEMAS, AsStandardSchemaOptions, AlgoliaRecord, ARRAY_PROTOTYPE_METHODS };
2033
+ export { zodAdapter, writtenTypeText, withDescription2 as withDescription, withDeprecated, validateSpec, valibotAdapter, typeboxAdapter, toToolSchema, toSearchIndexJSON, toSearchIndex2 as toSearchIndex, toPagefindRecords2 as toPagefindRecords, toNavigation2 as toNavigation, toMarkdown2 as toMarkdown, toJsonSchema, toJSONString, toJSON2 as toJSON, toHTML2 as toHTML, toFumadocsMetaJSON, toDocusaurusSidebarJS, toAlgoliaRecords2 as toAlgoliaRecords, stripUndefinedFromType, stripTsExtensions, sortByName, shouldEmitAliasTypeText, serializeVariable, serializeTypeAlias, serializeInterface, serializeFunctionExport, serializeEnum, serializeClass, scrubImportQualifiers, schemasAreEqual, schemaIsAny, resolveTypeRef, resolveTarget, resolveExportTarget, resolveCompiledPath, renderTypeText, registerReferencedTypes, registerAdapter, recommendSemverBump, query, pickEntry, parseGithubRepo, normalizeType, normalizeSchema, normalizeMembers, normalizeExport, mergeConfig, loadSpec, loadConfig, listExports, isTypeReference, isTypeOnlyExport, isSymbolDeprecated, isStandardJSONSchema, isSchemaType, isRemoteInput, isReadonlyPropertySymbol, isPureRefSchema, isProperty, isPrimitiveName, isPathLikeInput, isMethod, isExported, isEntryFilePath, isBuiltinSymbol, isBuiltinGeneric, isAnonymous, groupByVisibility, getValidationErrors, getTypeOrigin, getSourceLocation, getProperties, getParamDescription, getNonNullableType, getNodeName, getMethods, getMemberBadges, getJSDocComment, getExportKind, getExport2 as getExport, getAvailableVersions, toMarkdown2 as generateDocs, formatTypeParameters, formatSchema, formatReturnType, formatParameters, formatMappedType, formatConditionalType, formatBadges, findWorkspaceRoot, findDiscriminatorProperty, findAdapter, filterSpec, extractTypeParameters, extractStandardSchemasFromTs, extractStandardSchemasFromProject, extractStandardSchemas, extractSpec, extractSchemaType, extractParameters, extract, exportToMarkdown, exportToJsonSchema, ensureNonEmptySchema, diffSpec2 as diffSpecs, diffSpec, detectTsRuntime, deduplicateSchemas, decoratePropertySchema, declaredTypeNode, createProgram, createDocs, cloneRemote, categorizeBreakingChanges, catalogPackages, calculateNextVersion, bundleRefs, buildSignatureString, buildSchema, buildObjectSchema, buildFunctionSchema, assertSpec, asStandardSchema, arktypeAdapter, TypeRegistry, TypeReference2 as TypeReference, TsRuntime, ToolSchemaResult, ToolSchemaProvider, ToToolSchemaOptions, ToJsonSchemaOptions, StandardSchemaExtractionResult, StandardSchemaExtractionOutput, StandardJSONSchemaV1, StandardJSONSchemaTarget, StandardJSONSchemaOptions, SpecMappedType, SpecError, SpecDiff, SpecConditionalType, SkippedExportDetail, SimplifiedSpec, SimplifiedSignature, SimplifiedReturn, SimplifiedParameter, SimplifiedMember, SimplifiedExport, SimplifiedExample, SerializerContext, SemverRecommendation, SemverBump, SearchRecord, SearchOptions, SearchIndex, SchemaVersion, SchemaExtractionResult, SchemaAdapter, STRING_PROTOTYPE_METHODS, ResolveUnavailable, ResolveTargetResult, ResolveTargetOptions, ResolveOk, ResolveNeedsBuild, ResolveExplicit, ResolveEmpty, ResolveAmbiguous, QueryBuilder, ProjectExtractionOutput, ProjectExtractionInfo, ProgramResult, ProgramOptions, PagefindRecord, PackageRecord, PRIMITIVES, OpenpkgConfig, NormalizeOptions, NavOptions, NavItem, NavGroup, NavFormat, NUMBER_PROTOTYPE_METHODS, MemberChangeInfo, MarkdownOptions, LoadOptions, ListExportsResult, ListExportsOptions, LATEST_VERSION, JsonSchemaDocument, JSONSchema, JSONOptions, JEV_MODEL, JEV_CONFIDENCE, HTMLOptions, GroupBy, GetExportResult, GetExportOptions, GenericNav, FumadocsMetaItem, FumadocsMeta, FormatSchemaOptions, ForgottenExport, FilterResult, FilterCriteria, ExtractionWarningCode, ExtractionWarning, ExtractStandardSchemasOptions, ExtractResult, ExtractOptions, ExtractFromProjectOptions, ExternalsConfig, ExportVerification, ExportTracker, ExportMarkdownOptions, ExportItem, EvaluateResult, EvaluateRequest, EvaluateFn, DocusaurusSidebarItem, DocusaurusSidebar, DocsInstance, Diagnostic, CloneFn, CategorizedBreaking, CacheManagerOptions, CacheManager, CONFIG_FILENAME, BundleResult, BundleOptions, BuiltinSchema, BreakingSeverity, BUILTIN_TYPE_SCHEMAS, AsStandardSchemaOptions, AlgoliaRecord, ARRAY_PROTOTYPE_METHODS };
package/dist/index.js CHANGED
@@ -1,11 +1,9 @@
1
1
  import {
2
2
  KIND_ORDER,
3
3
  QueryBuilder,
4
- analyzeSpec,
5
4
  buildSignatureString,
6
5
  filterExports,
7
6
  findExport,
8
- findMissingParamDocs,
9
7
  formatBadges,
10
8
  formatConditionalType,
11
9
  formatMappedType,
@@ -13,13 +11,11 @@ import {
13
11
  formatReturnType,
14
12
  formatSchema,
15
13
  formatTypeParameters,
16
- getDeprecationMessage,
17
14
  getMemberBadges,
18
15
  getMethods,
19
16
  getProperties,
20
17
  groupByKind,
21
18
  groupByVisibility,
22
- hasDeprecatedTag,
23
19
  isMethod,
24
20
  isProperty,
25
21
  query,
@@ -29,7 +25,7 @@ import {
29
25
  toPagefindRecords,
30
26
  toSearchIndex,
31
27
  toSearchIndexJSON
32
- } from "./shared/chunk-zrx9s0n4.js";
28
+ } from "./shared/chunk-7287tqkx.js";
33
29
 
34
30
  // src/primitives/diff.ts
35
31
  import {
@@ -75,10 +71,9 @@ function mergeConfig(fileConfig, cliOptions) {
75
71
  }
76
72
  const externals = {
77
73
  include: cliOptions.externals?.include ?? fileConfig.externals?.include,
78
- exclude: cliOptions.externals?.exclude ?? fileConfig.externals?.exclude,
79
- depth: cliOptions.externals?.depth ?? fileConfig.externals?.depth
74
+ exclude: cliOptions.externals?.exclude ?? fileConfig.externals?.exclude
80
75
  };
81
- const hasExternals = externals.include || externals.exclude || externals.depth !== undefined;
76
+ const hasExternals = externals.include || externals.exclude;
82
77
  return {
83
78
  ...hasExternals ? { externals } : {},
84
79
  followExternal: cliOptions.followExternal ?? fileConfig.followExternal,
@@ -4222,9 +4217,7 @@ function createContext(program, sourceFile, options = {}) {
4222
4217
  program,
4223
4218
  sourceFile,
4224
4219
  maxTypeDepth: options.maxTypeDepth ?? 5,
4225
- maxExternalTypeDepth: options.maxExternalTypeDepth ?? 2,
4226
4220
  currentDepth: 0,
4227
- resolveExternalTypes: options.resolveExternalTypes ?? true,
4228
4221
  typeRegistry: new TypeRegistry,
4229
4222
  exportedIds: new Set,
4230
4223
  visitedTypes: new Set,
@@ -7711,27 +7704,6 @@ function collectForgottenExports(exports, types, program, sourceFile, exportedId
7711
7704
 
7712
7705
  // src/builder/spec-builder.ts
7713
7706
  var YIELD_BATCH_SIZE = 5;
7714
- function computeDegradedStats(exports) {
7715
- let exportsWithoutDescription = 0;
7716
- let paramsWithoutDocs = 0;
7717
- let missingExamples = 0;
7718
- for (const exp of exports) {
7719
- if (!exp.description)
7720
- exportsWithoutDescription++;
7721
- if (!exp.examples || exp.examples.length === 0)
7722
- missingExamples++;
7723
- const signatures = exp.signatures;
7724
- if (signatures) {
7725
- for (const sig of signatures) {
7726
- for (const param of sig.parameters ?? []) {
7727
- if (!param.description)
7728
- paramsWithoutDocs++;
7729
- }
7730
- }
7731
- }
7732
- }
7733
- return { exportsWithoutDescription, paramsWithoutDocs, missingExamples };
7734
- }
7735
7707
  function matchesPattern(name, pattern) {
7736
7708
  if (!pattern.includes("*"))
7737
7709
  return name === pattern;
@@ -7759,8 +7731,6 @@ async function extract(options) {
7759
7731
  baseDir,
7760
7732
  content,
7761
7733
  maxTypeDepth,
7762
- maxExternalTypeDepth,
7763
- resolveExternalTypes,
7764
7734
  includeSchema,
7765
7735
  only,
7766
7736
  ignore,
@@ -7865,8 +7835,6 @@ async function extract(options) {
7865
7835
  }
7866
7836
  const ctx = createContext(program, sourceFile, {
7867
7837
  maxTypeDepth,
7868
- maxExternalTypeDepth,
7869
- resolveExternalTypes,
7870
7838
  includePrivate,
7871
7839
  maxProperties,
7872
7840
  onTruncation,
@@ -8098,7 +8066,6 @@ async function extract(options) {
8098
8066
  }
8099
8067
  };
8100
8068
  const internalForgotten = forgottenExports.filter((f) => !f.isExternal);
8101
- const degradedMode = isDtsSource ? { reason: "dts-source", stats: computeDegradedStats(normalizedExports) } : undefined;
8102
8069
  if (verification.failed > 0) {
8103
8070
  const failedNames = verification.details.failed.map((f) => f.name).join(", ");
8104
8071
  diagnostics.push({
@@ -8116,8 +8083,7 @@ async function extract(options) {
8116
8083
  diagnostics,
8117
8084
  verification,
8118
8085
  ...internalForgotten.length > 0 ? { forgottenExports: internalForgotten } : {},
8119
- ...runtimeMetadata ? { runtimeSchemas: runtimeMetadata } : {},
8120
- ...degradedMode ? { degradedMode } : {}
8086
+ ...runtimeMetadata ? { runtimeSchemas: runtimeMetadata } : {}
8121
8087
  };
8122
8088
  } finally {
8123
8089
  clearTypeDefinitionCache();
@@ -8969,7 +8935,6 @@ export {
8969
8935
  isBuiltinSymbol,
8970
8936
  isBuiltinGeneric,
8971
8937
  isAnonymous,
8972
- hasDeprecatedTag,
8973
8938
  groupByVisibility,
8974
8939
  getValidationErrors,
8975
8940
  getTypeOrigin,
@@ -8983,7 +8948,6 @@ export {
8983
8948
  getJSDocComment,
8984
8949
  getExportKind,
8985
8950
  getExport,
8986
- getDeprecationMessage,
8987
8951
  getAvailableVersions,
8988
8952
  toMarkdown as generateDocs,
8989
8953
  formatTypeParameters,
@@ -8994,7 +8958,6 @@ export {
8994
8958
  formatConditionalType,
8995
8959
  formatBadges,
8996
8960
  findWorkspaceRoot,
8997
- findMissingParamDocs,
8998
8961
  findDiscriminatorProperty,
8999
8962
  findAdapter,
9000
8963
  filterSpec,
@@ -9029,7 +8992,6 @@ export {
9029
8992
  assertSpec,
9030
8993
  asStandardSchema,
9031
8994
  arktypeAdapter,
9032
- analyzeSpec,
9033
8995
  TypeRegistry,
9034
8996
  STRING_PROTOTYPE_METHODS,
9035
8997
  QueryBuilder,
@@ -1,80 +1,3 @@
1
- // src/core/diagnostics.ts
2
- function hasDeprecatedTag(exp) {
3
- if (exp.deprecated === true)
4
- return true;
5
- return exp.tags?.some((t) => t.name === "deprecated" || t.name === "@deprecated") ?? false;
6
- }
7
- function getDeprecationMessage(exp) {
8
- const tag = exp.tags?.find((t) => t.name === "deprecated" || t.name === "@deprecated");
9
- if (tag?.text.trim()) {
10
- return tag.text.trim();
11
- }
12
- return;
13
- }
14
- function findMissingParamDocs(exp) {
15
- const missing = [];
16
- for (const sig of exp.signatures ?? []) {
17
- for (const param of sig.parameters ?? []) {
18
- if (!param.description?.trim()) {
19
- missing.push(param.name);
20
- }
21
- }
22
- }
23
- return missing;
24
- }
25
- function checkMemberDescriptions(exp, members) {
26
- const items = [];
27
- for (const member of members) {
28
- if (!member.description?.trim() && member.name) {
29
- items.push({
30
- exportId: exp.id,
31
- exportName: exp.name,
32
- issue: "member missing description",
33
- member: member.name
34
- });
35
- }
36
- }
37
- return items;
38
- }
39
- function analyzeSpec(spec) {
40
- const missingDescriptions = [];
41
- const deprecatedNoReason = [];
42
- const missingParamDocs = [];
43
- for (const exp of spec.exports) {
44
- if (!exp.description?.trim()) {
45
- missingDescriptions.push({
46
- exportId: exp.id,
47
- exportName: exp.name,
48
- issue: "missing description"
49
- });
50
- }
51
- if (exp.members) {
52
- missingDescriptions.push(...checkMemberDescriptions(exp, exp.members));
53
- }
54
- if (hasDeprecatedTag(exp) && !getDeprecationMessage(exp)) {
55
- deprecatedNoReason.push({
56
- exportId: exp.id,
57
- exportName: exp.name,
58
- issue: "deprecated without reason"
59
- });
60
- }
61
- const missingParams = findMissingParamDocs(exp);
62
- for (const param of missingParams) {
63
- missingParamDocs.push({
64
- exportId: exp.id,
65
- exportName: exp.name,
66
- issue: "param missing description",
67
- param
68
- });
69
- }
70
- }
71
- return {
72
- missingDescriptions,
73
- deprecatedNoReason,
74
- missingParamDocs
75
- };
76
- }
77
-
78
1
  // src/core/format.ts
79
2
  function getMemberBadges(member) {
80
3
  const badges = [];
@@ -592,4 +515,4 @@ function query(spec) {
592
515
  return new QueryBuilder(spec);
593
516
  }
594
517
 
595
- export { hasDeprecatedTag, getDeprecationMessage, findMissingParamDocs, analyzeSpec, getMemberBadges, formatBadges, formatSchema, formatTypeParameters, formatParameters, formatReturnType, buildSignatureString, resolveTypeRef, isMethod, isProperty, getMethods, getProperties, groupByVisibility, sortByName, KIND_ORDER, groupByKind, formatConditionalType, formatMappedType, findExport, filterExports, toSearchIndex, toPagefindRecords, toAlgoliaRecords, toSearchIndexJSON, QueryBuilder, query };
518
+ export { getMemberBadges, formatBadges, formatSchema, formatTypeParameters, formatParameters, formatReturnType, buildSignatureString, resolveTypeRef, isMethod, isProperty, getMethods, getProperties, groupByVisibility, sortByName, KIND_ORDER, groupByKind, formatConditionalType, formatMappedType, findExport, filterExports, toSearchIndex, toPagefindRecords, toAlgoliaRecords, toSearchIndexJSON, QueryBuilder, query };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openpkg-ts/sdk",
3
- "version": "0.52.2",
3
+ "version": "0.53.0",
4
4
  "description": "TypeScript API extraction SDK - programmatic primitives for OpenPkg specs",
5
5
  "keywords": [
6
6
  "openpkg",