@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.
- package/dist/converters/ContentConverter.d.ts +115 -0
- package/dist/converters/ContentConverter.d.ts.map +1 -0
- package/dist/converters/ContentConverter.js +5 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/search/SearchAdapter.d.ts +61 -0
- package/dist/search/SearchAdapter.d.ts.map +1 -0
- package/dist/search/SearchAdapter.js +5 -0
- package/package.json +1 -1
|
@@ -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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"}
|
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
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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"}
|