@yandu/types 0.0.2 → 0.0.4

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.
@@ -2,6 +2,12 @@ import type { CapabilityRegistry } from './capabilities/CapabilityRegistry.js';
2
2
  export interface PluginConfig {
3
3
  get<T>(key: string): T | undefined;
4
4
  }
5
+ export interface AIModelOptions {
6
+ providerId: string;
7
+ modelId: string;
8
+ apiKey: string;
9
+ baseUrl?: string;
10
+ }
5
11
  export interface KernelSystem {
6
12
  registry: unknown;
7
13
  acpRegistry: unknown;
@@ -9,5 +15,7 @@ export interface KernelSystem {
9
15
  capabilities: CapabilityRegistry;
10
16
  config: PluginConfig;
11
17
  createContext(workingDirectory?: string): unknown;
18
+ /** 获取 AI SDK LanguageModel 实例(插件需自行将结果 cast 为所需类型) */
19
+ getModel?(options: AIModelOptions): Promise<unknown>;
12
20
  }
13
21
  //# sourceMappingURL=KernelSystem.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"KernelSystem.d.ts","sourceRoot":"","sources":["../src/KernelSystem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE/E,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC;CACpC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,kBAAkB,CAAC;IACjC,MAAM,EAAE,YAAY,CAAC;IACrB,aAAa,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACnD"}
1
+ {"version":3,"file":"KernelSystem.d.ts","sourceRoot":"","sources":["../src/KernelSystem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE/E,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC;CACpC;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,kBAAkB,CAAC;IACjC,MAAM,EAAE,YAAY,CAAC;IACrB,aAAa,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAClD,sDAAsD;IACtD,QAAQ,CAAC,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACtD"}
@@ -0,0 +1,56 @@
1
+ import type { ConfigSchema } from '../settings/ConfigSchema.js';
2
+ /** 内容格式声明 */
3
+ export interface FormatCapability {
4
+ format: string;
5
+ priority: number;
6
+ fetchRequired: boolean;
7
+ extension: string;
8
+ }
9
+ /** 订阅源条目 */
10
+ export interface FeedEntry {
11
+ id: string;
12
+ externalIds?: Record<string, string>;
13
+ title: string;
14
+ abstract?: string;
15
+ authors: string[];
16
+ publishedAt: Date;
17
+ availableFormats: string[];
18
+ sourceUrl?: string;
19
+ sourceType?: string;
20
+ metadata?: Record<string, unknown>;
21
+ }
22
+ /** 抓取选项 */
23
+ export interface FetchOptions {
24
+ config: Record<string, unknown>;
25
+ cursor?: string;
26
+ limit?: number;
27
+ since?: Date;
28
+ }
29
+ /** 抓取结果 */
30
+ export interface FetchResult {
31
+ entries: FeedEntry[];
32
+ nextCursor: string | null;
33
+ hasMore: boolean;
34
+ }
35
+ /** 论文外部 ID */
36
+ export interface PaperExternalIds {
37
+ arxiv?: string;
38
+ doi?: string;
39
+ pmid?: string;
40
+ ieee?: string;
41
+ url?: string;
42
+ }
43
+ /** FeedAdapter 接口 */
44
+ export interface FeedAdapter {
45
+ id: string;
46
+ availableFormats: FormatCapability[];
47
+ configSchema: ConfigSchema;
48
+ fetch(options: FetchOptions): Promise<FetchResult>;
49
+ resolveDownload?(externalIds: PaperExternalIds): {
50
+ url: string;
51
+ format: string;
52
+ priority: number;
53
+ } | null;
54
+ fetchFormat(entryId: string, format: string): Promise<Blob>;
55
+ }
56
+ //# sourceMappingURL=FeedAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FeedAdapter.d.ts","sourceRoot":"","sources":["../../src/feeds/FeedAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,aAAa;AACb,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,YAAY;AACZ,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,EAAE,IAAI,CAAC;IAClB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,WAAW;AACX,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,IAAI,CAAC;CACd;AAED,WAAW;AACX,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,cAAc;AACd,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,qBAAqB;AACrB,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;IACrC,YAAY,EAAE,YAAY,CAAC;IAC3B,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACnD,eAAe,CAAC,CAAC,WAAW,EAAE,gBAAgB,GAAG;QAC/C,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;KAClB,GAAG,IAAI,CAAC;IACT,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7D"}
@@ -0,0 +1 @@
1
+ export {};
package/dist/index.d.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  export type { Plugin } from './Plugin.js';
2
- export type { KernelSystem, PluginConfig } from './KernelSystem.js';
2
+ export type { KernelSystem, PluginConfig, AIModelOptions } from './KernelSystem.js';
3
3
  export type { CapabilityType, CapabilityDescriptor, CapabilityRegistry, } from './capabilities/CapabilityRegistry.js';
4
4
  export type { TranslationAdapter, AdapterTranslateOptions } from './capabilities/TranslationAdapter.js';
5
+ export type { ConfigFieldType, ConfigField, ConfigFieldOption, ConfigSection, ConfigSchema, } from './settings/ConfigSchema.js';
6
+ export type { FormatCapability, FeedEntry, FetchOptions, FetchResult, PaperExternalIds, FeedAdapter, } from './feeds/FeedAdapter.js';
5
7
  //# 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,MAAM,mBAAmB,CAAC;AACpE,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,sCAAsC,CAAC;AAC9C,YAAY,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,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"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * 配置 Schema 类型
3
+ * 插件通过 configSchema 声明自己的配置项,由核心渲染设置表单
4
+ */
5
+ export type ConfigFieldType = 'text' | 'password' | 'number' | 'slider' | 'toggle' | 'select' | 'multiselect' | 'array' | 'textarea' | 'button' | 'custom' | 'date' | 'shortcut' | 'model-select';
6
+ export interface ConfigFieldMark {
7
+ value: number;
8
+ i18nKey: string;
9
+ }
10
+ export interface ConfigFieldOption {
11
+ value: string | number | boolean;
12
+ i18nKey: string;
13
+ description?: string;
14
+ }
15
+ export interface ConfigField {
16
+ key: string;
17
+ type: ConfigFieldType;
18
+ hintI18nKey?: string;
19
+ defaultValue: unknown;
20
+ validation?: {
21
+ required?: boolean;
22
+ min?: number;
23
+ max?: number;
24
+ pattern?: string;
25
+ custom?: (value: unknown) => boolean;
26
+ };
27
+ options?: ConfigFieldOption[];
28
+ min?: number;
29
+ max?: number;
30
+ step?: number;
31
+ marks?: ConfigFieldMark[];
32
+ presets?: Array<{
33
+ value: number;
34
+ i18nKey: string;
35
+ }>;
36
+ visibleWhen?: Record<string, string | string[] | boolean | number>;
37
+ buttonAction?: {
38
+ i18nKey: string;
39
+ handler: string;
40
+ confirmI18nKey?: string;
41
+ };
42
+ customComponent?: string;
43
+ itemType?: 'text' | 'select';
44
+ itemOptions?: Array<{
45
+ value: string;
46
+ i18nKey: string;
47
+ }>;
48
+ minItems?: number;
49
+ maxItems?: number;
50
+ addButtonI18nKey?: string;
51
+ }
52
+ export interface ConfigSection {
53
+ id: string;
54
+ order?: number;
55
+ fields: ConfigField[];
56
+ }
57
+ export interface ConfigSchema {
58
+ id: string;
59
+ order?: number;
60
+ sections: ConfigSection[];
61
+ }
62
+ //# sourceMappingURL=ConfigSchema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConfigSchema.d.ts","sourceRoot":"","sources":["../../src/settings/ConfigSchema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,eAAe,GACvB,MAAM,GACN,UAAU,GACV,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,aAAa,GACb,OAAO,GACP,UAAU,GACV,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,UAAU,GACV,cAAc,CAAC;AAEnB,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,eAAe,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE;QACX,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;KACtC,CAAC;IACF,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,eAAe,EAAE,CAAC;IAC1B,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpD,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,GAAG,MAAM,CAAC,CAAC;IACnE,YAAY,CAAC,EAAE;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC7B,WAAW,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACxD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,WAAW,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * 配置 Schema 类型
3
+ * 插件通过 configSchema 声明自己的配置项,由核心渲染设置表单
4
+ */
5
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yandu/types",
3
- "version": "0.0.2",
3
+ "version": "0.0.4",
4
4
  "description": "Yandu plugin types and capability interfaces",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",