@round2ai/r2-cli 1.0.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (157) hide show
  1. package/dist/api.d.ts +45 -0
  2. package/dist/api.d.ts.map +1 -0
  3. package/dist/api.js +90 -0
  4. package/dist/api.js.map +1 -0
  5. package/dist/auth.d.ts +35 -0
  6. package/dist/auth.d.ts.map +1 -0
  7. package/dist/auth.js +240 -0
  8. package/dist/auth.js.map +1 -0
  9. package/dist/commands/ai/chat.d.ts +9 -0
  10. package/dist/commands/ai/chat.d.ts.map +1 -0
  11. package/dist/commands/ai/chat.js +16 -0
  12. package/dist/commands/ai/chat.js.map +1 -0
  13. package/dist/commands/ai/skills.d.ts +9 -0
  14. package/dist/commands/ai/skills.d.ts.map +1 -0
  15. package/dist/commands/ai/skills.js +16 -0
  16. package/dist/commands/ai/skills.js.map +1 -0
  17. package/dist/commands/auth/login.d.ts +24 -0
  18. package/dist/commands/auth/login.d.ts.map +1 -0
  19. package/dist/commands/auth/login.js +288 -0
  20. package/dist/commands/auth/login.js.map +1 -0
  21. package/dist/commands/auth/logout.d.ts +16 -0
  22. package/dist/commands/auth/logout.d.ts.map +1 -0
  23. package/dist/commands/auth/logout.js +49 -0
  24. package/dist/commands/auth/logout.js.map +1 -0
  25. package/dist/commands/auth/status.d.ts +28 -0
  26. package/dist/commands/auth/status.d.ts.map +1 -0
  27. package/dist/commands/auth/status.js +92 -0
  28. package/dist/commands/auth/status.js.map +1 -0
  29. package/dist/commands/base.d.ts +107 -0
  30. package/dist/commands/base.d.ts.map +1 -0
  31. package/dist/commands/base.js +153 -0
  32. package/dist/commands/base.js.map +1 -0
  33. package/dist/commands/business/pricing.d.ts +9 -0
  34. package/dist/commands/business/pricing.d.ts.map +1 -0
  35. package/dist/commands/business/pricing.js +16 -0
  36. package/dist/commands/business/pricing.js.map +1 -0
  37. package/dist/commands/business/report.d.ts +9 -0
  38. package/dist/commands/business/report.d.ts.map +1 -0
  39. package/dist/commands/business/report.js +16 -0
  40. package/dist/commands/business/report.js.map +1 -0
  41. package/dist/commands/inventory/risk.d.ts +9 -0
  42. package/dist/commands/inventory/risk.d.ts.map +1 -0
  43. package/dist/commands/inventory/risk.js +16 -0
  44. package/dist/commands/inventory/risk.js.map +1 -0
  45. package/dist/config.d.ts +54 -0
  46. package/dist/config.d.ts.map +1 -0
  47. package/dist/config.js +111 -0
  48. package/dist/config.js.map +1 -0
  49. package/dist/index.d.ts +4 -0
  50. package/dist/index.d.ts.map +1 -1
  51. package/dist/index.js +66 -116
  52. package/dist/index.js.map +1 -1
  53. package/dist/query/executor.d.ts +138 -0
  54. package/dist/query/executor.d.ts.map +1 -0
  55. package/dist/query/executor.js +232 -0
  56. package/dist/query/executor.js.map +1 -0
  57. package/dist/query/types.d.ts +116 -0
  58. package/dist/query/types.d.ts.map +1 -0
  59. package/dist/query/types.js +15 -0
  60. package/dist/query/types.js.map +1 -0
  61. package/dist/query/utils.d.ts +99 -0
  62. package/dist/query/utils.d.ts.map +1 -0
  63. package/dist/query/utils.js +151 -0
  64. package/dist/query/utils.js.map +1 -0
  65. package/dist/services/ServiceContainer.d.ts +110 -0
  66. package/dist/services/ServiceContainer.d.ts.map +1 -0
  67. package/dist/services/ServiceContainer.js +242 -0
  68. package/dist/services/ServiceContainer.js.map +1 -0
  69. package/dist/services/api/client.d.ts +88 -0
  70. package/dist/services/api/client.d.ts.map +1 -0
  71. package/dist/services/api/client.js +188 -0
  72. package/dist/services/api/client.js.map +1 -0
  73. package/dist/services/api/types.d.ts +233 -0
  74. package/dist/services/api/types.d.ts.map +1 -0
  75. package/dist/services/api/types.js +83 -0
  76. package/dist/services/api/types.js.map +1 -0
  77. package/dist/services/auth/provider.d.ts +73 -0
  78. package/dist/services/auth/provider.d.ts.map +1 -0
  79. package/dist/services/auth/provider.js +339 -0
  80. package/dist/services/auth/provider.js.map +1 -0
  81. package/dist/services/auth/session.d.ts +73 -0
  82. package/dist/services/auth/session.d.ts.map +1 -0
  83. package/dist/services/auth/session.js +200 -0
  84. package/dist/services/auth/session.js.map +1 -0
  85. package/dist/services/business/demand.d.ts +70 -0
  86. package/dist/services/business/demand.d.ts.map +1 -0
  87. package/dist/services/business/demand.js +240 -0
  88. package/dist/services/business/demand.js.map +1 -0
  89. package/dist/services/business/fulfillment.d.ts +122 -0
  90. package/dist/services/business/fulfillment.d.ts.map +1 -0
  91. package/dist/services/business/fulfillment.js +267 -0
  92. package/dist/services/business/fulfillment.js.map +1 -0
  93. package/dist/services/business/inventory.d.ts +54 -0
  94. package/dist/services/business/inventory.d.ts.map +1 -0
  95. package/dist/services/business/inventory.js +245 -0
  96. package/dist/services/business/inventory.js.map +1 -0
  97. package/dist/services/business/pricing.d.ts +41 -0
  98. package/dist/services/business/pricing.d.ts.map +1 -0
  99. package/dist/services/business/pricing.js +133 -0
  100. package/dist/services/business/pricing.js.map +1 -0
  101. package/dist/services/business/report.d.ts +74 -0
  102. package/dist/services/business/report.d.ts.map +1 -0
  103. package/dist/services/business/report.js +380 -0
  104. package/dist/services/business/report.js.map +1 -0
  105. package/dist/services/config/manager.d.ts +105 -0
  106. package/dist/services/config/manager.d.ts.map +1 -0
  107. package/dist/services/config/manager.js +324 -0
  108. package/dist/services/config/manager.js.map +1 -0
  109. package/dist/services/config/types.d.ts +128 -0
  110. package/dist/services/config/types.d.ts.map +1 -0
  111. package/dist/services/config/types.js +209 -0
  112. package/dist/services/config/types.js.map +1 -0
  113. package/dist/services/index.d.ts +17 -0
  114. package/dist/services/index.d.ts.map +1 -0
  115. package/dist/services/index.js +44 -0
  116. package/dist/services/index.js.map +1 -0
  117. package/dist/services/storage/index.d.ts +63 -0
  118. package/dist/services/storage/index.d.ts.map +1 -0
  119. package/dist/services/storage/index.js +136 -0
  120. package/dist/services/storage/index.js.map +1 -0
  121. package/dist/types/api.d.ts +58 -0
  122. package/dist/types/api.d.ts.map +1 -0
  123. package/dist/types/api.js +5 -0
  124. package/dist/types/api.js.map +1 -0
  125. package/dist/types/auth.d.ts +59 -0
  126. package/dist/types/auth.d.ts.map +1 -0
  127. package/dist/types/auth.js +11 -0
  128. package/dist/types/auth.js.map +1 -0
  129. package/dist/types/business.d.ts +201 -0
  130. package/dist/types/business.d.ts.map +1 -0
  131. package/dist/types/business.js +5 -0
  132. package/dist/types/business.js.map +1 -0
  133. package/dist/types/command.d.ts +106 -0
  134. package/dist/types/command.d.ts.map +1 -0
  135. package/dist/types/command.js +5 -0
  136. package/dist/types/command.js.map +1 -0
  137. package/dist/types/config.d.ts +66 -0
  138. package/dist/types/config.d.ts.map +1 -0
  139. package/dist/types/config.js +5 -0
  140. package/dist/types/config.js.map +1 -0
  141. package/dist/utils/async.d.ts +79 -0
  142. package/dist/utils/async.d.ts.map +1 -0
  143. package/dist/utils/async.js +179 -0
  144. package/dist/utils/async.js.map +1 -0
  145. package/dist/utils/format.d.ts +90 -0
  146. package/dist/utils/format.d.ts.map +1 -0
  147. package/dist/utils/format.js +227 -0
  148. package/dist/utils/format.js.map +1 -0
  149. package/dist/utils/logger.d.ts +136 -0
  150. package/dist/utils/logger.d.ts.map +1 -0
  151. package/dist/utils/logger.js +249 -0
  152. package/dist/utils/logger.js.map +1 -0
  153. package/dist/utils/validation.d.ts +100 -0
  154. package/dist/utils/validation.d.ts.map +1 -0
  155. package/dist/utils/validation.js +334 -0
  156. package/dist/utils/validation.js.map +1 -0
  157. package/package.json +6 -2
