@yandu/types 0.0.4 → 0.0.6

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,115 @@
1
+ /**
2
+ * ContentConverter 接口定义
3
+ * 内容转换器 — 将各种格式转换为 Markdown + mapping.yaml
4
+ */
5
+ /** 简化版 JSON Schema 类型(避免依赖 json-schema 包) */
6
+ export interface JSONSchema {
7
+ type?: string | string[];
8
+ properties?: Record<string, JSONSchema>;
9
+ items?: JSONSchema;
10
+ required?: string[];
11
+ enum?: unknown[];
12
+ default?: unknown;
13
+ description?: string;
14
+ title?: string;
15
+ format?: string;
16
+ minimum?: number;
17
+ maximum?: number;
18
+ minLength?: number;
19
+ maxLength?: number;
20
+ pattern?: string;
21
+ additionalProperties?: boolean | JSONSchema;
22
+ [key: string]: unknown;
23
+ }
24
+ /** 源位置信息 */
25
+ export type SourcePosition = {
26
+ format: 'application/pdf';
27
+ page: number;
28
+ bbox: [number, number, number, number];
29
+ } | {
30
+ format: 'application/x-tex' | 'application/x-latex';
31
+ line: number | [number, number];
32
+ } | {
33
+ format: string;
34
+ [key: string]: unknown;
35
+ };
36
+ /** 位置映射条目 */
37
+ export interface MappingEntry {
38
+ mdOffset: number;
39
+ mdLength: number;
40
+ sourcePosition: SourcePosition;
41
+ }
42
+ /** 图片资源信息 */
43
+ export interface FigureInfo {
44
+ id: string;
45
+ path: string;
46
+ sourcePosition: SourcePosition;
47
+ caption?: string;
48
+ aiDescription?: string;
49
+ }
50
+ /** 公式信息 */
51
+ export interface EquationInfo {
52
+ id: string;
53
+ sourcePosition: SourcePosition;
54
+ mdOffset: number;
55
+ latex: string;
56
+ }
57
+ /** 引用信息 */
58
+ export interface CitationInfo {
59
+ id: string;
60
+ mdOffset: number;
61
+ refIndex: number;
62
+ key: string;
63
+ }
64
+ /** 转换结果中的资源 */
65
+ export interface ConversionAsset {
66
+ id: string;
67
+ path: string;
68
+ type: 'image' | 'file';
69
+ }
70
+ /** mapping.yaml 结构 */
71
+ export interface MappingData {
72
+ version: number;
73
+ sourceFormat: string;
74
+ sourcePath: string;
75
+ mappings: MappingEntry[];
76
+ figures: FigureInfo[];
77
+ equations: EquationInfo[];
78
+ citations: CitationInfo[];
79
+ }
80
+ /** 转换输入 */
81
+ export interface ConversionInput {
82
+ source: Blob | string;
83
+ outputDir: string;
84
+ settings?: Record<string, unknown>;
85
+ onProgress?: (report: ConversionProgressReport) => void;
86
+ }
87
+ /** converter 阶段描述符 */
88
+ export interface ConverterStageDescriptor {
89
+ id: string;
90
+ label: string;
91
+ weight: number;
92
+ }
93
+ /** converter 进度报告 */
94
+ export interface ConversionProgressReport {
95
+ stageId: string;
96
+ stageProgress: number;
97
+ detail?: string;
98
+ overallProgress?: number;
99
+ }
100
+ /** 转换结果 */
101
+ export interface ConversionResult {
102
+ markdown: string;
103
+ markdownPath: string;
104
+ mappingPath: string;
105
+ assets: ConversionAsset[];
106
+ }
107
+ /** ContentConverter 接口 */
108
+ export interface ContentConverter {
109
+ id: string;
110
+ inputFormats: string[];
111
+ settingsSchema: JSONSchema;
112
+ convert(input: ConversionInput): Promise<ConversionResult>;
113
+ getStages?(): ConverterStageDescriptor[];
114
+ }
115
+ //# sourceMappingURL=ContentConverter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContentConverter.d.ts","sourceRoot":"","sources":["../../src/converters/ContentConverter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * ContentConverter 接口定义
3
+ * 内容转换器 — 将各种格式转换为 Markdown + mapping.yaml
4
+ */
5
+ export {};
package/dist/index.d.ts CHANGED
@@ -4,4 +4,6 @@ export type { CapabilityType, CapabilityDescriptor, CapabilityRegistry, } from '
4
4
  export type { TranslationAdapter, AdapterTranslateOptions } from './capabilities/TranslationAdapter.js';
5
5
  export type { ConfigFieldType, ConfigField, ConfigFieldOption, ConfigSection, ConfigSchema, } from './settings/ConfigSchema.js';
6
6
  export type { FormatCapability, FeedEntry, FetchOptions, FetchResult, PaperExternalIds, FeedAdapter, } from './feeds/FeedAdapter.js';