@@ -0,0 +1,233 @@
1
+ /**
2
+ * API 服务类型定义
3
+ */
4
+ /**
5
+ * API 端点定义
6
+ */
7
+ export declare const API_ENDPOINTS: {
8
+ readonly AUTH_LOGIN: "/auth/login";
9
+ readonly AUTH_LOGOUT: "/auth/logout";
10
+ readonly AUTH_QRCODE: "/auth/qrcode";
11
+ readonly AUTH_QRCODE_STATUS: "/auth/qrcode/:loginId/status";
12
+ readonly AUTH_USER: "/auth/user";
13
+ readonly AUTH_REFRESH: "/auth/refresh";
14
+ readonly REPORT_DAILY: "/report/daily";
15
+ readonly REPORT_WEEKLY: "/report/weekly";
16
+ readonly REPORT_MONTHLY: "/report/monthly";
17
+ readonly DEMAND_SCAN: "/demand/scan";
18
+ readonly DEMAND_SIMULATE: "/demand/simulate";
19
+ readonly DEMAND_STRATEGY: "/demand/strategy";
20
+ readonly PRICING_ANALYSIS: "/pricing/analysis";
21
+ readonly PRICING_OPTIMIZE: "/pricing/optimize";
22
+ readonly INVENTORY_LIST: "/inventory/list";
23
+ readonly INVENTORY_RISK: "/inventory/risk";
24
+ readonly INVENTORY_TRANSFER: "/inventory/transfer";
25
+ readonly FULFILLMENT_LIST: "/fulfillment/list";
26
+ readonly FULFILLMENT_TRACK: "/fulfillment/track";
27
+ readonly AI_CHAT: "/ai/chat";
28
+ readonly AI_SKILLS_LIST: "/ai/skills";
29
+ readonly AI_SKILLS_EXECUTE: "/ai/skills/execute";
30
+ readonly HEALTH: "/health";
31
+ readonly VERSION: "/version";
32
+ };
33
+ /**
34
+ * 日报响应
35
+ */
36
+ export interface DailyReportData {
37
+ date: string;
38
+ sales: {
39
+ revenue: number;
40
+ orders: number;
41
+ avgOrderValue: number;
42
+ };
43
+ profit: {
44
+ total: number;
45
+ margin: number;
46
+ };
47
+ inventory: {
48
+ value: number;
49
+ turnover: number;
50
+ };
51
+ alerts: Array<{
52
+ type: string;
53
+ message: string;
54
+ }>;
55
+ }
56
+ /**
57
+ * 市场需求响应
58
+ */
59
+ export interface DemandScanResponse {
60
+ sku: string;
61
+ region: string;
62
+ demandLevel: "low" | "medium" | "high";
63
+ supply: number;
64
+ demand: number;
65
+ gap: number;
66
+ trend: "rising" | "stable" | "falling";
67
+ recommendedAction: string;
68
+ }
69
+ /**
70
+ * 竞价模拟响应
71
+ */
72
+ export interface BiddingSimulationResponse {
73
+ sku: string;
74
+ bidPrice: number;
75
+ estimatedSuccessRate: number;
76
+ estimatedProfit: number;
77
+ minWinningPrice: number;
78
+ avgWinningPrice: number;
79
+ recommendation: string;
80
+ }
81
+ /**
82
+ * 价格分析响应
83
+ */
84
+ export interface PricingAnalysisResponse {
85
+ sku: string;
86
+ condition: string;
87
+ suggestedBuyPrice: number;
88
+ suggestedSellPrice: number;
89
+ priceRange: {
90
+ min: number;
91
+ max: number;
92
+ avg: number;
93
+ };
94
+ recentTransactions: Array<{
95
+ price: number;
96
+ date: string;
97
+ }>;
98
+ confidence: number;
99
+ reasoning: string;
100
+ }
101
+ /**
102
+ * 库存风险响应
103
+ */
104
+ export interface InventoryRiskResponse {
105
+ warehouseCode: string;
106
+ totalItems: number;
107
+ riskSummary: {
108
+ high: number;
109
+ medium: number;
110
+ low: number;
111
+ };
112
+ riskDetails: Array<{
113
+ sku: string;
114
+ riskLevel: string;
115
+ reason: string;
116
+ action: string;
117
+ }>;
118
+ }
119
+ /**
120
+ * 经营决策响应
121
+ */
122
+ export interface DecisionResponse {
123
+ storeCode: string;
124
+ horizon: string;
125
+ recommendations: Array<{
126
+ type: "restock" | "clearance" | "adjust_price" | "hold";
127
+ sku: string;
128
+ reason: string;
129
+ priority: "high" | "medium" | "low";
130
+ expectedImpact: string;
131
+ }>;
132
+ summary: {
133
+ totalRecommendations: number;
134
+ highPriority: number;
135
+ estimatedCost: number;
136
+ estimatedRevenue: number;
137
+ };
138
+ }
139
+ /**
140
+ * 聊天消息
141
+ */
142
+ export interface ChatMessage {
143
+ role: "user" | "assistant" | "system";
144
+ content: string;
145
+ timestamp: Date;
146
+ tools?: string[];
147
+ }
148
+ /**
149
+ * 聊天响应
150
+ */
151
+ export interface ChatResponse {
152
+ message: string;
153
+ suggestions: string[];
154
+ toolCalls?: Array<{
155
+ name: string;
156
+ parameters: Record<string, unknown>;
157
+ result: unknown;
158
+ }>;
159
+ }
160
+ /**
161
+ * AI 技能列表
162
+ */
163
+ export interface AISkill {
164
+ id: string;
165
+ name: string;
166
+ description: string;
167
+ category: string;
168
+ enabled: boolean;
169
+ parameters: Array<{
170
+ name: string;
171
+ type: string;
172
+ required: boolean;
173
+ description: string;
174
+ }>;
175
+ }
176
+ /**
177
+ * 分页请求参数
178
+ */
179
+ export interface PaginationParams {
180
+ page?: number;
181
+ pageSize?: number;
182
+ sortBy?: string;
183
+ sortOrder?: "asc" | "desc";
184
+ }
185
+ /**
186
+ * 分页响应
187
+ */
188
+ export interface PaginatedResponse<T> {
189
+ data: T[];
190
+ pagination: {
191
+ page: number;
192
+ pageSize: number;
193
+ total: number;
194
+ totalPages: number;
195
+ };
196
+ }
197
+ /**
198
+ * 时间范围参数
199
+ */
200
+ export interface DateRangeParams {
201
+ startDate?: string;
202
+ endDate?: string;
203
+ last?: number;
204
+ }
205
+ /**
206
+ * SKU 过滤参数
207
+ */
208
+ export interface SKUFilterParams {
209
+ category?: string;
210
+ brand?: string;
211
+ condition?: string;
212
+ minPrice?: number;
213
+ maxPrice?: number;
214
+ search?: string;
215
+ }
216
+ /**
217
+ * API 错误代码
218
+ */
219
+ export declare const API_ERROR_CODES: {
220
+ readonly SUCCESS: 0;
221
+ readonly UNAUTHORIZED: 401;
222
+ readonly FORBIDDEN: 403;
223
+ readonly NOT_FOUND: 404;
224
+ readonly RATE_LIMITED: 429;
225
+ readonly SERVER_ERROR: 500;
226
+ readonly NETWORK_ERROR: -1;
227
+ readonly TIMEOUT: -2;
228
+ };
229
+ /**
230
+ * API 错误处理
231
+ */
232
+ export declare function handleApiError(error: unknown): Error;
233
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/api/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * API 服务类型定义
3
+ */
4
+ import { ApiResponse } from "../../types/api.js";
5
+ /**
6
+ * API 端点定义
7
+ */
8
+ export const API_ENDPOINTS = {
9
+ // 认证相关
10
+ AUTH_LOGIN: "/auth/login",
11
+ AUTH_LOGOUT: "/auth/logout",
12
+ AUTH_QRCODE: "/auth/qrcode",
13
+ AUTH_QRCODE_STATUS: "/auth/qrcode/:loginId/status",
14
+ AUTH_USER: "/auth/user",
15
+ AUTH_REFRESH: "/auth/refresh",
16
+ // 经营数据相关
17
+ REPORT_DAILY: "/report/daily",
18
+ REPORT_WEEKLY: "/report/weekly",
19
+ REPORT_MONTHLY: "/report/monthly",
20
+ // 市场分析相关
21
+ DEMAND_SCAN: "/demand/scan",
22
+ DEMAND_SIMULATE: "/demand/simulate",
23
+ DEMAND_STRATEGY: "/demand/strategy",
24
+ // 价格分析相关
25
+ PRICING_ANALYSIS: "/pricing/analysis",
26
+ PRICING_OPTIMIZE: "/pricing/optimize",
27
+ // 库存相关
28
+ INVENTORY_LIST: "/inventory/list",
29
+ INVENTORY_RISK: "/inventory/risk",
30
+ INVENTORY_TRANSFER: "/inventory/transfer",
31
+ // 履约相关
32
+ FULFILLMENT_LIST: "/fulfillment/list",
33
+ FULFILLMENT_TRACK: "/fulfillment/track",
34
+ // AI 相关
35
+ AI_CHAT: "/ai/chat",
36
+ AI_SKILLS_LIST: "/ai/skills",
37
+ AI_SKILLS_EXECUTE: "/ai/skills/execute",
38
+ // 系统相关
39
+ HEALTH: "/health",
40
+ VERSION: "/version",
41
+ };
42
+ /**
43
+ * API 错误代码
44
+ */
45
+ export const API_ERROR_CODES = {
46
+ SUCCESS: 0,
47
+ UNAUTHORIZED: 401,
48
+ FORBIDDEN: 403,
49
+ NOT_FOUND: 404,
50
+ RATE_LIMITED: 429,
51
+ SERVER_ERROR: 500,
52
+ NETWORK_ERROR: -1,
53
+ TIMEOUT: -2,
54
+ };
55
+ /**
56
+ * API 错误处理
57
+ */
58
+ export function handleApiError(error) {
59
+ if (error instanceof Error) {
60
+ return error;
61
+ }
62
+ if (typeof error === "object" && error !== null) {
63
+ const apiError = error;
64
+ if (apiError.code !== undefined) {
65
+ const errorCode = apiError.code;
66
+ const message = apiError.message || "未知错误";
67
+ switch (errorCode) {
68
+ case API_ERROR_CODES.UNAUTHORIZED:
69
+ return new Error("认证失败,请重新登录");
70
+ case API_ERROR_CODES.FORBIDDEN:
71
+ return new Error("没有权限访问此资源");
72
+ case API_ERROR_CODES.NOT_FOUND:
73
+ return new Error("请求的资源不存在");
74
+ case API_ERROR_CODES.RATE_LIMITED:
75
+ return new Error("请求过于频繁,请稍后重试");
76
+ default:
77
+ return new Error(`API 错误 (${errorCode}): ${message}`);
78
+ }
79
+ }
80
+ }
81
+ return new Error("未知错误");
82
+ }
83
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/services/api/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,OAAO;IACP,UAAU,EAAE,aAAa;IACzB,WAAW,EAAE,cAAc;IAC3B,WAAW,EAAE,cAAc;IAC3B,kBAAkB,EAAE,8BAA8B;IAClD,SAAS,EAAE,YAAY;IACvB,YAAY,EAAE,eAAe;IAE7B,SAAS;IACT,YAAY,EAAE,eAAe;IAC7B,aAAa,EAAE,gBAAgB;IAC/B,cAAc,EAAE,iBAAiB;IAEjC,SAAS;IACT,WAAW,EAAE,cAAc;IAC3B,eAAe,EAAE,kBAAkB;IACnC,eAAe,EAAE,kBAAkB;IAEnC,SAAS;IACT,gBAAgB,EAAE,mBAAmB;IACrC,gBAAgB,EAAE,mBAAmB;IAErC,OAAO;IACP,cAAc,EAAE,iBAAiB;IACjC,cAAc,EAAE,iBAAiB;IACjC,kBAAkB,EAAE,qBAAqB;IAEzC,OAAO;IACP,gBAAgB,EAAE,mBAAmB;IACrC,iBAAiB,EAAE,oBAAoB;IAEvC,QAAQ;IACR,OAAO,EAAE,UAAU;IACnB,cAAc,EAAE,YAAY;IAC5B,iBAAiB,EAAE,oBAAoB;IAEvC,OAAO;IACP,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,UAAU;CACX,CAAC;AAsMX;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,OAAO,EAAE,CAAC;IACV,YAAY,EAAE,GAAG;IACjB,SAAS,EAAE,GAAG;IACd,SAAS,EAAE,GAAG;IACd,YAAY,EAAE,GAAG;IACjB,YAAY,EAAE,GAAG;IACjB,aAAa,EAAE,CAAC,CAAC;IACjB,OAAO,EAAE,CAAC,CAAC;CACH,CAAC;AAEX;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,MAAM,QAAQ,GAAG,KAA4C,CAAC;QAE9D,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC;YAChC,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,IAAI,MAAM,CAAC;YAE3C,QAAQ,SAAS,EAAE,CAAC;gBAClB,KAAK,eAAe,CAAC,YAAY;oBAC/B,OAAO,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;gBACjC,KAAK,eAAe,CAAC,SAAS;oBAC5B,OAAO,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;gBAChC,KAAK,eAAe,CAAC,SAAS;oBAC5B,OAAO,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC;gBAC/B,KAAK,eAAe,CAAC,YAAY;oBAC/B,OAAO,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;gBACnC;oBACE,OAAO,IAAI,KAAK,CAAC,WAAW,SAAS,MAAM,OAAO,EAAE,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;AAC3B,CAAC"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * 认证提供者 - 重构自 auth.ts
3
+ */
4
+ import { IAuthProvider, AuthSession, AuthStatus, UserInfo, QrCodeResponse, LoginStatusResponse } from "../../types/auth.js";
5
+ /**
6
+ * 认证提供者实现
7
+ */
8
+ export declare class AuthProvider implements IAuthProvider {
9
+ private config;
10
+ private readonly CONFIG_FILE;
11
+ constructor();
12
+ /**
13
+ * 生成登录二维码
14
+ */
15
+ generateQrCode(): Promise<QrCodeResponse>;
16
+ /**
17
+ * 检查登录状态
18
+ */
19
+ checkLoginStatus(loginId: string): Promise<LoginStatusResponse>;
20
+ /**
21
+ * 保存认证会话
22
+ */
23
+ saveAuthSession(session: AuthSession): Promise<void>;
24
+ /**
25
+ * 清除认证会话
26
+ */
27
+ clearAuthSession(): Promise<void>;
28
+ /**
29
+ * 获取认证状态
30
+ */
31
+ getAuthStatus(): Promise<AuthStatus>;
32
+ /**
33
+ * 获取访问令牌
34
+ */
35
+ getAccessToken(): Promise<string | null>;
36
+ /**
37
+ * 获取当前用户信息
38
+ */
39
+ getCurrentUser(): Promise<UserInfo | null>;
40
+ /**
41
+ * 登出
42
+ */
43
+ logout(): Promise<void>;
44
+ /**
45
+ * 执行扫码登录
46
+ */
47
+ performQrCodeLogin(): Promise<void>;
48
+ /**
49
+ * 显示二维码
50
+ */
51
+ private displayQrCode;
52
+ /**
53
+ * 显示二维码占位符
54
+ */
55
+ private displayQrCodePlaceholder;
56
+ /**
57
+ * 轮询登录状态
58
+ */
59
+ private pollLoginStatus;
60
+ /**
61
+ * 模拟扫码登录
62
+ */
63
+ private mockQrCodeLogin;
64
+ }
65
+ /**
66
+ * 创建认证提供者
67
+ */
68
+ export declare function createAuthProvider(): AuthProvider;
69
+ /**
70
+ * 默认认证提供者
71
+ */
72
+ export declare const authProvider: AuthProvider;
73
+ //# sourceMappingURL=provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/services/auth/provider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,EACL,aAAa,EACb,WAAW,EACX,UAAU,EACV,QAAQ,EACR,cAAc,EACd,mBAAmB,EAGpB,MAAM,qBAAqB,CAAC;AAO7B;;GAEG;AACH,qBAAa,YAAa,YAAW,aAAa;IAChD,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA2B;;IAMvD;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,cAAc,CAAC;IAqB/C;;OAEG;IACG,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAqBrE;;OAEG;IACG,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB1D;;OAEG;IACG,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAavC;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC;IAyB1C;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAgB9C;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAiChD;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAU7B;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IA8DzC;;OAEG;IACH,OAAO,CAAC,aAAa;IAqBrB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAQhC;;OAEG;YACW,eAAe;IAmC7B;;OAEG;YACW,eAAe;CAmC9B;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,YAAY,CAEjD;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,cAAqB,CAAC"}