7
+ export type { JSONSchema, SourcePosition, MappingEntry, FigureInfo, EquationInfo, CitationInfo, ConversionAsset, MappingData, ConversionInput, ConverterStageDescriptor, ConversionProgressReport, ConversionResult, ContentConverter, } from './converters/ContentConverter.js';
8
+ export type { SearchSource, SearchScope, SearchContentType, SearchFilters, SearchContent, SearchAdapter, } from './search/SearchAdapter.js';
7
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACpF,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,sCAAsC,CAAC;AAC9C,YAAY,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AACxG,YAAY,EACV,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,YAAY,GACb,MAAM,4BAA4B,CAAC;AACpC,YAAY,EACV,gBAAgB,EAChB,SAAS,EACT,YAAY,EACZ,WAAW,EACX,gBAAgB,EAChB,WAAW,GACZ,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACpF,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,sCAAsC,CAAC;AAC9C,YAAY,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AACxG,YAAY,EACV,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,YAAY,GACb,MAAM,4BAA4B,CAAC;AACpC,YAAY,EACV,gBAAgB,EAChB,SAAS,EACT,YAAY,EACZ,WAAW,EACX,gBAAgB,EAChB,WAAW,GACZ,MAAM,wBAAwB,CAAC;AAChC,YAAY,EACV,UAAU,EACV,cAAc,EACd,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,WAAW,EACX,eAAe,EACf,wBAAwB,EACxB,wBAAwB,EACxB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,kCAAkC,CAAC;AAC1C,YAAY,EACV,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,aAAa,GACd,MAAM,2BAA2B,CAAC"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Search Types
3
+ * 搜索相关类型定义
4
+ */
5
+ /** 搜索数据来源 */
6
+ export type SearchSource = 'library' | 'arxiv' | 'pubmed' | 'ieee' | 'semantic-scholar' | 'crossref' | 'openalex' | string;
7
+ /** 搜索范围 */
8
+ export type SearchScope = 'all' | 'title' | 'abstract' | 'author' | 'fulltext';
9
+ /** 搜索内容类型 */
10
+ export type SearchContentType = 'paper' | 'author' | 'journal' | 'conference';
11
+ /** 搜索过滤条件 */
12
+ export interface SearchFilters {
13
+ scope: SearchScope;
14
+ sources: SearchSource[];
15
+ dateFrom?: Date;
16
+ dateTo?: Date;
17
+ authors?: string[];
18
+ venues?: string[];
19
+ hasPdf?: boolean;
20
+ openAccess?: boolean;
21
+ minCitations?: number;
22
+ maxResults?: number;
23
+ }
24
+ /** 搜索内容项 */
25
+ export interface SearchContent {
26
+ id: string;
27
+ type: SearchContentType;
28
+ title: string;
29
+ abstract?: string;
30
+ authors: string[];
31
+ publishedAt?: Date;
32
+ source: SearchSource;
33
+ sourceUrl?: string;
34
+ externalIds?: {
35
+ arxiv?: string;
36
+ doi?: string;
37
+ pmid?: string;
38
+ ieee?: string;
39
+ url?: string;
40
+ semanticScholar?: string;
41
+ openalex?: string;
42
+ };
43
+ pdfUrl?: string;
44
+ openAccess?: boolean;
45
+ citationCount?: number;
46
+ citationCountYear?: number;
47
+ relevanceScore?: number;
48
+ rawData?: unknown;
49
+ }
50
+ /** 搜索适配器接口 */
51
+ export interface SearchAdapter {
52
+ id: SearchSource;
53
+ search(query: string, filters: SearchFilters, cursor?: string): Promise<{
54
+ contents: SearchContent[];
55
+ hasMore: boolean;
56
+ nextCursor?: string;
57
+ totalCount?: number;
58
+ }>;
59
+ cancel?(): void;
60
+ }
61
+ //# sourceMappingURL=SearchAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchAdapter.d.ts","sourceRoot":"","sources":["../../src/search/SearchAdapter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,aAAa;AACb,MAAM,MAAM,YAAY,GACpB,SAAS,GACT,OAAO,GACP,QAAQ,GACR,MAAM,GACN,kBAAkB,GAClB,UAAU,GACV,UAAU,GACV,MAAM,CAAC;AAEX,WAAW;AACX,MAAM,MAAM,WAAW,GACnB,KAAK,GACL,OAAO,GACP,UAAU,GACV,QAAQ,GACR,UAAU,CAAC;AAEf,aAAa;AACb,MAAM,MAAM,iBAAiB,GACzB,OAAO,GACP,QAAQ,GACR,SAAS,GACT,YAAY,CAAC;AAEjB,aAAa;AACb,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,YAAY;AACZ,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,iBAAiB,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,MAAM,EAAE,YAAY,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE;QACZ,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,cAAc;AACd,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,YAAY,CAAC;IACjB,MAAM,CACJ,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,aAAa,EACtB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC;QACT,QAAQ,EAAE,aAAa,EAAE,CAAC;QAC1B,OAAO,EAAE,OAAO,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,IAAI,CAAC;CACjB"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Search Types
3
+ * 搜索相关类型定义
4
+ */
5
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yandu/types",
3
- "version": "0.0.4",
3
+ "version": "0.0.6",
4
4
  "description": "Yandu plugin types and capability interfaces",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",